meta données pour cette page
  •  

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
certif:procedure:develop:chainequalificationlivraison [2026/09/25 15:50] – nicolascertif:procedure:develop:chainequalificationlivraison [2026/09/30 10:08] (Version actuelle) – nicolas
Ligne 1: Ligne 1:
-====== Chaîne de qualification et de livraison ======+|{{:undo-2.svg?30|}} [[certif:dm#gestion_des_versions|Retour au dossier de maintenance]]|| 
 +|{{:connexe.jpg?40|}} **Sujets connexes**|[[https://cartographie-fonctionnelle.logeas-web.fr/|Cartographie fonctionnelle de LoGeAs]]\\ [[https://interface.logeas-web.fr/RapportsRelease|Informations sur la version en cours]]\\ [[certif:procedure:develop:gestionversion]]\\ [[certif:procedure:develop:proceduremiseenligne]]\\ [[certif:procedure:develop:proceduremiseenligne:logeas-web]]\\ [[certif:procedure:develop:gestionversionpratique]]|
  
-Cette page explique comment une version de LoGeAs Web passe du code fusionné à la livraison client : +====== Proc#168 - Chaîne de qualification et de livraison ======
-qualification par les tests, validation, beta, recette, release. Elle s'adresse à toute l'équipe : +
-développeurs, et personne qui valide et recette.+
  
-Voir aussi : [[tests_e2e_playwright|Lancer les tests E2E]] (détail du run complet) et la méthodologie +===== Informations qualité =====
-des tests (''logeas-cartographie/src/assets/methodologie-tests.html'', section 8).+
  
-===== Pourquoi une chaîne =====+^Suivi des modifications majeures^^^ 
 +^Date^Auteur^Modifications^ 
 +|25 septembre 2026|Nicolas MARCHAND|Création du document|
  
 +|**Suivi des approbations** |[[https://cartographie-fonctionnelle.logeas-web.fr/UniversProcedure?id=168|Cartographie fonctionnelle – fiche de la procédure]]|
 +|**Objet** |Cette page explique comment une version de LoGeAs Web passe du code fusionné à la livraison client : qualification par les tests, validation du rapport qualité, beta, recette, release.|
 +|**Destinataires** |**- Validation des modifications :** Gérant \\ **- Approbation du document :** Équipe développement, et la personne qui valide les rapports qualité et recette les betas|
 +
 +
 +===== Pourquoi une chaîne =====
 Avant, les tests et la livraison formaient deux circuits séparés : Avant, les tests et la livraison formaient deux circuits séparés :
   * une beta pouvait partir sans rapport qualité validé ;   * une beta pouvait partir sans rapport qualité validé ;
-  * entre deux betas, un run de tests était rangé sous la version de la **dernière beta livrée**, alors +  * entre deux betas, un run de tests était rangé sous la version de la **dernière beta livrée**, alors qu'il testait la **prochaine** ; 
-    qu'il testait la **prochaine** ; +  * les tests unitaires étaient joués deux fois (run complet, puis rapport de release), sans garantie que ce soit sur le même code.
-  * les tests unitaires étaient joués deux fois (run complet, puis rapport de release), sans garantie +
-    que ce soit sur le même code.+
  
 Désormais, **aucune version n'est livrée sans un rapport qualité validé qui porte sur son code exact**, Désormais, **aucune version n'est livrée sans un rapport qualité validé qui porte sur son code exact**,
Ligne 42: Ligne 46:
 Point de départ : le travail est fusionné sur la branche de version (''/fusion-dev''). Point de départ : le travail est fusionné sur la branche de version (''/fusion-dev'').
  
-  - **Pousser** la branche de version de //logeas-web// et celle de //logeas-lib// : la qualification +  - **Pousser** la branche de version de //logeas-web// et celle de //logeas-lib// : la qualification refuse un dépôt qui a des commits non poussés ou des modifications locales.
-    refuse un dépôt qui a des commits non poussés ou des modifications locales.+
   - **Fermer la fenêtre console d'Angular** si elle est ouverte.   - **Fermer la fenêtre console d'Angular** si elle est ouverte.
-  - Double-clic sur ''scripts\qualifier-version.bat''. Noter la **version candidate** affichée +  - Double-clic sur ''scripts\qualifier-version.bat''. Noter la **version candidate** affichée (ex. ''11.2.0.9''). 
-    (ex. ''11.2.0.9''). +  - **Rester devant le poste** pendant la reconstruction de //logeas-lib// (quelques minutes), jusqu'à la **confirmation UAC** du démarrage des serveurs. Ensuite, le run tourne seul (environ 15 minutes).
-  - **Rester devant le poste** pendant la reconstruction de //logeas-lib// (quelques minutes), jusqu'à +
-    la **confirmation UAC** du démarrage des serveurs. Ensuite, le run tourne seul (environ 15 minutes).+
   - **Ne rien commiter pendant le run**, dans aucun des deux dépôts.   - **Ne rien commiter pendant le run**, dans aucun des deux dépôts.
-  - Dans la carto, écran **Rapports de version** (connecté) : ouvrir ''run-<version>-<date>'', le relire, +  - Dans la carto, écran **Rapports de version** (connecté) : ouvrir ''run-<version>-<date>'', le relire, puis **Valider** (ou **Validé avec réserves**, avec un commentaire ; voir la règle des réserves). 
-    puis **Valider** (ou **Validé avec réserves**, avec un commentaire ; voir la règle des réserves). +  - Double-clic sur ''scripts\livrer-beta.bat''. La porte vérifie tout ; le script fait le bump, le rapport de release, le build, le commit et les tags. 
-  - Double-clic sur ''scripts\livrer-beta.bat''. La porte vérifie tout ; le script fait le bump, le +  - Répondre **''o''** à « Pousser vers origin ? » : c'est aussi ce qui inscrit la beta dans la trace du rapport, sans quoi la release client sera impossible. 
-    rapport de release, le build, le commit et les tags. +  - Copier ''D:\Developpements\VersionPublic\LogeasWeb-Test\browser\'' sur le serveur de test (bureau à distance).
-  - Répondre **''o''** à « Pousser vers origin ? » : c'est aussi ce qui inscrit la beta dans la trace du +
-    rapport, sans quoi la release client sera impossible. +
-  - Copier ''D:\Developpements\VersionPublic\LogeasWeb-Test\browser\'' sur le serveur de test (bureau à +
-    distance).+
   - Passer au **cas 2** (recette et release) ou, si un défaut est trouvé, au **cas 3**.   - Passer au **cas 2** (recette et release) ou, si un défaut est trouvé, au **cas 3**.
  
Ligne 65: Ligne 62:
  
   - Sur le serveur de test, dérouler la liste de contrôle de la recette (section « Recette de la beta »).   - Sur le serveur de test, dérouler la liste de contrôle de la recette (section « Recette de la beta »).
-  - Dans la carto, écran **Rapports de version**, sur le rapport qualité de la version : section +  - Dans la carto, écran **Rapports de version**, sur le rapport qualité de la version : section **Recette de la beta ''X.Y.Z.W_beta''**. Pour chaque point, choisir **Vérifié**, ou **Sans objet** avec une justification.
-    **Recette de la beta ''X.Y.Z.W_beta''**. Pour chaque point, choisir **Vérifié**, ou **Sans objet** +
-    avec une justification.+
   - Cliquer **Recette conforme** (le bouton n'est actif que si tous les points sont traités).   - Cliquer **Recette conforme** (le bouton n'est actif que si tous les points sont traités).
   - Vérifier que **rien n'a été commité** depuis la beta, dans aucun des deux dépôts.   - Vérifier que **rien n'a été commité** depuis la beta, dans aucun des deux dépôts.
Ligne 77: Ligne 72:
 Que le défaut soit trouvé en recette ou autrement, **aucun correctif ne part sur la beta existante**. Que le défaut soit trouvé en recette ou autrement, **aucun correctif ne part sur la beta existante**.
  
-  - Si la recette était en cours : dans la carto, cliquer **Recette non conforme** avec un commentaire +  - Si la recette était en cours : dans la carto, cliquer **Recette non conforme** avec un commentaire qui décrit le défaut (la trace garde ainsi pourquoi la beta n'est pas partie chez le client).
-    qui décrit le défaut (la trace garde ainsi pourquoi la beta n'est pas partie chez le client).+
   - Corriger sur sa branche perso, puis ''/fusion-dev'' vers la branche de version, puis pousser.   - Corriger sur sa branche perso, puis ''/fusion-dev'' vers la branche de version, puis pousser.
-  - Reprendre le **cas 1** depuis le début : nouvelle qualification (la version candidate devient la +  - Reprendre le **cas 1** depuis le début : nouvelle qualification (la version candidate devient la beta suivante, ex. ''11.2.0.10''), validation, nouvelle beta, déploiement, recette.
-    beta suivante, ex. ''11.2.0.10''), validation, nouvelle beta, déploiement, recette.+
  
 ==== Cas 4 : le rapport qualité n'est pas bon ==== ==== Cas 4 : le rapport qualité n'est pas bon ====
Ligne 90: Ligne 83:
   - Corriger (branche perso, ''/fusion-dev'', push), puis relancer ''scripts\qualifier-version.bat''.   - Corriger (branche perso, ''/fusion-dev'', push), puis relancer ''scripts\qualifier-version.bat''.
   - Le nouveau rapport est à valider ; l'ancien reste consultable, marqué « Remplacé ».   - Le nouveau rapport est à valider ; l'ancien reste consultable, marqué « Remplacé ».
-  - Si les échecs sont connus et suivis (chacun rattaché à un ticket ou à un échec déjà connu), on peut +  - Si les échecs sont connus et suivis (chacun rattaché à un ticket ou à un échec déjà connu), on peut au contraire **Valider avec réserves**, en les listant dans le commentaire.
-    au contraire **Valider avec réserves**, en les listant dans le commentaire.+
  
 ==== Cas 5 : la qualification a échoué en cours de route ==== ==== Cas 5 : la qualification a échoué en cours de route ====
Ligne 98: Ligne 90:
  
   - Sans résultats des tests d'interface, **aucun rapport n'est produit** : il n'y a rien à refuser.   - Sans résultats des tests d'interface, **aucun rapport n'est produit** : il n'y a rien à refuser.
-  - Corriger la cause (fenêtres console des serveurs, par exemple), puis relancer +  - Corriger la cause (fenêtres console des serveurs, par exemple), puis relancer ''scripts\qualifier-version.bat'' tel quel : le code n'a pas changé, la version candidate non plus.
-    ''scripts\qualifier-version.bat'' tel quel : le code n'a pas changé, la version candidate non plus.+
   - Si un rapport a quand même été produit mais qu'il n'est pas exploitable : le **refuser** et relancer.   - Si un rapport a quand même été produit mais qu'il n'est pas exploitable : le **refuser** et relancer.
  
 ==== Cas 6 : démarrer le cycle d'une nouvelle version ==== ==== Cas 6 : démarrer le cycle d'une nouvelle version ====
  
-  - Créer la nouvelle branche de version (ex. ''11.3.0'') dans //logeas-web// et, si la bibliothèque +  - Créer la nouvelle branche de version (ex. ''11.3.0'') dans //logeas-web// et, si la bibliothèque évolue aussi, dans //logeas-lib//, et les **pousser** (une branche sans branche amont est refusée). 
-    évolue aussi, dans //logeas-lib//, et les **pousser** (une branche sans branche amont est refusée). +  - Basculer le poste sur ces branches (''scripts\switch-lib-version.ps1 -LibBranch 11.3.0 -WebBranch 11.3.0'', ou un profil de ''scripts\switch-lib-profiles.json''). 
-  - Basculer le poste sur ces branches (''scripts\switch-lib-version.ps1 -LibBranch 11.3.0 -WebBranch +  - Travailler, fusionner (''/fusion-dev''), puis suivre le **cas 1**. La version candidate est tirée du nom de la branche : la première beta sera ''11.3.0.1''.
-    11.3.0'', ou un profil de ''scripts\switch-lib-profiles.json''). +
-  - Travailler, fusionner (''/fusion-dev''), puis suivre le **cas 1**. La version candidate est tirée du +
-    nom de la branche : la première beta sera ''11.3.0.1''.+
  
 ==== Cas 7 : corriger une version déjà livrée au client ==== ==== Cas 7 : corriger une version déjà livrée au client ====
Ligne 115: Ligne 103:
 Même chaîne, sur la branche de la version en ligne. Même chaîne, sur la branche de la version en ligne.
  
-  - Basculer sur cette version : ''scripts\switch-lib-version.ps1 -Profile hotfix'' (branches définies +  - Basculer sur cette version : ''scripts\switch-lib-version.ps1 -Profile hotfix'' (branches définies dans ''scripts\switch-lib-profiles.json'').
-    dans ''scripts\switch-lib-profiles.json'').+
   - Corriger, fusionner sur la branche de cette version, pousser.   - Corriger, fusionner sur la branche de cette version, pousser.
-  - Suivre le **cas 1** puis le **cas 2**. Comme cette version est déjà publiée (tag ''_release''), la +  - Suivre le **cas 1** puis le **cas 2**. Comme cette version est déjà publiée (tag ''_release''), la version candidate passe au cycle suivant : par exemple ''11.1.3'' publiée → beta ''11.1.4.1'', puis release ''11.1.4''. 
-    version candidate passe au cycle suivant : par exemple ''11.1.3'' publiée → beta ''11.1.4.1'', puis +  - Reporter ensuite le correctif sur la version en cours de développement (''/fusion-dev''), puis revenir dessus : ''scripts\switch-lib-version.ps1 -Profile next''. Ce script signale d'ailleurs les correctifs d'une version antérieure pas encore reportés.
-    release ''11.1.4''. +
-  - Reporter ensuite le correctif sur la version en cours de développement (''/fusion-dev''), puis +
-    revenir dessus : ''scripts\switch-lib-version.ps1 -Profile next''. Ce script signale d'ailleurs les +
-    correctifs d'une version antérieure pas encore reportés.+
  
 ==== Cas 8 : urgence, livrer sans la chaîne ==== ==== Cas 8 : urgence, livrer sans la chaîne ====
Ligne 131: Ligne 114:
  
   - Bump : ''npm run prebuild:beta'' (beta) ou ''npm run prebuild'' (release).   - Bump : ''npm run prebuild:beta'' (beta) ou ''npm run prebuild'' (release).
-  - Rapport de release **sans** qualification : ''node scripts/release-report.js beta'' (ou +  - Rapport de release **sans** qualification : ''node scripts/release-report.js beta'' (ou ''release'') ; il rejoue les tests unitaires et affiche le bandeau « Version non qualifiée ». 
-    ''release'') ; il rejoue les tests unitaires et affiche le bandeau « Version non qualifiée ». +  - Build : ''npx ng build --configuration production,beta'' (beta) ou ''npx ng build --configuration production'' (release). Jamais ''npm run build'', qui referait le bump.
-  - Build : ''npx ng build --configuration production,beta'' (beta) ou +
-    ''npx ng build --configuration production'' (release). Jamais ''npm run build'', qui referait le +
-    bump.+
   - Commit ''Preparation version X'', tag, push, comme d'habitude.   - Commit ''Preparation version X'', tag, push, comme d'habitude.
-  - Même sans rapport de release, **À propos > Logiciel** affiche « Version non qualifiée » : une version +  - Même sans rapport de release, **À propos > Logiciel** affiche « Version non qualifiée » : une version absente des rapports de release est considérée comme construite hors chaîne.
-    absente des rapports de release est considérée comme construite hors chaîne.+
   - **Régulariser** dès que possible : qualification du même code, puis validation.   - **Régulariser** dès que possible : qualification du même code, puis validation.
  
Ligne 144: Ligne 123:
  
   - Lire le motif affiché : chaque refus dit quoi faire (tableau « Messages fréquents » ci-dessous).   - Lire le motif affiché : chaque refus dit quoi faire (tableau « Messages fréquents » ci-dessous).
-  - Pour revérifier sans rien modifier : +  - Pour revérifier sans rien modifier : ''powershell -ExecutionPolicy Bypass -File scripts\livrer-version.ps1 -Nature beta -VerifierSeulement'' (ou ''-Nature release''), ou demander à Claude ''/release-beta'' / ''/release-client'', qui expliquent le blocage. 
-    ''powershell -ExecutionPolicy Bypass -File scripts\livrer-version.ps1 -Nature beta -VerifierSeulement'' +  - **Ne jamais contourner une porte** : si le blocage est injustifié, c'est un défaut des scripts, à signaler et corriger.
-    (ou ''-Nature release''), ou demander à Claude ''/release-beta'' / ''/release-client'', qui +
-    expliquent le blocage. +
-  - **Ne jamais contourner une porte** : si le blocage est injustifié, c'est un défaut des scripts, à +
-    signaler et corriger.+
  
 ===== Les étapes en détail ===== ===== Les étapes en détail =====
Ligne 161: Ligne 136:
   * aucune modification locale non commitée ;   * aucune modification locale non commitée ;
   * branche à jour avec ''origin'' et poussée ;   * branche à jour avec ''origin'' et poussée ;
-  * **Angular arrêté** (fermer sa fenêtre console) : sinon il continuerait de servir l'ancienne +  * **Angular arrêté** (fermer sa fenêtre console) : sinon il continuerait de servir l'ancienne bibliothèque après sa réinstallation.
-    bibliothèque après sa réinstallation.+
 Le script vérifie tout cela lui-même et s'arrête en disant quoi corriger. Pour vérifier sans rien Le script vérifie tout cela lui-même et s'arrête en disant quoi corriger. Pour vérifier sans rien
 lancer : ''powershell -ExecutionPolicy Bypass -File scripts\qualifier-version.ps1 -VerifierSeulement'' lancer : ''powershell -ExecutionPolicy Bypass -File scripts\qualifier-version.ps1 -VerifierSeulement''
Ligne 168: Ligne 142:
  
 **Lancer :** double-clic sur ''scripts\qualifier-version.bat''. Le script : **Lancer :** double-clic sur ''scripts\qualifier-version.bat''. Le script :
-  - affiche la **version candidate** : la prochaine beta (ex. ''11.2.0.9''), sous laquelle le rapport +  - affiche la **version candidate** : la prochaine beta (ex. ''11.2.0.9''), sous laquelle le rapport sera rangé ; 
-    sera rangé ; +  - reconstruit //logeas-lib// depuis son dernier commit et la réinstalle dans //logeas-web// (quelques minutes) ;
-  - reconstruit //logeas-lib// depuis son dernier commit et la réinstalle dans //logeas-web// +
-    (quelques minutes) ;+
   - demande la **confirmation UAC** du démarrage des serveurs : **rester devant le poste jusque-là** ;   - demande la **confirmation UAC** du démarrage des serveurs : **rester devant le poste jusque-là** ;
-  - enchaîne sans surveillance : tests unitaires des deux dépôts, tests d'interface, rapport qualité, +  - enchaîne sans surveillance : tests unitaires des deux dépôts, tests d'interface, rapport qualité, analyse par Claude, dépôt du rapport en brouillon sur le serveur Nono.
-    analyse par Claude, dépôt du rapport en brouillon sur le serveur Nono.+
  
 **Pendant le run : ne rien commiter, ne rien pousser**, ni dans //logeas-web// ni dans //logeas-lib//. **Pendant le run : ne rien commiter, ne rien pousser**, ni dans //logeas-web// ni dans //logeas-lib//.
Ligne 184: Ligne 155:
  
 ==== Validation du rapport qualité ==== ==== Validation du rapport qualité ====
 +
 +//Cette validation porte sur le rapport qualité d'une version du logiciel. Elle est distincte de la validation d'un document au sens de [[certif:procedure:maitrisedocumentaire|Proc#163]].//
  
 Dans la carto, écran **Rapports de version**, connecté : relire le rapport (en particulier l'analyse Dans la carto, écran **Rapports de version**, connecté : relire le rapport (en particulier l'analyse
Ligne 201: Ligne 174:
   - passe la **porte beta** (voir plus bas) : s'il manque quelque chose, il s'arrête et l'explique ;   - passe la **porte beta** (voir plus bas) : s'il manque quelque chose, il s'arrête et l'explique ;
   - fait le bump de version (4ᵉ chiffre) et vérifie que c'est bien la version qualifiée ;   - fait le bump de version (4ᵉ chiffre) et vérifie que c'est bien la version qualifiée ;
-  - génère le rapport de release : les tests unitaires et le résumé des tests d'interface +  - génère le rapport de release : les tests unitaires et le résumé des tests d'interface (Playwright) y sont **repris** de la qualification (rien n'est rejoué), avec un renvoi vers le rapport qualité pour le détail ;
-    (Playwright) y sont **repris** de la qualification (rien n'est rejoué), avec un renvoi vers le +
-    rapport qualité pour le détail ;+
   - lance le build de production vers ''D:\Developpements\VersionPublic\LogeasWeb-Test\'' ;   - lance le build de production vers ''D:\Developpements\VersionPublic\LogeasWeb-Test\'' ;
-  - crée le commit « Preparation version X.Y.Z.W », le tag ''X.Y.Z.W_beta'' et, si besoin, le tag +  - crée le commit « Preparation version X.Y.Z.W », le tag ''X.Y.Z.W_beta'' et, si besoin, le tag ''web-X.Y.Z.W_beta'' dans //logeas-lib// ; 
-    ''web-X.Y.Z.W_beta'' dans //logeas-lib// ; +  - **demande confirmation** avant de pousser. Si on accepte : push, inscription de la beta dans la trace du rapport qualité (indispensable pour la suite), reprise du rapport de release dans la carto.
-  - **demande confirmation** avant de pousser. Si on accepte : push, inscription de la beta dans la +
-    trace du rapport qualité (indispensable pour la suite), reprise du rapport de release dans la carto.+
 Si le rapport de release ou le build échoue, le bump est annulé : rien n'est commité ni tagué. Si le rapport de release ou le build échoue, le bump est annulé : rien n'est commité ni tagué.
 Si on refuse le push, le script affiche les commandes pour le faire plus tard, **y compris Si on refuse le push, le script affiche les commandes pour le faire plus tard, **y compris
Ligne 252: Ligne 221:
 **Porte beta** : **Porte beta** :
   * les deux dépôts sont sur leur branche de version, propres, à jour et poussés ;   * les deux dépôts sont sur leur branche de version, propres, à jour et poussés ;
-  * un rapport d'origine « Qualification » de la version candidate porte **exactement** le dernier +  * un rapport d'origine « Qualification » de la version candidate porte **exactement** le dernier commit des deux dépôts (le plus récent, s'il y en a plusieurs) ; 
-    commit des deux dépôts (le plus récent, s'il y en a plusieurs) ; +  * ce run n'a eu ni modification locale, ni changement de code en cours de route, et les paquets //logeas-lib// installés sont toujours ceux du run ;
-  * ce run n'a eu ni modification locale, ni changement de code en cours de route, et les paquets +
-    //logeas-lib// installés sont toujours ceux du run ;+
   * sa décision est « Validé » ou « Validé avec réserves ».   * sa décision est « Validé » ou « Validé avec réserves ».
  
 **Porte release** : **Porte release** :
-  * ''package.json'' porte une beta, et le tag de cette beta est le dernier commit de //logeas-web// +  * ''package.json'' porte une beta, et le tag de cette beta est le dernier commit de //logeas-web// (**aucun commit depuis la beta**) ;
-    (**aucun commit depuis la beta**) ;+
   * //logeas-lib// est toujours au commit qualifié, avec les mêmes paquets installés ;   * //logeas-lib// est toujours au commit qualifié, avec les mêmes paquets installés ;
-  * entre le code qualifié et la beta, seul le commit « Preparation version » (dans ''package.json'', +  * entre le code qualifié et la beta, seul le commit « Preparation version » (dans ''package.json'', seul le numéro de version a pu changer) ;
-    seul le numéro de version a pu changer) ;+
   * le rapport qualité est toujours validé, et la **recette** de cette beta est « Conforme ».   * le rapport qualité est toujours validé, et la **recette** de cette beta est « Conforme ».
  
Ligne 286: Ligne 251:
 | Rapports qualité, décisions, recettes | carto, écran **Rapports de version** (''https://cartographie-fonctionnelle.logeas-web.fr/RapportsVersion'') | | Rapports qualité, décisions, recettes | carto, écran **Rapports de version** (''https://cartographie-fonctionnelle.logeas-web.fr/RapportsVersion'') |
 | Clé du code d'un rapport (commits des deux dépôts, empreinte des paquets lib) | en tête du rapport ; en détail dans le manifeste (''cleCode'') | | Clé du code d'un rapport (commits des deux dépôts, empreinte des paquets lib) | en tête du rapport ; en détail dans le manifeste (''cleCode'') |
-| Historique d'un rapport (validation, publication, beta, recette, release) | table ''ApprobDoc'' du serveur Nono, trace JSON du rapport |+| Historique d'un rapport (validation, publication, beta, recette, release) | table ''ApprobDoc'' du serveur Nono, trace JSON du rapport (table partagée avec le suivi des approbations des procédures, sans mélange : les rapports y sont identifiés par leur trace) |
 | Livraisons | tags ''X.Y.Z.W_beta'' / ''X.Y.Z_release'' (logeas-web), ''web-*'' (logeas-lib) | | Livraisons | tags ''X.Y.Z.W_beta'' / ''X.Y.Z_release'' (logeas-web), ''web-*'' (logeas-lib) |
 | Qualification d'une version livrée | son rapport de release et **À propos > Logiciel** | | Qualification d'une version livrée | son rapport de release et **À propos > Logiciel** |