erplibre/doc/DEVELOPMENT.fr.md
Mathieu Benoit a2d3aa2a78 [ADD] Multilingual translation of all documentation (EN/FR)
Added 30 .base.md files using the mmg (Multilingual Markdown Generator)
format to automatically generate English (.md) and French (.fr.md)
versions of all project documentation.
Updated conf/make.documentation.Makefile to process all .base.md files
via `make doc_markdown`.
2026-03-04 22:23:52 -05:00

7.1 KiB

Guide de developpement

Configurez votre environnement pour developper des modules et deboguer la plateforme.

Procedure d'installation locale

1. Cloner le projet :

git clone https://github.com/ERPLibre/ERPLibre.git

2. Executer le script :

cd ERPLibre
./script/install/install_dev.sh
./script/install/install_locally_dev.sh

3. Lancer ERPLibre

./run.sh

Developper dans le depot Odoo

Vous devez supprimer clone-depth="10" de ./manifest/default.dev.xml afin de pouvoir faire des commits et des pushs. Faites un commit temporaire et regenerez avec ./script/install/install_locally_dev.sh

Forker le projet pour creer un nouveau projet independant d'ERPLibre (obsolete)

ERPLibre a ete cree avec ce script. Il est maintenant obsolete. Utilisez ce script lorsque vous devez forker directement depuis la source originale. N'utilisez pas ce script si vous voulez recevoir les mises a jour d'ERPLibre et suivre le developpement principal.

./script/git/fork_project.py --github_token GITHUB_KEY --organization NAME

Forker tous les depots pour votre propre organisation

Allez dans votre compte Github et generez un jeton pour acceder a l'option de fork avec votre utilisateur. Creez une organisation ou utilisez votre compte personnel et choisissez votre nom d'utilisateur.

Cette commande va forker tous les depots et ERPLibre vers votre propre organisation. Elle garde le suivi d'ERPLibre.

./script/git/fork_project_ERPLibre.py --github_token GITHUB_KEY --organization NAME

Generer le manifeste a partir du csv des depots

Ajoutez le depot dans le fichier ./source_repo_addons.csv

Executez pour generer le manifeste Repo

./script/git/fork_project_ERPLibre.py --skip_fork

Deplacer une base de donnees de la prod vers le dev

Copiez l'image de la base de donnees dans ./image_db/prod_client.zip et executez make db_restore_prod_client. Cela va creer une base de donnees nommee prod_client prete a tester.

Lorsque vous deplacez une base de donnees de la prod vers votre environnement de dev, vous voulez supprimer les serveurs de courriel, les sauvegardes et installer l'utilisateur de test afin de tester la base de donnees. Executez :

./script/database/migrate_prod_to_test.sh DATABASE

Changer les urls git de https vers Git

Cela va mettre a jour toutes les urls au format Git :

./script/git/git_change_remote_https_to_git.py

Afficher les differences de depots entre les projets

Outils pour afficher les differences entre le depot et un autre projet.

./script/git/git_change_remote.py --sync_to /path/to/project/erplibre --dry_sync

Afficher les differences de depots avec le manifeste de developpement

Pour comprendre les divergences avec le manifeste de dev.

./script/git/git_show_code_diff_repo_manifest.py -m ./manifest/default.dev.xml

Synchroniser les depots avec un autre projet

Outils pour synchroniser le depot avec un autre projet. Cela va afficher les differences et essayer de se positionner sur le meme commit dans tous les depots.

./script/git/git_change_remote.py --sync_to /path/to/project/erplibre

Comparer deux fichiers manifestes

Pour afficher les differences entre les commits dans differents manifestes

./script/git/git_diff_repo_manifest.py --input1 ./manifest/MANIFEST1.xml --input2 ./manifest/MANIFEST2.xml

Differences entre le code et le manifeste

Pour afficher les differences entre le code actuel et le manifeste

./script/git/git_show_code_diff_repo_manifest.py --manifest ./manifest/MANIFEST1.xml

Ajouter un depot

Pour acceder a un nouveau depot, ajoutez votre URL dans le fichier source_repo_addons.csv

Forkez le depot pour pouvoir pousser du nouveau code :

./script/git/fork_project_ERPLibre.py

Pour regenerer uniquement le manifest.xml.

./script/git/fork_project_ERPLibre.py --skip_fork

Verifier si le manifeste contient "auto_install" et changer la valeur a False.

./script/git/repo_remove_auto_install.py

Filtrer les depots par groupe

Garder uniquement les depots etiquetes par le groupe 'base' et 'code_generator'

./script/manifest/update_manifest_local_dev_code_generator.sh

Execution

Fichier de configuration

Vous pouvez limiter vos addons dans le fichier de configuration ERPLibre en fonction d'un groupe de votre manifeste actuel.

./script/git/git_repo_update_group.py --group base,code_generator
./script/generate_config.sh

Ou revenir a la normale

./script/git/git_repo_update_group.py
./script/generate_config.sh

Base de donnees

Nettoyer une base de donnees PostgreSQL

Parfois, il n'est pas possible de supprimer une base de donnees depuis le gestionnaire de base de donnees http://127.0.0.1:8069/web/database/manager, vous pouvez donc le faire manuellement. Remplacez database_name par le nom de votre base de donnees :

sudo -iu postgres
psql

Et executez :

DROP DATABASE database_name;

Quittez et supprimez le filestore :

rm -r ~/.local/share/Odoo/filestore/database_name

Developpement

Creer un squelette de module

source ./.venv.erplibre/bin/activate
python odoo/odoo-bin scaffold MODULE_NAME addons/REPO_NAME/

Utiliser le generateur de code

Lisez CODE_GENERATOR.md.

Version

Lisez GIT_REPO.md pour comprendre comment changer de version.

Version Python

Votre version actuelle est dans le fichier .python-odoo-version. Utilisez le script ./script/version/change_python_version.sh 3.7.16 pour changer a la version 3.7.16 .

Lancez l'installation, make install_dev.

Mettez a jour poetry, ./script/poetry/poetry_update.py.

Creez le docker, make docker_build.

Changement majeur de version Python

Lorsque vous devez changer de python 3.7.17 a 3.8.10, faites :

rm -r .venv
make install_dev
./.venv.$(cat ".erplibre-version" | xargs)/bin/poetry lock --no-update

Demande de tirage (Pull request)

Afficher toutes les demandes de tirage d'une organisation

/script/git/pull_request_ERPLibre.py --github_token ### --organization ERPLibre

Commit

Utilisez ce format de commit :

git commit -am "[#ticket] subject: short sentence"

Formatage du code

Python

Utilisez black

./script/maintenance/black.sh ./addons/TechnoLibre_odoo-code-generator

Ou si vous preferez oca-autopep8

./script/maintenance/autopep8.sh ./addons/TechnoLibre_odoo-code-generator

HTML et css

Utilisez prettier

./script/maintenance/prettier.sh ./addons/TechnoLibre_odoo-code-generator

Javascript

Utilisez prettier

./script/maintenance/prettier.sh --tab-width 4 ./addons/TechnoLibre_odoo-code-generator

Pre-commit

Vous pouvez installer pre-commit pour auto-formater et verifier le lint avec la configuration OCA. Cela s'executera avant chaque commit avec git.

Consultez https://github.com/OCA/maintainer-tools/wiki/Install-pre-commit