Outils pour utilisateurs

Outils du site


software:applications:inventree

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
software:applications:inventree [2026/03/08 12:26] yoannsoftware:applications:inventree [2026/03/10 21:29] (Version actuelle) yoann
Ligne 2: Ligne 2:
  
  
-====== IvenTree ======+====== InvenTree ======
  
-InvenTree est un logiciel de gestion d'inventaire open source s'appuyant sur Django et Python.+InvenTree est un logiciel de gestion d'inventaire open source s'appuyant sur Python et le framework Django.
  
  
Ligne 15: Ligne 15:
 Installer les prérequis : Installer les prérequis :
  
-==== Base de données ====+Il est fortement recommandé de ne pas exécuter le serveur InvenTree en tant que root. On crée un utilisateur avec des droits restreints pour l'installation et l'exécution de l'application 
 + 
 +<code bash> 
 +useradd -m -d /home/inventree -s /bin/bash inventree 
 +</code> 
 + 
 +==== Base de données PostgreSQL ====
  
 Inventree peut s'appuyer indifféremment sur Postgresql ou Mariadb. Ici on a fait le choix d'utiliser PostgreSQL : Inventree peut s'appuyer indifféremment sur Postgresql ou Mariadb. Ici on a fait le choix d'utiliser PostgreSQL :
  
 <code bash> <code bash>
-apt-get install postgresql postgresql-contrib libpq-dev+apt-get install -y postgresql postgresql-contrib libpq-dev
 </code> </code>
  
Ligne 27: Ligne 33:
 systemctl status postgresql.service systemctl status postgresql.service
 </code> </code>
 +
  
 Créer une nouvelle base et un rôle : ils seront utilisés par l'application. Créer une nouvelle base et un rôle : ils seront utilisés par l'application.
Ligne 36: Ligne 43:
 <code sql> <code sql>
 CREATE DATABASE inventree; CREATE DATABASE inventree;
-CREATE USER my-user WITH ENCRYPTED PASSWORD 'myPassW0RD'; +CREATE USER itree WITH ENCRYPTED PASSWORD 'myPassW0RD'; 
-GRANT ALL ON SCHEMA public TO my-user;+GRANT ALL ON DATABASE inventree TO itree;
  
-;A VALIDER +WARN : Pour que toutes les requêtes puissent s'exécuter correctement, 
-GRANT ALL ON DATABASE inventree TO my-user;+;        faire de l'utilisateur le possesseur de la base; 
 +ALTER DATABASE inventree OWNER TO itree;
 </code> </code>
  
-Vérifier que la base est accessible pour l'utilisateur inventree :+Quitter le client psql. Depuis le compte root, vérifier que la base est accessible pour l'utilisateur inventree :
  
 <code bash> <code bash>
-runuser -u inventree -- psql --user my-user --password -h /var/run/postgresql inventree+runuser -u inventree -- psql --user itree --password -h /var/run/postgresql inventree
 </code> </code>
 +
 +Sur une installation par défaut, la commande précédente devrait retourner un message d'erreur du type :
 +
 +<file>
 +psql: erreur : la connexion au serveur sur le socket « /var/run/postgresql/.s.PGSQL.5432 » a échoué : FATAL:  authentification peer échouée pour l'utilisateur « itree »
 +</file>
 +
 +A l'installation, le serveur PostgreSQL est paramétré pour n'autoriser les utilisateurs locaux à se connecter à la socket qu' en mode "peer".
 +
 +Modifier le fichier d'autorisation ''/etc/postgresql/17/main/pg_hba.conf'' pour permettre une connexion par role/mot de passe sur la base inventree 
 +
 +<file conf [highlight_lines_extra="8"]>
 +# ...
 +# Database administrative login by Unix domain socket
 +local   all             postgres                                peer
 +
 +# TYPE  DATABASE        USER            ADDRESS                 METHOD
 +
 +# "local" is for Unix domain socket connections only
 +local   inventree       itree                                   password
 +local   all             all                                     peer
 +# ...
 +</file>
 +
 +<note>
 +Attention à la position de la ligne dans le fichier : placer les connexions rôle/mot de passe avant la ligne ''all all peer'' (évaluation séquentielle et sortie à la première correspondance).
 +</note>
 +
 +<code bash>
 +systemctl reload postgresql.service
 +runuser -u inventree -- psql --user itree --password -h /var/run/postgresql inventree
 +</code>
 +
 +Si tout est correctement paramétré, le client psql est connecté au serveur et affiche le nom de la base dans le prompt
 +<file>
 +psql (17.8 (Debian 17.8-0+deb13u1))
 +Saisissez « help » pour l'aide.
 +
 +inventree=>
 +</file>
  
  
 ==== Application ==== ==== Application ====
 +
 +Installer les paquetages prérequis :
  
 <code bash> <code bash>
