Une seule vraie copie du document, ce serait déjà beaucoup
budget_final.xls, budget_final_corrige.xls, budget_final_corrige_ST.xls : ces noms montrent trois branches d’un même document, sans mécanisme pour les relier. Une bibliothèque SharePoint peut ramener le fichier vers un identifiant et un historique communs, à condition que le courriel transporte désormais un lien plutôt qu’une nouvelle copie.
Lors d’un téléversement, SharePoint reçoit le flux dans IIS, vérifie la taille et les permissions, puis enregistre le contenu et les propriétés dans la base de contenu SQL Server. Le document possède un élément de liste avec un identifiant; son nom n’est qu’une propriété visible. Le versionnement associe les révisions successives à cet élément.
budget.xls -> document ID 284
|-- version 0.1 : brouillon de Simon
|-- version 0.2 : correction de Marie
`-- version 1.0 : budget approuvé
Cette distinction est importante. Renommer budget.xls ne devrait pas créer un nouveau document. Télécharger la pièce jointe, la modifier hors ligne et la téléverser comme un nouvel élément, oui. Le processus doit donc rendre le lien stable facile à copier et détecter une version de départ dépassée.
Éviter l’écrasement silencieux
Si deux personnes ouvrent la version 0.1, la première enregistre 0.2. Quand la seconde revient, son fichier est basé sur 0.1. SharePoint peut imposer l’extraction, refuser l’enregistrement concurrent ou conserver une nouvelle version, mais il ne peut pas fusionner parfaitement tous les formats. Pour une feuille Excel, deux modifications dans la même cellule exigent une décision humaine.
Je choisirais le comportement selon le coût du conflit. Une extraction obligatoire convient à un budget sensible, avec une procédure pour libérer un verrou oublié. Un document de notes peut accepter plus de souplesse. Dans tous les cas, l’historique doit montrer qui a changé quoi et permettre de restaurer sans supprimer les versions suivantes.
Les métadonnées rendent le document retrouvable autrement que par son nom. Un modèle minimal pourrait contenir :
Type = Budget
Exercice = 2009
Statut = Brouillon | À approuver | Approuvé
Responsable= groupe Finance
Ces champs doivent alimenter une vue, une recherche ou une règle. Une colonne jamais utilisée ajoute du travail et produit des valeurs fictives. Le statut ne doit pas être modifiable par n’importe quel contributeur si Approuvé déclenche une décision financière.
Le versionnement ne protège pas contre la perte de la base de contenu. La corbeille aide pour une suppression, mais une corruption, une mauvaise restauration ou une ferme indisponible exige une sauvegarde cohérente. Je testerais la récupération du document 284 avec ses versions, ses propriétés et ses accès dans un autre environnement.
Je vérifierais aussi le volume. Dix versions complètes d’un classeur de 50 Mo peuvent représenter près de 500 Mo avant les autres coûts. Une limite de versions et une politique d’archive doivent donc suivre la valeur du document. On mesure la croissance de la base et la durée du backup; on ne supprime pas l’historique au hasard lorsque le disque approche de sa limite.
Après restauration, une requête avec le compte du propriétaire doit lire l’élément et une requête avec un compte externe doit recevoir un refus. Récupérer les octets sans la sécurité ou le statut officiel ne ramène pas vraiment le document dans son contexte de travail.
Mon pilote resterait simple : une bibliothèque, un identifiant stable, quatre propriétés, des groupes et un test de conflit. Le succès ne se mesure pas au nombre de fichiers déposés. Il se voit quand une personne peut envoyer un lien, nommer la version approuvée et restaurer celle d’hier sans fouiller dans six boîtes de courriel.