MonAideCyber 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. Il s’adresse aux entités publiques et privées, quelle que soit leur taille, déjà sensibilisées au risque et souhaitant s’engager dans une démarche proportionnée et concrète de renforcement de leur cybersécurité.
Il est nécessaire en prérequis d'avoir installé Git, Docker et Node.js v18.
Commencer par récupérer les sources du projet et aller dans le répertoire créé.
$ git clone git@github.com:betagouv/mon-aide-cyber.git && cd mon-aide-cyberRajouter le réseau commun à l'application et au journal (s'il n'existe pas déjà) :
$ docker network create reseau-mon-aide-cyberCopier les fichiers pour déclarer les variables d'environnement nécessaires :
$ cp ./mon-aide-cyber-api/.env.template ./mon-aide-cyber-api/.env
$ cp ./mon-aide-cyber-ui/.env.template ./mon-aide-cyber-ui/.envDemander aux collègues pour les valeurs à associer aux variables.
Lancer Docker et exécuter docker-compose pour lancer l'application.
docker-compose upOptionnellement, forcer le build si nécessaire.
docker-compose up --build --force-recreate --no-depsLes tests sont à lancer manuellement. Ils nécessitent en amont :
- une première installation des dépendances
npmdu projet - le démarrage d'un conteneur Postgres dédié aux tests
$ npm ci
$ cd mon-aide-cyber-api/test && docker-compose upPuis on peut exécuter les tests :
npm run testlance les tests de l'apiet dufrontnpm run test:watchlance les tests à chaque modification de fichier de l'apiet dufront
Afin que les tests effectués sur la couche de persistance s'exécutent bien, il est nécessaire de lancer un conteneur de base de données dédiée aux tests.
Il existe un mon-aide-cyber-api/test/docker-compose.yml pour créer le conteneur.
cd mon-aide-cyber-api/test/ & docker-compose upIMPORTANT : un conteneur node va se lancer afin d'exécuter les migrations knex, vérifiez bien que ce dernier a terminé son travail avant d'utiliser la base de donnée de tests.
VITE_INFORMATION_A_AFFICHERà true pour pouvoir afficher le message pour accéder à la plateforme de production sur la page de connexionVITE_MAC_URL_OFFICIELLEURL vers l’environnement cible lorsque l’on affiche le message pour accéder à la plateforme de production sur la page de connexionVITE_MATOMO_SITE_IDidentifiant de l’instance matomoVITE_MATOMO_URLURL du script Matomo suivant l’environnement désiré (dev,staging,live)