betagouv / SPPNautSPO

Generator and S3 interface for SPPNaut Startup
European Union Public License 1.2
0 stars 0 forks source link

SPPNaut Generator

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

Architecture

Le projet suit un architecture monorepo. Il est découpé en trois applications distinctes :

Schéma d'architecture

Installer et exécuter SPPNaut et le générateur de PDF sur un poste local

Pré-requis

Variables d'environnement

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 :

Démarrer

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 :

⚠️ Cette interface n'est pas l'interface de SPPNaut, voir ci-dessous.

Logs

Depuis un autre shell :

docker-compose logs -f

PDFGenerator

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.

interface

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.

referentiel-sync

Suivre les instructions du fichier Readme incluses dans referentiel-sync pour installer et développer cette application.

Collecte des licenses des dépendances utilisées par nos applicatifs

On utilise pip-licenses: comme décrit sur le projet SPPNaut Carting

Services utilisés par l'équipe de développement