Campagnes : introduction au module

Une campagne est un dossier de travail qui existe déjà sur le disque, avec ses exports d'instrument, ses classeurs de calcul, ses protocoles et ses notes. IsoFind l'indexe sur place, sans rien renommer ni déplacer, et lui ajoute un descripteur qui porte le sens : quel fichier est quoi, de quel échantillon il parle, et par quelles opérations la matière est passée.

Le problème traité

Un dossier de thèse ou de postdoc de quelques années compte plusieurs centaines de fichiers, produits par des instruments différents, nommés selon des conventions qui ont changé en cours de route. Au bout d'un certain temps, on ne retrouve plus quel fichier correspond à quel échantillon, ni quel classeur a produit la valeur d'une figure.

Les fichiers les plus utiles sont ceux qui posent le plus de difficulté. Un export ICP-MS, une session de spéciation ou un run multicollecteur couvrent plusieurs échantillons à la fois et ne portent donc, par construction, aucun nom d'échantillon dans leur propre nom. Les repérer un par un demanderait de répéter onze fois le même geste, ce que personne ne fait.

Indexer sur place

RègleConséquence
Les originaux ne sont jamais renommés, déplacés ni modifiés.Le dossier reste utilisable sans IsoFind, et par les outils habituels du laboratoire.
Le sens vit dans campagne.isocamp, à la racine du dossier.Déplacer ou partager le dossier emporte le travail d'organisation avec lui.
La base n'est qu'un cache reconstructible.Une base perdue ou changée de poste se reconstruit par un nouveau scan.
Le descripteur fait foi, la base est en second. C'est ce qui permet de travailler à deux sur un dossier partagé et de retrouver une campagne dix ans plus tard sur une machine qui n'a jamais vu la base d'origine.

Ce que contient le descripteur

BlocContenu
geneseVersion, dates, outil ayant écrit le fichier. Hors empreinte signée.
inventaireUn enregistrement par fichier : chemin relatif, empreinte SHA-256, taille, genre reconnu et motif du classement.
campagneNom, description, liens vers les échantillons de la base.
chaineNœuds, arêtes, fichiers rattachés et repères.

Le bloc genese est tenu hors de l'empreinte signée, pour la même raison qu'une date d'export empêchait toute empreinte reproductible dans les fichiers de méthode : deux écritures d'un descripteur inchangé doivent donner le même condensé.

Choix de formatMotif
Chemins relatifs, séparateur /Le dossier doit pouvoir changer de disque et de système.
Normalisation NFC des nomsmacOS écrit les accents en forme décomposée, Windows en forme composée. Sans normalisation, le même fichier apparaitrait deux fois.
Tri par chemin, sérialisation canoniqueDeux écritures successives produisent le même texte, donc un fichier qui se compare ligne à ligne.
Aucune donnée dérivableDoublons et homonymes se recalculent ; les stocker créerait une seconde vérité à maintenir.
Aucun contenu de fichier, seulement des empreintesLe descripteur reste petit et ne duplique jamais les données.

Les surfaces

SurfaceRôle
Panneau CampagneLe dossier, ses sections, l'inventaire par genre, les signalements, l'arbre de la chaine.
Panneau ChaineLa vue en grille de la chaine d'aliquotes. Sa place est la zone centrale.
Menu contextuelSur un fichier et sur un nœud : ouvrir, lignée, rattacher, lier à un échantillon.
Assistant IATrois outils de provenance en lecture seule.

Ce que le module n'est pas

  • Ce n'est pas un gestionnaire de fichiers généraliste. Les opérations proposées portent sur des objets du domaine, pas sur des fichiers pris pour eux-mêmes.
  • Ce n'est pas un format ouvert de plus. IsoFind en publie déjà trois, ISOF pour les données, IGL pour la modélisation et IGDB pour les bases de fractionnement. Le descripteur de campagne reste un détail d'implémentation d'IsoFind.
  • Ce n'est pas un LIMS. Rien n'oblige à saisir une chaine complète pour utiliser le reste, et un dossier scanné sans chaine reste lisible.

Routes

POST /campagnes/scanner { racine } GET /campagnes/descripteur ?racine= POST /campagnes/arbitrer { racine, empreintes, genre } GET /campagnes/chercher ?racine=&terme=&noeud= GET /campagnes/registre les campagnes connues

Pages liées