Ligne 63: Ligne 113:
 </code> </code>
  
-Il est fortement recommandé de ne pas exécuter le serveur InvenTree en tant que root. On crée un utilisateur avec des droits restreints pour l'installation et l'exécution de l'application 
  
 <code bash> <code bash>
-useradd -m -d /home/inventree -s /bin/bash inventree 
- 
 # Création des répertoires nécessaires à l'application # Création des répertoires nécessaires à l'application
 mkdir -p /srv/inventree/data/{static,media,backup} mkdir -p /srv/inventree/data/{static,media,backup}
Ligne 79: Ligne 126:
  
 <code bash> <code bash>
-git clone https://github.com/inventree/inventree src+git clone https://github.com/inventree/inventree src
 git clone https://github.com/inventree/inventree app git clone https://github.com/inventree/inventree app
 </code> </code>
Ligne 86: Ligne 133:
  
 <code bash> <code bash>
-cd src+cd app
 git checkout stable git checkout stable
  
Ligne 107: Ligne 154:
 export INVENTREE_BACKUP_DIR="/srv/inventree/data/backup/" export INVENTREE_BACKUP_DIR="/srv/inventree/data/backup/"
 export INVENTREE_DB_ENGINE=postgresql export INVENTREE_DB_ENGINE=postgresql
-export INVENTREE_DB_NAME=inventree INVENTREE_DB_USER=my-user INVENTREE_DB_PASSWORD="myPassW0RD"+export INVENTREE_DB_NAME=inventree INVENTREE_DB_USER=itree INVENTREE_DB_PASSWORD="myPassW0RD"
  
 invoke install invoke install
 </code> </code>
  
-Initialisation de la base de données :+Initialiser la base de données : 
 + 
 +<code bash> 
 +invoke update --skip-backup 
 +</code> 
 + 
 +Créer le compte d'administration 
 +<code bash> 
 +invoke superuser 
 +</code> 
 + 
 +Tester l'installation avec le serveur de développement : 
 +<code bash> 
 +invoke dev.server 
 +</code> 
 + 
 +Ouvrir le navigateur à l'adresse ''http://your-vm-ip:8000'' 
 + 
 +===== Construire le frontend =====
  
 <code bash> <code bash>
-invoke update+apt install -y yarnpkg
 </code> </code>
  
Ligne 122: Ligne 187:
   * [[https://docs.inventree.org/en/stable/|Documentation officielle InvenTree (docs.inventree.org) (en)]]   * [[https://docs.inventree.org/en/stable/|Documentation officielle InvenTree (docs.inventree.org) (en)]]
   * [[https://docs.inventree.org/en/stable/start/install/|Guides d'installation d'InvenTree (inventree.org) (en)]]   * [[https://docs.inventree.org/en/stable/start/install/|Guides d'installation d'InvenTree (inventree.org) (en)]]
 +  * [[https://docs.inventree.org/en/stable/start/bare_prod/|Installer un serveur de production (docs.inventree.org) (en)]]
 +  * [[https://linuxcapable.com/how-to-install-yarn-on-debian-linux/|Installer yarn sur Debian (linuxcapable.com) (en)]]
software/applications/inventree.1772972807.txt.gz · Dernière modification : 2026/03/08 12:26 de yoann