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
233 lines
No EOL
7.5 KiB
Markdown
233 lines
No EOL
7.5 KiB
Markdown
|
|
|
|
# ERPLibre
|
|
|
|
|
|
ERPLibre est une plateforme CRM/ERP incluant l'installation, la maintenance et le développement automatisés de modules
|
|
open source de la version communautaire d'Odoo. C'est un "soft-fork" de l'Odoo Community Edition (OCE), ce qui signifie
|
|
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.
|
|
|
|
|
|
Suivez-nous sur Mastodon : https://fosstodon.org/@erplibre
|
|
|
|
|
|
# Fonctionnalités
|
|
|
|
- **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
|
|
|
|
|
|
# Versions Odoo supportées
|
|
|
|
|
|
| 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.
|
|
|
|
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.
|
|
|
|
|
|
# Plateformes supportées
|
|
|
|
- **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
|
|
- **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
|
|
- **macOS** : par mise ou pyenv
|
|
- **Windows** : par WSL ou Docker
|
|
- **Architectures** : amd64, arm64 et s390x (mainframe IBM Z)
|
|
|
|
|
|
# Installation en production
|
|
|
|
## Installation facile sur Ubuntu ou Debian avec Docker
|
|
|
|
Ceci a été testé sur Debian 12 et Ubuntu 24.04 LTS.
|
|
|
|
**Note** : Ceci est prévu pour un environnement de test, sur un réseau local ou un environnement similaire non exposé
|
|
directement à Internet.
|
|
|
|
|
|
1. Assurez-vous que Docker et le serveur web nginx sont installés :<BR>
|
|
`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`
|
|
1. Ouvrez l'étape finale d'installation à cette page web :<BR>
|
|
`http://[server IP]:8069/web/database/manager`<BR>
|
|

|
|
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
|
|
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
|
|
|
|
### Installation automatisée
|
|
|
|
|
|
Pour Debian/Ubuntu
|
|
|
|
|
|
```bash
|
|
sudo apt install make python3
|
|
```
|
|
|
|
|
|
Clonez le projet :
|
|
|
|
|
|
```bash
|
|
git clone https://github.com/ERPLibre/ERPLibre.git
|
|
cd ERPLibre
|
|
```
|
|
|
|
|
|
Suivez les instructions du script suivant, il essaiera de détecter votre environnement.
|
|
|
|
|
|
```bash
|
|
make
|
|
```
|
|
|
|
|
|
### Manuellement
|
|
|
|
Sous Ubuntu, dépendance minimale :
|
|
|
|
|
|
```bash
|
|
sudo apt install make git curl
|
|
```
|
|
|
|
|
|
Sous Ubuntu, dépendance développeur :
|
|
|
|
|
|
```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
|
|
```
|
|
|
|
|
|
`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.
|
|
|
|
|
|
```bash
|
|
make install_os
|
|
make install_odoo_18
|
|
```
|
|
|
|
|
|
Installez une version spécifique d'Odoo :
|
|
|
|
|
|
```bash
|
|
make install_odoo_16
|
|
make install_odoo_17
|
|
make install_odoo_18
|
|
```
|
|
|
|
|
|
Mettez à jour votre configuration si vous devez exécuter depuis une autre interface que 127.0.0.1, fichier `config.conf`
|
|
|
|
|
|
```
|
|
xmlrpc_interface = 0.0.0.0
|
|
```
|
|
|
|
|
|
Afficher la version :
|
|
|
|
|
|
```bash
|
|
make version
|
|
```
|
|
|
|
|
|
Prêt à exécuter :
|
|
|
|
|
|
```bash
|
|
make run
|
|
```
|
|
|
|
|
|
# Test
|
|
|
|
Exécutez les tests ERPLibre avec son générateur de code.
|
|
|
|
|
|
```bash
|
|
time make test_full_fast
|
|
```
|
|
|
|
|
|
# Documentation
|
|
|
|
| Guide | Description |
|
|
|-------|-------------|
|
|
| [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 |
|
|
| [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). |