Retour à Proc#144 - Installation et mise à jour des serveurs et des applications
Document technique Rattaché à Proc#144. Non soumis à approbation (Proc#163) : tenu à jour par l'équipe de développement.

Document technique — Serveurs Delphi : PGI et LoGeAs Web

Ce document décrit comment déployer ou mettre à jour le serveur PGI et le serveur de bases LoGeAs Web (serveur V9), qui tournent comme services Windows.

Procédure rapide

Prérequis

  • L'arborescence de développement doit être respectée (déploiement dans D:\dev\).
  • 7-Zip doit être installé dans C:\Program Files\7-Zip\7z.exe.

Préparer les exécutables

  1. Ouvrir dans Delphi le projet D:\dev\logeas\src\LoGeAsV9\LoGeAsV9-COMPLET.groupproj.
  2. Pour le sous-projet « LoGeAsPGI_ServeurService » :
    • choisir la « configuration de construction » Release, que ce soit pour une alpha ou une release ;
    • faire « Construire ».
  3. Pour le sous-projet « LoGeAsV9_ServeurService » :
    • choisir la « configuration de construction » Release, que ce soit pour une alpha ou une release ;
    • faire « Construire ».

Voir plus d'information

Préparer les fichiers à envoyer sur le serveur

  1. Aller dans le dossier D:\dev\logeas\bin\logeasV9\Serveur :
    • ouvrir le fichier version.json ;
    • modifier la variable NumeroVersionLast en y mettant la version minimale pouvant se connecter au serveur.
  2. Aller dans le dossier D:\dev\logeas\proc.
  3. Lancer le batch « Prepare Publication Serveurs LoGeas Web - Alpha » ou « Prepare Publication Serveurs LoGeas Web - Release ».

Les fichiers sont créés dans le dossier D:\dev\publication\.

Voir plus d'information

Transférer les fichiers sur le serveur

