Personnalisation des Templates dans Dolibarr, Contrats, Factures …

Dolibarr est un ERP/CRM open-source qui permet la gestion d’une grande variété de tâches administratives et commerciales, y compris la génération de contrats et de factures. La personnalisation des templates de contrats et de factures dans Dolibarr est une fonctionnalité puissante qui permet aux entreprises d’adapter les documents à leurs besoins spécifiques. Voici un aperçu de ce que vous pouvez faire pour personnaliser ces templates, ajouter des champs et modifier les polices.

Personnalisation des Templates dans Dolibarr

  1. Accès aux Templates

Pour accéder et personnaliser les templates de contrats ou de factures, suivez ces étapes :

  • Allez dans le module « Facturation » ou « Contrats ».
  • Dans les options de configuration, trouvez l’option « Modèles de documents ».
  1. Personnalisation Basique via l’Interface

Dolibarr permet une personnalisation de base des templates via l’interface utilisateur :

  • Choix du modèle : Dolibarr offre plusieurs modèles prédéfinis. Vous pouvez sélectionner celui qui convient le mieux à vos besoins.
  • Configuration des paramètres : Pour chaque modèle, il est possible de configurer certains paramètres tels que l’affichage du logo, les coordonnées de l’entreprise, etc.
  1. Modification des Champs

Pour ajouter ou modifier des champs dans vos templates :

  • Fichiers de modèles : Les templates de Dolibarr sont souvent des fichiers .odt (pour OpenOffice/LibreOffice) ou .pdf. Vous pouvez les trouver dans le répertoire htdocs/core/modules/ de votre installation Dolibarr.
  • Champs personnalisés : Vous pouvez ajouter des champs personnalisés via le module de configuration des champs (Setup -> Modules -> Custom Fields).
  • Placeholders : Utilisez des placeholders spécifiques dans les templates pour afficher les informations dynamiques (e.g., __CUSTOMER_NAME__, __INVOICE_DATE__). Notez bien les 2 « _ _ » blanc souligné
  1. Changement des Polices et du Style

Pour changer les polices et le style des documents :

  • Templates .odt : Vous pouvez éditer ces fichiers avec LibreOffice ou OpenOffice. Modifiez les polices, les couleurs et les styles comme vous le feriez dans un document texte classique.
  • Templates .pdf : Si vous utilisez un modèle .pdf, vous devrez probablement utiliser un éditeur PDF ou modifier le script PHP générant le PDF.
  • Fichiers CSS : Dans certains cas, Dolibarr utilise des fichiers CSS pour définir le style des documents. Vous pouvez modifier ces fichiers pour changer les polices, les tailles de texte, les marges, etc.
  1. Personnalisation Avancée

Pour une personnalisation plus avancée :

  • Scripts PHP : Si vous avez des connaissances en PHP, vous pouvez éditer les scripts qui génèrent les documents PDF. Ces scripts se trouvent généralement dans les répertoires des modules (htdocs/core/modules/).
  • Hooks et Triggers : Utilisez les hooks et triggers de Dolibarr pour ajouter des fonctionnalités ou modifier le comportement des modules sans toucher directement au code de base. (Nous aurons l’occasion d’y revenir dans un autre article).
  • Extensions et Plugins : Il existe de nombreuses extensions et plugins pour Dolibarr qui peuvent vous aider à personnaliser les templates et ajouter des fonctionnalités supplémentaires.

Exemple Pratique : Ajouter un Champ Personnalisé à une Facture

  1. Créer un champ personnalisé :

    • Allez dans « Configuration » -> « Champs supplémentaires ».
    • Ajoutez un nouveau champ pour les factures (e.g., « Numéro de commande client »).
  2. Modifier le template

    • Ouvrez le fichier template .odt correspondant.
    • Ajoutez un placeholder pour votre nouveau champ (e.g., __CUSTOMER_ORDER_NUMBER__). Notez bien là aussi  les 2 « _ _ » blanc souligné
  3. Mettre à jour le script PHP :

    • Localisez le script PHP qui génère les factures PDF.
    • Ajoutez le code nécessaire pour récupérer et afficher le nouveau champ dans le PDF.

La personnalisation des templates de contrats et de factures dans Dolibarr offre une grande flexibilité. Que ce soit par des modifications simples via l’interface utilisateur ou des ajustements plus complexes dans les scripts PHP et les fichiers de modèles, vous pouvez adapter les documents à vos besoins spécifiques. N’oubliez pas de sauvegarder vos modifications et de tester les templates personnalisés pour vous assurer qu’ils fonctionnent comme prévu.

