← Retour aux projets
Projet professionnel · Anonymisé

Portail Unifié & Services Conteneurisés

Conception, conteneurisation (21 conteneurs Docker) et durcissement d'une infrastructure multi-services unifiée pour collectivité territoriale : 6 applications métiers React/Node/PostgreSQL centralisées, passerelle Nginx/TLS avec protection anti-bruteforce, accès nomade VPN WireGuard, observabilité Grafana/Loki et automatisation PowerShell Zero-Touch.

Discuter de cette réalisation Découvrir l'architecture ↓

🗺️ Architecture Modulaire & Topologie des 21 Conteneurs

Segmentation logique en 4 zones étanches : passerelle d'accès, micro-services métiers, persistance chiffrée et observabilité.

Infrastructure Hybride Conteneurisée
Passerelle & Sécurité Périmètre HTTPS
  • Reverse Proxy Nginx Ports 80 / 443 SSL
  • Certificats TLS Chiffrement A+ (HSTS)
  • Protection Brute-force Daemon ban_daemon
  • Routage sous-domaines FQDN dédié par app
Applications Métiers 21 Conteneurs
  • 6 Frontends Web React / Vite (SPA)
  • 6 Backends API Node.js / Express
  • Couche d'accès ORM Prisma Client
  • Réseau applicatif Bridge Docker isolé
Données & Sauvegardes Stockage Sécurisé
  • Cluster PostgreSQL Bases cloisonnées
  • Volumes Docker Chiffrement au repos
  • Sauvegardes auto backup_db.ps1
  • Externalisation distante Rotation glissante
Observabilité & VPN Supervision 24/7
  • Passerelle WireGuard Tunnel chiffré UDP
  • Métriques Prometheus Node-Exporter & CAdvisor
  • Visualisation Grafana Dashboards Santé
  • Centralisation Loki Agrégation des logs

🎯 1. Contexte & Problématique Métier

Au sein d'une collectivité territoriale de plusieurs dizaines d'agents, les services administratifs et techniques utilisaient des outils disparates : feuilles de calcul locales non sécurisées, carnets manuscrits pour le registre des clés ou les concessions du cimetière, et applications non centralisées sans plan de reprise d'activité.

Cette situation entraînait des risques majeurs de perte de données, un manque criant de traçabilité sur les équipements communaux et des difficultés d'accès pour les agents intervenant en extérieur ou en mobilité.

🧭 2. Objectifs Techniques & Référentiel SISR

Le mandat consistait à concevoir un socle informatique robuste, unifié et facilement maintenable, aligné sur les exigences du BTS SIO SISR :

  • Standardisation du patrimoine (B1.1) : Centraliser 6 applications métiers distinctes au sein d'une architecture conteneurisée reproductible sous Docker.
  • Isolation & Sécurité périmétrique (B1.3 / B1.5) : Mettre en place un point d'entrée HTTPS Nginx sécurisé, un filtrage IP dynamique et une passerelle VPN WireGuard chiffrée.
  • Gestion de la persistance (B1.1) : Mutualiser un moteur PostgreSQL robuste avec séparation hermétique des bases de données par outil.
  • Maintien en conditions opérationnelles (B1.2) : Déployer une stack d'observabilité complète (Prometheus, Grafana, Loki) pour détecter proactivement les pannes et saturer les anomalies de logs.
  • Automatisation opérationnelle (B1.4) : Développer des scripts d'installation Zero-Touch et de tests d'intrusion pour pérenniser l'infrastructure.

📦 3. Catalogue des 6 Applications Métiers Déployées & Cockpit Central

Chaque outil a été conçu ou intégré selon une architecture full-stack moderne (Frontend React/Vite, Backend Node.js/Express avec ORM Prisma et base PostgreSQL dédiée), garantissant réactivité et indépendance des services :

🛡️
Module DUERP & Prévention
Conformité Légale & SST

Recensement, évaluation et cotation normalisée des risques professionnels par unité de travail (services techniques, accueil, voirie). Édition du plan d'action annuel de prévention pour répondre aux obligations réglementaires.

React · Express · Prisma PostgreSQL
🔑
Module KeyTrack
Traçabilité & Sécurité Physique

Registre numérique de traçabilité des trousseaux de clés et badges des bâtiments municipaux (écoles, gymnases, locaux techniques). Historique des mouvements et alertes automatiques de non-restitution.

React · Express · Prisma PostgreSQL
📦
Module Inventaire & Parc
Gestion Matérielle & Stock

Gestion centralisée du parc de matériels informatiques, outillages techniques et consommables municipaux. Seuils d'alerte sur stock critique, attribution par agent et export de bilans d'inventaire.

