Site de l’accompagnement national des projets PCRS
Ce dépôt contient le code du site pcrs.beta.gouv.fr
Il utilise Next.js et le Système de Design de l’État
- Node.js LTS 22.11+
- corepack (
corepack enable
) - MongoDB 4+
yarn
yarn download-contours
yarn dev
Le style de code utilisé est xo.
yarn lint
yarn test
Vous devez copier le fichier .env.sample
vers un nouveau fichier .env
cp .env.sample .env
Puis compléter les champs suivants :
PORT
-> Port d’écoute du serveur, 3000 par défaut.
Les champs suivants sont optionnels, mais vous ne pourrez pas accéder à la page
/blog
du site.
NEXT_PUBLIC_GHOST_URL
-> URL complète du blog Ghost (optionnel)GHOST_KEY
-> Jeton permettant l’accès aux articles du Blog Ghost (optionnel)
Pour utiliser l’API, vous devez compléter ce champ. En local, utilisez ce jeton pour authentifier les appels à l’API
API_ENTREPRISES_URL
-> URL de l’API "recherche-entreprises"MONGODB_URL
-> URL de la base de données MongoDBMONGODB_DBNAME
-> Nom de la collection MongoDBADMIN_TOKEN
-> Jeton d’authentification des appels à l’API.
Le jeton d’administration
ADMIN_TOKEN
est nécessaire afin d’initialiser le premier administrateur Lorsqu’un ou plusieurs accès administrateurs ont été créé, il est préférable de ne plus utiliser le jeton du.env
et de prioriser les comptes créésIl est obligatoire de le conserver dans le fichier
.env
afin de lancer l’application
SCANNER_URL
-> URL de l’API permettant de scanner les stockages de livrablesSCANNER_ADMIN_TOKEN
-> Jeton d’accès de l’API
Les champs suivants sont optionnels, ils permettent d’envoyer le code de vérification par mail.
SMTP_HOST
,SMTP_PORT
,SMTP_USER
,SMTP_PASS
,SMTP_SECURE
,SMTP_FROM
,SMTP_BCC
-> Paramètres du serveur de mailSHOW_EMAILS
(YES / NO) -> Permet d’afficher le mail envoyé dans la console.S3_ACCESS_KEY
,S3_SECRET_KEY
,S3_ENDPOINT
,S3_BUCKET
,S3_REGION
,S3_PREFIX
-> Paramètres de connexion au stockage objetNEXT_PUBLIC_IMAGES_DOMAIN
-> Domaine du stockage des images, pour l’optimisation avec next/image
Route | Type | Description |
---|---|---|
/projets |
GET | Retourne la liste de tous les projets PCRS |
/projets |
POST | Permet d’ajouter un projet PCRS |
/projets/:id |
GET | Retourne le projet demandé |
/projets/:id |
DELETE | Supprime le projet demandé |
/projets/:id |
PUT | Modifie le projet demandé |
/me |
GET | Permet à un administrateur de s'authentifier après avoir fourni le jeton d'administration |
/data/projets.csv |
GET | Retourne un fichier CSV contenant l’ensemble des projets PCRS Option : /?includesWkt=1 pour inclure les géométries des projets au format WKT |
/data/livrables.csv |
GET | Retourne un fichier CSV contenant l’ensemble des livrables des projets PCRS |
/data/tours-de-table.csv |
GET | Retourne un fichier CSV contenant l’ensemble des tours de table des projets PCRS |
/data/subventions.csv |
GET | Retourne un fichier CSV contenant l’ensemble des subventions des projets PCRS |
/data/territoires.csv |
GET | Retourne un fichier CSV contenant l’ensemble des territoires |
/data/editor-keys.csv |
GET | Retourne l’ensemble des codes d’édition des projets (Cette route est réservée aux administrateurs) |
/ask-code |
POST | Faire une demande de création de projet. Cette route attend un objet {"email": email du demandeur} |
/check-code |
POST | Vérifie la validité du code envoyé par email. Cette route attend un objet {"email": email du demandeur, "pinCode": code envoyé par mail} |
/creator-emails |
GET | Retourne l’ensemble des emails autorisés à créer un projet (Cette route est réservée aux administrateurs) |
/creator-emails |
POST | Permet d’ajouter un email autorisé à créer un projet (Cette route est réservée aux administrateurs) |
/creator-emails/:id |
GET | Retourne les informations d’un mail autorisé à créer un projet (Cette route est réservée aux administrateurs) |
/creator-emails/:id |
DELETE | Supprime le mail (Cette route est réservée aux administrateurs) |
/creator-emails/:id |
PUT | Permet de modifier le mail ou le nom (Cette route est réservée aux administrateurs) |
/administrators |
GET | Retourne la liste des administrateurs du site (Cette route est réservée aux administrateurs) |
/administrators |
POST | Permet d’ajouter un nouvel administrateur (Cette route est réservée aux administrateurs) |
/administrators/:id |
GET | Retourne les informations d’un administrateur (Cette route est réservée aux administrateurs) |
/administrators/:id |
DELETE | Supprime un administrateur (Cette route est réservée aux administrateurs) |
/administrators/:id |
PUT | Permet de modifier le mail ou le nom d’un administrateur (Cette route est réservée aux administrateurs) |
/image-upload |
POST | Permet de téléverser une image pour illustrer les réutilisations |
/image-upload/:imageKey |
DELETE | Supprime une image à partir de son nom |
Vous pouvez accéder au modèle de données à cette adresse.
Le code de ce logiciel est soumis à la licence MIT.
Cette application respecte le système de design prévu par le SIG.