Skip to content

Accompagner les organisations dans la compréhension et la mise en conformité à NIS 2

License

Notifications You must be signed in to change notification settings

betagouv/anssi-nis2

Repository files navigation

Node.js CI Storybook Tests

Mon Espace NIS 2

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.

Configuration de l'environnement de développement

Prérequis

Installation

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

Lancement des serveurs

Serveur Web + API:

docker compose restart api

Serveur DB (PostgreSQL):

docker compose restart db

Construction des distributions statiques

Construction du front web et de l'API:

npm run build

Exécution des tests

npm test

Structure du dépôt

+---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)

Mais que se passe-t-il ? (Problèmes courants)

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

About

Accompagner les organisations dans la compréhension et la mise en conformité à NIS 2

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages