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:gestionversionpratique [2026/09/28 17:12] – nicolas | certif:procedure:develop:gestionversionpratique [2026/09/30 10:38] (Version actuelle) – nicolas | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| |{{: | |{{: | ||
| - | |{{: | + | |{{: |
| + | ====== Proc#170 - Guide pratique — Gestion des versions LoGeAs Web ====== | ||
| - | ====== Guide pratique — Gestion des versions LoGeAs Web ====== | + | ===== Informations qualité |
| - | ===== 1. Objet ===== | + | ^Suivi des modifications majeures^^^ |
| + | ^Date^Auteur^Modifications^ | ||
| + | |11 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) : le guide se limite au travail personnel, à l' | ||
| - | Ce guide décrit les opérations à effectuer pour gérer les versions de LoGeAs Web, depuis le développement individuel jusqu' | + | |**Suivi des approbations** |[[https:// |
| + | |**Objet** |Ce guide décrit les opérations à effectuer pour gérer les versions de LoGeAs Web, depuis le développement individuel jusqu' | ||
| + | |**Destinataires** |**- Validation des modifications :** Gérant \\ **- Approbation du document :** Équipe développement| | ||
| + | |||
| + | \\ | ||
| + | |||
| + | ===== 1. Objet ===== | ||
| - | Il s' | + | Ce guide décrit les opérations pratiques de gestion des versions de LoGeAs Web. Il s' |
| Il complète les documents suivants : | Il complète les documents suivants : | ||
| - | * [[certif: | + | * [[certif: |
| - | * [[certif: | + | * [[certif: |
| - | * [[certif: | + | * [[certif: |
| - | Ce guide décrit les opérations pratiques. En cas de différence entre une commande et le fonctionnement réel du script, le script et la procédure technique doivent être vérifiés avant toute publication. | + | **Répartition :** ce guide détaille |
| ===== 2. Environnement de travail ===== | ===== 2. Environnement de travail ===== | ||
| Ligne 23: | Ligne 33: | ||
| ==== 2.1 Outils ==== | ==== 2.1 Outils ==== | ||
| - | Les opérations | + | Les opérations sont réalisées depuis le poste de développement, |
| * Git et l' | * Git et l' | ||
| * Node.js et npm ; | * Node.js et npm ; | ||
| * Angular CLI ; | * Angular CLI ; | ||
| - | * Claude Code, pour les commandes | + | * Claude Code, pour les commandes |
| - | * les accès aux dépôts '' | + | * les accès aux dépôts '' |
| + | * un accès connecté à la cartographie fonctionnelle, | ||
| - | Les commandes ''/ | + | Les commandes ''/ |
| ==== 2.2 Répertoires ==== | ==== 2.2 Répertoires ==== | ||
| ^ Répertoire ^ Usage ^ | ^ Répertoire ^ Usage ^ | ||
| - | | '' | + | | '' |
| | '' | | '' | ||
| - | | '' | + | | '' |
| | '' | | '' | ||
| | '' | | '' | ||
| | '' | | '' | ||
| - | Les commandes Claude Code doivent être lancées | + | Les commandes Claude Code et les scripts se lancent |
| ===== 3. Vue d' | ===== 3. Vue d' | ||
| - | ^ Étape ^ Commande ou opération ^ Responsable de la décision | + | ^ Étape ^ Commande ou opération ^ Qui ^ Décrit dans ^ |
| - | | 1. Travail personnel | Git, commits et sauvegardes | Développeur | | + | | 1. Travail personnel | Git, commits et sauvegardes | Développeur |
| - | | 2. Intégration | ''/ | + | | 2. Intégration | ''/ |
| - | | 3. Publication beta | '' | + | | 3. Qualification |
| - | | 4. Validation | + | | 4. Validation |
| - | | 5. Publication client | + | | 5. Beta | '' |
| - | | 6. Déploiement | + | | 6. Déploiement |
| - | + | | 7. Recette de la beta | carto, écran « Rapports de version » | Valideur | Proc#168 | | |
| - | Une release directe, sans beta préalable, est possible lorsqu'elle est justifiée et que les contrôles applicables sont réalisés. | + | | 8. Release client | '' |
| + | | 9. Déploiement en production | copie manuelle | Personne habilitée | Proc#168 | | ||
| ===== 4. Étape 1 — Travail personnel ===== | ===== 4. Étape 1 — Travail personnel ===== | ||
| Ligne 66: | Ligne 78: | ||
| <code bash> | <code bash> | ||
| - | git checkout 11.0.25 | + | git checkout 11.2.0 |
| git pull | git pull | ||
| git checkout -b feature/ | git checkout -b feature/ | ||
| Ligne 94: | Ligne 106: | ||
| ==== 4.3 Fin du travail personnel ==== | ==== 4.3 Fin du travail personnel ==== | ||
| - | Lorsque le travail est suffisamment avancé et prêt à être intégré : | + | Lorsque le travail est prêt à être intégré : |
| * vérifier les modifications ; | * vérifier les modifications ; | ||
| * sauvegarder les derniers commits ; | * sauvegarder les derniers commits ; | ||
| * s' | * s' | ||
| - | * demander ou lancer l' | + | * lancer l' |
| La branche personnelle ne doit pas être fusionnée directement dans la branche commune en contournant la procédure d' | La branche personnelle ne doit pas être fusionnée directement dans la branche commune en contournant la procédure d' | ||
| Ligne 113: | Ligne 125: | ||
| </ | </ | ||
| - | La commande | + | La commande |
| - | + | ||
| - | Elle identifie la branche de version commune et réalise la fusion de la branche personnelle. | + | |
| Avant de poursuivre, vérifier que : | Avant de poursuivre, vérifier que : | ||
| Ligne 132: | Ligne 142: | ||
| * lint. | * lint. | ||
| - | Le développeur | + | Le développeur |
| En cas de conflit concernant le fonctionnement métier, ne pas accepter une résolution automatique sans vérification. | En cas de conflit concernant le fonctionnement métier, ne pas accepter une résolution automatique sans vérification. | ||
| Ligne 144: | Ligne 154: | ||
| * la fusion est effectuée ; | * la fusion est effectuée ; | ||
| * les contrôles prévus ont été réalisés ; | * les contrôles prévus ont été réalisés ; | ||
| - | * les éventuels problèmes ont été résolus | + | * les éventuels problèmes ont été résolus ; |
| * la branche commune a été publiée sur le dépôt distant. | * la branche commune a été publiée sur le dépôt distant. | ||
| Le commit de fusion permet de retrouver les changements intégrés. | Le commit de fusion permet de retrouver les changements intégrés. | ||
| - | ===== 6. Étape 3 — Publication d'une beta ===== | + | ===== 6. De la qualification à la livraison |
| - | ==== 6.1 Conditions préalables ==== | + | La qualification, |
| - | La publication beta est décidée lorsque la branche de version est considérée comme suffisamment stable pour être testée. | + | À retenir une fois l' |
| - | Avant de lancer | + | * la suite commence par '' |
| + | * **ne rien commiter ni pousser pendant | ||
| + | * tout correctif après une beta repart d'une branche personnelle, | ||
| + | * il n'y a pas de release sans beta recettée conforme. | ||
| - | * que les développements à intégrer sont bien présents ; | + | ===== 7. Cas particulier — Démarrer une nouvelle version ===== |
| - | * que les intégrations nécessaires ont été réalisées ; | + | |
| - | * que la branche commune est propre et à jour ; | + | |
| - | * que les contrôles d' | + | |
| - | ==== 6.2 Génération ==== | + | Lorsqu'une évolution nécessite |
| - | + | ||
| - | Dans '' | + | |
| - | + | ||
| - | < | + | |
| - | / | + | |
| - | </ | + | |
| - | + | ||
| - | La commande réalise automatiquement les opérations prévues dans la procédure technique, notamment : | + | |
| - | + | ||
| - | * vérification du dépôt ; | + | |
| - | * calcul du numéro beta ; | + | |
| - | * génération des informations de version ; | + | |
| - | * compilation de l' | + | |
| - | * génération du rapport de release ; | + | |
| - | * création du commit de préparation ; | + | |
| - | * création et publication du tag Git. | + | |
| - | + | ||
| - | Le build est produit dans : | + | |
| - | + | ||
| - | < | + | |
| - | D: | + | |
| - | </ | + | |
| - | + | ||
| - | ==== 6.3 Vérifications après génération ==== | + | |
| - | + | ||
| - | Après l' | + | |
| - | + | ||
| - | * que la commande s'est terminée sans erreur bloquante ; | + | |
| - | * que le numéro beta correspond au cycle attendu ; | + | |
| - | * que le tag beta a été créé et publié ; | + | |
| - | * que le build existe dans le répertoire de test ; | + | |
| - | * que le rapport de release est accessible ; | + | |
| - | * que les éventuelles anomalies signalées sont prises en compte. | + | |
| - | + | ||
| - | Le numéro beta utilise le format '' | + | |
| - | + | ||
| - | ==== 6.4 Déploiement sur le serveur de test ==== | + | |
| - | + | ||
| - | Le transfert du build vers le serveur de test reste manuel. | + | |
| - | + | ||
| - | La personne habilitée doit : | + | |
| - | + | ||
| - | * récupérer le contenu du répertoire de génération beta ; | + | |
| - | * le transférer vers le serveur de test par le moyen d' | + | |
| - | * vérifier que les fichiers ont été copiés dans le répertoire prévu ; | + | |
| - | * vérifier le fonctionnement de la version déployée. | + | |
| - | + | ||
| - | La beta peut alors être soumise aux tests et à la recette prévus par la chaîne de qualification et de livraison. | + | |
| - | + | ||
| - | ===== 7. Étape 4 — Validation de la beta ===== | + | |
| - | + | ||
| - | La validation de la beta est une étape distincte de sa génération. | + | |
| - | + | ||
| - | Le responsable de la validation vérifie les fonctionnalités concernées et les résultats des tests prévus. | + | |
| - | + | ||
| - | Les anomalies constatées doivent être enregistrées et traitées. | + | |
| - | + | ||
| - | Lorsque des corrections sont nécessaires : | + | |
| - | + | ||
| - | * le développeur réalise les modifications sur une branche personnelle ; | + | |
| - | * les corrections sont intégrées par ''/ | + | |
| - | * une nouvelle | + | |
| - | * les tests nécessaires sont renouvelés. | + | |
| - | + | ||
| - | Une beta ne doit pas être considérée comme validée uniquement parce que sa compilation a réussi. | + | |
| - | + | ||
| - | La décision de poursuivre vers une release client est prise par le responsable habilité, conformément à la chaîne de qualification et de livraison. | + | |
| - | + | ||
| - | ===== 8. Étape 5 — Publication client ===== | + | |
| - | + | ||
| - | ==== 8.1 Conditions préalables ==== | + | |
| - | + | ||
| - | Avant la publication client, vérifier : | + | |
| - | + | ||
| - | * que la version à livrer est identifiée ; | + | |
| - | * que les validations requises sont réalisées ; | + | |
| - | * que les anomalies bloquantes sont traitées ; | + | |
| - | * que la branche de version | + | |
| - | * que les modifications apportées depuis la dernière beta ont été examinées, lorsqu' | + | |
| - | + | ||
| - | Si des changements fonctionnels importants ont été ajoutés après la beta, une nouvelle phase de validation peut être nécessaire. | + | |
| - | + | ||
| - | ==== 8.2 Génération ==== | + | |
| - | + | ||
| - | Dans '' | + | |
| - | + | ||
| - | < | + | |
| - | / | + | |
| - | </ | + | |
| - | + | ||
| - | La commande réalise les opérations de préparation de la release : | + | |
| - | + | ||
| - | * vérification du dépôt ; | + | |
| - | * calcul du numéro de release ; | + | |
| - | * génération du build de production ; | + | |
| - | * génération du rapport de release ; | + | |
| - | * création du commit de préparation ; | + | |
| - | * création et publication du tag de release ; | + | |
| - | * préparation du rapport qualité NF dans le dépôt de cartographie. | + | |
| - | + | ||
| - | Le build est généré dans : | + | |
| - | + | ||
| - | < | + | |
| - | D: | + | |
| - | </ | + | |
| - | + | ||
| - | Le numéro de release utilise le format '' | + | |
| - | + | ||
| - | ==== 8.3 Vérifications après génération ==== | + | |
| - | + | ||
| - | Après l' | + | |
| - | + | ||
| - | * que la génération s'est terminée sans erreur bloquante ; | + | |
| - | * que le numéro de version est cohérent avec le cycle ; | + | |
| - | * que le tag de release est correct ; | + | |
| - | * que le build de production est présent dans le répertoire attendu ; | + | |
| - | * que le rapport de release est disponible ; | + | |
| - | * que le rapport qualité NF a été régénéré et peut être relu. | + | |
| - | + | ||
| - | Le rapport qualité NF doit être relu avant son intégration | + | |
| - | + | ||
| - | ==== 8.4 Release sans beta préalable ==== | + | |
| - | + | ||
| - | Une release peut exceptionnellement être générée sans beta préalable. | + | |
| - | + | ||
| - | Cette possibilité ne dispense pas des contrôles techniques et de la validation nécessaires à la livraison. | + | |
| - | + | ||
| - | La décision et sa justification doivent être conservées dans les éléments de suivi de la livraison, selon les modalités prévues par la chaîne de qualification. | + | |
| - | + | ||
| - | ===== 9. Étape 6 — Déploiement en production ===== | + | |
| - | + | ||
| - | Le déploiement est réalisé après la décision de livraison. | + | |
| - | + | ||
| - | Il reste manuel et nécessite l' | + | |
| - | + | ||
| - | La personne habilitée doit : | + | |
| - | + | ||
| - | * récupérer le contenu du répertoire de production ; | + | |
| - | * transférer les fichiers vers le serveur concerné ; | + | |
| - | * vérifier la bonne copie des fichiers ; | + | |
| - | * contrôler l' | + | |
| - | * signaler toute anomalie constatée. | + | |
| - | + | ||
| - | Le tag Git et le rapport de release permettent d' | + | |
| - | + | ||
| - | Les opérations de déploiement et les éventuels contrôles complémentaires sont documentés dans les procédures d' | + | |
| - | + | ||
| - | ===== 10. Cas particulier — Changement de version mineure ===== | + | |
| - | + | ||
| - | Lorsqu' | + | |
| Exemple : | Exemple : | ||
| <code bash> | <code bash> | ||
| - | git checkout 11.0.25 | + | git checkout 11.2.0 |
| git pull | git pull | ||
| - | git checkout -b 11.1.0 | + | git checkout -b 11.3.0 |
| - | git push -u origin 11.1.0 | + | git push -u origin 11.3.0 |
| </ | </ | ||
| - | L' | + | La branche |
| - | + | ||
| - | La nouvelle | + | |
| - | Il faut informer l'équipe de ce changement afin que les développements en cours soient correctement réorientés. | + | L'ancienne branche est conservée avec son historique et ses tags. La nouvelle branche devient la cible des prochaines intégrations. |
| - | Le calcul automatique | + | Informer l' |
| - | Les règles détaillées | + | La version candidate est tirée du nom de la branche : la première beta de '' |
| - | ===== 11. Cas particulier — Correctifs et évolutions en parallèle ===== | + | ===== 8. Cas particulier — Correctifs et évolutions en parallèle ===== |
| Deux pistes de développement peuvent être maintenues simultanément : | Deux pistes de développement peuvent être maintenues simultanément : | ||
| - | |||
| - | * une piste de correctifs destinée à la version actuellement utilisée par les clients ; | ||
| - | * une piste d' | ||
| - | |||
| - | Exemple : | ||
| ^ Piste ^ Usage ^ | ^ Piste ^ Usage ^ | ||
| - | | Version en production | Correctifs | + | | Version en production | Correctifs |
| | Version suivante | Nouvelles fonctionnalités et évolutions | | | Version suivante | Nouvelles fonctionnalités et évolutions | | ||
| - | Les corrections apportées à la version de production ne sont pas automatiquement reportées sur la version suivante. | + | Les corrections apportées à la version de production ne sont pas automatiquement reportées sur la version suivante |
| - | + | ||
| - | Il faut donc vérifier que les correctifs nécessaires sont également intégrés à la branche d' | + | |
| - | + | ||
| - | ==== 11.1 Changement de version des bibliothèques ==== | + | |
| - | '' | + | ==== 8.1 Bascule entre versions ==== |
| - | Un simple changement de branche Git ne suffit pas à garantir que les dépendances correspondent à la version souhaitée. | + | '' |
| - | Le script suivant | + | Le script suivant |
| < | < | ||
| Ligne 368: | Ligne 217: | ||
| </ | </ | ||
| - | Exemples | + | Exemples : |
| <code powershell> | <code powershell> | ||
| Ligne 378: | Ligne 227: | ||
| </ | </ | ||
| - | Les profils déterminent les branches à utiliser pour '' | + | <code powershell> |
| + | .\scripts\switch-lib-version.ps1 -LibBranch 11.3.0 -WebBranch 11.3.0 | ||
| + | </ | ||
| - | Avant d' | + | Avant d' |
| - | Le script | + | Le script |
| - | + | ||
| - | Après un changement de version, vérifier que les paquets ont été reconstruits et que les dépendances installées correspondent à la branche sélectionnée. | + | |
| Les profils doivent être actualisés lorsqu' | Les profils doivent être actualisés lorsqu' | ||
| - | ===== 12. Commandes et précautions ===== | + | ===== 9. Commandes et précautions ===== |
| - | ==== 12.1 Commandes | + | ==== 9.1 Commandes |
| ^ Commande ^ Utilisation ^ | ^ Commande ^ Utilisation ^ | ||
| - | | ''/ | + | | ''/ |
| - | | ''/ | + | | ''/ |
| - | | ''/ | + | | ''/ |
| - | | ''/ | + | | ''/ |
| + | | ''/ | ||
| - | Ces commandes sont exécutées dans Claude Code, depuis | + | Seule ''/ |
| - | ==== 12.2 Génération manuelle d'un build ==== | + | ==== 9.2 Génération manuelle d'un build ==== |
| - | Les commandes | + | Les commandes suivantes |
| <code bash> | <code bash> | ||
| Ligne 412: | Ligne 262: | ||
| </ | </ | ||
| - | Ces commandes | + | Elles ne passent |
| - | + | ||
| - | Elles ne réalisent pas nécessairement le calcul de version, la génération | + | |
| - | Elles ne doivent | + | Elles ne doivent pas être utilisées pour une livraison |
| - | ==== 12.3 Précautions générales ==== | + | ==== 9.3 Précautions générales ==== |
| Avant toute opération : | Avant toute opération : | ||
| Ligne 426: | Ligne 274: | ||
| * ne jamais utiliser '' | * ne jamais utiliser '' | ||
| * ne pas supprimer ou réécrire les tags d'une version publiée ; | * ne pas supprimer ou réécrire les tags d'une version publiée ; | ||
| - | * ne pas contourner | + | |
| * ne pas confondre génération d'un build et déploiement d'une version. | * ne pas confondre génération d'un build et déploiement d'une version. | ||
| En cas de doute sur la branche cible, le numéro de version ou la validité d'une publication, | En cas de doute sur la branche cible, le numéro de version ou la validité d'une publication, | ||
| - | ===== 13. Aide-mémoire Git et SourceTree ===== | + | ===== 10. Aide-mémoire Git et SourceTree ===== |
| - | Les commandes de release | + | Les scripts |
| ^ Commande Git ^ Équivalent SourceTree ^ | ^ Commande Git ^ Équivalent SourceTree ^ | ||
| Ligne 447: | Ligne 295: | ||
| | '' | | '' | ||
| - | Lors d'une publication manuelle, vérifier que le tag est bien envoyé au dépôt distant. | + | Un tag créé localement mais non publié ne constitue pas une preuve de publication partagée. |
| - | ===== 14. Traçabilité et conservation | + | ===== 11. Révision du guide ===== |
| - | Pour chaque version publiée, les éléments suivants doivent pouvoir être retrouvés : | + | Ce guide doit être actualisé lorsque les commandes, les scripts, les branches de version ou les modalités de publication évoluent. |
| - | * la branche de version concernée ; | + | Les modifications doivent rester cohérentes avec Proc# |
| - | * les commits intégrés ; | + | |
| - | * le commit de préparation de version ; | + | |
| - | * le tag beta ou release ; | + | |
| - | * les informations de version embarquées ; | + | |
| - | * le rapport de release ; | + | |
| - | * les résultats de qualification et de recette ; | + | |
| - | * les éléments de validation et de déploiement applicables. | + | |
| - | + | ||
| - | Les rapports de release sont accessibles depuis l' | + | |
| - | + | ||
| - | Le suivi des versions, des tests et des validations est assuré par les outils de cartographie fonctionnelle et de certification. | + | |
| - | + | ||
| - | Les règles de conservation et d' | + | |
| - | + | ||
| - | ===== 15. Révision du guide ===== | + | |
| - | + | ||
| - | Ce guide doit être actualisé lorsque les commandes, les scripts, les branches de version ou les modalités de publication évoluent. | + | |
| - | Les modifications doivent rester cohérentes avec la procédure technique de release et la chaîne de qualification et de livraison. | ||