Créer un environnement de développement#
Poetry
flake9
selenium
pytest
Sous Linux#
Sous Windows#
Dans une VM séparée#
Exemple avec AlmaLinux9. Avec Ubuntu, les commandes pour installer les paquests « de base » sont un peu différentes, mais presque tout le reste est sans doute identique.
mettre à jour le système
dnf update dnf clean all
Installer dans la VM les packages de base indispensables : - tar (n’est pas toujours installé) - git - python311 - python3.11-devel - python3-pip (utilisé par vscode) - postgresql-server - libpq-devel (utilisé pour construire le pilote psycopg2) - group « development tools » - nginx
Note
Pour l’instant, il faut au moins python 3.10 mais on devrait pouvoir travailler avec python3.9 au besoin…
créer l’utilisateur qui gèrera l’instance (dans la suite, on utilisera l’utilisateur biomaid):
adduser biomaid
usermod -G nginx -a
Donner les droits au groupe “nginx” d’accéder en lecture à /home/biomaid/ et /home/biomaid/staticfiles/
Créer un fichier “simple-biomaid.conf” dans /etc/nginx/conf.d et y insérer :
server {
server_name simple_biomaid;
location /static {
alias /home/biomaid/staticfiles/;
}
location / {
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
add_header P3P 'CP=""';
proxy_pass http://unix:/home/biomaid/biomaid.sock;
}
}
initialiser le gestionnaire de bases de données
# postgresql-setup initdb # systemctl start postgresql # systemctl enable postgresql # sudo -i -u postgres
$ createuser –interactive Enter name of role to add: biomaid_user Shall the new role be a superuser? (y/n) n Shall the new role be allowed to create databases? (y/n) y Shall the new role be allowed to create more new roles? (y/n) n
$ psql
postgres=# postgres=# alter role biomaid_user with password “biomaid_pwd”;
configuration des accès à postgresql :
# cd /var/lib/pgsql/data # nano pg_hba.conf
mettre “md5” comme méthode d’identification sur le port local en IPv4
ouverture des ports de firewalld :
# firewall-cmd –zone=public –add-port=8000/tcp –permanent # firewall-cmd –zone=public –add-service=http –permanent # firewall-cmd –reload
désactiver SELinux
# nano /etc/selinux/config
mettre “disabled” au lieu de “enforcing” dans SELINUX=
se connecter comme biomaid
créer le dossier qui accueillera les logs :
$ mkdir log
Créer la BDD
$ createdb -h localhost -U biomaid_user biomaid_db
cloner biomaid dans le dossier home de biomaid
installer Poetry
$ curl -sSL https://install.python-poetry.org | python3 -
aller dans le dossier du projet biomaid et installer les dépendances :
$ cd biomaid $ poetry install –no-root
local:
$ ln -sf local_biomaid local
instance configuration
$ cp mktests_instance_settings.py instance_settings.py $ nano instance_settings.py
mettre les bonnes infos dans la connexion BDD ajouter l’IP de la VM choisir DEBUG=True pour commencer
migration initiale :
$ poetry shell $ python manage.py migrate
revenir comme root
activer le démon nginx :
# systemctl enable –now nginx
Créer le fichier de service suivant dans /etc/systemd/system/