Skip to main content

Tableau de bord des indicateurs territoriaux

Présentation

Bienvenue dans ce projet visant à faciliter la création de tableaux de bord territoriaux interactifs à partir de données d’indicateurs. Ce dispositif est composé de deux briques complémentaires :

1. territories_dashboard_lib

Une librairie Django réutilisable, contenant des applications modulaires pour afficher rapidement un tableau de bord d'indicateurs territoriaux. Elle permet d’analyser des données à différentes mailles géographiques : nationale, régionale, départementale, et communale.
Elle comprend des fonctionnalités prêtes à l'emploi pour visualiser des données sur des thématiques comme la mobilité durable, la rénovation énergétique ou d'autres indicateurs liés au développement territorial.

2. territories_dashboard_template

Un template de projet Django clef en main, conçu pour permettre à des équipes techniques de démarrer rapidement leur propre tableau de bord. Ce template utilise la librairie territories_dashboard_lib comme fondation.
Les utilisateurs peuvent cloner ce dépôt, l’adapter à leurs besoins, et configurer leur tableau de bord directement depuis l’interface d’administration (titre, organisme, pages de contenu statique, indicateurs à afficher...).

Le template constitue un point de départ standard, mais n’impose aucune restriction technique en dehors du choix de Django comme framework. Les développeurs sont libres d'étendre ou de modifier les composants selon leurs besoins.

Prérequis

Pour utiliser la librairie ou le template, vous devez disposer de :

  • Une base de données PostgreSQL contenant les données des indicateurs territoriaux.
  • Une capacité à déployer une application Django (hébergement, serveur web, etc.).

Pour obtenir des informations détaillées sur les prérequis techniques ou les données :

Exemples de projets utilisant ce dispositif

L’objectif de ce projet est d’encourager la réutilisation et l’essaimage de nouveaux tableaux de bord territoriaux, en mettant à disposition un socle technique commun, facilement adaptable et extensible.

Structure de la librairie

La librairie est composée de plusieurs applications Django indépendantes et complémentaires :

website_lib

Contient le code principal d’affichage des pages du tableau de bord :

  • Templates HTML Django : dans website_lib/templates, organisés par page.
  • Fichiers statiques (JS, CSS) : dans website_lib/static. Le JS est modulaire grâce à l’extension .mjs.
  • Vues Django : dans website_lib/views, associées aux templates et fichiers statiques.

tracking_lib

Gère le tracking backend : enregistrement en base de données des visites de pages, avec leurs paramètres (indicateur sélectionné, territoire, etc.) pour permettre des analyses d’usage.

superset_lib

Permet d’intégrer des dashboards Superset dans les pages du site.
Superset est un outil permettant à des utilisateurs non techniques de construire des visualisations depuis une base de données.

geo_lib

Permet d’ajouter des couches géographiques personnalisées (points, lignes, polygones) à la carte :

  • Points : ex. stationnements vélo.
  • Lignes : ex. pistes cyclables.
  • Polygones : ex. zones ZFE.

indicators_lib

Contient le code pour l’accès et la requête des données d’indicateurs dans la base PostgreSQL dédiée.

Composants React

Certaines visualisations complexes sont développées en React (ex. cartes interactives, diagrammes de Sankey).

  • Les composants sont dans website_lib/react-components/.
  • Le bundling est effectué via Webpack
  • Les composants React sont ensuite inclus dans les templates Django.
  • cd website_lib/react-components && npm install && npm run webpack

Installation

La librairie est publiée sur PyPI. Elle s’installe dans un projet Django via le package manager uv :

uv add territories_dashboard_lib

Figer la version en production

Pour éviter les mises à jour inattendues, il est conseillé de figer la version dans le fichier pyproject.toml :

# Par exemple :
territories_dashboard_lib == 1.0.3

Développement local

Pour tester une version locale de la librairie (ex : modifications en cours) :

uv add --editable ~/territories-dashboard/territories-dashboard-lib

Publication PyPI

Pour builder la librairie avant publication :

uv run python -m build

Pour déployer sur PyPI, vous devez :

  1. Avoir un compte PyPI.

  2. Être membre du projet sur PyPI.

  3. Lancer : uv run twine upload dist/*

Metadata

Release files for territories-dashboard-lib 1.2.10

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for territories-dashboard-lib 1.2.10
File Size Uploaded
territories_dashboard_lib-1.2.10.tar.gz 5.4 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for territories-dashboard-lib 1.2.10
File Interpreter ABI Platform
territories_dashboard_lib-1.2.10-py3-none-any.whl Python 3 none any Details

Total release size: 10.9 MB

Release files / territories_dashboard_lib-1.2.10.tar.gz

Download URL territories_dashboard_lib-1.2.10.tar.gz
Size 5.4 MB
Tags Source
SHA-256 checksum
How to use checksums
68a5a7771ce2b2b68933b459d6e9ae6a19bb3725cea55f1970c43bef3eec1324
BLAKE2b-256 checksum
How to use checksums
ef4b37a8dc86d3f21295d74e2f991ed4b81afbd3ea494a50512a5bde8bd97fcc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.1

Release files / territories_dashboard_lib-1.2.10-py3-none-any.whl

Download URL territories_dashboard_lib-1.2.10-py3-none-any.whl
Size 5.5 MB
Tags Python 3
SHA-256 checksum
How to use checksums
742eefbc700ede9882a30902e03867f791adbc0c068482d3dbcd94b8b783c85d
BLAKE2b-256 checksum
How to use checksums
bba61a740c12b95bd7daf4aedb5d4b814ecb28ca8fd88bbbfc5da07b7c264608
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.1

Release history Release notifications | RSS feed

1.2.26

2 release files

1.2.25

2 release files

1.2.24

2 release files

1.2.23

2 release files

1.2.22

2 release files

1.2.21

2 release files

1.2.16

2 release files

1.2.15

2 release files

1.2.14

2 release files

1.2.13

2 release files

1.2.12

2 release files

This release

1.2.10 This release

2 release files

1.2.9

2 release files

1.2.8

2 release files

1.2.7

2 release files

1.2.6

2 release files

1.2.5

2 release files

1.2.4

2 release files

1.2.3

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.4

2 release files

1.1.3

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.1

2 release files

0.1.39

2 release files

0.1.38

2 release files

0.1.36

2 release files

0.1.35

2 release files

0.1.34

2 release files

0.1.33

2 release files

0.1.32

2 release files

0.1.31

2 release files

0.1.22

2 release files

0.1.21

2 release files

0.1.20

2 release files

0.1.19

2 release files

0.1.18

2 release files

0.1.17

2 release files

0.1.14

2 release files

0.1.13

2 release files

0.1.12

2 release files

0.1.11

2 release files

0.1.10

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page