Open Collectivités est un portail web visant à simplifier l’accès aux informations statistiques des collectivités locales. Il est développé au sein de la Direction générale des collectivités locales (DGCL), dans le cadre d'un défi de la quatrième promotion du programme Entrepreneur d'intérêt général.
Le site est développé en utilisant le framework Django et est centré autour d'une application principale nommée core, accompagnée des applications suivantes :
- django-francedata : Contient des tables reprenant la structure des collectivités locales françaises (communes, EPCI à fiscalité propre, départements, régions) ainsi que des tables de données associées pour gérer des données concernant ces collectivités, importées depuis data.gouv.fr et banatic.
- collectivity_pages : Contient la structure des tableaux de données concernant les collectivités locales.
- dashboard : Contient les personnalisations des panneaux d’administration de Django (dans
templates/admin
) et Wagtail (danstemplates/wagtailadmin
etwagtail_hooks.py
) - django-dsfr : Permet d'utiliser facilement le système de design de l'État dans des templates Django.
- external_apis : Gère les appels aux APIs de Gallica et d'OpenDataSoft, utilisées pour la récupération des publications depuis la bibliothèque numérique de la statistique publique et les plateformes data.ofgl.fr et data.economie.gouv.fr
- pages : Application basée sur le moteur de CMS Wagtail qui gère les pages dynamiques du site, dont la page d’accueil.
En plus des applications déjà citées, le dépôt contient les répertoires suivants :
- config : le projet Django proprement dit
- devops : scripts de maintenance, et fichiers de configuration pour NGINX et Gunicorn
- docs : la documentation du projet
Le site utilise des contenus provenant des librairies tierces suivantes :
- Remix Icon : icônes
- unDraw : illustrations
- VueJS : Scripts Javascript sur le front-end
- Voir la documentation dédiée.
- Les numéros de versions suivent les principes du versionnage sémantique
- Jusqu'à la version 0.5, le front-end était un projet séparé, entièrement en VueJS. Il est maintenant archivé sur https://github.com/entrepreneur-interet-general/opencollectivites-front.