La solution Bibliothèque Numérique proposée s’appuie sur et complète les outils de gestion de téléprocédures SVE (ministère de l’intérieur) et Démarches-Simplifiées (DINUM) afin de permettre, suite à la phase d’instruction de démarches de déclaration, l’interaction multi-acteurs autour de ces données, afin d’en tirer des analyses et actions légales éventuelles.
Dans cette solution est incorporé un système de référence des fondations de dotations et d'entreprises, RNF.
- Nodejs - environnement d'exécution javascript/typescript
- Pnpm - gestionnaire de paquets et workspaces pour javascript
- Docker - moteur d'exécution de conteneur
- Avoir un compte administrateur sur une instance de Démarches-Simplifiées
- Avoir un token pour l'api RNA (Documentation)
Les outils et les serveurs sont lancé sous forme de conteneurs Docker
- Postgres - Le systeme de base de données relationnel
- Redis - Pour le systeme de Queue
- Minio - Pour le systeme de stockage de fichiers S3
- mailhog - un faux server SMTP pour récuper les e-mails
Vous aurez besoin de configurer (Access keys et Buckets) de Minio avant de lancer les applications.
# Lancer les containeurs Minio
pnpm run docker:s3:up- pgAdmin - Outil d'administration de base données
- Adminer - Outil d'administration de base données léger
- bull-board - Outil de suivi de jobs et queues
# cloner le projet
git clone https://github.com/dnum-mi/bibliotheque-numerique.git
cd bibliotheque_numerique
# installation des packages
pnpm install
#construction
pnpm build
# Mettre à jours les variables d'environnement de Biblithéque Numérique
cp apps/server/.env-example apps/server/.envComplétez vos vairables d'environnements dans du fichier .env pour Biblithéque Numérqure (voir doc des variables d'environnement)
# Lancer les containeurs Postgres, redis, mailhog et Minio, si ce n'est pas fait
pnpm run docker:simple-dev
# initialisation de la base de données de bibliothéques Numérique
pnpm migration:run
# Lancer le server api en mode developpement
pnpm dev:server# lancer le server worker de synchronisation des demarches et des ogranismes dans un autre terminal
pnpm dev:dws# lancer le server worker de synchronisation des fichiers dans un autre terminal
pnpm dev:dwfA partir de la racine du projet
# Lancer le client en mode developpement
pnpm dev:clientCertains chapitres de la Bibliothèque Numérique peuvent être difficiles à comprendre. C’est pourquoi des documents spécifiques ont été rédigés sur ces sujets. L’ensemble des documents techniques est répertorié dans docs/ :
Ce dossier contient un fichier Markdown qui explique la pagination des dossiers, accompagné d'un fichier Excel avec de fausses données pour illustrer les exemples de code présents.
Contient un fichier Markdown expliquant la structure du backend. Ce document devrait être le premier lu par un nouveau développeur cherchant à se familiariser avec le backend.
Contient un fichier Markdown expliquant la synchronisation des données entre Bnum et DS. Ce dossier inclut également un sous-dossier Code qui explique le système de codes de synchronisation.