Mon Espace NIS 2 est un service numérique développé par le laboratoire d'innovation de l'ANSSI, en lien avec l'incubateur BetaGouv de la direction interministérielle du numérique pour soutenir la mise en œuvre française de la directive européenne NIS2.
NIS 2 (Network and Information Security version 2) vise à harmoniser et renforcer la cybersécurité du marché européen. Le portail dont le code est porté dans ce dépôt vise à faciliter le parcours des futurs entités (privées et publiques) réglementées par ce cadre de loi.
Récupération du code depuis github:
git clone https://github.com/betagouv/anssi-nis2.git
cd anssi-nis2
Créer un réseau virtuel docker pour les containers du projet :
docker network create nis2
Exécuter la construction automatique docker:
docker compose up
Démarre et initialise la base de donnée si nécessaire, puis lance le serveur d'API avec le site front en static
Serveur Web + API:
docker compose restart api
Serveur DB (PostgreSQL):
docker compose restart db
Construction du front web et de l'API:
npm run build
npm test
+---anssi-nis2-api // Serveur d'API (NestJS)
° +---dist
° +---node_modules
° +---src
° ° +---database
° ° +---Domaine
° ° +---simulateur-reponse
° ° +---test
° +---test
+---anssi-nis2-ui // SPA frontend (Vite + React)
° +---.storybook
° +---dist
° +---node_modules
° +---public
° +---src
° ° +---.storybook
° ° +---assets
° ° +---Components
° ° ° +---Accueil
° ° ° +---Echaffaudages
° ° ° +---Simulateur
° ° +---Domaine
° ° ° +---Simulateur
° ° +---Services
° ° ° +---Echaffaudages
° ° ° +---Simulateur
° ° +---stories
° ° ° +---assets
° ° ° +---Components
° ° ° ° +---Accueil
° ° ° ° +---Simulateur
° ° ° +---Pages
° ° ° +---utilitaires
° ° +---utilitaires
° +---test
° +---Services
° ° +---Simulateur
° +---utilitaires
+---node_modules
+---pgdata // Données container PostgreSQL (ignoré par git)
Erreur récurrente FATAL: no pg_hba.conf entry for host "[local]", user "postgres", database "postgres", no encryption
dans les logs du container anssi-nis2-db
Il s'agit d'un problème de healthcheck : pg_ready
appel en boucle d'une manière non reconnue dans le fichier
host pg_hba.conf
de PostgreSQL.
Il suffit de lancer une seule fois ces commandes dans le terminal du container:
echo >> /var/lib/postgresql/data/pg_hba.conf
echo local postgres postgres trust >> /var/lib/postgresql/data/pg_hba.conf
Ceci accepte l'hôte local de pg_ready
utilisé pour le Healthcheck