Documentation Développeur: Difference between revisions

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search
mNo edit summary
mNo edit summary
Tag: 2017 source edit
 
(184 intermediate revisions by 13 users not shown)
Line 1: Line 1:
# Général
<!-- BEGIN interlang links -->
## [[Régles de développement]]
<!-- Do NOT edit this section
## [[Languages]] de développement
    Links below are automatically managed by PolyglotBot
## [[Fichier de configuration]]
    You can edit links on the English source page : Developer_documentation -->
## Définitions des [[Permissions]]
[[en:Developer_documentation]]
## Définitions des [[Constantes]]
[[es:Documentación_Desarrolladores]]
## [[Librairies externes et dépendances]]
[[de:Entwickler_Dokumentation]]
## Le [[Système de menus]]
[[zh:开发文档]]
## Les [[Modules]]
<!-- END interlang links -->
## Les [[Themes]]
{{#metamaster:keywords|développeur, développement, documentation, guide, doc, tutorial, help, api, coding, standard, règles}}
## [[Document générés]]
Cette page est l'index des articles en rapport avec la documentation développeur. Pour la documentation utilisateur, [[Documentation utilisateur|voir ici]].
# Base de données
 
## [[Liste des tables]]
 
## [[Mise à jour du format de la base]]
= Organisation et outils de développement =
# Les Modules
Ce chapitre regroupe des informations générales qu'il est nécessaire de lire avant de commencer toute action de développement sur Dolibarr.
## [[Module Utilisateurs]]
# [[Projet Dolibarr|Organisation du projet]]
## [[Module Facture]]
# [[A savoir avant de commencer|A savoir avant de commencer à developper]]
## [[Module Propositions commerciales]]
# [[Outils de développement|Environnement et Outils de développement]]
###[[Normes développeur Module Proposition commerciales]]
# [[Librairies externes et dépendances]]
## [[Module Produits]]
# [[FAQ_Récupérer,_mettre_à_jours_les_sources_du_projet|Récupérer, mettre à jour les sources d'une version]]
## [[Module Stock]]
 
###[[Normes développeur Module Stock]]
= Règles de codage et bonnes pratiques =
## [[Module Service]]
# [[Langages et normes|Langage et normes de développement (PHP, SQL, HTML)]]
## [[Module Projets]]
# [[:Category:Table SQL|Liste des tables]]
## [[Module Fiches d'intervention]]
# L'arborescence des fichiers et classes du core est disponible sur la [http://doxygen.dolibarr.org/ documentation générée doxygen]
## [[Module Adhérents]]
 
## [[Module Commandes]]
= Liste des modules =
## [[Module Comptabilité]]
La documentation technique, spécifique à un module fonctionnel standard de Dolibarr, est définie sur la page de documentation développeur de chaque module. Choisissez la page qui vous concerne pour y accéder:
## [[Module Expédition]]
 
## [[Module Déplacement]]
* La liste des modules standards est définie sur la page [[:Category:Liste des Modules (développeur)‎|Liste des Modules]]
## [[Module Banque]]
* La liste des modules complémentaires est définie sur la page [[:Category:Modules_complémentaires|Modules complémentaires]]
## [[Module Société]]
 
## [[Module Téléphonie]]
= Développer un nouveau module/extension pour les [http://fr.wikipedia.org/wiki/Interface_homme-machine IHM] =
## [[Module Prélèvements bancaires]]
Cette section décrit comment développer un nouveau module influant sur l'interface utilisateur de Dolibarr. Cela peut être les écrans, le look, le code ou les données.
## [[Module Contrat]]
 
## [[Module Fournisseur]]
Le développement de script n'entre pas dans ce périmètre et est décrit au chapitre suivant.
## [[Module Mailing]]
 
## [[Module Energie]]
Pour développer votre propre module d'extension Dolibarr, aller sur le didacticiel: [[Développement module]]
# Les interfaçages pour un workflow
 
## [[Interfaces Dolibarr vers exterieur]]
= Développer un script ligne de commande ou batch =
## [[Interfaces Exterieur vers Dolibarr]]
Cette section décrit la procédure pour développer son propre script batch afin de réaliser des traitements dans Dolibarr (lecture, écriture, etc...).
La réalisation de modifications sur l'interface utilisateur (IHM) ne rentre pas dans ce périmètre. Voir le chapitre précédent pour cela.
 
Pour développer un script quel qu'il soit, comme un script de traitement cron ou encore un script d'import de données issues d'un autre système, se référer à la page: [[Développement de scripts]]
 
= Les couches techniques de Dolibarr =
== Arborescence des fichiers ==
La hiérachie des fichiers de la version actuelle est visible sur la [http://doxygen.dolibarr.org/ documentation générée doxygen des sources] (documentation générée style "javadoc").
 
Les chemins à utiliser pour ajouter vos fichiers lors de la réalisation d'un nouveau module sont décrits dans la documentation de développement d'un nouveau module (voir [[Développement module]]).
 
== Le Système de paramétrage ==
Il existe 3 niveaux de paramétrage dans Dolibarr.
* La configuration technique de Dolibarr (mode authentification à l'application, identifiant de la base de données et location de l'espace de stockage des fichiers) est définie dans le seul fichier de configuration conf/conf.php. Voir [[Fichier de configuration]] pour plus d'informations.
* Le paramétrage des fonctionnalités est stocké dans la [[Table llx_const]]. Voir la page [[Constantes]] pour plus d'informations.
* Le paramétrage propre à un utilisateur est stocké dans la [[Table llx_user_param]]. Voir la page [[Constantes]] pour plus d'informations.
 
== Les objets métiers ==
Voir la page [[Objets métiers]]
 
== Le Système de menus ==
Voir la page [[Système de menus]]
 
== Le Système des onglets ==
Voir la page [[Système d'onglets]]
 
== Le Système des thèmes ==
Voir la page [[Themes]]
 
== Le Système des boites ==
Voir la page [[Système des boites]]
 
== Le Système d'authentification ==
Voir la page [[Authentification]]
 
== Le Système des permissions ==
Voir la page [[Permissions]]
 
== Le Système de traduction ==
Voir la page [[Système de traduction]]
 
== La Gestion d'erreur ==
Voir la page [[Gestion d'erreur]]
 
== Le système des Canvas (surcharge écrans) ==
Les Canvas sont une fonction développeur pour remplacer les écrans de création, mise a jour ou visualisation d'une fiche (produits, tiers, contacts, ...). Par exemple, vous pouvez remplacer le formulaire de saisie d'un tiers par le votre, ou le formulaire d'édition, ou l'écran de consultation.
 
Voir la page [[Développement Canvas]]
 
== Le système des Triggers ==
Les Triggers sont une fonctionnalité développeurs pour exécuter du code personnaliser durant l'exécution d'un "événement métier" Dolibarr (création de facture, suppression d'un utilisateur, mise à jour d'un tier, etc...), et uniquement pour des événements métiers. Pour personnaliser du code dans un autre contexte, voir plutôt le chapitre '''Le système des Hooks'''.
 
Pour l'utilisation des triggers voir [[Interfaces_Dolibarr_vers_exterieur|cette page]].
 
== Le Système de Hooks ==
Voir la page [[Système de Hooks]]
 
== Le Système de substitution de variables ==
Voir la page [[Système de substitution de variables]]
 
== Les Web services ==
Dolibarr peut être configuré pour fournir des services accessible à un système extérieur.
 
Voir le [[Module Web Services API REST (développeur)]]
 
Note: Le [[Module Services Web API SOAP (développeur)]] est déprécié.
 
== Le stockage de fichiers/documents ==
Voir la page [[Documents générés]]
 
== Les modules de numérotation ==
Pour chaque entité créée dans l'application, Dolibarr attribue une référence. Afin de pouvoir adapter cette référence à toute utilisation, Dolibarr utilise des modules pour définir la règle de génération de cette référence. Des modules sont fournis en standard dontcertains sont génériques et permettent de définir le masque de numérotation (nombre sur x caractère, avec ou sans préfixe, incluant la date ou pas, etc), ce qui permet de répondre à la plupart des besoins. Toutefois, il existe toujours des cas où le module fourni en standard ne réponds pas au besoin. Dans ce cas il est nécessaire de développer son propre module de numérotation.
Plus d'information sur la page [[Créer un module de numérotation]].
 
== Les modèles et la génération de documents ==
Plus de documentation au sujet de la génération de documents depuis des modèles est disponible sur la page [[Créer un modèle de document PDF]] ou [[Créer un modèle de document ODT]].
 
= Les exports/imports de masse =
# [[Imports de masse]]
# [[Module Exports|Exports de masse]]
 
= Interfaces et liens avec d'autres applications =
 
Interfaces using API or WebHooks:
 
*[[Interfaces Dolibarr vers exterieur]] ou Dolibarr vers Dolibarr (Triggers, Hooks ou WebHooks Dolibarr)
*[[Interfaces Exterieur vers Dolibarr]] (API WebServices)
 
Intégrer Dolibarr avec une plateforme de synchronization:
 
*[[Module Splash|Integration of Dolibarr with Splash]]
 
Intégrer Dolibarr avec une plateforme d'automation/nocode:
 
*[[Integration of Dolibarr to the Zapier automation platform]]
*[[Integration of Dolibarr to the n8n automation platform]]
*[[Integration of Dolibarr to the Make automation platform]]
 
Intégrer Dolibarr avec une plateforme ELT/ETL/data integration/no code:
 
*[[Integration of Dolibarr to the Airbyte data integration platform]]
 
= FAQ =
Toutes les FAQ (Foires Aux Questions) sont disponibles via la page d'index [[:Category:FAQ FR|FAQ FR]]

Latest revision as of 01:26, 31 August 2025


Cette page est l'index des articles en rapport avec la documentation développeur. Pour la documentation utilisateur, voir ici.


Organisation et outils de développement

Ce chapitre regroupe des informations générales qu'il est nécessaire de lire avant de commencer toute action de développement sur Dolibarr.

  1. Organisation du projet
  2. A savoir avant de commencer à developper
  3. Environnement et Outils de développement
  4. Librairies externes et dépendances
  5. Récupérer, mettre à jour les sources d'une version

Règles de codage et bonnes pratiques

  1. Langage et normes de développement (PHP, SQL, HTML)
  2. Liste des tables
  3. L'arborescence des fichiers et classes du core est disponible sur la documentation générée doxygen

Liste des modules

La documentation technique, spécifique à un module fonctionnel standard de Dolibarr, est définie sur la page de documentation développeur de chaque module. Choisissez la page qui vous concerne pour y accéder:

Développer un nouveau module/extension pour les IHM

Cette section décrit comment développer un nouveau module influant sur l'interface utilisateur de Dolibarr. Cela peut être les écrans, le look, le code ou les données.

Le développement de script n'entre pas dans ce périmètre et est décrit au chapitre suivant.

Pour développer votre propre module d'extension Dolibarr, aller sur le didacticiel: Développement module

Développer un script ligne de commande ou batch

Cette section décrit la procédure pour développer son propre script batch afin de réaliser des traitements dans Dolibarr (lecture, écriture, etc...). La réalisation de modifications sur l'interface utilisateur (IHM) ne rentre pas dans ce périmètre. Voir le chapitre précédent pour cela.

Pour développer un script quel qu'il soit, comme un script de traitement cron ou encore un script d'import de données issues d'un autre système, se référer à la page: Développement de scripts

Les couches techniques de Dolibarr

Arborescence des fichiers

La hiérachie des fichiers de la version actuelle est visible sur la documentation générée doxygen des sources (documentation générée style "javadoc").

Les chemins à utiliser pour ajouter vos fichiers lors de la réalisation d'un nouveau module sont décrits dans la documentation de développement d'un nouveau module (voir Développement module).

Le Système de paramétrage

Il existe 3 niveaux de paramétrage dans Dolibarr.

  • La configuration technique de Dolibarr (mode authentification à l'application, identifiant de la base de données et location de l'espace de stockage des fichiers) est définie dans le seul fichier de configuration conf/conf.php. Voir Fichier de configuration pour plus d'informations.
  • Le paramétrage des fonctionnalités est stocké dans la Table llx_const. Voir la page Constantes pour plus d'informations.
  • Le paramétrage propre à un utilisateur est stocké dans la Table llx_user_param. Voir la page Constantes pour plus d'informations.

Les objets métiers

Voir la page Objets métiers

Le Système de menus

Voir la page Système de menus

Le Système des onglets

Voir la page Système d'onglets

Le Système des thèmes

Voir la page Themes

Le Système des boites

Voir la page Système des boites

Le Système d'authentification

Voir la page Authentification

Le Système des permissions

Voir la page Permissions

Le Système de traduction

Voir la page Système de traduction

La Gestion d'erreur

Voir la page Gestion d'erreur

Le système des Canvas (surcharge écrans)

Les Canvas sont une fonction développeur pour remplacer les écrans de création, mise a jour ou visualisation d'une fiche (produits, tiers, contacts, ...). Par exemple, vous pouvez remplacer le formulaire de saisie d'un tiers par le votre, ou le formulaire d'édition, ou l'écran de consultation.

Voir la page Développement Canvas

Le système des Triggers

Les Triggers sont une fonctionnalité développeurs pour exécuter du code personnaliser durant l'exécution d'un "événement métier" Dolibarr (création de facture, suppression d'un utilisateur, mise à jour d'un tier, etc...), et uniquement pour des événements métiers. Pour personnaliser du code dans un autre contexte, voir plutôt le chapitre Le système des Hooks.

Pour l'utilisation des triggers voir cette page.

Le Système de Hooks

Voir la page Système de Hooks

Le Système de substitution de variables

Voir la page Système de substitution de variables

Les Web services

Dolibarr peut être configuré pour fournir des services accessible à un système extérieur.

Voir le Module Web Services API REST (développeur)

Note: Le Module Services Web API SOAP (développeur) est déprécié.

Le stockage de fichiers/documents

Voir la page Documents générés

Les modules de numérotation

Pour chaque entité créée dans l'application, Dolibarr attribue une référence. Afin de pouvoir adapter cette référence à toute utilisation, Dolibarr utilise des modules pour définir la règle de génération de cette référence. Des modules sont fournis en standard dontcertains sont génériques et permettent de définir le masque de numérotation (nombre sur x caractère, avec ou sans préfixe, incluant la date ou pas, etc), ce qui permet de répondre à la plupart des besoins. Toutefois, il existe toujours des cas où le module fourni en standard ne réponds pas au besoin. Dans ce cas il est nécessaire de développer son propre module de numérotation. Plus d'information sur la page Créer un module de numérotation.

Les modèles et la génération de documents

Plus de documentation au sujet de la génération de documents depuis des modèles est disponible sur la page Créer un modèle de document PDF ou Créer un modèle de document ODT.

Les exports/imports de masse

  1. Imports de masse
  2. Exports de masse

Interfaces et liens avec d'autres applications

Interfaces using API or WebHooks:

Intégrer Dolibarr avec une plateforme de synchronization:

Intégrer Dolibarr avec une plateforme d'automation/nocode:

Intégrer Dolibarr avec une plateforme ELT/ETL/data integration/no code:

FAQ

Toutes les FAQ (Foires Aux Questions) sont disponibles via la page d'index FAQ FR