Étude de cas Mairies Connectées
Création d’une ferme à site statique
Contexte
Les deux syndicats d’initiatives mixtes La fibre numérique 5926 et Somme numérique ont lancé en 2022 un marché commun pour la réalisation d’une ferme à site statique pour les mairies de moins de 2000 habitants, c’est une des offres de leur pack “Mairie Connectée” :
Le CdG62, en partenariat avec le syndicat mixte La fibre numérique 59/62, Somme numérique, le CdG59 et avec le soutien financier de la Région Hauts-de-France via les fonds Européens Réact-EU, met en place pour les communes de moins de 2 000 habitants un nouveau service intitulé : Mairie connectée.
Il s’agit d’un pack de services numériques essentiels pour des communes de petite taille ( - de 2 000 hab.) ayant une carence d’équipements et de services aux citoyens.
L’objectif de ce pack est de sécuriser les infrastructures et de donner aux collectivités les moyens d’accéder à la e-administration et à la dématérialisation à moindre coût .
Notre commande consistait à créer :
- Un outil permettant l’administration de plusieurs centaines de sites de mairies
- Une interface de gestion de contenu sécurisée pour les mairies
- L’automatisation de certificats https avec let’s encrypt
- La publication des sites internet sous forme de sites “statiques”
- Le choix parmi 3 thèmes graphiques
Organisation du projet
Afin de gérer le projet, nous avons prévu un rendez-vous de suivi régulier en visioconférence, avec l’ensemble des parties prenantes au projet : Maîtrise d’ouvrage, graphiste, maîtrise d’œuvre.
Ces point réguliers étaient organisés selon le déroulé suivant :
- Retour sur les développements précédents par la maîtrise d’ouvrage.
- Présentation des nouveaux développements par la maîtrise d’œuvre.
- Atelier de spécification des développements à venir entre la maîtrise d’ouvrage et la maîtrise d’œuvre.
Architecture
Deux outils composent la pile technique de cette application :
- Serveur web caddy
- Une application d’administration développée sur-mesure
L’application d’administration est responsable de la configuration du serveur web, de la création, publication et suppression des sites.
Interface d’administration des sites
Fonctionnalités
- Créer / Modifier / Supprimer un nouveau site internet mairie
- Compilation des sites statiques avec theming
- Publier / Dépublier un site
- Ouvrir l’accès à une mairie pour renseigner son actualité
- Gestion de comptes utilisateurs
- Journaux d’accès aux sites (logs)
- Paramétrage de la plateforme
Pour l’interface d’administration des sites, nous avons choisi de créer une application spécifique sur-mesure en utilisant le langage de programmation Elixir et son framework web Phoenix.
En effet, après étude des offres de générateurs de site statique sur le marché, nous en avons conclu que l’intégration d’un logiciel existant serait finalement plus complexe. Certes, ces logiciels proposent souvent davantage de fonctionnalités de gestion de contenus, toutefois, certaines de ces fonctionnalités étaient inutiles et/ou ils ne proposaient pas de gestion multi-sites. Nous avons donc proposé une application sur-mesure, développée en Elixir et Phoenix : une pile technique nous permettant de créer rapidement des interfaces web dynamiques, sécurisées, performantes et asynchrones.
Nous avions comme contrainte supplémentaire de ne pas utiliser de base de données : les données des sites internet sont donc stockées sous forme de fichiers .xml situés sur le serveur. La lecture des ces fichiers sur le disque dur est peu performante, nous avons cependant pu tirer partie de librairies comme `:ets` – nativement présente avec Elixir – qui nous ont permis d’utiliser au maximum la mémoire vive du serveur et de proposer ainsi une recherche quasi instantanée sur l’ensemble des sites internet gérés par la plateforme. Tout cela sans sacrifier la facilité de déploiement et d’exploitation car nous n’avons pas eu besoin d’installer d’autres services comme redis par exemple.
Réalisation des thèmes graphiques
3 thèmes graphiques ont été commandés. Les mairies sont invitées à en choisir un parmi les trois. Les thèmes ont été conçus par la graphiste Flore Millet. Après échanges avec la maîtrise d’ouvrage et une analyse des sites de mairies existants, Flore Millet a proposé trois déclinaisons sur les thèmes “ville au vert”, “classique” et “dynamique”. Nous avons enfin réalisé la création de thèmes à partir des maquettes fournies.
Le défi pour la création graphique de ces thèmes étant qu'ils soient attirants sans toutefois créer une identité visuelle trop forte puisque ces thèmes sont réutilisés de nombreuses fois.
Exposition des sites statiques
Le serveur web caddy a été choisi pour servir les sites pour deux raisons principales :
- La gestion automatique des certificats ssl let’s encrypt
- Sa configuration via API REST
Ainsi, l’application permettant l’administration des sites peut modifier à chaud la configuration du serveur http via l’API de caddy. Nous parlons d’opérations comme publier ou dépublier un site internet.
En sus, caddy propose d’envoyer ses journaux d’accès via une socket tcp, nous avons donc exposé une socket tcp depuis notre interface d’administration des sites. Cela permet au gestionnaire de voir en temps réel l’état du service via l’interface d’administration :
Conclusion
Parfois, la meilleure solution est de réinventer une roue spécifique à son véhicule. On ne compte plus les roues inventées, et heureusement d’ailleurs… les trains d'atterrissage des avions n’utilisent pas des roues de vélos !
Nos clients ont besoin d’une roue spéciale, nous la développons.
Dans le cas présenté ci-dessus, nous sommes fiers d’avoir contenu une demande complexe d’un point de vue système dans une application simple d’usage, élégante et performante. L’alternative eut été la création d’un système complexe à maintenir et à administrer, avec de nombreux services et interfaces différents : un vélo avec des roues de tracteur en somme !
Par ailleurs, la maîtrise d’ouvrage a lancé la conversion de cette application en logiciel libre, nous nous en félicitons et sommes heureux d’accompagner la libération de notre code : c’est notre meilleure récompense !
Vous aussi vous voulez booster votre entreprise sur le web ?
Programmons un échange gratuit d’analyse de votre système d’information !
Vous souhaitez en savoir plus ?
Contactez-nous !