Bonne Pratique création d'une page PHP qui n'a rien à voir avec Dolibarr

Bonsoir,

J’aurais une question sur la bonne pratique avec Dolibarr. J’ai besoin de créer plusieurs page en PHP pour importer des données provenant de divers fournisseurs qui sont soit en Excel ou soit en CSV.

Au début, je voulais passer par le module d’import qui est mis à disposition et ensuite faire mes traitements via des trigger (par exemple).
Mais, il n’est pas possible dans le module d’import d’afficher toutes les colonnes d’un document importé pour faire ensuite correspondre les champs nécessaires avec les champs d’un Objet.

L’idée serait donc de créer un page en PHP de A à Z (comme j’ai déjà fait et qui n’a rien a voir avec Dolibarr) et de stocker cette page dans mon module que j’ai crée.

Est ce une bonne pratique, où alors, il faut passer par un autre serveur et faire appel au API ?

Le but est de pouvoir utiliser, la « sécurité » de Dolibarr avec la gestion des accès, profiter d’un environnement déjà existant (objet, infra,etc) et aussi d’utiliser « PHPSpreadsheet » qui est présent.

Je remercie par avant pour vos retours.

Bonjour,

En fonction de la taille des documents, l’import peut durer trop longtemps et finir par faire un timeout.

Ce serait peut-être plus simple d’utiliser une tache cron, coté ihm, juste un upload de fichier à faire et ensuite la tache cron vérifie si un fichier a été déposé et si c’est le cas, démarre l’import.

Bonjour Dev2a,

Merci pour votre retour d’information, je n’avais pas pensé à cette méthode qui pourrait me simplifier encore plus la vie.
Car je pourrais automatiser également le dépôt du document dans un dossier temporaire et via une tâche cron faire tout mon traitement et mon import.

Sinon pour l’import, la durée est ultra rapide. Nous sommes à quelques secondes à aujourd’hui.

Encore merci pour votre retour,

Bonjour,

Vous pouvez utiliser PHP: fastcgi_finish_request - Manual plus simple qu’un mécanisme avec une tâche cron pour éviter le timeout.

Merci pour votre retour.
Je ne connaissais pas cette fonctionnalité.