SPPNaut est une startup d'Etat dont la mission est la modernisaton de la chaîne de production des publications nautiques et l'ouverture de celles-ci (aussi appelées ouvrages).
Le projet suit un architecture monorepo. Il est découpé en trois applications distinctes :
- PDFGenerator : le serveur backend assurant la génération manuelle ou périodique d'ouvrages.
- interface : le serveur permettant de consulter ou lancer la génération d'ouvrages.
- referentiel-sync : le démon recopiant un système de fichiers au SHOM dans des buckets S3.
- Docker
- Docker-compose
- Python >= 3.10
En développement, copier le template des variables d'environnement :
cp PDFGenerator/http/.env.template PDFGenerator/http/.env
Dans les autres environnements, prenez exemple sur le fichier .env.template
pour configurer vos variables d'environnement sur l'environnement d'execution.
La base de données est utilisée pour l'administration des tâches déléguées par la librairie procrastinate
et les tables d'administration de django pour assurer l'authentification.
Initialiser les 3 variables d'environnement suivantes dans le fichier .env :
S3_BUCKET_GENERATED_PRODUCTION
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
Builder et executer les images Docker :
docker-compose build
docker-compose up
Une interface de génération de PDF est accessible sur http://localhost:8080. Elle est protégée par une authentification basique :
- identifiant :
username
- mot de passe :
password
Depuis un autre shell :
docker-compose logs -f
Cette application est executé lors du démarrage de la stack Docker.
Voir le Readme détaillé dans PDFGenerator/http
pour en savoir plus sur son fonctionnement.
Cette application doit être démarrée individuellement.
Suivre les instructions du fichier Readme incluses dans interface
pour installer, lancer et développer cette application.
Suivre les instructions du fichier Readme incluses dans referentiel-sync
pour installer et développer cette application.
On utilise pip-licenses: comme décrit sur le projet SPPNaut Carting
- DNS: Alwaysdata
- Hébergement: Clever-cloud
- Fiche beta.gouv
- Github: Équipe SPPNaut
- Google Drive: https://drive.google.com/drive/folders/1t2FNI6_Le-Bv2UVrN0njTFt792vJASJK
- Matomo: https://stats.data.gouv.fr
- Sentry: https://sentry.incubateur.net