Les fichiers peuvent être transférés de deux façons :

  • avec FileZilla (voir plus d'information) ;
  • par Nextcloud, dont le dossier « Transfert » est synchronisé sur le serveur.

Préparer l'installation sur le serveur

  1. Ouvrir une session sur le serveur (voir plus d'information).
  2. Copier les 2 fichiers transférés dans le dossier C:\MiseAJour.
  3. Le lancement est automatique à 2 heures du matin. Pour un lancement manuel, utiliser le batch « Mise a jour LoGeAs Alpha.bat » ou « Mise a jour LoGeAs Release.bat » situé dans le répertoire C:\MiseAJour du serveur (voir plus d'information).

Le script de mise à jour archive automatiquement les dossiers des deux serveurs avant de les mettre à jour : aucune sauvegarde manuelle n'est à faire.

Compléments

Construire les projets à publier

Avant toute chose, les projets à publier ou à mettre à jour doivent être construits en mode Release. Ce paramètre se règle dans la partie droite de la fenêtre de l'EDI : déplier « Configurations de construction », puis double-cliquer sur le mode choisi.

Ensuite, faire un clic droit sur le projet à compiler, puis cliquer sur « Construire ». Les projets à construire pour une mise à jour sont LoGeAsPGI_ServeurService et LoGeAsV9_ServeurService.
Dans le cas d'une nouvelle installation des serveurs, il faut aussi construire les projets LoGeAsPGI_ServeurService_Install et LoGeAsV9_ServeurService_Install.

Fichiers à transférer

Les fichiers nécessaires au bon fonctionnement de PGI sont les suivants (tous les chemins partent de la racine D:\dev\logeas\bin\LoGeAsPGI) :

  • le service du serveur, « LoGeAsPGI_ServeurService.exe », qui se trouve dans le dossier « Service » ;
  • le dossier « Views » et tout ce qu'il contient ;
  • le dossier « reports » et tout ce qu'il contient ;
  • le dossier « Document », qui doit contenir deux sous-dossiers, « DocLicence » et « Intranet » ;
  • le fichier « sqlite3.dll » ;
  • le fichier « config.json ».

Les fichiers nécessaires au bon fonctionnement du serveur de bases (serveur V9) sont les suivants (tous les chemins partent de la racine D:\dev\logeas\bin\logeasV9\Serveur) :

  • le service du serveur, « LoGeAsV9_ServeurService.exe », qui se trouve dans le dossier « Service » ;
  • le dossier « Views » et tout ce qu'il contient ;
  • un dossier nommé « BasesClients », vide pour une nouvelle installation ;
  • le dossier « Defaut » et tout ce qu'il contient ;
  • le fichier « config.json » ;
  • le fichier « version.json ».

Pour une mise à jour des serveurs

Il n'est pas utile de transférer tous les fichiers. Pour PGI, l'exécutable du service et le dossier « Views » suffisent. Pour le serveur V9, il faut y ajouter le dossier « Defaut » et le fichier version.json, mis à jour au préalable (« NumeroVersionLast » : la dernière version de LoGeAs acceptée avec cette version du serveur).

Pour les préparer, un fichier bat existe à la racine de chacun des répertoires : exécuter bin\LoGeAsPGI\PreparePublication.bat et bin\logeasV9\Serveur\PreparePublication.bat, qui créent des archives 7z contenant les fichiers nécessaires.

Pour un nouveau déploiement des serveurs (nouvelle installation)

Pour PGI, préparer une archive contenant :

  • les dossiers Documents, log, reports et Views, à jour depuis le dépôt Git ;
  • le fichier config.json configuré selon le besoin, ainsi que le fichier sqlite3.dll ;
  • les exécutables LoGeAsPGI_ServeurService_Install.exe et LoGeAsPGI_ServeurService.exe.

Pour V9, l'archive doit contenir :

  • un dossier BasesClients vide, et les dossiers Defaut et Views à jour depuis le dépôt Git ;
  • les fichiers config.json et version.json, correctement configurés ;
  • les exécutables LoGeAsV9_ServeurService_Install.exe et LoGeAsV9_ServeurService.exe.

Une fois les archives décompressées dans leurs dossiers respectifs (en accord avec les fichiers de configuration), il faut enregistrer les serveurs en tant que services Windows. Ouvrir une invite de commande en administrateur et, dans le dossier du serveur PGI en premier, taper LoGeAsPGI_ServeurService_Install.exe /install puis LoGeAsPGI_ServeurService_Install.exe /start. Faire de même dans le dossier du serveur V9 avec LoGeAsV9_ServeurService_Install.exe. Par la suite, les services se gèrent depuis le gestionnaire de services de Windows.

Transférer les fichiers

Pour ce transfert, on utilise un client FTP (FileZilla dans l'exemple).

image3.jpg

L'interface est divisée en quatre parties principales :

  1. informations sur la connexion ;
  2. fichiers du poste local ;
  3. fichiers du poste distant (le serveur à actualiser) ;
  4. la file des fichiers en cours de transfert.

On lance la connexion avec les réglages suivants (le mot de passe est dans Dashlane) :

image4.jpg

Pour transférer des fichiers d'un répertoire local à un répertoire distant, se placer dans le bon dossier grâce aux arborescences en haut des parties (2) et (3). Le contenu du répertoire choisi s'affiche juste en dessous : sélectionner un ou plusieurs éléments, puis faire clic droit > Envoyer côté local pour les transférer dans le répertoire affiché côté serveur.

image5.jpgIl faut transférer les fichiers à mettre à jour dans le dossier « update » de chaque application : les serveurs étant toujours en cours d'exécution, la copie serait refusée si elle était faite directement à l'emplacement de l'exécutable.

Accéder au serveur

Pour accéder à distance au serveur, utiliser l'application « Connexion Bureau à distance ». Au lancement, une fenêtre s'ouvre : le poste à atteindre est « app.logeas.fr ». On peut se connecter avec son compte personnel (les droits d'administrateur ne sont pas nécessaires).

image6.jpg
Après avoir cliqué sur « Connexion » et saisi ses identifiants, le bureau du serveur s'affiche. Attention aux actions effectuées sur le serveur !

Information sur la mise en place de la mise à jour

La mise en place est faite par un batch Windows lancé toutes les nuits à 2 h.

Modifier la tâche planifiée

  1. Lancer le « Task Scheduler » par le menu Démarrer.
  2. Aller dans le dossier « Task Scheduler (Local)\Task Scheduler Library\logeas ».
  3. Ouvrir la tâche « Mise à jour PGI & LoGeAs WEB - Alpha » ou « Mise à jour PGI & LoGeAs WEB - Release » par un double-clic, ou par clic droit « Properties ».

Remarque

  • Le script doit être exécuté même si l'utilisateur n'est pas connecté (onglet « Général » de la tâche).

Le script

Rem en cas de mise à jour -> https://wiki-logeas.fr/certif/doku.php?id=certif:procedure:miseenplaceserveur:serveurdelphi#information_sur_la_mise_en_place_de_la_mise_a_jour

echo Preparation du nom du fichier
set dateheure=%date:~0,2%-%date:~3,2%-%date:~6,4%_%time:~0,2%h%time:~3,2%min
set dateheure=%dateheure: =%

REM VARIABLE A MODIFIER
set NomFichierBackup="S:\Backups PGI_V9\%dateheure%_LoGeAsAlpha.7z"
set CheminPGI="C:\RemoteApp\LoGeAsPGITEST"
set CheminWEB="C:\RemoteApp\LoGeAsV9Test"
set Source="C:\MiseAJour\"
set SourcePGI="%Source%LoGeAsWebAlpha.7z"
set SourceWEB="%Source%LoGeAsPGIAlpha.7z"


if exist %SourceWEB% goto suite
if exist %SourcePGI% goto suite
goto fini

:suite
echo On coupe les serveurs
net stop LoGeAsV9ServeurBeta
net stop LoGeAsPGIBeta

echo On archive
"C:\Program Files\7-Zip\7z.exe" a  %NomFichierBackup% %CheminPGI% -mtc=on
"C:\Program Files\7-Zip\7z.exe" a  %NomFichierBackup% %CheminWEB% -mtc=on


echo on nettoie
cd %CheminWEB%
del /s /q /f *.log
del /s /q /f *.synlz

cd %CheminPGI%
del /s /q /f *.log
del /s /q /f *.synlz


echo on dearchive
if not exist %SourceWEB% goto suite2
cd %CheminWEB%
"C:\Program Files\7-Zip\7z.exe" x  %SourceWEB% -y

:suite2
if not exist %SourcePGI% goto suite3
cd %CheminPGI%
"C:\Program Files\7-Zip\7z.exe" x %SourcePGI% -y

:suite3
echo On remonte les serveurs
net start LoGeAsPGIBeta
net start LoGeAsV9ServeurBeta

echo on Efface les fichiers
Del %SourceWEB%
Del %SourcePGI%

:fini