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 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 :
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 :
git clone git@github.com:fab-geocommuns/RNB-coeur.git
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
docker compose build
docker compose up -d
Le serveur local est lancé à l'adresse http://localhost:8000
docker exec -ti web python manage.py test
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.
poetry add celery="~5.4.0"
poetry add --group=dev notebook="~6.5.4"
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.
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.
Projet distribué sous la License Apache 2. Voir la LICENSE
pour plus de détails.