Plus d’infos sur https://wiki.dolibarr.org/index.php/Champs_personnalises

Modification des Scripts PHP, la personnalisation ultime, mais davantage de risques.

  • Localisation des Scripts : Les scripts PHP responsables de la génération des fichiers PDF se trouvent généralement dans le répertoire htdocs/core/modules de Dolibarr. Par exemple, pour les factures, vous pouvez trouver des fichiers comme pdf_crabe.modules.php, pdf_cameleon.modules.php, etc.

Qui dit « core », cela ne survivra sans doute pas aux prochaines mises à jour.

  • Bibliothèques Utilisées : Dolibarr utilise TCPDF, une bibliothèque PHP pour générer des documents PDF. Vous pouvez consulter la documentation de TCPDF pour des détails sur la personnalisation.

3. Étapes pour Modifier un Script PHP

  • Sauvegarder le Code Original : Avant de faire des modifications, sauvegardez le fichier original. Cela vous permettra de revenir en arrière en cas de problème.
  • Test sur un Environnement de Développement : Testez toutes les modifications sur une copie de votre installation Dolibarr avant de les appliquer sur votre système de production.
  • Ajout de Champs : Pour ajouter un champ personnalisé dans un PDF :

extrait code php

// Exemple de code pour ajouter un champ personnalisé $pdf->SetFont( », ‘B’, 10); $pdf->Cell(0, 10, ‘Numéro de commande client : ‘ . $object->order_number, 0, 1);

  • Modification des Polices et Styles : Utilisez des méthodes TCPDF pour définir les polices et styles :

extrait code php

// Définir la police $pdf->SetFont(‘Helvetica’,  », 12);

4. Précautions à Prendre

  • Compatibilité : Assurez-vous que vos modifications n’affectent pas la compatibilité avec d’autres modules ou fonctionnalités de Dolibarr.
  • Performance : Des scripts mal optimisés peuvent ralentir la génération des PDF. Évitez les boucles inefficaces et les requêtes lourdes à la base de données.
  • Sécurité : Validez toutes les entrées utilisateur pour éviter les injections de code ou autres vulnérabilités.

5. Risques en Cas de Mise à Jour

  • Écrasement des Modifications : Les mises à jour de Dolibarr peuvent écraser vos modifications. Pour éviter cela :
    • Documentation : Documentez soigneusement toutes les modifications que vous apportez.
    • Utiliser des Hooks : Si possible, utilisez des hooks pour intégrer vos modifications sans toucher aux fichiers principaux. Les hooks permettent d’ajouter du code personnalisé qui s’exécute à des points spécifiques du flux de travail de Dolibarr.
    • Gestion des Versions : Utilisez un système de contrôle de version comme Git pour suivre les modifications et faciliter la gestion des conflits lors des mises à jour.
  • Tests Post-Mise à Jour : Après chaque mise à jour de Dolibarr, testez toutes les fonctionnalités modifiées pour vous assurer qu’elles fonctionnent toujours correctement. Préparez un plan de retour en arrière en cas de problème.

Exemple Pratique de Modification

Pour illustrer la modification d’un script PHP générant un PDF, voici un exemple où nous ajoutons un champ personnalisé dans le fichier pdf_crabe.modules.php pour les factures :

  1. Localiser et Sauvegarder le Fichier :
    • Localisez le fichier pdf_crabe.modules.php dans le répertoire htdocs/core/modules/facture/doc/.
    • Sauvegardez une copie de ce fichier.
  2. Ajouter le Champ Personnalisé :
    • Ouvrez le fichier dans un éditeur de texte.
    • Recherchez la fonction write_file.
    • Ajoutez le code pour afficher le champ personnalisé, par exemple :

Extrait code php

// Récupérer la valeur du champ personnalisé $order_number = $object->order_number; // Ajouter le champ au PDF $pdf->SetFont( », ‘B’, 10); $pdf->Cell(0, 10, ‘Numéro de commande client : ‘ . $order_number, 0, 1);

  1. Tester les Modifications :
    • Testez la génération de factures pour vous assurer que le champ personnalisé s’affiche correctement.

Conclusion

Personnaliser les templates PDF dans Dolibarr en modifiant les scripts PHP est une tâche puissante mais délicate. En prenant les précautions nécessaires et en suivant les bonnes pratiques de développement, vous pouvez adapter les documents générés à vos besoins spécifiques tout en minimisant les risques lors des mises à jour de Dolibarr.

Pascal Bazzea – 12/07/2024

Laisser un commentaire