2026-02-15 01:07:25 -05:00
# ERPLibre
2026-03-07 00:29:49 -05:00
ERPLibre est une plateforme CRM/ERP incluant l'installation, la maintenance et le développement automatisés de modules
2026-02-15 01:07:25 -05:00
open source de la version communautaire d'Odoo. C'est un "soft-fork" de l'Odoo Community Edition (OCE), ce qui signifie
2026-03-07 00:29:49 -05:00
qu'il vise à contribuer en amont.
Il est basé sur un ensemble de modules prêts pour la production, supportés par l'Odoo Community Association (OCA) et un
écosystème d'entreprises spécialisées. Cette solution assure la souveraineté numérique dans un environnement local tout
en intégrant des Transformers Génératifs Pré-entraînés (GPT), apportant une dimension supplémentaire à la gestion des
données et à l'automatisation.
2026-02-15 01:07:25 -05:00
Suivez-nous sur Mastodon : https://fosstodon.org/@erplibre
2026-03-07 00:29:49 -05:00
# Fonctionnalités
2026-02-15 01:07:25 -05:00
2026-03-07 00:29:49 -05:00
- **Support multi-version Odoo** : exécutez Odoo 12.0, 13.0, 14.0, 15.0, 16.0, 17.0 et 18.0 dans le même espace de travail, avec des environnements virtuels Python indépendants (`.venv.erplibre` et `.venv.odooXX` )
- **CLI interactif (TODO.py)** : outil interactif guidé pour l'installation, l'exécution, la gestion de bases de données, le formatage de code, la compilation mobile, et plus encore. Lancez-le avec `make`
- **Générateur de code** : générez des modules Odoo automatiquement avec support des vues, portail, snippets, héritage, i18n et JavaScript
- **Automatisation Selenium** : tests web et automatisation avec Selenium Grid, enregistrement vidéo et automatisation de connexion
- **Application mobile** : ERPLibre Home Mobile (Owl + Capacitor), compilée et déployée via TODO.py
- **Déploiement Docker** : images Docker prêtes pour la production avec PostgreSQL 18 et PostGIS
- **Outils de déploiement** : Nginx, Apache, Cloudflare DDNS, Certbot SSL, services systemd
- **Outils de base de données** : sauvegarde, restauration, clonage, migration entre versions, migration production vers développement
- **Outils de performance** : mesure de requêtes par seconde, exécution de tests en parallèle, analyse de couverture
2026-02-15 01:07:25 -05:00
2026-03-07 00:29:49 -05:00
# Versions Odoo supportées
2026-02-15 01:07:25 -05:00
| Odoo version | Python | Status |
|--------------|---------|------------|
| 18.0 | 3.12.10 | Active |
| 17.0 | 3.10.18 | Inactive |
| 16.0 | 3.10.18 | Inactive |
| 15.0 | 3.8.20 | Deprecated |
| 14.0 | 3.8.20 | Deprecated |
| 13.0 | 3.7.17 | Deprecated |
| 12.0 | 3.7.17 | Deprecated |
Changez de version avec `make switch_odoo_18` , `make switch_odoo_16` , etc.
[UPD] install : le venv d'outillage passe en Python 3.14.7
install_erplibre.sh bâtissait .venv.erplibre avec le python3 du système, quelle
que soit sa version : un 3.10 y donnait un venv que l'outillage ne sait pas
charger. Il délègue à install_venv.sh, qui obtient la version par mise, pyenv
ou la distribution, et rebâtit un venv hors service. Le PATCH ne borne que le
venv d'Odoo, dont le pyproject exige « >=3.12.10,<3.13 » : l'exiger ailleurs
écartait un Python de distribution d'un cran en retard — NixOS 25.11 livre
3.14.2 — et faisait compiler CPython pour rien. Le module NixOS déclare
désormais les DEUX Python, substitués depuis les fichiers de version.
Vérifié : 15 tests sur des venvs factices, conservés, rebâtis ou refusés selon
leur état, et un chemin sans pyvenv.cfg garde son contenu.
--- EN ---
install_erplibre.sh built .venv.erplibre with the system python3, whatever its
version: a 3.10 gave a venv the tooling cannot load. It delegates to
install_venv.sh, which obtains the version through mise, pyenv or the
distribution, and rebuilds a venv out of service. The PATCH bounds only Odoo's
venv, whose pyproject requires ">=3.12.10,<3.13": requiring it elsewhere turned
away a distribution Python one step behind — NixOS 25.11 ships 3.14.2 — and
compiled CPython for nothing. The NixOS module now declares BOTH Pythons,
substituted from the version files.
Checked: 15 tests on stub venvs, kept, rebuilt or refused by their state, and a
path without pyvenv.cfg keeps its content.
Assisted-by: Claude Opus 5
2026-09-24 13:31:32 -04:00
Le Python de ce tableau est celui de l'environnement virtuel Odoo.
L'environnement virtuel d'outillage `.venv.erplibre` (TODO, `repo` , formateurs)
tourne sur son propre interpréteur, **3.14.7** , fixé par
`conf/python-erplibre-version` . Là où une distribution ne le porte pas, pyenv
le compile.
2026-02-15 01:07:25 -05:00
2026-03-07 00:29:49 -05:00
# Plateformes supportées
2026-02-15 01:07:25 -05:00
[UPD] readme: the platforms we actually support
The list named Ubuntu, Debian 12, AlmaLinux, Rocky and Arch. It has been
wrong for a while: install_dev.sh also dispatches Fedora, openSUSE and
Linux Mint, each with its own dependency script, and the Debian path
handles trixie as well as bookworm. Someone on Fedora reading this file
concludes ERPLibre is not for them.
Every line is now read from the code rather than remembered. Ubuntu is
checked strictly against 24.04, 25.10 and 26.04, and refuses anything
else; Mint against 22.3; the RHEL family arrives through ID_LIKE, hence
RHEL and CentOS Stream alongside Alma and Rocky; SUSE through zypper,
Leap 16.0 and Tumbleweed. Debian carries no version test, and its qpdf is
built from source when the distribution ships one below 12.2 -- the same
guard the three families share.
The second list, further down, repeated four platforms and forgot the
rest. It now says what make install_os does: detect the distribution and
pick its package manager.
--- FR ---
La liste nommait Ubuntu, Debian 12, AlmaLinux, Rocky et Arch. Elle est
fausse depuis un moment : install_dev.sh aiguille aussi Fedora, openSUSE
et Linux Mint, chacune vers son script de dépendances, et le chemin
Debian traite trixie autant que bookworm. Qui lit ce fichier sous Fedora
en conclut qu'ERPLibre n'est pas pour lui.
Chaque ligne est désormais lue dans le code plutôt que de mémoire. Ubuntu
est vérifiée strictement contre 24.04, 25.10 et 26.04, et refuse le
reste ; Mint contre 22.3 ; la famille RHEL arrive par ID_LIKE, d'où RHEL
et CentOS Stream aux côtés d'Alma et Rocky ; SUSE par zypper, Leap 16.0
et Tumbleweed. Debian ne porte aucun test de version, et son qpdf est
compilé depuis les sources quand la distribution en livre un sous 12.2 —
le même garde que partagent les trois familles.
La seconde liste, plus bas, répétait quatre plateformes et oubliait les
autres. Elle dit maintenant ce que fait make install_os : détecter la
distribution et choisir son gestionnaire de paquets.
Assisted-by: Claude Opus 5
2026-08-17 01:01:50 -04:00
- **Ubuntu** : 24.04, 25.10, 26.04 — 20.04 et 22.04 sont retirées, pikepdf réclamant un qpdf 12.2 bâti en C++20
- **Linux Mint** : 22.3
- **Debian** : 12 (bookworm) et 13 (trixie)
- **Fedora** : 41 et suivantes
- **AlmaLinux, Rocky Linux** : 9 et 10 — RHEL et CentOS Stream empruntent le même chemin
- **openSUSE** : Leap 16.0 et Tumbleweed
- **Arch Linux** : rolling release
2026-09-16 00:41:43 -04:00
- **NixOS** : 25.11 — les dépendances y sont DÉCLARÉES dans `conf/nixos/erplibre.nix` puis appliquées par `nixos-rebuild` , là où les quatre autres familles les installent commande par commande
[UPD] readme: the platforms we actually support
The list named Ubuntu, Debian 12, AlmaLinux, Rocky and Arch. It has been
wrong for a while: install_dev.sh also dispatches Fedora, openSUSE and
Linux Mint, each with its own dependency script, and the Debian path
handles trixie as well as bookworm. Someone on Fedora reading this file
concludes ERPLibre is not for them.
Every line is now read from the code rather than remembered. Ubuntu is
checked strictly against 24.04, 25.10 and 26.04, and refuses anything
else; Mint against 22.3; the RHEL family arrives through ID_LIKE, hence
RHEL and CentOS Stream alongside Alma and Rocky; SUSE through zypper,
Leap 16.0 and Tumbleweed. Debian carries no version test, and its qpdf is
built from source when the distribution ships one below 12.2 -- the same
guard the three families share.
The second list, further down, repeated four platforms and forgot the
rest. It now says what make install_os does: detect the distribution and
pick its package manager.
--- FR ---
La liste nommait Ubuntu, Debian 12, AlmaLinux, Rocky et Arch. Elle est
fausse depuis un moment : install_dev.sh aiguille aussi Fedora, openSUSE
et Linux Mint, chacune vers son script de dépendances, et le chemin
Debian traite trixie autant que bookworm. Qui lit ce fichier sous Fedora
en conclut qu'ERPLibre n'est pas pour lui.
Chaque ligne est désormais lue dans le code plutôt que de mémoire. Ubuntu
est vérifiée strictement contre 24.04, 25.10 et 26.04, et refuse le
reste ; Mint contre 22.3 ; la famille RHEL arrive par ID_LIKE, d'où RHEL
et CentOS Stream aux côtés d'Alma et Rocky ; SUSE par zypper, Leap 16.0
et Tumbleweed. Debian ne porte aucun test de version, et son qpdf est
compilé depuis les sources quand la distribution en livre un sous 12.2 —
le même garde que partagent les trois familles.
La seconde liste, plus bas, répétait quatre plateformes et oubliait les
autres. Elle dit maintenant ce que fait make install_os : détecter la
distribution et choisir son gestionnaire de paquets.
Assisted-by: Claude Opus 5
2026-08-17 01:01:50 -04:00
- **macOS** : par mise ou pyenv
- **Windows** : par WSL ou Docker
- **Architectures** : amd64, arm64 et s390x (mainframe IBM Z)
2026-02-15 01:07:25 -05:00
2026-03-07 00:06:40 -05:00
# Installation en production
2026-02-15 01:07:25 -05:00
## Installation facile sur Ubuntu ou Debian avec Docker
2026-03-07 00:29:49 -05:00
Ceci a été testé sur Debian 12 et Ubuntu 24.04 LTS.
2026-02-15 01:07:25 -05:00
2026-03-07 00:29:49 -05:00
**Note** : Ceci est prévu pour un environnement de test, sur un réseau local ou un environnement similaire non exposé
directement à Internet.
2026-02-15 01:07:25 -05:00
2026-03-07 00:29:49 -05:00
1. Assurez-vous que Docker et le serveur web nginx sont installés :< BR >
2026-03-07 00:06:40 -05:00
`sudo apt install docker.io docker-compose-v2 nginx`
1. Obtenez le dernier fichier Docker compose d'ERPLibre :< BR >
`wget https://raw.githubusercontent.com/ERPLibre/ERPLibre/master/docker-compose.yml`
1. Installez et lancez ERPLibre avec Docker en mode daemon (serveur web) :< BR >
``sudo docker compose up -d`
2026-03-07 00:29:49 -05:00
1. Ouvrez l'étape finale d'installation à cette page web :< BR >
2026-03-07 00:06:40 -05:00
`http://[server IP]:8069/web/database/manager` < BR >