React · Express · Prisma PostgreSQL
🏛️
Module Funéraire & Concessions
Administration Territoriale

Gestion du registre du cimetière communal : suivi cartographique des emplacements, gestion des contrats de concessions, calcul des échéances à renouveler et archivage des ayants droit.

React · Express · Prisma PostgreSQL
📋
Module Décisions & Actions
Pilotage des Délibérations

Suivi opérationnel de l'application des délibérations adoptées lors des conseils municipaux. Découpage en actions concrètes, désignation des agents responsables et suivi d'avancement transparent.

React · Express · Prisma PostgreSQL
📊
Module Projets & Finances
Planification & Budgets

Feuille de route des chantiers communaux et investissements pluriannuels : gestion des jalons calendaires, suivi des devis/factures et visualisations graphiques de la consommation budgétaire.

React · Express · Prisma PostgreSQL
🎛️
Cockpit Central d'Accueil
Portail Unifié & Contrôle d'Accès

Point d'atterrissage unique pour l'ensemble des agents communaux. Routage dynamique vers les différents sous-domaines applicatifs, statut de santé des 21 conteneurs en temps réel et cloisonnement des privilèges.

Nginx · SSO Hub · Docker WireGuard VPN

⚡ 4. Automatisation d'Infrastructure & Cybersécurité Opérationnelle

Pour garantir une reproductibilité totale du déploiement et une résilience maximale sans dépendre d'actions manuelles sujettes aux erreurs, plusieurs outillages d'automatisation PowerShell ont été conçus et validés :

🚀
Déploiement Zero-Touch
install_production.ps1

Amorçage automatisé de la stack complète : création des volumes de persistance, génération des réseaux bridge isolés, application des migrations Prisma sur les 6 bases PostgreSQL et démarrage ordonné des conteneurs.

🛡️
Audit & Pentest Automatisé
test_pentest.ps1

Script de vérification active couvrant 50 points de contrôle de sécurité : absence de ports SQL exposés sur l'hôte, vérification des en-têtes HTTP (HSTS, CSP, X-Frame-Options), étanchéité des réseaux et permissions des fichiers .env.

💾
Sauvegardes Externalisées
externaliser_backup.ps1

Dumps automatisés quotidiens de l'ensemble des bases de données relationnelles, compression chiffrée AES et synchronisation vers un emplacement distant avec rétention glissante (7 jours, 4 semaines).

🚫
Anti-Bruteforce Périmétrique
ban_daemon.ps1

Surveillance continue des journaux Nginx : détection des requêtes malveillantes répétées ou scans de vulnérabilités, et injection automatique de règles de blocage IP au niveau du pare-feu hôte.

⚡ 5. Technologies & Écosystème Déployé

Docker Docker Compose Nginx Reverse Proxy VPN WireGuard PostgreSQL Prisma ORM React & Vite Node.js & Express Prometheus Grafana Loki PowerShell Automation Linux Hardening

⚖️ 6. Choix Techniques & Compromis de Sécurité

Cloisonnement réseau strict : aucun port de base de données PostgreSQL n'est exposé sur les interfaces publiques ou locales de l'hôte. Les conteneurs communiquent exclusivement via un réseau bridge Docker interne non routable depuis l'extérieur.

Gestion des accès distants : plutôt que d'exposer les consoles d'administration sur Internet avec une simple authentification par mot de passe, l'accès à distance est subordonné au raccordement préalable à un tunnel chiffré VPN WireGuard avec clés asymétriques dédiées.

📊 7. Résultats Obtenus & Indicateurs Clés

  • 21 conteneurs orchestrés en production avec redémarrage automatique en cas de défaillance.
  • 6 outils métiers opérationnels remplaçant l'ensemble des fichiers non sécurisés.
  • 50 points de durcissement validés lors des campagnes d'audit et de pentest.
  • 100% des flux chiffrés en TLS 1.3 de bout en bout et accès distant ultra-rapide via WireGuard.
  • Satisfaction des agents communaux grâce à une ergonomie épurée et des temps de réponse instantanés.

💡 8. Apprentissages Clés & Bilan Professionnel

Cette immersion de 6 semaines en collectivité territoriale a constitué une mise en pratique complète des compétences du BTS SIO SISR :

  • Compréhension approfondie du cycle de vie des conteneurs et de l'orchestration multi-services.
  • Application concrète du principe de moindre privilège et du durcissement système (Defense in Depth).
  • Valeur fondamentale de l'automatisation par scripts pour éliminer la dette technique.
  • Développement des qualités relationnelles : écoute des besoins utilisateurs, vulgarisation technique et accompagnement au changement des agents territoriaux.
← Explorer les autres projets