Attention: cet article date du 27 mars 2015
Ce qu'il contient est peut être encore valable...
... ou complètement obsolète!
Un logiciel, une application ou un site web (voire un fichier photoshop?) est souvent assorti d’un numéro à trois chiffres, du type 1.5.2.
Pas un hasard, mais une version. Comment ça marche?
Comment l’appliquer à un fichier?
Le principe est assez simple, et décrit dans le document Gestion sémantique de version 2.0.0 (oui, ce document possède lui aussi une version).
Il est composé de trois chiffres:
Quand changer de numéro?
Rétro incompatible signifie que si vous passez à cette version, vous risquez de ne pas pouvoir revenir à la version précédente.
Précisons qu’il sera souvent possible de revenir en arrière, surtout si on a pensé à faire de sérieuses sauvegardes au préalable. Ce qui est indispensable de toutes façon avant tout changement de version.
Si on est en version 1.2.3
, on pourra ainsi passer:
1.2.4
si on corrige un petit bug1.3.0
si on ajoute une petite fonctionnalité qui n’a que peu d’incidence sur le fonctionnement général2.0.0
si on a fait une grosse refonte, qui peut par exemple avoir modifié la structure des bases de donnéesLe document en question cite quelques autres exemples.
Précisons au passage que le document gestion sémantique de version est écrit par Tom Preston-Werner, cofondateur de GitHub (système de gestion de version du code basé sur Git).
Disons le d’entrée de jeu, ceci est évidement un exemple qui doit être considéré comme une source d’inspiration.
Nous allons donc appliquer ce système de version à un historique de sauvegarde de fichier Photoshop (au hasard, ce qui fera sourire certains qui connaissent mon utilisation de Photoshop; mais cela peut s’appliquer à de nombreux cas).
Nous pourrions avoir, dans un dossier du nom du client, dans un sous dossier pour le projet donné, pour un fichier logo:
client/projet/logo-0.1.0.psd
première version du fichierclient/projet/logo-0.1.1.psd
petite retoucheclient/projet/logo-0.1.2.psd
petite retoucheclient/projet/logo-0.2.0.psd
grosse retoucheclient/projet/logo-1.0.0.psd
première présentation au clientclient/projet/logo-1.1.0.psd
retouche après retour clientclient/projet/logo-1.2.0.psd
etcclient/projet/logo-2.0.0.psd
version finale (à ce jour)Bien entendu, dès qu’un fichier change de version, la version précédente devient intouchable (sauf pour consultation). On peut même envisager de le mettre en lecture seule pour éviter les erreurs.
L’avantage est multiple:
Rien ne s’oppose à ce que l’on puisse ajouter des informations dans le nom du fichier, pour y ajouter des dates ou le nom des intervenants. Même si pour cela, il est préférable d’utiliser un fichier release.txt
(ou une section release dans un fichier readme.md
), voir pour rester dans l’exemple Photoshop, utiliser les données IPTC pour y ajouter l’historique de chaque version (menu Fichier > informations)…
PS: article inspiré suite à ce poster.