|{{: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:chainequalificationlivraison]]\\ [[certif:procedure:develop:proceduremiseenligne:logeas-web]]\\ [[certif:procedure:develop:gestionversionpratique]]| ====== Proc#167 - Procédure de mise en ligne d'une version du client « lourd » ====== ===== Informations qualité ===== ^Suivi des modifications majeures^^^ ^Date^Auteur^Modifications^ |Novembre 2024|Nicolas MARCHAND|Refonte suite au changement de la logique de version (à partir de la version 11.0)| |30 septembre 2026|Nicolas MARCHAND|Passage de SVN à Git (logs et enregistrement de la version) ; suppression de la mise à jour de la page d'accueil de LoGeAs Web ; mise au format de la maîtrise documentaire| |**Suivi des approbations** |[[https://cartographie-fonctionnelle.logeas-web.fr/UniversProcedure?id=167|Cartographie fonctionnelle – fiche de la procédure]]| |**Objet** |Définir les actions à mener pour la création et la mise en ligne d'une nouvelle version du client « lourd » (installé) de LoGeAs.| |**Destinataires** |**- Validation des modifications :** Chef de projet \\ **- Approbation du document :** Équipe développement| \\ ===== Généralités ===== La mise en ligne d'une version consiste à mettre à disposition du public le fichier de mise à jour et le programme d'installation, et à informer les utilisateurs des changements réalisés. Les règles de numérotation, de branches et de tags sont définies dans [[certif:procedure:develop:gestionversion|Proc#145 - Procédure de Gestion des Versions]]. ===== Préparation de la publication d'une nouvelle version ===== ==== 1 - Tests ==== Passer les tests prévus pour le niveau de la version (Majeure, Mineure ou Release), selon [[certif:procedure:develop:chainequalificationlivraison]].\\ Ne pas poursuivre tant que les tests ne sont pas passés. ==== 2 - Préparation de la liste des changements ==== La liste des changements est extraite de l'historique Git du dépôt du client lourd. - Retrouver le tag de la dernière version publiée : ''git tag --sort=-creatordate'' - Extraire les messages des commits depuis ce tag : ''git log ..HEAD --no-merges --pretty=format:"%s"'' - Faire le ménage : ne garder que ce qui concerne l'utilisateur, regrouper par thème, reformuler si besoin. Cette liste sert au courriel d'information de l'étape 4. ==== 3 - Création des fichiers à publier ==== Un seul fichier est diffusé : l'exécutable de la version courante. === Préparation de l'exécutable dans Delphi === - Lancer Delphi dans sa version courante et ouvrir le projet ''D:\dev\logeas\src\LoGeAs WEB\LOGEAS.dproj''. - Ouvrir les options du projet pour vérifier le numéro de version, et l'incrémenter si besoin selon Proc#145. - **Construire en version RELEASE**, puis quitter Delphi (Release\Alpha s'il s'agit d'une alpha). - Se rendre dans le dossier où le fichier .exe a été créé et vérifier dans ses propriétés que le numéro de version est bon et que l'icône est présente. - Ouvrir une invite de commande dans ce dossier (Maj + clic droit) et taper ''.\signer.bat "MotDePasse"'', en remplaçant MotDePasse par le mot de passe du certificat (cf. **Dashlane : codesign.p12**). ATTENTION : le mot de passe est entre guillemets. \\ En cas d'erreur « fichier introuvable », vérifier que signtool est installé sur le poste : [[:certif:procedure:develop:proceduremisenlignepreparation|voir le détail dans cette fiche]]. - Vérifier dans les propriétés du fichier .exe que l'onglet « Signatures numériques » contenant le certificat a bien été ajouté. - Enregistrer la version dans le dépôt Git : commit du changement de numéro de version, tag sur ce commit, puis push du commit et du tag, selon la section « Gestion des tags Git » de Proc#145. === Préparation du zip auto-extractible === On utilise les logiciels : * [[https://www.7-zip.org/download.html|7-Zip]] * [[https://sourceforge.net/projects/sfx-maker/|7-Zip SFX Maker]] (le fonctionnement semble meilleur si l'outil est installé dans le dossier de la release) == Étape 1 - Compresser l'exécutable Logeas.exe == - Faire un clic droit sur le fichier généré aux étapes précédentes, puis « 7-Zip\Ajouter à l'archive ». \\ {{:intranet:procedure:develop:aautoextract01.jpg|}} - Bien vérifier le paramétrage, en particulier : * que le niveau de compression est « Ultra » (diminution du temps de chargement) ; * que la méthode de compression est **LZMA** et non LZMA2 (LZMA2 est incompatible avec l'auto-extraction). - Créer le fichier ''logeas.7z''. == Étape 2 - Créer l'auto-extractible == - Aller dans le sous-dossier « 7-Zip SFX Maker ». - Lancer **« 7-ZIP SFX Maker.exe »**. - « Charger les paramètres » : le fichier est dans le dossier de la release, « Fichier config logeas web 7-Zip SFX Maker.xml ». Custom False False False False False False False All Démarrer l'extraction Voulez-vous vraiment annuler ? Les fichiers ont été extraits avec succès Installation LoGeAs Sélectionnez le dossier d'installation Interrompre Extraction True 0 False Shortcut="Du,{%%T\\LoGeAs.exe},{},{},{},{},{},{},{}" Shortcut="Su,{%%T\\Logeas.exe},{},{},{},{},{},{},{}" RunProgram="nowait:\"%%T\\Logeas.exe\"" - Par le bouton « + », ajouter le fichier ''logeas.7z'' créé à l'étape précédente. - Puis « Créer l'auto-extractible SFX ». Le fichier créé s'appelle ''LoGeAs.sfx.exe'' : c'est lui qui est diffusé. ==== 4 - Prévenir les utilisateurs de la mise à jour ==== Envoyer la veille un courriel à tous les utilisateurs de LoGeAs Web (liste obtenue par requête SQL), indiquant : * les modifications faites (liste préparée à l'étape 2) ; * la date et l'heure de coupure du serveur. ==== 5 - Mise à jour des informations techniques du wiki ==== À partir du logiciel, utiliser la fonction interne (mode développeur) de publication sur le wiki : « Édition Configuration > Mettre à jour wiki.logeas.fr ». ==== 6 - Mettre à jour les fichiers du serveur ==== [[:certif:procedure:miseenplaceserveur]]