meta données pour cette page
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| certif:procedure:develop:proceduremiseenligne:logeas-web [2026/09/28 17:14] – nicolas | certif:procedure:develop:proceduremiseenligne:logeas-web [2026/09/30 10:33] (Version actuelle) – nicolas | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| |{{: | |{{: | ||
| - | |{{: | + | |{{: |
| - | ====== Cycle de release LoGeAs Web ====== | + | ====== |
| - | ===== 1. Objet et périmètre | + | ===== Informations qualité |
| - | Ce document | + | ^Suivi des modifications majeures^^^ |
| + | ^Date^Auteur^Modifications^ | ||
| + | |3 août 2026|Nicolas MARCHAND|Création du document| | ||
| + | |30 septembre 2026|Nicolas MARCHAND|Alignement sur la chaîne de qualification et de livraison (Proc#168) : la livraison est faite par les scripts '' | ||
| + | |||
| + | |**Suivi des approbations** |[[https:// | ||
| + | |**Objet** |Décrire | ||
| + | |**Destinataires** |**- Validation des modifications :** Gérant \\ **- Approbation du document :** Équipe développement| | ||
| + | |||
| + | \\ | ||
| + | |||
| + | ===== 1. Objet et périmètre ===== | ||
| - | Il constitue la référence | + | Ce document décrit le dispositif |
| Il complète les documents suivants : | Il complète les documents suivants : | ||
| - | * [[certif: | + | * [[certif: |
| - | * [[certif: | + | * [[certif: |
| * [[certif: | * [[certif: | ||
| - | Le présent document | + | **En cas de divergence entre ce document et Proc#168 sur le déroulé d'une livraison, Proc#168 fait foi.** |
| ===== 2. Objectifs ===== | ===== 2. Objectifs ===== | ||
| Ligne 24: | Ligne 35: | ||
| * **Reproductibilité** : exécuter les opérations techniques selon une procédure identifiée et maîtrisée. | * **Reproductibilité** : exécuter les opérations techniques selon une procédure identifiée et maîtrisée. | ||
| * **Traçabilité** : relier chaque version publiée à son code source, à ses commits et aux résultats des contrôles. | * **Traçabilité** : relier chaque version publiée à son code source, à ses commits et aux résultats des contrôles. | ||
| - | * **Sécurisation** : empêcher la production d'une livraison lorsque les contrôles | + | * **Sécurisation** : empêcher la production d'une livraison lorsque les contrôles obligatoires |
| * **Séparation des environnements** : distinguer les versions de test des versions destinées aux utilisateurs. | * **Séparation des environnements** : distinguer les versions de test des versions destinées aux utilisateurs. | ||
| * **Maîtrise du versionnage** : éviter les collisions, les incohérences et les versions non identifiables. | * **Maîtrise du versionnage** : éviter les collisions, les incohérences et les versions non identifiables. | ||
| Ligne 31: | Ligne 42: | ||
| ===== 3. Architecture générale du cycle ===== | ===== 3. Architecture générale du cycle ===== | ||
| - | Le cycle de publication | + | Le cycle de publication |
| - | ^ Étape ^ Opération ^ Résultat ^ | + | ^ Étape ^ Opération |
| - | | 1 | Travail personnel | Développements enregistrés dans une branche individuelle | | + | | 1 | Travail personnel |
| - | | 2 | Intégration (''/ | + | | 2 | Qualification | '' |
| - | | 3 | Publication beta ('' | + | | 3 | Validation du rapport qualité | carto, écran « Rapports de version » | Rapport validé |
| - | | 4 | Publication | + | | 4 | Beta | '' |
| + | | 5 | Déploiement sur le serveur de test | copie manuelle | Beta disponible pour la recette | | ||
| + | | 6 | Recette de la beta | carto, écran « Rapports de version » | Recette conforme ou non conforme | | ||
| + | | 7 | Release | ||
| + | | 8 | Déploiement client | copie manuelle | Version en ligne | | ||
| - | Les étapes 2 à 4 sont assistées par des commandes dédiées de Claude Code. | + | Deux **portes bloquantes** encadrent les livraisons : la porte beta (avant l' |
| Le passage d'une étape à l' | Le passage d'une étape à l' | ||
| - | Une publication client peut exceptionnellement être réalisée sans beta préalable lorsque | + | **Rôle des commandes de l' |
| + | |||
| + | **Il n'y a pas de release client sans beta recettée** : la porte release | ||
| ===== 4. Organisation des dépôts et des environnements ===== | ===== 4. Organisation des dépôts et des environnements ===== | ||
| Ligne 52: | Ligne 69: | ||
| ^ Dépôt ^ Rôle ^ | ^ Dépôt ^ Rôle ^ | ||
| - | | '' | + | | '' |
| | '' | | '' | ||
| - | | '' | + | | '' |
| - | Les bibliothèques de '' | + | Les bibliothèques de '' |
| ==== 4.2 Environnements de génération ==== | ==== 4.2 Environnements de génération ==== | ||
| Ligne 79: | Ligne 96: | ||
| Le transfert vers les serveurs de test et de production est réalisé manuellement, | Le transfert vers les serveurs de test et de production est réalisé manuellement, | ||
| - | Les commandes | + | Les scripts |
| ===== 5. Description technique des étapes ===== | ===== 5. Description technique des étapes ===== | ||
| Ligne 121: | Ligne 138: | ||
| **Résultat attendu :** une branche de version intégrée, contrôlée et accompagnée d'un historique de fusion exploitable. | **Résultat attendu :** une branche de version intégrée, contrôlée et accompagnée d'un historique de fusion exploitable. | ||
| - | ==== 5.3 Publication beta : /release-beta ==== | + | ==== 5.3 Qualification |
| - | La commande | + | Le script |
| - | Elle est exécutée depuis la branche de version commune, préalablement intégrée et mise à jour. | + | Il réalise les opérations suivantes : |
| - | Les opérations techniques sont les suivantes | + | * vérification des préconditions sur '' |
| + | * calcul et affichage de la **version candidate** (la prochaine beta) ; | ||
| + | * reconstruction de '' | ||
| + | * démarrage des serveurs locaux (confirmation UAC) ; | ||
| + | * tests unitaires des deux dépôts, puis tests d' | ||
| + | * génération du rapport qualité et de son analyse ; | ||
| + | * dépôt du rapport, en brouillon, sur le serveur Nono. | ||
| - | * vérification de l'état du dépôt | + | Le rapport est nommé '' |
| - | * calcul | + | |
| - | * mise à jour des informations de version ; | + | |
| - | * régénération | + | |
| - | * compilation en configuration de production beta ; | + | |
| - | * génération du rapport de release ; | + | |
| - | * enregistrement des éléments de version dans un commit dédié ; | + | |
| - | * création d'un tag Git annoté ; | + | |
| - | * publication du commit et du tag sur le dépôt distant. | + | |
| - | La génération utilise | + | Le rapport est ensuite validé, validé avec réserves ou refusé dans la carto (Proc#168, « Validation du rapport qualité »). |
| - | <code bash> | + | ==== 5.4 Beta : livrer-beta ==== |
| - | npm run build:beta | + | |
| - | </ | + | |
| - | Le script | + | Le script '' |
| - | Le résultat est déposé dans le répertoire de test : | + | Les opérations techniques sont les suivantes |
| - | < | + | - **porte beta** ('' |
| - | D: | + | - mise à jour du numéro de version, 4ᵉ chiffre ('' |
| - | </ | + | - génération du rapport de release ('' |
| + | - compilation : '' | ||
| + | - commit dédié « Preparation version X.Y.Z.W », tag annoté '' | ||
| + | - après confirmation : publication du commit et du tag, **inscription de la beta dans la trace du rapport qualité** (indispensable à la porte release), reprise du rapport de release dans la carto. | ||
| - | Le rapport de release est généré par le script '' | + | Si le rapport de release |
| - | Il comprend notamment | + | La beta ne vaut pas validation fonctionnelle |
| - | * les changements identifiés dans l' | + | ==== 5.5 Release client : livrer-release ==== |
| - | * les informations de version ; | + | |
| - | * les résultats des tests disponibles et leur couverture ; | + | |
| - | * les versions des composants de la Galaxie LoGeAs identifiées à partir des exécutables disponibles. | + | |
| - | Le rapport HTML est enregistré dans '' | + | Le script |
| - | Le tag beta suit la convention | + | - **porte release** ('' |
| + | - mise à jour du numéro de version à 3 chiffres ('' | ||
| + | - génération du rapport de release ; | ||
| + | - compilation | ||
| + | - commit dédié, tag annoté '' | ||
| + | - après confirmation : publication, | ||
| - | < | + | Le rapport qualité, publié lors de sa validation, est la pièce qualité de la release. |
| - | X.Y.Z.W_beta | + | |
| - | </ | + | |
| - | La publication beta ne vaut pas validation fonctionnelle. Elle fournit un artefact et des éléments de traçabilité destinés à la phase de test. | + | **Tout correctif après |
| - | + | ||
| - | ==== 5.4 Publication client : / | + | |
| - | + | ||
| - | La commande ''/ | + | |
| - | + | ||
| - | Elle est exécutée sur la branche de version concernée. | + | |
| - | + | ||
| - | Lorsque la release fait suite à une beta, les changements intervenus depuis cette beta sont examinés. Si des évolutions fonctionnelles importantes ont été intégrées, | + | |
| - | + | ||
| - | La génération utilise : | + | |
| - | + | ||
| - | <code bash> | + | |
| - | npm run build | + | |
| - | </ | + | |
| - | + | ||
| - | Le script de version est exécuté en mode '' | + | |
| - | + | ||
| - | Les opérations comprennent | + | |
| - | + | ||
| - | * la vérification de l'état du dépôt ; | + | |
| - | * le contrôle de la cohérence avec la beta, lorsqu' | + | |
| - | * le calcul du numéro de release ; | + | |
| - | * la génération du build de production ; | + | |
| - | * la génération du rapport de release | + | |
| - | * la création du commit de préparation de version ; | + | |
| - | * la création du tag Git annoté ; | + | |
| - | * la publication du commit et du tag ; | + | |
| - | * la mise à jour du rapport qualité NF dans le dépôt '' | + | |
| - | + | ||
| - | Le build est généré dans : | + | |
| - | + | ||
| - | < | + | |
| - | D: | + | |
| - | </ | + | |
| - | + | ||
| - | Le tag de publication suit la convention : | + | |
| - | + | ||
| - | < | + | |
| - | X.Y.Z_release | + | |
| - | </ | + | |
| - | Le rapport qualité NF est généré à partir des résultats réels des tests de '' | + | ==== 5.6 Build hors chaîne ==== |
| - | Le déploiement sur le serveur de production reste une opération distincte, réalisée manuellement après validation | + | Les commandes '' |
| ===== 6. Gestion des versions ===== | ===== 6. Gestion des versions ===== | ||
| Ligne 249: | Ligne 225: | ||
| Pour une beta, le quatrième chiffre est incrémenté à chaque nouvelle génération du même cycle. | Pour une beta, le quatrième chiffre est incrémenté à chaque nouvelle génération du même cycle. | ||
| - | Lorsqu' | + | Lorsqu' |
| Pour une release, le quatrième chiffre est supprimé. Le numéro '' | Pour une release, le quatrième chiffre est supprimé. Le numéro '' | ||
| + | |||
| + | La commande '' | ||
| ==== 6.3 Traçabilité de la version ==== | ==== 6.3 Traçabilité de la version ==== | ||
| Ligne 267: | Ligne 245: | ||
| ==== 6.4 Cas particuliers ==== | ==== 6.4 Cas particuliers ==== | ||
| - | Les cas de changement de version mineure, de correction | + | Les cas de changement de version mineure, de correction |
| Ils ne doivent pas conduire à réécrire l' | Ils ne doivent pas conduire à réécrire l' | ||
| Ligne 276: | Ligne 254: | ||
| ^ Contrôle ^ Étape concernée ^ Objectif ^ | ^ Contrôle ^ Étape concernée ^ Objectif ^ | ||
| - | | Vérification de l' | + | | État des dépôts (propres, à jour, poussés) |
| - | | Vérification | + | | Branche |
| - | | Compilation | Intégration, beta, release | + | | Compilation, tests unitaires, lint | Intégration | Détecter les erreurs |
| - | | Tests unitaires | + | | Tests unitaires et tests d' |
| - | | Contrôle du numéro de version | + | | Porte beta | Beta | N' |
| - | | Vérification des tags | Beta et release | Éviter les collisions et préserver la traçabilité | | + | | Porte release | Release | N' |
| - | | Séparation des répertoires de sortie | Beta et release | Empêcher la confusion entre test et production | | + | | Paquets '' |
| - | | Vérification | + | | Numéro de version et tags | Beta, release | Éviter les collisions et préserver la traçabilité | |
| - | | Rapport de release | Beta et release | Documenter les changements et les résultats disponibles | + | | Séparation des répertoires de sortie | Beta, release | Empêcher la confusion entre test et production | |
| + | | Liste des commits intégrés | Intégration | Conserver la traçabilité des changements | | ||
| + | | Rapport de release | Beta, release | Documenter les changements et renvoyer au rapport qualité | ||
| - | En cas d' | + | En cas d' |
| Aucune procédure ne doit résoudre silencieusement un conflit métier ou écraser des modifications non validées. | Aucune procédure ne doit résoudre silencieusement un conflit métier ou écraser des modifications non validées. | ||
| - | Les opérations de publication | + | Les opérations de publication |
| - | Les éventuels | + | Les échecs de tests déjà connus |
| ===== 8. Rapports et éléments de preuve ===== | ===== 8. Rapports et éléments de preuve ===== | ||
| Ligne 300: | Ligne 280: | ||
| * l' | * l' | ||
| * le commit de fusion et la liste des commits intégrés ; | * le commit de fusion et la liste des commits intégrés ; | ||
| - | * le commit | + | * le commit |
| - | * le tag annoté de beta ou de release ; | + | * le tag annoté de beta ou de release |
| * les informations intégrées dans '' | * les informations intégrées dans '' | ||
| - | * le rapport de release HTML ; | + | * le **rapport qualité** de la version ('' |
| - | | + | * le **rapport |
| - | | + | |
| - | * les éléments attestant | + | |
| - | Les rapports de version publiés sont consultables dans l' | + | ^ Élément ^ Où le consulter ^ |
| + | | Rapports qualité, décisions, recettes, | ||
| + | | Historique d'un rapport (validation, | ||
| + | | Qualification d'une version livrée | son rapport de release et « À propos > Logiciel » | | ||
| - | Le suivi des versions et des tests est également accessible depuis la cartographie fonctionnelle et les outils de suivi associés. | + | Les modalités de validation |
| - | + | ||
| - | Les modalités de conservation | + | |
| ===== 9. Opérations restant manuelles ===== | ===== 9. Opérations restant manuelles ===== | ||
| Ligne 319: | Ligne 298: | ||
| * le choix du moment de l' | * le choix du moment de l' | ||
| - | * la décision de créer une beta ; | + | * le lancement de la qualification |
| - | * la validation | + | * la relecture et la validation |
| - | * la décision | + | * le lancement |
| - | * la relecture et la validation des rapports | + | * la recette |
| + | * le lancement de la release | ||
| * le transfert des fichiers générés vers les serveurs ; | * le transfert des fichiers générés vers les serveurs ; | ||
| * la vérification du déploiement sur l' | * la vérification du déploiement sur l' | ||
| Ligne 339: | Ligne 319: | ||
| * la reproductibilité des générations ; | * la reproductibilité des générations ; | ||
| * la séparation des environnements ; | * la séparation des environnements ; | ||
| - | * la fiabilité des contrôles ; | + | * la fiabilité des contrôles |
| * la conservation des preuves nécessaires à la certification. | * la conservation des preuves nécessaires à la certification. | ||
| La présente procédure doit être révisée lorsque le fonctionnement effectif du cycle de release évolue. | La présente procédure doit être révisée lorsque le fonctionnement effectif du cycle de release évolue. | ||
| + | |||