Merci à tous pour vos réponses.
Personnellement je pense que le système de numérotation des versions est affaire personnelle. Mais l'application des normes aide lorsque l'on cède la continuité du projet à une tierce personne sans avoir à lui expliquer.
Entièrement d'accord sur le fait que c'est personnel, mais je voulais
personnellement faire comme les
autre 
Le fait que le dernier chiffre corresponde au numéro du bug corrigé me semble bien mal choisi si on travaille sur un projet collaboratif. En effet il est possible que plusieurs développeurs travaillent en parallèle à la résolution d'erreurs disctinctes. Lorsqu'un d'eux a fini son travail, est-il logique que l'un d'eux fassent une version? Oui, certes. Mais qu'une heure après un second en refasse un autre? Euh, non. Personnellement, je trouve ça peu vivable. Je préfèrerai la solution de définir une date pour la mise en disponibilité d'une version contenant un lot de corrections.
Sur ce projet je serais tout seul, et je le resterai sans doute ; pour la simple et bonne raison que je me suis fixé de le gérer de a à z (tant le code, que les graphisme ou la doc). Mais je suis d'accord avec le fait que le 3e numéro ne doit pas correspondre à une correction de bug, mais à une série de correction de bug (par exemple tous les bugs d'une partie) : x.y.238 ça le fais moyen

En ce qui concerne, le numéro de la fonctionnalité. C'est plutôt utile lors de développements concurentiels aux tests. Je veux dire quand les testeurs stressent certaines fonctionnalités alors que d'autres sont en cours d'implémentation. Pour un développeur/testeur, ça peut être utile avec l'utilisation d'un plan de travail. Les fonctionnalités sont séquentialisées (voire regroupées) et le numéro correspondant implicitement définit. Le développeur/testeur a ainsi organisé sont travail.
Pour ma part, les fonctionnalités risquent de correspondre à l'ajout de modules (bien que certains modules auront leur notation). Néanmoins je viens de penser à quelque chose : les fonctionnalités et les corrections de bug pourraient ne pas être liés.
Théoriquement après la 1.1.12 on passera à la 1.2.0. Mais si on pars du principe que ce sont les fonctionnalités rajoutés à la version et les bugs corrigé à la version, on passerait de la 1.1.12 à la 2.2.12 et la prochaine correction de bug : 2.2.13.
C'est sans doute cela que je vais faire, car ça permet de suivre la version et non les fonctionnalités.
En ce qui concerne la version principale. Une fois encore c'est affaire de goût. Tu peux considérer que ton travail ne sera jamais fini et que la version 1 ne sera jamais atteinte; que tout n'est que correction et ajout de fonctionnalités. Tu peux même mettre en place un système de support via ces versions. C'était utilisé (c'est toujours utilisé, d'ailleurs) pour savoir si un support est toujours disponible pour une version donnée tout en sachant qu'un client achetait au besoin chaque version et qu'il pouvait avoir une vieille version. Tu peux aussi voir vers un tout autre horizon. Tu peux aussi décidé qu'une "version" est en fait une variante du même programme. Chacune tournant dans un environnement différent - une pour chaque type de processeur ou pour chaque système d'exploitation suportée.
Je pense que je vais m'en tenir avec ce que j'ai dit, en clair 1 cahier des charges par nouvelle version et les versions X.0 correspondent aux versions remplissant ce cahier des charges. Ce qui me ferait commencer à 0.1 (1ere fonctionnalité de la première version ne remplissant pas le cahier des charges de la 1.0). En plus ça reste dans la logique que le premier élément d'une liste est 0.
J'ai déjà croisé nombre de façon de coder cette version durant ma carrière avec des bon et des mauvais côtés. Je pécriserai aussi que c'est mon point de vue personnel. Ce que m'incite donc de te dire: "libre à toi". Mais le mieux c'est la provision d'une définition annexe du système de versionning pour éviter toute ambiguïté.
C'est exactement ce que je fais : je prévois avant. Et d'ailleur, je compte tous prévoir avant sur ce projet, en clair avoir une modélisation béton, etc.
Et puisque je parle de mon appli, je vais dire un petit mot sur la redistribution : elle sera au minimum sous GPL, et peut être d'autre licences (libres évidemment), ce qui fera surement l'objet d'un post ; et tous les documents (documentation, modélisations, etc.) seront redistribués sous licence
de libre diffusion.