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/08/11 17:48] – [Aide-mémoire : qui fait quoi, sous le capot] nicolas | certif:procedure:develop:gestionversionpratique [2026/09/30 10:38] (Version actuelle) – nicolas | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| - | ====== Guide pratique — Cycle de release, étape par étape ====== | + | |{{: |
| + | |{{: | ||
| - | //Document complémentaire à [[certif: | + | ====== Proc#170 - Guide pratique — Gestion des versions LoGeAs Web ====== |
| - | ===== Vue d' | + | ===== Informations qualité |
| - | {{: | + | ^Suivi des modifications majeures^^^ |
| + | ^Date^Auteur^Modifications^ | ||
| + | |11 août 2026|Nicolas MARCHAND|Création | ||
| + | |30 septembre 2026|Nicolas MARCHAND|Alignement sur la chaîne | ||
| - | ^ Étape ^ Qui / quoi ^ Commande ^ | + | |**Suivi des approbations** |[[https://cartographie-fonctionnelle.logeas-web.fr/ |
| - | | 1. Travail personnel | + | |**Objet** |
| - | | 2. Intégration | Développeur | + | |**Destinataires** |
| - | | 3. Beta | Développeur ou chef de projet | ''/ | + | |
| - | | 4. Release client | + | |
| - | ---- | + | \\ |
| - | ===== Étape | + | ===== 1. Objet ===== |
| - | **Déclencheur :** en continu, dès qu'on commence à développer quelque chose. | + | Ce guide décrit les opérations pratiques de gestion des versions de LoGeAs Web. Il s'adresse principalement aux développeurs et aux personnes chargées de préparer les publications. |
| - | **Ce qu'on fait, à la main :** | + | Il complète les documents suivants |
| - | - '' | + | |
| - | - On développe, on teste localement si besoin. | + | |
| - | - '' | + | |
| - | - '' | + | |
| - | - '' | + | |
| - | **Volontairement aucune vérification ici** (pas de build, pas de tests) : c'est une sauvegarde | + | **Répartition :** ce guide détaille le travail quotidien du développeur |
| - | **À vérifier soi-même avant de committer :** | + | ===== 2. Environnement |
| - | * Rien de sensible n'est ajouté (secrets, fichiers de config locale, '' | + | |
| - | * Si le changement touche en réalité un comportement partagé (``DGService``, | + | |
| - | ---- | + | ==== 2.1 Outils ==== |
| - | ===== Étape 2 — Intégration (''/ | + | Les opérations sont réalisées depuis le poste de développement, |
| - | **Déclencheur :** le travail sur la branche personnelle est prêt à rejoindre le tronc commun. | + | |
| + | | ||
| + | | ||
| + | | ||
| + | * les accès aux dépôts '' | ||
| + | * un accès connecté | ||
| - | **Ce que la commande fait, dans l'ordre :** | + | Les commandes ''/ |
| - | - '' | + | ==== 2.2 Répertoires ==== |
| - | - '' | + | |
| - | - '' | + | |
| - | - '' | + | |
| - | - '' | + | |
| - | - '' | + | |
| - | - '' | + | |
| - | - Si tout est vert : '' | + | |
| - | **À vérifier après coup :** | + | ^ Répertoire ^ Usage ^ |
| - | * Le commit | + | | '' |
| - | * Aucun conflit n'a été résolu à l'aveugle sur un point métier — en cas de doute, la procédure doit s'arrêter et demander plutôt que trancher seule. | + | | '' |
| - | * Build/ | + | | '' |
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| - | **Si ça échoue :** la procédure corrige sur place si c'est trivial, sinon elle s'arrête et explique — jamais de '' | + | Les commandes Claude Code et les scripts se lancent depuis |
| - | ---- | + | ===== 3. Vue d' |
| - | ===== Étape 3 — Beta ('' | + | ^ Étape |
| + | | 1. Travail personnel | Git, commits et sauvegardes | Développeur | ce guide, section 4 | | ||
| + | | 2. Intégration | ''/ | ||
| + | | 3. Qualification | '' | ||
| + | | 4. Validation du rapport qualité | carto, écran « Rapports de version » | Valideur | Proc#168 | | ||
| + | | 5. Beta | '' | ||
| + | | 6. Déploiement sur le serveur de test | copie manuelle | Personne habilitée | Proc#168 | | ||
| + | | 7. Recette de la beta | carto, écran « Rapports de version » | Valideur | Proc#168 | | ||
| + | | 8. Release client | '' | ||
| + | | 9. Déploiement en production | copie manuelle | Personne habilitée | Proc#168 | | ||
| - | **Déclencheur :** la branche de version est jugée stable, prête pour un tour de validation interne. | + | ===== 4. Étape 1 — Travail personnel ===== |
| - | **Ce que la commande fait, dans l' | + | ==== 4.1 Création de la branche ==== |
| - | - '' | + | Dans le dépôt |
| - | - '' | + | |
| - | * '' | + | |
| - | * régénération de la licence DevExtreme | + | |
| - | * '' | + | |
| - | - '' | + | |
| - | * calcule le diff Git depuis le **dernier tag '' | + | |
| - | * relance '' | + | |
| - | * lit la version des 4 composants | + | |
| - | * écrit '' | + | |
| - | - Commit dédié « Preparation | + | |
| - | - '' | + | |
| - | - '' | + | |
| - | **À vérifier après coup :** | + | Exemple |
| - | * Le numéro de version généré est bien celui attendu (cohérent avec le nom de la branche). | + | |
| - | * Le rapport de release ne signale pas d' | + | |
| - | * Le build est bien présent dans '' | + | |
| - | * Le rapport est consultable dans l' | + | |
| - | **Ce qui reste manuel :** copier '' | + | <code bash> |
| + | git checkout 11.2.0 | ||
| + | git pull | ||
| + | git checkout -b feature/ | ||
| + | </ | ||
| - | ---- | + | Le nom de la branche doit permettre d' |
| - | ===== Étape | + | ==== 4.2 Développement et sauvegarde |
| - | **Déclencheur :** la beta a été validée (ou directement si aucune beta n'est jugée nécessaire pour ce cycle). | + | Le développeur réalise ses modifications et les sauvegarde régulièrement. |
| - | **Ce que la commande fait, dans l' | + | Exemple |
| - | - '' | + | <code bash> |
| - | - Si cette release fait suite à une beta : vérifie que rien d' | + | git status |
| - | - '' | + | git add src/app/mon-composant |
| - | * '' | + | git commit |
| - | * '' | + | git push -u origin feature/nom-fonctionnalite |
| - | - '' | + | </ |
| - | - Commit dédié « Preparation version X.Y.Z » (``package.json`` + ``version.ts`` + le rapport) | + | |
| - | - '' | + | |
| - | - '' | + | |
| - | | + | |
| - | **À vérifier après coup :** | + | Avant chaque |
| - | * Le build est bien présent dans '' | + | |
| - | * Le tag ne rentre pas en collision avec un tag '' | + | |
| - | * Le rapport qualité NF (``logeas-cartographie``) a bien été régénéré, | + | |
| - | **Ce qui reste manuel :** copie vers le serveur client (bureau à distance). | + | Ne pas ajouter de fichiers contenant des secrets, des paramètres locaux ou des fichiers de compilation |
| - | ---- | + | Les tests peuvent être exécutés pendant le développement selon les besoins. Cette étape constitue une sauvegarde du travail personnel et non une validation de l' |
| - | ===== Aide-mémoire : qui fait quoi, sous le capot ===== | + | ==== 4.3 Fin du travail personnel |
| - | {{:certif: | + | Lorsque le travail est prêt à être intégré |
| - | ---- | + | * vérifier les modifications ; |
| + | * sauvegarder les derniers commits ; | ||
| + | * s' | ||
| + | * lancer l' | ||
| - | ===== Erreurs fréquentes à connaître ===== | + | La branche personnelle ne doit pas être fusionnée directement dans la branche commune en contournant la procédure d' |
| - | * **Confondre « beta » et « alpha »** : il n'y a que deux étapes outillées de génération, | + | ===== 5. Étape 2 — Intégration ===== |
| - | * **Lancer '' | + | |
| - | * **Oublier que le rapport qualité NF ne se met à jour qu'en release**, pas en beta — si besoin d'un état des lieux ponctuel entre deux releases, relancer ''/ | + | |
| - | * **Croire que le déploiement est automatique** : à aucune étape le contenu n'est copié sur un vrai serveur — c'est toujours une action manuelle, via bureau à distance. | + | |
| - | ---- | + | ==== 5.1 Préparation ==== |
| - | //Document généré | + | L' |
| + | |||
| + | < | ||
| + | /fusion-dev | ||
| + | </code> | ||
| + | |||
| + | La commande se lance dans '' | ||
| + | |||
| + | Avant de poursuivre, vérifier que : | ||
| + | |||
| + | * le travail est prêt à être intégré ; | ||
| + | * la branche personnelle a été sauvegardée ; | ||
| + | * les éventuels conflits ont été examinés ; | ||
| + | * la branche cible correspond bien à la version en cours. | ||
| + | |||
| + | ==== 5.2 Contrôles ==== | ||
| + | |||
| + | La procédure réalise les contrôles techniques après la fusion : | ||
| + | |||
| + | * compilation ; | ||
| + | * tests unitaires ; | ||
| + | * lint. | ||
| + | |||
| + | Le développeur vérifie le résultat global, notamment les avertissements et les échecs. | ||
| + | |||
| + | En cas de conflit concernant le fonctionnement métier, ne pas accepter une résolution automatique sans vérification. | ||
| + | |||
| + | En cas d' | ||
| + | |||
| + | ==== 5.3 Résultat attendu ==== | ||
| + | |||
| + | L' | ||
| + | |||
| + | * la fusion est effectuée ; | ||
| + | * les contrôles prévus ont été réalisés ; | ||
| + | * les éventuels problèmes ont été résolus ; | ||
| + | * 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. | ||
| + | |||
| + | ===== 6. De la qualification | ||
| + | |||
| + | La qualification, | ||
| + | |||
| + | À retenir une fois l' | ||
| + | |||
| + | * la suite commence par '' | ||
| + | * **ne rien commiter ni pousser pendant la qualification**, | ||
| + | * tout correctif après une beta repart d'une branche personnelle, | ||
| + | * il n'y a pas de release sans beta recettée conforme. | ||
| + | |||
| + | ===== 7. Cas particulier — Démarrer une nouvelle version ===== | ||
| + | |||
| + | Lorsqu' | ||
| + | |||
| + | Exemple : | ||
| + | |||
| + | <code bash> | ||
| + | git checkout 11.2.0 | ||
| + | git pull | ||
| + | git checkout -b 11.3.0 | ||
| + | git push -u origin 11.3.0 | ||
| + | </ | ||
| + | |||
| + | La branche doit être **poussée** : une branche sans branche amont est refusée par la qualification. | ||
| + | |||
| + | L' | ||
| + | |||
| + | Informer l' | ||
| + | |||
| + | La version candidate est tirée du nom de la branche : la première beta de '' | ||
| + | |||
| + | ===== 8. Cas particulier — Correctifs et évolutions en parallèle ===== | ||
| + | |||
| + | Deux pistes de développement peuvent être maintenues simultanément : | ||
| + | |||
| + | ^ Piste ^ Usage ^ | ||
| + | | Version en production | Correctifs de la version utilisée par les clients | | ||
| + | | 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 : il faut les y intégrer (Proc#168, cas 7). | ||
| + | |||
| + | ==== 8.1 Bascule entre versions ==== | ||
| + | |||
| + | '' | ||
| + | |||
| + | Le script suivant bascule le poste sur une paire de branches web / lib, reconstruit la bibliothèque et la réinstalle : | ||
| + | |||
| + | < | ||
| + | scripts/ | ||
| + | </ | ||
| + | |||
| + | Les profils sont définis dans : | ||
| + | |||
| + | < | ||
| + | scripts/ | ||
| + | </ | ||
| + | |||
| + | Exemples : | ||
| + | |||
| + | <code powershell> | ||
| + | .\scripts\switch-lib-version.ps1 -Profile hotfix | ||
| + | </ | ||
| + | |||
| + | <code powershell> | ||
| + | .\scripts\switch-lib-version.ps1 -Profile next | ||
| + | </ | ||
| + | |||
| + | <code powershell> | ||
| + | .\scripts\switch-lib-version.ps1 -LibBranch 11.3.0 -WebBranch 11.3.0 | ||
| + | </ | ||
| + | |||
| + | Avant d' | ||
| + | |||
| + | Le script signale les correctifs d'une version antérieure pas encore reportés sur l' | ||
| + | |||
| + | Les profils doivent être actualisés lorsqu' | ||
| + | |||
| + | ===== 9. Commandes et précautions ===== | ||
| + | |||
| + | ==== 9.1 Commandes Claude Code ==== | ||
| + | |||
| + | ^ Commande ^ Utilisation ^ | ||
| + | | ''/ | ||
| + | | ''/ | ||
| + | | ''/ | ||
| + | | ''/ | ||
| + | | ''/ | ||
| + | |||
| + | Seule ''/ | ||
| + | |||
| + | ==== 9.2 Génération manuelle d'un build ==== | ||
| + | |||
| + | Les commandes suivantes génèrent un build **hors chaîne** : | ||
| + | |||
| + | <code bash> | ||
| + | ng build --configuration " | ||
| + | </ | ||
| + | |||
| + | <code bash> | ||
| + | ng build --configuration production | ||
| + | </ | ||
| + | |||
| + | Elles ne passent pas les portes et ne créent ni rapport, ni tag. '' | ||
| + | |||
| + | Elles ne doivent pas être utilisées pour une livraison normale. Leur usage en urgence est décrit dans Proc#168, cas 8. | ||
| + | |||
| + | ==== 9.3 Précautions générales ==== | ||
| + | |||
| + | Avant toute opération : | ||
| + | |||
| + | * vérifier le dépôt et la branche active ; | ||
| + | * vérifier l' | ||
| + | * ne jamais utiliser '' | ||
| + | * ne pas supprimer ou réécrire les tags d'une version publiée ; | ||
| + | * **ne jamais contourner une porte** : si le blocage est injustifié, | ||
| + | * 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, | ||
| + | |||
| + | ===== 10. Aide-mémoire Git et SourceTree ===== | ||
| + | |||
| + | Les scripts exécutent automatiquement les opérations Git prévues. Le tableau ci-dessous sert au dépannage et aux vérifications manuelles. | ||
| + | |||
| + | ^ Commande Git ^ Équivalent SourceTree ^ | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | | '' | ||
| + | |||
| + | Un tag créé localement mais non publié ne constitue pas une preuve de publication partagée. | ||
| + | |||
| + | ===== 11. 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 Proc#168 et Proc#169. | ||