fab-geocommuns / RNB-coeur

Le coeur du Référentiel National des Bâtiments : imports, APIs, logique métier
https://rnb.beta.gouv.fr
Apache License 2.0
3 stars 0 forks source link

Documentation

L'ensemble de la documentation destinée aux utilisateurs du RNB est accessible sur notre site sous forme d'un Gitbook. Ce readme est quant à lui destiné aux personnes amenées à contribuer au code du projet.

RNB-coeur

RNB-coeur contient le backend du projet RNB.

Le code du site internet du RNB est quant à lui publié dans ce repo.

RNB-coeur est la partie backend du projet RNB, codé en Python/Django. Il contient :

Installation en local

Pour contribuer à ce repo, il faut commencer par le faire tourner en local sur sa machine. Nous parlons ici de contribution au code du RNB, pas au contenu du référentiel. Il vous faudra :

1. Installer git et docker sur votre machine

2. Cloner le repo

git clone git@github.com:fab-geocommuns/RNB-coeur.git

3. Renseigner les fichiers de configuration

Copiez, renommez et remplissez les fichiers de configurations ci-dessous.

Le détail des paramètres à modifier est disponible dans chacun des fichiers d'exemple.

NB : l'extension .example devient .dev

4. Construire et démarrer les conteneurs docker

docker compose build
docker compose up -d

Le serveur local est lancé à l'adresse http://localhost:8000

Lancer les tests

docker exec -ti web python manage.py test

Ajouter une dépendance python

Nous utilisons Poetry pour gérer nos dépendances Python. Pour ajouter une dépendance au projet, il faut installer Poetry sur son poste.

Puis executer la commande poetry add nom_du_package.

Cela va mettre à jour le fichier pyproject.toml qui liste les dépendances du projet, ainsi que le fichier poetry.lock. pyproject.toml ne liste que nos dépendances directes, tandis que poetry.lock contient également toutes les dépendances de nos dépendances. Il n'est pas recommandé d'éditer le fichier pyproject.toml à la main.

Options supplémentaires

Formattage du code

Le projet utilise pre-commit pour garantir le bon formattage du code. La configuration se trouve ici. precommit-ci tourne sur chaque PR et commit automatiquement les corrections de formattage en cas d'erreur.

Il est possible d'installer pre-commit en local sur sa machine pour que les corrections soient faites avant même de créer la PR, lors de chaque commit fait en local.

A propos du RNB

La mission du RNB est de référencer l’intégralité des bâtiments du territoire français au sein d’un géocommun

Il s'agit d'un projet porté et financé par :

Le projet est incubé au sein du programme beta.gouv.fr.

License

Projet distribué sous la License Apache 2. Voir la LICENSE pour plus de détails.