meta données pour cette page
  •  

Ceci est une ancienne révision du document !


Dossier d’Architecture Technique

Suivi du document

VersionDateAuteursObjet de la mise à jour
1.2Eté 2026Nicolas MARCHANDMise à jour des éléments techniques
1.1Nov 2021Nicolas MARCHANDDéplacement des chapitres Jet, FEC, Sauvegarde, Archives fiscales, RGPD vers le DCF
1.030/06/2021Nicolas MARCHANDCréation du document

Définition du document

Ce document constitue le Dossier d'Architecture Technique (DAT) du progiciel LoGeAs. Il a pour objet de décrire en profondeur l'implémentation technique de la solution, dans le cadre de la démarche de certification NF203/NF552, en complément du Dossier de Conception Générale (DCG) et du Dossier de Spécifications Fonctionnelles (DSF).

Il couvre notamment :

  • les technologies, langages et frameworks utilisés pour le développement et l'exécution de la solution ;
  • l'architecture détaillée du système, incluant la nature et le sens des flux entre les différents composants (serveurs applicatifs, postes clients, outils de supervision) ;
  • les protocoles de communication utilisés entre ces composants ;
  • les algorithmes de signature et de hachage employés pour garantir l'intégrité, l'inaltérabilité et la traçabilité des données (enregistrements en base, fichiers, piste d'audit) ;
  • l'architecture de supervision et son articulation avec la gestion des incidents (approche ITIL) ;
  • l'historique versionné de ces éléments techniques, afin de tracer la conformité du logiciel aux marques NF successives (NF203, NF552) et au référentiel FIDELE (R19).

Les sujets relatifs à la sauvegarde des données, aux archives fiscales, au FEC et à la RGPD sont traités dans le DSF et ne sont pas repris ici.

Ce document s'adresse aux auditeurs en charge de la certification ainsi qu'aux équipes techniques internes chargées de la maintenance et de l'évolution de la solution. Il est mis à jour à chaque évolution significative de l'architecture technique.

Outils et méthodologie de développement

Langages et frameworks

  • Serveurs principaux (app.logeas.fr : bases-ws, monespace) : Delphi 12, avec l'ORM mORMot 1.
  • Serveurs secondaires (app.logeas.ovh : nono, etc.) : Lazarus (Free Pascal), avec l'ORM mORMot 2.
  • Client lourd : Delphi 12, s'appuyant notamment sur les bibliothèques FastReport (génération des états) et DevExpress (composants d'interface).
  • Base de données : SQLite, une base distincte par client afin de limiter les risques et les volumes traités ; chiffrement AES via la bibliothèque SynCrypto (Synopse) depuis la version 9.5.1.
  • Interface légère (full-web) : développée en Angular (v21), avec les bibliothèques de composants DevExtreme et Syncfusion (tableaux de données, graphiques, cartes). La génération des états s'appuie sur Stimulsoft Reports (équivalent full-web du FastReport utilisé côté client lourd). Les exports de documents (Excel, PDF, CSV) reposent sur ExcelJS, jsPDF/pdfmake et PapaParse. Le projet consomme également des bibliothèques internes partagées (ngx-interface-ui, ngx-logeascom-ui, ngx-logeasweb-ui), issues d'un monorepo de composants communs (“logeas-lib”). Les tests sont réalisés avec Jest (tests unitaires) et Playwright (tests d'intégration).

Méthodologie de conception

Historiquement, LoGeAs a été développé depuis 1999 selon un modèle en spirale (cf. ci-dessus). En pratique aujourd'hui, le développement s'organise en mini-projets sur GitLab, suivant un fonctionnement proche du Kanban, bien que celui-ci reste largement “théorique” : les mini-projets sont fréquemment interrompus par la prise en charge d'urgences (corrections, support), ce qui rompt la continuité du flux Kanban classique.

Suivi des anomalies et des évolutions

Le suivi des tickets s'appuie sur deux outils internes distincts, plutôt qu'un outil de gestion de projet plus lourd comme l'était précédemment projecQtOr :

  • un outil côté client (remontée des demandes et anomalies) ;
  • un outil côté développement (suivi technique, priorisation, correctifs).

Ce choix d'outillage léger s'explique directement par la taille de l'équipe de développement, très réduite (environ 1,5 ETP). Un outil de gestion de projet centralisé et formalisé, dimensionné pour des équipes plus importantes, représenterait une charge de suivi disproportionnée par rapport à la capacité réelle de traitement. La séparation en deux outils permet au contraire de garder côté client une interface simple de remontée des besoins, sans étape de qualification technique préalable, et côté développement un backlog directement actionnable, sans couche de gestion de projet intermédiaire.

Cette contrainte de taille explique également pourquoi le fonctionnement Kanban reste “théorique” : avec une capacité de développement aussi limitée, la moindre urgence client (anomalie bloquante, incident) mobilise mécaniquement la totalité de la capacité disponible et interrompt le mini-projet en cours, faute de marge permettant d'absorber l'urgence sans arbitrage. Il ne s'agit donc pas d'un défaut d'application de la méthode, mais d'une conséquence structurelle du dimensionnement de l'équipe.

Cartographie fonctionnelle (https://logeas-web.fr/carto) : référentiel central des composants logiciels, des tests, et de leurs liens avec les fonctionnalités et les marques de certification (NF203/NF552).

Gestion des sources, des versions et dépôt

Le code source est hébergé sur GitLab, qui a totalement remplacé l'ancien dépôt SVN. Les développeurs interagissent avec le dépôt via le client graphique SourceTree.

La stratégie de branches suit un modèle une branche par version : chaque nouvelle version du logiciel est développée sur une branche dédiée. Lors de la mise en ligne (déploiement en production) d'une version, le numéro de version est incrémenté, formalisant le passage à la version suivante. Tous les clients sont maintenus sur la dernière version Release ; des écarts mineurs de Build peuvent exister suite à des correctifs ciblés.

L'usage de Git constitue également la méthode retenue pour répondre à l'exigence de preuve d'authenticité du logiciel audité (art. 4.3.6 “Dépôt des sources et preuve d'authenticité du logiciel audité”) : à défaut de dépôt des sources auprès d'un tiers, chaque commit est identifié par une empreinte cryptographique (hash SHA) calculée sur l'ensemble du contenu et de l'historique, figeant de façon incontestable l'état exact des sources à un instant donné. Lors d'un audit, l'empreinte du commit correspondant à la branche de la version auditée peut être communiquée à l'organisme certificateur pour vérification de l'authenticité et de l'intégrité du code.

Pour en savoir plus : gestionversion

Architecture globale de l'infrastructure

Vue d'ensemble des composants — serveur applicatif, postes clients, outils de supervision, prestataires (Prosoluce)

L'infrastructure physique de LoGeAs Informatique s'articule autour de trois sites. Le site principal est hébergé à Saint Gaudens, dans le datacenter de Prosoluce, au sein d'une demi baie dédié à notre activités. Il héberge les deux nœuds de virtualisation Proxmox — LOGEAS1 et LOGEAS2, serveurs SuperMicro — qui portent l'ensemble des machines virtuelles applicatives. Ces deux serveurs sont reliés au routeur RB3011 (Mikrotik), point de sortie réseau du site.

Le site de Labarthe Inard héberge deux zones distinctes : la baie Logeas informatique et la salle privée. La baie Logeas informatique reçoit la connectivité du site de Saint Gaudens par deux voies complémentaires : une liaison Internet classique, via une fibre privée relie directement le site à notre baie dans le data-ceenter, et une liaison LTE de secours (Prosoluce/Orange), aboutissant au boîtier Résiliencia. Cette redondance des accès WAN vise à garantir la continuité de service en cas de défaillance de l'un des deux liens.

Enfin, le local annexe de Labarthe Inard, alimenté depuis la baie Logeas informatique via Résiliencia, héberge les serveurs de stockage Backup-01 et Histo-01, ainsi qu'un NAS privé, raccordés à un commutateur dédié.

Schéma d'architecture globale

NB : SVG stocké sur le wiki éditable par exemple avec Inkscape

Inventaire des machines

Chaque machine de l'infrastructure a une fiche, tenue à jour par l'équipe technique. Les fiches sont des documents techniques rattachés au présent dossier. Elles ne contiennent aucune information d'accès : les adresses, les comptes et les accès d'administration sont conservés dans le coffre-fort de mots de passe de l'entreprise, dans une note par machine.

Serveurs physiques

Machine Type Site Portée par Rôle État
LOGEAS1 Serveur physique (SuperMicro Datacenter Prosoluce (Saint-Gaudens) — Nœud de virtualisation En service
LOGEAS2 Serveur physique (Supermicro 1U Datacenter Prosoluce (Saint-Gaudens) — Nœud de virtualisation En service
LOGEAS3 Serveur physique Datacenter Prosoluce (Saint-Gaudens) — Futur nœud de virtualisation En attente de mise en place

Machines virtuelles et conteneurs

Machine Type Site Portée par Rôle État
app.logeas.fr Machine virtuelle (VM 103) Datacenter Prosoluce (Saint-Gaudens) LOGEAS1 Serveur applicatif principal : bases de données des clients LoGeAs et gestion des utilisateurs En service
app.logeas.ovh Machine virtuelle (VM 105) Datacenter Prosoluce (Saint-Gaudens) LOGEAS2 Serveur des services et sites secondaires : Nono, LoGeAs Web (interfaces), cartographie fonctionnelle, assistance, portail de mise à jour En service
Machine virtuelle (VM 101) Datacenter Prosoluce (Saint-Gaudens) à préciser Hébergement des sites internet et de la messagerie gérés par Logeas Informatique Arrêtée en 2022, conservée pour l'historique
Conteneur LXC (CT 107) Datacenter Prosoluce (Saint-Gaudens) LOGEAS2 Héberge les wikis de Logeas Informatique, dont le présent site de la certification Arrêtée en 2022, conservée pour l'historique
Conteneur LXC (CT 109) Datacenter Prosoluce (Saint-Gaudens) LOGEAS2 Héberge les sites WordPress logeas.fr et penso.fr Arrêtée en 2022, conservée pour l'historique
Conteneur LXC (CT 100) Datacenter Prosoluce (Saint-Gaudens) LOGEAS1 Ancien dépôt des codes sources Arrêtée en 2022, conservée pour l'historique
Conteneur LXC (CT 106) Datacenter Prosoluce (Saint-Gaudens) LOGEAS1 Ancien outil de tickets d'assistance Arrêtée en 2023, conservée pour l'historique

Sauvegarde

Machine Type Site Portée par Rôle État
Sauvegarde Poste Windows Labarthe-Inard, baie Logeas Informatique — Poste dédié au pilotage et à la vérification des sauvegardes En service
Backup-01 NAS Western Digital My Cloud EX4100 Labarthe-Inard, baie Logeas Informatique — Première copie, hors du datacenter, des dossiers des serveurs En service
Backup-02 NAS Synology RS815 Labarthe-Inard, bureau — NAS de copie En service
Histo-01 NAS QNAP TS-1232PXU-RP Labarthe-Inard, local annexe — Historisation : conserve plusieurs versions datées des dossiers des serveurs En service
AutoSauvegarde NAS Synology RS815 Labarthe-Inard, bureau — Ancien premier niveau de sauvegarde (fichiers et clouds) Non utilisé
NasNicolas NAS Synology DS214se Labarthe-Inard, local annexe — NAS privé, hors du périmètre de Logeas Informatique En service, usage privé

Réseau

Machine Type Site Portée par Rôle État
Routeur RB3011 Routeur Mikrotik RB3011 Datacenter Prosoluce (Saint-Gaudens) — Point de sortie réseau du datacenter et pare-feu En service
Résiliencia Boîtier réseau Labarthe-Inard, baie Logeas Informatique — Routeur et pare-feu des locaux, avec liaison de secours LTE En service

Machines définitivement arrêtées

Machine Rôle Arrêt
OpenVPN (VM 102) VPN d'un client vers 2021
Zabbix (VM 108) Supervision vers 2022
WebSiteUbuntu (VM 104) Sites de clients août 2023
Chien de garde (VPS externe) Surveillance externe arrêté
Anciens serveurs app.logeas.fr (OVH) Hébergement avant le datacenter arrêtés

Architecture technique des serveurs applicatifs

Les serveurs web applicatifs sont hébergés sous forme de machines virtuelles sur les nœuds de virtualisation Proxmox du site de Saint-Gaudens (LOGEAS1 et LOGEAS2). Le serveur web utilisé est Microsoft IIS, qui a remplacé nginx sur ces environnements.

app.logeas.fr (VM sur LOGEAS1)

Ce serveur héberge deux sites, chacun exposé sur une adresse IP publique dédiée. Les deux sites sont exposés exclusivement en HTTPS. Le module Application Request Routing (ARR) et le proxy IIS sont installés sur ce serveur.

SiteAdresse IPPortAccèsRôle
bases-ws.logeas.fr185.61.118.200443Restreint (liste blanche IP)Serveur des bases de données clients du logiciel LoGeAs
monespace.logeas.fr185.61.118.198443OuvertInterface de gestion des utilisateurs et de leurs droits d'accès aux bases

NB : le site bases.logeas.fr, présent dans la configuration technique, est hors service et n'est pas documenté ici.

app.logeas.ovh (VM sur LOGEAS2)

Ce serveur héberge l'ensemble des sites secondaires de l'écosystème LoGeAs. Il intègre en complément un moteur PHP (FastCGI), notamment utilisé par le wiki intranet, ainsi que le module ARR/proxy.

SiteAdresse IPPortAccèsRôle
logeas-web.fr (+ www, test-site)185.61.118.199443OuvertSite vitrine
nono.logeas-web.fr185.61.118.199444OuvertFonctions secondaires (tickets, aide, états)
serveur.logeas-web.fr185.61.118.199447OuvertRedirection historique (héritage “app.logeas.fr”)
statunion.logeas-web.fr185.61.118.199443OuvertStat-Union (EPUdF)
cartographie-fonctionnelle.logeas-web.fr185.61.118.199443OuvertCartographie fonctionnelle
statistiques.logeas-web.fr185.61.118.199443OuvertStatistiques
assistance.logeas-web.fr adresse interne 443Réseau interne uniquementAssistance
wiki-intranet.logeas-web.fr adresse interne 443Réseau interne uniquementWiki intranet
exemples.logeas-web.fr adresse interne 443Réseau interne uniquementExemples
test.logeas-web.fr185.61.118.199443Restreint (1 IP en liste blanche)Environnement de test
Test-Biodiversité185.61.118.19980Ouvert, non chiffré (HTTP)Domaine tiers (les-vergers-retrouves-du-comminges.org)
questionnaire.logeas-web.fr185.61.118.199443OuvertQuestionnaire
maj.logeas.fr185.61.118.199443OuvertPortail de mise à jour
maj.logeas-web.fr185.61.118.199443OuvertPortail de mise à jour
interface.logeas-web.fr185.61.118.199443OuvertInterface
taches.logeas-web.fr185.61.118.199443OuvertTâches
ia1-interface.logeas-web.fr185.61.118.199443OuvertIA1 - interface
ia1-serveur.logeas-web.fr185.61.118.199443OuvertIA1 - serveur
formulaire.logeas-web.fr185.61.118.199140OuvertFormulaire

Schéma des sites hébergés

NB : SVG stocké sur le wiki, éditable par exemple avec Inkscape.

NB : SVG stocké sur le wiki, éditable par exemple avec Inkscape.

Architecture technique des postes clients

L'accès à LoGeAs depuis un poste client se fait selon deux modes complémentaires, décrits dans le Dossier de Conception Générale (DCG) :

  • le client lourd, exécutable Delphi installé (ou exécuté directement) sur le poste, qui offre l'ensemble des fonctionnalités (fichier et comptabilité) ;
  • la version full-web, accessible depuis un simple navigateur, qui permet de consulter et modifier le fichier, sans accès à la comptabilité ni aux états à ce jour (en constante évolution).

Cette distinction a une incidence directe sur l'architecture technique : le client lourd communique avec les serveurs applicatifs (app.logeas.fr / app.logeas.ovh) via l'ORM mORMot, en REST/JSON au travers d'une connexion HTTPS ; la version full-web utilise une connexion HTTP classique de navigateur à serveur.

Déploiement, portabilité et mise à jour

Pour répondre au mieux aux contraintes des installations sur les postes professionnels et sur les systèmes non gérés par LoGeAs, la version installée est livrée sous la forme d'un simple fichier exécutable (compressé ou non). Les fichiers secondaires utilisés pour le paramétrage (notamment les états) sont stockés en base de données et téléchargés à la demande, ce qui permet de les faire évoluer sans nécessiter de nouvelle version.

Il est ainsi possible de mettre l'exécutable de LoGeAs sur une clef USB 3 et de le transporter d'un ordinateur à l'autre : aucune donnée comptable n'est stockée localement, l'ensemble résidant sur les serveurs applicatifs.

La détection et la distribution des mises à jour du logiciel sont assurées par le portail dédié maj.logeas.fr (cf. section “Architecture technique des serveurs applicatifs”).

Utilisateur avancé

Lors du lancement, à côté de l'exécutable LoGeAs, est créé un dossier « LoGeAsUserData » dans lequel sont stockés :

  • les informations de connexion (qui peuvent être régénérées facilement si besoin) ;
  • des dossiers temporaires à LoGeAs, vidés régulièrement automatiquement ;
  • les états « personnalisés » que vous ne partagez pas avec vos collègues (il est alors de votre responsabilité d'en faire des sauvegardes) ;
  • des sauvegardes des états modifiés.

Ce dossier ne contient aucune donnée comptable ou métier : en cas de perte ou de vol du poste (ou de la clef USB), seuls les identifiants de connexion et les états personnalisés sont exposés — les premiers étant régénérables, les seconds relevant de la responsabilité de l'utilisateur.

Compatibilité et prérequis

Sauvegarde — bien qu'aucune donnée métier ne soit stockée localement, une sauvegarde du poste reste recommandée, de préférence externe au PC et aux locaux.

Architecture de supervision

Il existe actuellement deux niveaux de supervision :

  • Une supervision “humaine” des serveurs (notamment, bon démarrage le matin) et des sauvegardes
  • Une supervision externe de nos machines au niveaux proxmox (sans accès au contenu) par la société altsysnet

Robustesse

Dans le cadre de la certification NF552 un audit de robustesse à été réalisé sur le progiciel en octobre 2021. On trouvera les grandes lignes et les points d'évolution ainsi que les actions mené à la page Constat de l'audit de robustesse 2021

Signature des fichiers

On trouvera sur le page Partie cryptologie de LoGeAs (chaine aléatoire, cryptage, signature...) l'ensemble des informations liées à la signature des fichiers dans LoGeAs (FEC, Sauvegarde, Archive fiscale)

Signature des enregistrements dans la base

On pourra ce reporter à la page Partie cryptologie de LoGeAs (chaine aléatoire, cryptage, signature...) pour avoir des informations sur la technique utilisée par LoGeAs pour signer les fichiers et les enregistrements

Signature des enregistrements de la table "Saisie"

N°Version initiale du logicielSchéma explicatifCommentaires
01A partir de la version 10.0

Signature des enregistrements de la table "Ecriture"

N°Version initiale du logicielSchéma explicatifCommentaires
01Non référencé (buggée)
02A partir de la version 9.5Mise en place de la nouvelle marques NF203
03A partir de la version 10.0Pour répondre à la marque NF552, la signature évolue avec la version 10 pour permettre la signature des champs contenant potentiellement des informations personnelles.

Signature des enregistrements de la table "PisteAudit"

Formatage de la signature

A partir de la version 9.5, la structure de la piste d'audit évolue pour se mettre en conformité avec la nouvelle version 4.0 du du R19.

N°Version initiale du logicielSchéma explicatifCommentaires
01Non référencé (buggée)
02A partir de la version 9.5la structure de la piste d'audit évolue pour se mettre en conformité avec la nouvelle version 4.0 du du R19
La signature de chaque enregistrement est constituée avec la suite des champs :
* “ID” : Identifiant de l'événement
* “Code” : Code de l'événement
* “Intitule” : Intitulé du code / Description de l'événement
* “GDHDate” : Horodatage GDH (sous la forme AAAAMMJJHHMMSS)
* “CreatedUserSUID” : Code opérateur
* “Champ vide” correspondant au code de caisse (non utilisé dans LoGeAs)
* “N” s'il existe une signature sur l'enregistrement précédent “O” sinon
* “Signature de l'enregistrement précédent”
03A partir de la version 10.0

Correspondance des champs entre les labels FIDELE et le format historique de LoGeAs

ChampLabel FIDELEChamp LoGeAsAjout 9.5
Identifiant de l'événementJET-NIDID
Code de l'événementJET-EVT-NUMCode
Intitulé du code / Description de l'événementJET-EVT-LIBIntitule
Code opérateurJET-OPE-NIDCreatedUserSUID X
Horodatage GDHJET-GDHGDHDate X
Information complémentaire contextuelle à l'événementJET-INFData
Signature ElectroniqueJET-TAG-SIGSignature X
Type d'action enregistrée sur la piste d'audit Action
Identifiant du lot de données pour la piste d'audit Batchid
Date de création de l'enregistrement pour la piste d'audit CreatedDate
Code opérateur sous forme de son adresse courriel CreatedUser
Description de l'enregistrement pour la piste d'audit Description
Exercice de référence de l'enregistrement Exercice
Indique la table et l'enregistrement concernés Identifiant
Blocage de l'information par exemple suite à une demande RGPD (à venir) IsDataConsultable
Interne à mORMot Version

Bien que complétée par un texte en clair, chaque ligne d'entrée dans ce journal (JET) est taguée, conformément à la NF203, par un code dont vous trouverez la signification ci-dessus.

Signature des enregistrements de la table "Famille"

N°Version initiale du logicielSchéma explicatifCommentaires
01A partir de la version 10.0

Signature des enregistrements de la table "Personne"

N°Version initiale du logicielSchéma explicatifCommentaires
01A partir de la version 10.0