Skip to content

La base Française des autorisations de stationnement taxi 🚕

Notifications You must be signed in to change notification settings

mesadsfr/mesads

Repository files navigation

Tests unitaires codecov Vulnérabilités

Fonctionnement de Mes ADS

Ce dépôt contient le code source de MesADS, disponible sur https://mesads.beta.gouv.fr

Contexte

Le code des transports définit un taxi comme un "véhicule automobile [...] dont le propriétaire ou l'exploitant est titulaire d’une autorisation de stationnement sur la voie publique, en attente de la clientèle, afin d’effectuer, à la demande de celle-ci et à titre onéreux, le transport particulier des personnes et de leurs bagages."

Les ADS — Autorisation De Stationnement — sont obtenues auprès de mairies où l'activité est exercée. Depuis octobre 2014, les licences sont incessibles (elles ne peuvent plus être vendues) et sont renouvelables tous les 5 ans.

Fonctionnement

Afin d'utiliser Mes ADS, vous ĂŞtes dans une des situations suivantes :

  • Vous reprĂ©sentez un gestionnaire d'ADS, c'est Ă  dire une commune, prĂ©fecture ou EPCI dĂ©livrant des ADS : vous crĂ©ez un compte et choisissez votre administration dans la liste dĂ©roulante. Un administrateur des gestionnaires d'ADS recevra votre demande. Après validation, vous pourrez lister et crĂ©er les ADS de votre administration.

  • Vous reprĂ©sentez un administrateur des gestionnaires d'ADS, c'est Ă  dire une prĂ©fecture : un compte vous a Ă©tĂ© fourni par l'Ă©quipe Mes ADS. Après connexion, vous pouvez lister les demandes des gestionnaires, lister l'intĂ©gralitĂ© des ADS au niveau national, et crĂ©er de nouvelles ADS dans les zones dĂ©pendant de votre prĂ©fecture (communes, gares, aĂ©roports).

DĂ©veloppement

$> make debug
# ou
$> make shell
# python manage.py runserver 0.0.0.0:8000

Le serveur est disponible sur http://localhost:9400

Migrations

Pour passer les migrations de la base de données, exécutez depuis le container :

# python manage.py migrate

Depuis les données de production

Pour importer les données de prod créez un fichier .local.env avec:

LOCAL_DATABASE=mesads

SUPERUSER_USERNAME=root@root.com
SUPERUSER_PASSWORD=password

# Paris, Ille-et-Villaine, HĂ©rault
DEFAULT_ADS_MANAGER_ADMINISTRATOR="94 54 53"

# Melesse, Aast
DEFAULT_ADS_MANAGER="51431 62957"%

Puis créez un fichier .prod.env avec:

DATA_FILE=mesads.sql
DB_USER=<prod user>
DB_PASSWORD=<prod password>
DB_HOST=<prod host>
DB_PORT=<prod port>
DB_NAME=<prod db name>

INSEE_TOKEN=<prod INSEE API token>

AWS_S3_ENDPOINT_URL=<prod AWS S3 credentials>
AWS_S3_ACCESS_KEY_ID=<prod AWS S3 credentials>
AWS_S3_SECRET_ACCESS_KEY=<prod AWS S3 credentials>
AWS_STORAGE_BUCKET_NAME=<prod AWS S3 credentials>

Enfin, lancez le script:

$> ./scripts/restore-prod-db-local.sh

Accéder à la production

Certaines commandes, par exemple import_last_update_file_from_paris, nécessitent d'accéder aux fichiers sur S3. Le moyen le plus simple est d'utiliser le S3 de production.

$> set -a
$> source .prod.env
$> python manage.py import_last_update_file_from_paris

Ressources

Liste des EPCI, "établissement public de coopération intercommunale":

Liste des départements, préfectures, communes :

Ressources géographiques

Liste des départements

Infrastructure

  • L'application django, la base de donnĂ©es postgresql et le bucket S3 oĂą sont stockĂ©s les arrĂŞtĂ©s municipaux sont hĂ©bergĂ©s chez Clever Cloud.
  • Le sous-domaine mesads.beta.gouv.fr est gĂ©rĂ© sur alwaysdata tel qu'expliquĂ© dans la documentation de beta.gouv.
  • La boite email equipe@mesads.beta.gouv.fr configurĂ©e sur alwaysdata transfère les emails reçus aux membres de l'Ă©quipe.
  • brevo hĂ©berge le serveur SMTP utilisĂ© pour les emails transactionnels .
  • Afin d'avoir des sauvegardes chez plusieurs fournisseurs, les bases de donnĂ©es sont backup chez Scaleway.