2026-03-07 00:29:49 -05:00
1. Terminez l'installation en fournissant un nom de base de données, un courriel et un mot de passe, puis cliquez sur **Create Database** .
Selon les ressources de votre système, **cela peut prendre plus de 2 minutes sans retour visuel !** Vérifiez
2026-03-07 00:06:40 -05:00
l'indicateur de chargement de votre navigateur.
1. Ensuite, la page web se rechargera automatiquement et vous devriez voir la liste des applications dans ERPLibre :< BR >

Vous pouvez maintenant personnaliser votre installation ERPLibre.
Pour plus d'informations, consultez le [guide Docker ](./docker/README.md ).
## Installation depuis le code source
2026-03-07 00:29:49 -05:00
### Installation automatisée
2026-03-07 00:06:40 -05:00
Pour Debian/Ubuntu
```bash
sudo apt install make python3
```
2026-02-15 01:07:25 -05:00
Clonez le projet :
```bash
git clone https://github.com/ERPLibre/ERPLibre.git
cd ERPLibre
```
2026-03-07 00:29:49 -05:00
Suivez les instructions du script suivant, il essaiera de détecter votre environnement.
2026-02-15 01:07:25 -05:00
```bash
make
```
[FIX] démarrage : choisir un interpréteur capable de lire TODO
install.sh et make lançaient todo.py par son hashbang, donc par le python3 du
PATH, sans rien garantir de sa version : une syntaxe plus récente l'arrête en
SyntaxError au chargement, et le poste hors d'âge perd tout moyen de lancer
l'installation qui l'en sortirait. L'ordre est désormais le venv d'outillage,
sinon le python3 du PATH s'il suffit, sinon l'installation. TODO lui-même se
relance dans le venv, vérifie version et modules avant ses imports, et propose
l'installation en terminal — ce que « make » sur un clone neuf promet depuis
toujours sans le tenir.
Vérifié : venv à jour, venv périmé, systèmes en 3.10, 3.14 et 3.15 vont chacun
où il faut ; un import du module ne relance rien et lève comme avant.
--- EN ---
install.sh and make ran todo.py through its hashbang, so through the python3 of
the PATH, with no guarantee about its version: a newer syntax stops it with a
SyntaxError at load, and the ageing machine loses every way to start the
install that would rescue it. The order is now the tools venv, else the python3
of the PATH when it suffices, else the install. TODO itself relaunches in the
venv, checks version and modules before its imports, and offers the install in
a terminal — what "make" on a fresh clone has always promised without
keeping.
Checked: fresh venv, stale venv, systems on 3.10, 3.14 and 3.15 each go where
they should; importing the module relaunches nothing and raises as before.
Assisted-by: Claude Opus 5
2026-09-24 13:32:16 -04:00
`make` et `./install.sh` lancent TODO par l'interpréteur capable de le lire :
`.venv.erplibre` quand il porte la bonne version, sinon le `python3` du système
s'il est assez récent, sinon l'installation elle-même — un système plus ancien
que `conf/python-erplibre-version` ne sait pas analyser le code, donc on va
droit à l'installation plutôt que de s'arrêter sur une erreur de syntaxe. Quand
l'environnement manque mais que le Python du système suffit, TODO propose de
lancer `./script/install/install_erplibre.sh` (dans un terminal) ou affiche
cette commande. L'installation bâtit l'environnement par
`EL_PYTHON_PROVIDER` (mise ou pyenv) ; un `.venv.erplibre` existant sur une
autre version de Python est SUPPRIMÉ puis rebâti, et ce qu'on y avait posé à la
main part avec lui.
2026-02-15 01:07:25 -05:00
### Manuellement
2026-03-07 00:29:49 -05:00
Sous Ubuntu, dépendance minimale :
2026-02-15 01:07:25 -05:00
```bash
sudo apt install make git curl
```
2026-03-07 00:29:49 -05:00
Sous Ubuntu, dépendance développeur :
2026-02-15 01:07:25 -05:00
```bash
sudo apt install make build-essential libssl-dev zlib1g-dev libreadline-dev libsqlite3-dev curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev liblzma-dev libbz2-dev libldap2-dev libsasl2-dev
```
Clonez le projet :
```bash
git clone https://github.com/ERPLibre/ERPLibre.git
cd ERPLibre
```
2026-09-16 00:41:43 -04:00
`make install_os` détecte la distribution et choisit le bon script de dépendances : apt pour Ubuntu, Linux Mint et Debian, dnf pour Fedora et la famille RHEL, zypper pour openSUSE, pacman pour Arch, et un module déclaratif pour NixOS. Voir les plateformes supportées ci-dessus.
2026-02-15 01:07:25 -05:00
```bash
make install_os
make install_odoo_18
```
2026-03-07 00:29:49 -05:00
Installez une version spécifique d'Odoo :
2026-02-15 01:07:25 -05:00
```bash
make install_odoo_16
make install_odoo_17
make install_odoo_18
```
2026-03-07 00:29:49 -05:00
Mettez à jour votre configuration si vous devez exécuter depuis une autre interface que 127.0.0.1, fichier `config.conf`
2026-02-15 01:07:25 -05:00
```
xmlrpc_interface = 0.0.0.0
```
Afficher la version :
```bash
make version
```
2026-03-07 00:29:49 -05:00
Prêt à exécuter :
2026-02-15 01:07:25 -05:00
```bash
make run
```
# Test
2026-03-07 00:29:49 -05:00
Exécutez les tests ERPLibre avec son générateur de code.
2026-02-15 01:07:25 -05:00
```bash
time make test_full_fast
```
# Documentation
| Guide | Description |
|-------|-------------|
2026-03-07 00:29:49 -05:00
| [DISCOVER ](doc/DISCOVER.md ) | Découvrir et explorer ERPLibre |
| [DEVELOPMENT ](doc/DEVELOPMENT.md ) | Configuration de l'environnement de développement |
| [PRODUCTION ](doc/PRODUCTION.md ) | Déploiement du serveur de production |
| [RUN ](doc/RUN.md ) | Modes d'exécution et cas d'utilisation |
| [CODE_GENERATOR ](doc/CODE_GENERATOR.md ) | Génération de code de modules Odoo |
| [MIGRATION ](doc/MIGRATION.md ) | Migration de base de données entre versions |
| [GIT_REPO ](doc/GIT_REPO.md ) | Gestion des dépôts Git |
| [POETRY ](doc/POETRY.md ) | Gestion des dépendances Python |
2026-02-15 01:07:25 -05:00
| [FAQ ](doc/FAQ.md ) | Foire aux questions |
| [HOWTO ](doc/HOWTO.md ) | Guides pratiques |
| [WINDOWS_INSTALLATION ](doc/WINDOWS_INSTALLATION.md ) | Installation sous Windows |
# Contribution
Consultez [CONTRIBUTION.md ](doc/CONTRIBUTION.md ) pour les directives.
# Licence
Ce projet est sous licence [GNU Affero General Public License v3.0 ](LICENSE ).