Aidants Connect ? voir ici
L'application Carto centralise et met en valeur l'ensemble des structures d'aide au numérique sur le territoire français.
- Python 3.7
- Django 3.0
- Django Rest Framework 3.11
- PostgreSQL
Utilisez votre gestionnaire de paquets préféré pour installer la base.
L'exemple qui suit emploie le gestionnaire Homebrew via la commande brew
.
Dans un terminal, installez PostgreSQL :
brew install postgresql
Démarrez le service postgresql :
brew services start postgresql
Ceci démarre le serveur de la base de données et active sa réexécution au login.
Dans le cas où ce serait votre première utilisation de PostgreSQL, créez une base d'essai à votre nom :
createdb `whoami`
Puis, démarrez l'invite de commande PostgreSQL :
psql
Vous pouvez dès à présent visualiser :
- la liste des bases de données existantes avec cette commande PostgreSQL
\list
- la liste des roles existants avec
\du
Ajoutez une base aidants_connect_carto
appartenant au nouvel utilisateur aidants_connect_carto_team
en poursuivant dans l'invite de commmande PostgreSQL :
CREATE USER aidants_connect_carto_team;
CREATE DATABASE aidants_connect_carto OWNER aidants_connect_carto_team;
ALTER USER aidants_connect_carto_team CREATEDB;
🎉 La base de donnée aidants_connect_carto
est installée. Vous pouvez la voir et quitter l'invite de commande avec :
\list
\q
Dans votre répertoire de travail, créez et activez un environnement virtuel :
virtualenv venv
source venv/bin/activate
Copiez le code sur votre ordinateur :
git clone git@github.com:betagouv/Aidants_Connect_Carto.git
Installez les dépendances :
pip install -r requirements.txt
Si la commande précédente déclenche le message d'erreur suivant ld: library not found for -lssl
, essayez :
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/opt/openssl/lib/
Dupliquez le fichier .env.example
à la racine du projet en tant que .env
Créez un répertoire staticfiles
à la racine du projet :
mkdir staticfiles
Appliquez les migrations de la base de données :
python manage.py migrate
Créez un superuser :
python manage.py createsuperuser --username <insert_admin_name>
Pour lancer l'application sur le port 3000
:
python manage.py runserver 3000
python manage.py test
Interface utilisateur :
/ (home page)
/lieux (search)
/lieux/<place_id>
/lieux/nouveau
/lieux/<place_id>/modifier
/lieux/<place_id>/services/nouveau
/lieux/<place_id>/services/<service_id>/modifier
/datasets
Rest Framework (HTML UI or JSON depending on the 'content-type') :
/api
/api/data-sources
/api/places
/api/places/<place_id>
/api/places/<place_id>/services
/api/places/<place_id>/services/<service_id>
/api/address/search
Swagger (HTML) :
/api/swagger/