Installation locale
Cette section décrit comment installer Insitu sur un poste de travail, à des fins de développement.
Pré-requis
-
Python 3.9 ou plus récent
Version de Python
La version de Python de référence pour Insitu est actuellement la 3.9. Les versions 3.10 et 3.11 devraient fonctionner mais ont moins été testées. La version 3.12 semble poser des problèmes avec certaines dépendances et n’est donc pas recommandée pour l’instant.
pyenv
/pythonz
Si vous utilisez un outil comme
pyenv
oupythonz
pour installer Python, veillez à d’abord installer les paquetslibffi-dev
etlibbz2-dev
(ou leurs équivalents sur votre système), car ils sont nécessaires à la compilation de certains modules importants de la bibliothèque standard. -
PostgreSQL avec l’extension PostGIS
- Talisman : pre-commit hook installé au niveau global : https://thoughtworks.github.io/talisman/docs/installation/global-hook/
Création d’un environnement virtuel Python
Commencez par créer un environnement virtuel Python 3.9.
Par exemple, si vous utilisez virtualenvwrapper
, la commande est :
mkvirtualenv --python=python3.9 insitu
Installation des dépendances Python
Ensuite, dans cet votre environnement virtuel, vous pouvez installer les dépendances avec :
make develop
Création d’une base de données PostgreSQL
Info
Les instructions suivantes devraient fonctionner sur une distribution Linux de type Debian ou Ubuntu.
La manière de créer une base de données dépend de votre système d’exploitation et de la manière dont est installé et configuré le serveur PostgreSQL.
Commencez par ouvrir le shell PostgreSQL :
sudo -i -u postgres
psql
Une fois connecté, créez d’abord un utilisateur insitu
avec un mot de passe de votre
choix :
CREATE USER insitu;
ALTER USER insitu WITH PASSWORD `mon_mot_de_passe_8Cm&J6@kT7EmGsYs`;
Puis créez une base de données insitu
associée à cet utilisateur :
CREATE DATABASE insitu WITH OWNER insitu;
Activez ensuite l’extension PostGIS pour cette base de données :
\c insitu
CREATE EXTENSION postgis;
Installation des définitions
Pour qu’insitu fonctionne, il a besoin de fichiers de définitions décrivant les jeux de données et les indicateurs.
Par exemple, dans le contexte de l’ANCT, vous pouvez cloner dans un autre répertoire le dépôt https://gitlab.donnees.incubateur.anct.gouv.fr/infrastructure/flux-de-donnees-anct/.
Configuration
La configuration d’Insitu se fait au moyen de variables d’environnement dont le nom
commence par INSITU_
.
Vous pouvez copier le fichier .env.example
qui servira de modèle :
cp .env.example .env
Puis ouvrez-le avec votre éditeur favori et modifiez les valeurs, notamment le mot de passe de connexion à la base de données et les chemins vers les fichiers de configuration des jeux de données et des indicateurs.
Vous pouvez maintenant initialiser les variables d’environnement :
source .env
Initialisation
Vous pouvez maintenant initialiser la base de données et ajouter les jeux de données et indicateurs contenus dans votre répertoire de configuration avec :
make bootstrap
Avant la première contribution
Activier le git hooks framework pre-commit
afin de faire des vérifications automatiques avant chaque commit sur ce projet.
pre-commit install -f
La configuration du pre-commit se trouve dans le fichier .pre-commit-config.yaml