Difference between revisions of "Interfaces Exterieur vers Dolibarr"

From Dolibarr ERP CRM Wiki
Jump to navigation Jump to search
m
m (Updating interlang links (links to translated versions of this page in other languages) triggered by origin English page "Interfaces_from_foreign_systems_toward_Dolibarr" update.)
 
(18 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 +
<!-- BEGIN interlang links -->
 +
<!-- Do NOT edit this section
 +
    Links below are automatically managed by PolyglotBot
 +
    You can edit links on the English source page : Interfaces_from_foreign_systems_toward_Dolibarr -->
 +
[[en:Interfaces_from_foreign_systems_toward_Dolibarr]]
 +
[[es:Interfaces_del_Exterior_hacia_Dolibarr]]
 +
[[zh:外部系统到Dolibarr的接口]]
 +
<!-- END interlang links -->
 +
 
{{TemplateDocDev}}
 
{{TemplateDocDev}}
Il y a 3 méthodes pour permettre à une application extérieure d'insérer des données dans Dolibarr. Les 2 techniques possibles sont les suivantes:
+
Il y a 3 méthodes pour permettre à une application extérieure d'insérer des données dans Dolibarr (Pour des informations sur l'autre sens et permettre à Dolibarr d'insérer des données à l'exterieur, voir la page [[Interfaces Dolibarr vers exterieur]]).
 
 
 
 
  
 +
Pour agir sur Dolibarr depuis l'extérieur, les 3 techniques possibles sont les suivantes:
  
  
Line 15: Line 23:
  
 
= Utilisation des classes PHP =
 
= Utilisation des classes PHP =
Il est possible d'utiliser les objets métiers de Dolibarr (Les fichiers xxx.class.php).
+
Il est possible d'utiliser les objets métiers de Dolibarr (Les fichiers xxx.class.php). Chacun de ces fichiers offre un classe munie de méthodes pour:
Chacun de ces fichiers offre un classe munie de méthodes pour:
+
 
 
* la récupération d'une entité (la méthode fetch)
 
* la récupération d'une entité (la méthode fetch)
 
* l'insertion en base d'une entité (la méthode create ou insert)
 
* l'insertion en base d'une entité (la méthode create ou insert)
 
* la mise à jour d'une entité (la méthode update)
 
* la mise à jour d'une entité (la méthode update)
 
* la suppression d'une entité (la méthode delete) si applicable à l'objet
 
* la suppression d'une entité (la méthode delete) si applicable à l'objet
* d'autres méthodes diverses propre à l'entité manipulée.
+
* d'autres méthodes diverses propre à l'entité manipulée.  
 +
 
 
Cette technique est préférable à la précédente.
 
Cette technique est préférable à la précédente.
  
'''Avantages:''' Elle offre l'avantage de passer à travers les couches de validations métiers des données. Le code d'interface ne doit normallement pas être réécrit en cas de montée de version de Dolibarr.
+
'''Avantages''': Elle offre l'avantage de passer à travers les couches de validations métiers des données. Le code d'interface ne doit normallement pas être réécrit en cas de montée de version de Dolibarr.
 
 
'''Inconvénients:''' Elle n'est exploitable qu'en langage PHP. Votre code doit etre situé sur le meme serveur que les fichiers Dolibarr.
 
 
 
 
 
Voici un exemple pour la création d'un tiers (société client par exemple):
 
 
 
<source lang="php">
 
// On declare la classe que l'on va manipuler
 
include_once('/pathofdolibarrhtdocs/societe.class.php');
 
 
 
// On cree une instance de l'objet à manipuler
 
$mycompany = new Societe($db);
 
 
 
// On renseigne ces caractéristiques
 
$mycompany->nom='Big Brother';
 
$mycompany->client=1;
 
 
 
// Si on veut que l'action de creation soit associé a un utilisateur 'loginuser' particulier,
 
// il faut decommenter cette ligne pour charger les caractéristiques de cet utilisateur.
 
// Si on laisse commenter, Dolibarr mettra null dans les champs du user de création ou mise a jour.
 
// $user->fetch('loginuser');
 
  
// On invoque la creation
+
'''Inconvénients''': Elle n'est exploitable qu'en langage PHP. Votre code doit etre situé sur le meme serveur que les fichiers Dolibarr.
$id=$mycompany->create($user);
 
  
// Pour charger l'objet
+
Voir la page [[Objets métiers]].
$mycompany->fetch($id);
 
  
// Pour mettre a jour
+
= Web services et plateforme nocode d'Automation =
$mycompany->update($user);
+
Voir le module [[Module Web Services API REST (développeur)|Module Web Services API REST]] et le [[Module Services Web API SOAP (développeur)|Module Services Web API SOAP]].
</source>
 
  
Rem: Si on est dans le cas d'un script externe à Dolibarr, il est nécessaire de faire au début,
+
Les API REST sont celles utilisés par les plateformes nocode des outils d'Automation.
avant le include de la classe manipulée
 
<source lang="php">
 
include('/pathofdolibarrhtdocs/master.inc.php');
 
</source>
 
pour que les objets $db, $lang et $user soient créés.
 
Si on veut que les actions (creation, mise a jour), soit associées dans le suivi à un utilisateur particulier, il est nécessaire de faire après l'include du master.inc.php
 
<source lang="php">
 
$user->fetch('loginuser');
 
</source>
 
  
= Web services =
+
= Voir aussi =
Pas encore disponible
+
* [[Système de Hooks]]
 +
* [[Triggers-actions]]
 +
* [[Interfaces Dolibarr vers exterieur]]

Latest revision as of 06:58, 27 September 2023


Il y a 3 méthodes pour permettre à une application extérieure d'insérer des données dans Dolibarr (Pour des informations sur l'autre sens et permettre à Dolibarr d'insérer des données à l'exterieur, voir la page Interfaces Dolibarr vers exterieur).

Pour agir sur Dolibarr depuis l'extérieur, les 3 techniques possibles sont les suivantes:


Insertion des données directement en base

Cette solution requiert de connaître le modèle physique et les valeurs autorisées des champs. Elle est risquée et devra être réécrite en cas de modification du format de base de Dolibarr.

Avantages: Peut être réalisé dans n'importe quel langage.

Inconvénient: Cette technique est très fortement déconseillée. A la première montée de version de Dolibarr, cette méthode risque de ne plus fonctionner et devoir être réécrite. De plus, en utilisant cette méthode, vous passer outre les règles de validation métier, ce qui crée un risque de corrompre les données. Cette méthode nécessite aussi de connaitre la base Dolibarr.

Utilisation des classes PHP

Il est possible d'utiliser les objets métiers de Dolibarr (Les fichiers xxx.class.php). Chacun de ces fichiers offre un classe munie de méthodes pour:

  • la récupération d'une entité (la méthode fetch)
  • l'insertion en base d'une entité (la méthode create ou insert)
  • la mise à jour d'une entité (la méthode update)
  • la suppression d'une entité (la méthode delete) si applicable à l'objet
  • d'autres méthodes diverses propre à l'entité manipulée.

Cette technique est préférable à la précédente.

Avantages: Elle offre l'avantage de passer à travers les couches de validations métiers des données. Le code d'interface ne doit normallement pas être réécrit en cas de montée de version de Dolibarr.

Inconvénients: Elle n'est exploitable qu'en langage PHP. Votre code doit etre situé sur le meme serveur que les fichiers Dolibarr.

Voir la page Objets métiers.

Web services et plateforme nocode d'Automation

Voir le module Module Web Services API REST et le Module Services Web API SOAP.

Les API REST sont celles utilisés par les plateformes nocode des outils d'Automation.

Voir aussi