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é 2027Nicolas 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.

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, la salle privée de Labarthe Inard, alimentée depuis la baie Logeas informatique via Résiliencia, héberge trois serveurs de stockage supplémentaires (SOCIUS NAS2, SOCIUS NAS3, NICOLAS NAS) raccordés à un commutateur dédié.

Schéma d'architecture globale

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

Architecture technique des serveurs applicatifs

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.fr192.168.88.100443Réseau interne uniquementAssistance
wiki-intranet.logeas-web.fr192.168.88.100443Réseau interne uniquementWiki intranet
exemples.logeas-web.fr192.168.88.100443Ré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.

Architecture technique des postes clients

Pour répondre au mieux aux contraintes des installations sur les postes professionnels et sur les systèmes non gérés par LoGeAs (comme Linux ou Mac), nous avons choisi de livrer la nouvelle version sous la forme d’un simple fichier (compressé ou non). Les fichiers secondaires utilisés pour le paramétrage sont maintenant stockés en base de données et téléchargés à la demande. Ceci permettra aussi de les faire évoluer sans avoir besoin de faire une nouvelle version. C’est en particulier le cas des états. Il est donc possible de mettre l’exécutable de LoGeAs sur une clef USB 3 et de le transporter d’ordinateur en ordinateur.

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

Sur quels postes utiliser LoGeAs ?

On trouvera la spécification technique des postes sur lesquels LoGeAs peut fonctionner à la page machine

Architecture de supervision

Nous aborderons ici le thème de la supervision et son intégration dans le processus de gestion des incidents au sens ITIL du terme. Commençons tout d’abord par rappeler ce qu’est un incident dans un contexte ITIL. Un incident est une interruption inattendue d'un service. Il perturbe les opérations normales et affecte donc la productivité de l'utilisateur final. Un incident peut être provoqué par le mauvais fonctionnement d’un actif ou par une panne de réseau, en exemple : l’indisponibilité d’une imprimante.

Le lien entre la supervision et la gestion des incidents s’appuie particulièrement sur deux points :

  • La génération automatique d’incident pour les alertes critiques fonctionnelles remontées par l’outil de supervision.
  • La liaison directe avec la base de connaissance de la gestion des incidents.

Ainsi, la supervision permet de :

  • Prévenir certains incidents par des systèmes de suivi d’indicateurs clefs et des alertes préventives adaptées.
  • Ordonnancer les incidents selon une classification adaptée aux services ou aux besoins de l’entreprise.
  • Optimiser la détection des incidents par un système d’alertes optimisées.
  • Optimiser la résolution des incidents par la mise en place de procédure optimisées et en amélioration continue (mise à jour régulière de la base de connaissance afin de la faire correspondre aux nouvelles problématiques rencontrées).

Les bilans fournis par un outil de supervision sur l’état et la disponibilité des services permettent également de valider ou d’invalider une CNS (Contrats de Niveau de Service) ou SLA pour reprendre un terme ITIL (Service Level Agreement).

Le choix de l’entreprise s’est finalement porté sur Zabbix. En effet, outre la possibilité d’intégrer Zabbix à notre logiciel de support de façon simple, il s’avère que Zabbix dispose d’un template permettant de superviser les sauvegardes gérées par le logiciel Ipérius Backup, nous offrant ainsi la possibilité de nous alerter par sms, et de créer un ticket de support sur OTRS lorsqu’une sauvegarde est en statut d’échec ou terminée avec des erreurs, en sus des courriels. De plus, la possibilité de créer et de customiser simplement les déclencheurs et donc d’affiner la supervision des services déterminés comme étant critique est un réel avantage.

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"

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

Signature des enregistrements de la table "Ecriture"

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.

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"

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

Signature des enregistrements de la table "Personne"

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