Skip to content

Latest commit

 

History

History
114 lines (74 loc) · 4.55 KB

README.md

File metadata and controls

114 lines (74 loc) · 4.55 KB

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.