Vue lecture

Mercator — Cartographie de SI Open Source

Si vous êtes RSSI, DSI ou architecte dans une entité concernée par NIS2, vous avez probablement reçu en 2024 ou 2025 une lettre de votre autorité de supervision vous rappelant poliment — mais fermement — que la cartographie de votre système d'information est désormais une obligation réglementaire. Pas une bonne pratique. Pas une recommandation. Une obligation.

NIS2 (transposée en droit national dans les pays membres de l'UE) impose aux entités essentielles et importantes de mettre en place des mesures de gestion du risque cyber, parmi lesquelles figure explicitement la connaissance et la documentation de son système d'information. L'ANSSI en France, le CSIRT Luxembourg, le BSI en Allemagne — tous y font référence. Sans cartographie, pas de gestion du risque sérieuse, pas d'analyse d'impact, pas de plan de continuité fiable.

C'est précisément le problème que Mercator tente de résoudre depuis plusieurs années, et le projet continue d'évoluer.

Qu'est-ce que Mercator ?

Mercator est un outil Open Source de cartographie du système d'information, sous licence GPL, développé en Laravel/PHP. Il est aligné sur le guide de cartographie de l'ANSSI et couvre sept vues complémentaires du SI : écosystème (fournisseurs, sous-traitants), processus métiers, applications, administration (annuaires, comptes à privilèges), infrastructure logique (réseaux, VLANs, flux), infrastructure physique (serveurs, baies, salles), et registre des traitements RGPD.

Le principe central est la navigation par dépendances : depuis n'importe quel objet de la cartographie, on peut remonter ou descendre la chaîne — d'un processus métier jusqu'aux équipements physiques qui le supportent, en passant par les applications et les réseaux intermédiaires. C'est ce qui transforme un inventaire statique en un outil opérationnel pour l'analyse d'impact, la détection de SPOF, la planification de la continuité d'activité.

Mercator calcule également un score de maturité de la cartographie (complétude et qualité des données), par domaine : gouvernance, protection, défense, résilience — directement exploitable pour les audits NIS2, ISO 27001 ou HDS.

Pourquoi cartographier son SI ?

La question peut sembler rhétorique sur LinuxFr, mais elle revient régulièrement en pratique : on sait à peu près ce qu'on a, on a un CMDB approximatif, ça suffira non ?

Non. Voici ce qu'une cartographie bien tenue permet concrètement :

  • Identifier les SPOF avant l'incident, pas pendant
  • Évaluer l'impact d'une panne ou d'un changement sur les processus métiers, y compris les dépendances croisées
  • Répondre aux auditeurs avec des données structurées et non avec un classeur Excel maintenu à la main par une personne qui a changé de poste il y a dix-huit mois
  • Qualifier les actifs critiques pour orienter les investissements en sécurité
  • Documenter les flux de données pour la conformité RGPD
  • Planifier les migrations en connaissant l'ensemble des dépendances applicatives

En résumé : vous ne pouvez pas protéger ce que vous ne connaissez pas. C'est trivial à énoncer, c'est encore courant comme situation en pratique.

Ce que Mercator n'est pas

Point important, car le marché des outils de cartographie et de GRC est traversé depuis quelques années par une lame de fond de fonctionnalités "IA" — parfois utiles, souvent cosmétiques, presque toujours opaques sur ce qui se passe avec vos données.

Mercator est entièrement gratuit sous licence GPL. Il n'y a ni modules cachés, ni limitations fonctionnelles, ni intelligence artificielle. Le code est sur GitHub, lisible, auditable, forkable. L'assistance communautaire passe par GitHub Issues et Discussions. C'est tout.

Nouveautés récentes

Les évolutions récentes portent notamment sur :

  • Module BPMN 2.0 pour connecter les processus métiers à l'infrastructure technique, et répondre à la question "si ce serveur tombe, quels processus métiers sont affectés ?" en quelques secondes.
  • Analyse des dépendances analyser les dépendances d'un objet en amont ou en aval et générer automatiquement le graphe de ses dépendances.
  • Moteur de requêtes, écrivez vos propres requêtes sur la cartographie et générez un graphe ou une liste.

Quelques chiffres

  • 500+ étoiles GitHub, 72 forks, déployé dans plus de 30 pays
  • Utilisé dans des hôpitaux, grandes écoles, centres de recherche, administrations
  • Meilleur Projet Open Source OW2 2024
  • Présenté à SSTIC 2023, Hack.lu 2024, Voxxed Days 2025, FIC Lille, FOSDEM, BSides Luxembourg

Commentaires : voir le flux Atom ouvrir dans le navigateur

  •  

Une coalition de huit éditeurs européens lance Euro-Office, alternative bureautique souveraine et open source

Après l’'annonce du projet d’infrastructure commune Euro-3C déjà présenté sur LinuxFR.org, une nouvelle annonce dans le domaine bureautique commun au niveau européen vient d’être faite en cette fin de mois à Berlin.

Une coalition d’entreprises européennes du logiciel libre lance Euro-Office, une suite bureautique souveraine et open source.

NdM : sur la thématique de suites bureautiques, beaucoup d’actualités ces derniers temps
ODF est l’avenir, OOXML le passé, NextCloud et le format ODF : des gros nuages orageux, Allemagne : le format ODF obligatoire dans l’administration, ONLYOFFICE suspend son partenariat avec Nextcloud suite a son fork pour le projet Euro-office, Euro-Office : IONOS, Nextcloud et Proton lancent le fork européen d’ONLYOFFICE qui veut en finir avec Microsoft Office, «Bercy réfléchit bien à trouver une alternative au Microsoft de Windows», etc.

Euro-Office est un outil d’édition bureautique en ligne conçu pour être intégré dans des plateformes existantes comme des solutions de partage de fichiers ou de gestion de projet. Contrairement aux suites complètes, il ne gère pas l’ensemble de l’environnement de travail mais se concentre sur l’ouverture, l’édition et la coédition de documents, avec une interopérabilité affichée avec les formats Microsoft.

Portée par Ionos, Nextcloud, XWiki, OpenProject, Eurostack, Soverin, Abilian et BTactic, l’initiative publie une préversion technique disponible immédiatement sur GitHub, avec une première version stable annoncée pour l’été.

Le projet s'appuie sur le code d’OnlyOffice, qui a une base Open Source, sous licence AGPL.

Elle intervient au moment précis où Onlyoffice met fin à son offre cloud, contraignant des milliers d’organisations à chercher une alternative.

Commentaires : voir le flux Atom ouvrir dans le navigateur

  •  

Maintenant : monitorer toute sa stack Docker depuis un seul conteneur

Maintenant est un logiciel libre de monitoring d'infrastructure, conçu pour les administrateurs et développeurs qui font tourner des conteneurs Docker ou Kubernetes. Il se déploie sous la forme d'un unique conteneur qui auto-découvre et surveille l'ensemble d'une stack sans configuration préalable.

Le projet est publié sous licence AGPL-3.0. Le code source complet est disponible sur GitHub, y compris les fonctionnalités de l'édition Pro.

Le problème

Quand on auto-héberge une vingtaine (ou une quarantaine) de conteneurs sur un VPS, le monitoring finit souvent en une collection d'outils déconnectés : Uptime Kuma pour les checks HTTP, Healthchecks.io pour les tâches cron, un script bash pour les certificats SSL, Portainer ouvert dans un onglet pour voir si les conteneurs tournent, et un docker pull manuel de temps en temps pour vérifier les mises à jour. Cinq outils, zéro communication entre eux, aucune vue d'ensemble.

Maintenant regroupe tout ça dans un seul processus.

Sommaire

Ce que ça fait

Le conteneur se branche sur le socket Docker en lecture seule (il ne crée, ne démarre et n'arrête jamais de conteneurs) et découvre automatiquement tout ce qui tourne. À partir de là :

  • Suivi des conteneurs : états (running, stopped, restarting), health checks Docker natifs, détection de boucles de redémarrage, groupement automatique par projet Compose
  • Métriques de ressources : CPU, mémoire, réseau et I/O disque par conteneur, avec une vue "top consumers" pour identifier rapidement les gourmands
  • Monitoring d'endpoints : sondage actif HTTP/TCP avec suivi des temps de réponse, codes de statut, correspondance de mots-clés, seuils configurables
  • Monitoring de cron jobs : URLs de heartbeat uniques — votre tâche planifiée envoie un ping, Maintenant vous alerte si le ping n'arrive pas
  • Certificats SSL/TLS : détection automatique depuis les endpoints HTTPS, vérification de chaîne complète, alertes avant expiration (30j, 14j, 7j, 3j, 1j)
  • Détection des mises à jour : scan des registres OCI (Docker Hub, GHCR, etc.), comparaison de digests et de tags semver, signalement des sauts de version critiques, commandes de mise à jour et rollback intégrées (Compose-aware)
  • Analyse de sécurité réseau : détection automatique des configurations dangereuses — ports de bases de données exposés sur 0.0.0.0, conteneurs en mode privileged ou host-network, et pour Kubernetes, NodePort/LoadBalancer sans NetworkPolicy
  • Page de statut publique : intégrée, personnalisable, reflète automatiquement l'état des monitors
  • Serveur MCP : serveur Model Context Protocol intégré avec authentification OAuth2, pour requêter l'état de l'infrastructure depuis un assistant IA compatible

Stack technique

Le choix technique central est la simplicité de déploiement :

  • Binaire unique Go compilé statiquement, avec le frontend Vue 3 + TypeScript + Tailwind embarqué via embed.FS
  • SQLite en mode WAL pour le stockage — pas de base de données externe, pas de Redis, pas de file de messages
  • SSE (Server-Sent Events) pour les mises à jour temps réel dans le navigateur — plus simple que les WebSockets, fonctionne à travers n'importe quel reverse proxy sans configuration particulière
  • Moins de 20 Mo de RAM au repos
  • Image multi-architecture : amd64 et arm64
  • PWA : installable sur mobile

L'authentification n'est volontairement pas intégrée — Maintenant est conçu pour fonctionner derrière un reverse proxy avec middleware d'authentification (Authelia, Authentik, OAuth2 Proxy…), exactement comme Dozzle ou Prometheus. Les endpoints de heartbeat (/ping/{uuid}) et la page de statut publique sont prévus pour être accessibles sans authentification.

La configuration est possible soit par labels Docker sur les conteneurs, soit par l'interface web :

labels:
  maintenant.endpoint.http: "https://api:3000/health"
  maintenant.endpoint.interval: "15s"
  maintenant.alert.severity: "critical"
  maintenant.group: "production"

Support Kubernetes

Maintenant détecte automatiquement s'il tourne dans un cluster Kubernetes (via le compte de service) ou sur Docker (via le socket). Un ClusterRole read-only (maintenant-reader) suffit. Le monitoring se fait au niveau des workloads (Deployments, DaemonSets, StatefulSets) avec filtrage par namespace.

Modèle économique

Le projet suit un modèle open-core :

L'édition Community est complète et utilisable sans restriction pour un usage solo : monitoring conteneurs, endpoints, heartbeats, certificats, mises à jour, sécurité réseau, page de statut, support Kubernetes, alertes par webhooks et Discord, API REST + SSE.

L'édition Pro (9 €/mois ou 90 €/an) ajoute des canaux d'alerte supplémentaires (Slack, Microsoft Teams, Email/SMTP), la détection de CVE via OSV.dev, un tableau de bord de posture sécurité, la gestion d'incidents, les fenêtres de maintenance et les notifications aux abonnés de la page de statut.

L'intégralité du code source, y compris les fonctionnalités Pro, est visible sur GitHub sous AGPL-3.0. Le tier Pro est déverrouillé au runtime par une clé de licence — même binaire, même image Docker.

Déploiement rapide

services:
  maintenant:
    image: ghcr.io/kolapsis/maintenant:latest
    ports:
      - "8080:8080"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - /proc:/host/proc:ro
      - maintenant-data:/data
    environment:
      MAINTENANT_ADDR: "0.0.0.0:8080"
      MAINTENANT_DB: "/data/maintenant.db"
    restart: unless-stopped

volumes:
  maintenant-data:

Trente secondes plus tard, l'interface affiche tous vos conteneurs. Aucune configuration nécessaire.

Comparaison avec les outils existants

Maintenant Uptime Kuma Portainer Dozzle Prometheus+Grafana
Auto-découverte conteneurs Oui Non Oui Oui Via cAdvisor
Monitoring endpoints HTTP/TCP Oui Oui Non Non Via Blackbox
Monitoring cron/heartbeat Oui Oui Non Non Non
Certificats SSL Oui Oui Non Non Via exporter
Métriques CPU/RAM/réseau Oui Non Limité Non Oui
Détection mises à jour images Oui Non Oui Non Non
Sécurité réseau Oui Non Non Non Non
Page de statut Oui Oui Non Non Non
Dépendances externes Aucune Node.js Docker API Docker API 3+ conteneurs

Commentaires : voir le flux Atom ouvrir dans le navigateur

  •  
❌