MonServiceSécurisé 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 vise à aider les collectivités territoriales et les autres entités publiques à sécuriser et à homologuer leurs services publics numériques (sites web, applications mobiles, API).
Il est nécessaire en prérequis d'avoir installé Git, Docker et Node.js v16.
Commencer par récupérer les sources du projet et aller dans le répertoire créé.
$ git clone https://github.com/betagouv/mon-service-securise.git && cd mon-service-securise
Créer un network
Docker pour accueillir MonServiceSécurisé en local.
$ docker network create mss-network
Créer un fichier .env
à partir du fichier .env.template
et renseigner les diverses variables d'environnement.
Lancer le script scripts/start.sh
Se connecter au conteneur de la base de données et créer une nouvelle base mss
pour un utilisateur postgres.
$ docker compose exec mss-db createdb -U postgres mss
Exécuter les migrations depuis le conteneur du serveur web.
$ docker compose exec web npx knex migrate:latest
Le serveur est configuré et prêt à être redémarré.
$ docker-compose restart web
(Ou arret et ré-exécution de ./script/start.sh
)
Le serveur devrait être accessible depuis un navigateur à l'URL
http://localhost:[PORT_MSS]
(avec comme valeur pour PORT_MSS
celle indiquée
dans le fichier .env
).
Il est alors possible de créer un compte utilisateur à l'url http://localhost:[PORT_MSS]/inscription
.
Les tests peuvent être lancés depuis un conteneur Docker en exécutant le script
scripts/tests.sh
. Les tests sont alors rejoués à chaque modification de
fichier du projet sur la machine hôte.