Personnalisation de DoliSCAN (auto-hébergement)
Arborescence de l'application
L'application serveur DoliSCAN est organisée comme ceci (arborescence classique d'un projet Laravel) :
/app: le code source de l'application/bootstrap: des fichiers temporaires, aucune raison d'y toucher/config: configuration de l'application, normalement il vaut mieux modifier le fichier.envque de modifier les fichiers présents dans ce dossier/database: tout ce qui permet de créer / modifier / mettre à jour la base de données, vous ne devriez pas avoir à y toucher/fail2ban: des outils de filtrage/jeu-essai: des données pour les développeurs (jeu d'essai pour simuler des utilisations)/larecipe-components: morceau de documentation/Modules: modules complémentaires/node_modules: modules complémentaires node/public: partie "publique" de l'application, normalement le virtualhost pointe sur ce sous-dossier/resources: les ressources, c'est ici que vous irez pour personnaliser les pages web et les mails/routes: la table de routage interne de l'application/storage: le stockage des fichiers, logs, images des frais, etc. (voir ci-dessous)/tests: les tests/tools: des outils complémentaires/vendor: toutes les bibliothèques complémentaires qui sont gérées par "composer"
Le dossier storage
Ce dossier contient trois sous-dossiers principaux :
- LdeFrais : pour chaque "ligne de frais" un justificatif. Vous trouverez donc dans ce dossier toute une arborescence de stockage de chaque photo de justificatif envoyé
- NdeFrais : les "notes de frais", donc le stockage des PDF et autres fichiers générés par DoliSCAN
- CdeFrais : les "classeurs de frais" pour les classeurs qui regroupent toutes les notes de frais d'une entreprise pour un import unique dans le logiciel de l'expert-comptable par exemple
À côté de ces trois principaux dossiers vous avez également :
- chunks : un dossier spécial qui stocke les "morceaux" d'images qui arrivent sur le serveur. L'application découpe chaque justificatif en paquets et envoie les paquets en vrac, charge ensuite au serveur de réassembler ces paquets. C'est une solution pour faire face aux problèmes réseau (lents, mauvaise couverture, etc.)
- logs : les journaux système
Personnalisation des pages web
Tout se passe dans le dossier resources/views :
webheader.blade.php: le bandeau de navigation en tête du site webwebfooter.blade.php: le pied de page du site webhome.blade.php: le contenu de la page d'accueil
Personnalisation des emails
Les fichiers à adapter sont dans le dossier resources/views/emails/. Ils sont souvent doublés : l'un permet de générer la partie "html" des mails, l'autre pour la partie "texte brut".
Modèle global des mails (signature / en-tête)
template.blade.php: version htmltemplate_text.blade.php: version texte
Mail d'invitation
account/new_html_content.blade.php: version html du mailaccount/new_text.blade.php: version texte brut
Mail d'information
closed.blade.phpfreezed.blade.phpsend.blade.phptocomplete.blade.php
Vous pouvez modifier le contenu. Attention aux mots clés entre "moustaches" {{ et }} qui sont remplacés par du texte généré par le code de l'application.
Personnalisation des documents PDF générés
Les documents PDF générés par DoliSCAN sont en vérité des documents "html" qui sont ensuite automatiquement transformés en PDF.
Vous trouverez les squelettes des documents PDF dans la même arborescence que les "pages web" ou les "emails" : resources/views. Ils sont suffixés du code "print" pour les identifier plus facilement :
webprint.blade.php: la "note de frais" en tant que telle, elle fait appel à deux autres fichiers :webprintsubpart.blade.php: sous-partie réutilisée pour chaque type de fraiswebprintsubpartIK.blade.php: sous-partie spécifique des indemnités kilométriques
webuserprint.blade.php: la fiche utilisateurwebprintconfigaccounts.blade.php: la fiche de configuration des comptes- Les fichiers
*justificatifs*sont dédiés au mécanisme d'export des justificatifs (ça regroupe X photos sur une seule page A4 PDF)