Ce dépôt contient le backend du projet webapp Angular de Sites Cenca, développé en NodeJS. Ce backend sert de fournisseur de données pour l'application.
Les principales dépendances utilisées dans ce projet sont :
- axios
- bcrypt
- cors
- dotenv
- express
- jsonwebtoken
- pg
Pour installer les dépendances nécessaires, exécutez la commande suivante :
npm installAssurez-vous de configurer les variables d'environnement nécessaires dans un fichier .env. Vous trouverez un exemple dans les fichiers racine.
Pour démarrer le serveur, utilisez la commande suivante :
npm startContribution Les contributions sont les bienvenues. Veuillez soumettre une pull request avec une description détaillée des modifications.
Nicolas ELIE pour le Conservatoire d'Espaces Naturels Champagne-Ardenne.
- Objectif : application web SIG pour la gestion et la valorisation des sites CENCA
- Public : equipe metier, partenaires, utilisateurs terrain
- Perimetre : Backend Node/Express + Frontend (Angular)
- Centraliser des donnees metiers + geographiques heterogenes
- Offrir un acces cartographique fluide et fiable
- Industrialiser les traitements fonciers (fichiers -> extraction -> restitution)
- Frontend Angular (UI + carto + workflows)
- Backend Node/Express (API + securite + SIG + traitements)
- PostgreSQL (donnees metier)
- Services externes SIG (geo.api.gouv.fr, IGN WFS, Lizmap)
flowchart LR
FE[Frontend Angular] -->|HTTP/HTTPS| API[Backend Node/Express]
API --> DB[(PostgreSQL)]
API --> GEO1[geo.api.gouv.fr]
API --> GEO2[IGN WFS data.geopf.fr]
API --> GEO3[Lizmap WFS]
API --> PY[Pipeline foncier Python]
PY --> FS[Stockage fichiers]
- Fournisseur d'API unifiee pour le frontend
- Securisation des acces (JWT + blacklist)
- Orchestration des donnees SIG + traitements
- Exposition de GeoJSON compatible Leaflet/Map libs
- Communes : geo.api.gouv.fr
- Cadastre : IGN WFS (data.geopf.fr)
- Donnees metiers SIG : Lizmap WFS (authentifie)
- Fusion des sources cote backend pour simplifier le frontend
- Communes par departement
- Parcelles par bbox
- Parcelles par commune
- Couche Lizmap filtree par bbox ou codesite
- Upload de fichiers via API
- Traitement par script Python (pipeline foncier)
- Retour d'etat et integration dans le SI
- JWT + blacklist en base
- CORS en allowlist
- Rate limiting global
- HTTPS en production
- Pool PostgreSQL avec keep-alive + reconnexion
- Timeouts et gestion d'erreurs WFS
- Cache d'images redimensionnees
- Observabilite Prometheus
- Documentation interne en Markdown servie en HTML
- Routes de debug / tests API
- Exemple d'integration rapide cote frontend
- Normaliser les flux SIG heterogenes
- Gerer la volumetrie geographique (bbox, maxFeatures)
- Fiabiliser les appels externes (timeouts, fallback)
- Assurer securite, observabilite, maintenabilite
- Acces carto fluide et a jour
- Reduction des manipulations manuelles
- Fiabilite et tracabilite des donnees foncieres
- Base solide pour futures extensions
- Optimiser cache SIG / pagination
- Ameliorer l'UX carto
- Ajouter des controles metiers avances
- Industrialiser la CI/CD
- Backend = coeur technique et interoperable
- Frontend = experience utilisateur orientee metier
- Projet pret pour montee en charge et evolutions
- Objectif : application web SIG pour la gestion des sites
- Valeur : donnees fiables, workflow foncier, carto fluide
- Frontend Angular + Backend Node/Express
- PostgreSQL + services SIG externes
- Communes (geo.api.gouv.fr)
- Parcelles (IGN WFS)
- Donnees metier (Lizmap WFS)
- Upload de fichiers
- Traitement Python automatise
- JWT + blacklist
- CORS allowlist + rate limiting
- Timeouts WFS, gestion erreurs
- Gain de temps et fiabilite
- Base solide pour evolutions