Une gestion des versions conserve l’état d’un document, son auteur et sa raison de modification afin d’éviter les écrasements et les validations ambiguës.
Un contrat, un devis ou une procédure change plusieurs fois avant son approbation. Si le logiciel ne conserve que la dernière copie, l’équipe ne peut plus savoir quelle version a été relue ni pourquoi une valeur a changé. La version doit donc accompagner le cycle de travail, avec des règles compréhensibles par les utilisateurs.
Commencez par distinguer le document de ses versions. Le document porte une référence et un propriétaire. Chaque version contient un contenu, une date, un auteur, un statut et éventuellement une raison de changement. Cette séparation permet d’afficher l’historique sans confondre une nouvelle version avec un nouveau dossier.
Définir les changements qui créent une version
Une modification du titre n’a pas toujours la même conséquence qu’une modification du montant ou d’une clause. Définissez les champs qui exigent une nouvelle version et ceux qui peuvent être corrigés sans changer le contenu approuvé. La règle doit rester visible dans le parcours concerné.
Une version peut être un brouillon, en revue, approuvée, remplacée ou annulée. Chaque transition indique qui peut agir et dans quelles conditions. Une personne ne devrait pas pouvoir modifier le contenu d’une version approuvée sans créer une nouvelle version, sauf procédure documentée de correction.
Le statut du document et celui de la version ne sont pas toujours identiques. Un document peut être actif alors que sa dernière version attend une revue. Écrivez ces états séparément et indiquez lequel apparaît sur les listes et les exports.
Éviter les écrasements concurrents
Deux personnes peuvent ouvrir la même version, puis enregistrer des changements différents. Le second enregistrement ne doit pas effacer silencieusement le premier. Utilisez une version de contrôle, une date de modification ou un mécanisme équivalent pour détecter la situation.
Quand un conflit arrive, montrez la version enregistrée et le brouillon local. L’utilisateur doit pouvoir recharger, comparer et recommencer. Une fusion automatique peut convenir à des champs indépendants, mais elle demande des règles précises pour les montants et les clauses.
Un bouton de validation doit vérifier que le contenu affiché correspond encore à la version enregistrée. Si une autre personne a changé le document entre l’ouverture et le clic, demandez une nouvelle lecture. Ce cas doit figurer dans les critères d’acceptation.
Conserver les métadonnées utiles
Une version doit permettre de répondre à quelques questions simples : qui l’a créée, quand, depuis quelle version et pour quelle raison. Ajoutez une référence vers l’événement métier qui a provoqué la modification lorsque cette information est disponible.
La raison de changement peut être obligatoire à partir d’un statut donné. Évitez un champ libre trop vague si l’entreprise a besoin de distinguer une correction, une demande client et une révision réglementaire. Une liste de motifs peut être complétée par un commentaire court.
Les pièces jointes doivent suivre une règle claire. Elles peuvent être intégrées à une version ou rattachées au document avec leur propre historique. Dans les deux cas, affichez les fichiers compris dans la version approuvée. Une pièce ajoutée ensuite ne doit pas sembler avoir été validée avec l’ancien contenu.
Gérer les droits de lecture et de copie
Les brouillons peuvent être réservés à une équipe. La version approuvée peut être visible à un groupe plus large. Le droit de télécharger, d’imprimer ou de partager peut encore être différent. Testez chaque combinaison avec des comptes représentant les rôles réels.
Un lien vers une version doit revérifier les droits lorsque la personne l’ouvre. Les URL copiées dans un courriel ou un outil de discussion peuvent être utilisées plus tard, après un changement de rôle. Le contrôle ne doit pas dépendre du fait que l’adresse soit difficile à deviner.
Dans un environnement multi entreprise, l’identifiant de l’espace doit accompagner le document et la version. Une recherche, un export ou une tâche en arrière-plan doit respecter le même filtre que l’écran. Les tests d’isolation décrits dans cet article sur les logiciels SaaS multi entreprise doivent inclure les anciennes versions.
Préparer la conservation et l’archivage
L’historique peut grossir plus vite que les documents actifs. Définissez les versions qui doivent rester immédiatement disponibles et celles qui peuvent être archivées. L’archivage doit conserver la capacité de prouver le contenu et le statut d’une version approuvée.
Ne supprimez pas une version simplement parce qu’elle n’est plus visible dans l’interface. Si une suppression est nécessaire, journalisez l’action, vérifiez le rôle et appliquez la durée de conservation prévue par l’entreprise. Le journal d’audit doit enregistrer les événements sensibles sans recopier des données confidentielles inutilement.
La comparaison de versions aide à vérifier une modification, mais elle dépend du format. Une comparaison ligne à ligne convient à certains textes. Un document mis en page ou signé peut nécessiter l’affichage des fichiers et de leurs empreintes, avec une procédure adaptée à la nature de la preuve recherchée.
Une gestion de versions utile donne une réponse claire à chaque étape : quelle version est active, qui peut la modifier, qui l’a approuvée et ce qui changera à la prochaine édition. Ces règles rendent le logiciel plus sûr sans imposer la même procédure à tous les documents.
Sources : Microsoft, contrôle de concurrence optimiste, OWASP, contrôle d’accès.