🎯 Présentation du module
Le Thème MBI est un thème moderne et complet pour Dolibarr, basé sur Bootstrap 5, qui modernise entièrement l'interface tout en conservant l'ergonomie de Dolibarr. Il remplace l'apparence standard par un design épuré et professionnel (barre supérieure, menu latéral, listes, fiches, tableau de bord) sans changer la logique métier de Dolibarr. Il est en production chez de nombreux clients.
Le thème est composé de deux éléments indissociables :
- un thème (dans htdocs/theme/mbi) qui fournit le rendu visuel (CSS) ;
- un module (themembi, dans htdocs/custom/themembi) qui pilote le gestionnaire de menu, le template de connexion, les transformations de l'interface et active automatiquement le thème.

🧭 Avantages
- Interface modernisée, claire et professionnelle, sans réapprentissage de Dolibarr.
- Meilleure lisibilité des listes, fiches et tableaux de bord.
- Expérience homogène sur l'ensemble des modules de Dolibarr.
- Activation en un clic : le module active et force automatiquement le thème.
⚙️ Fonctionnalités
- Interface Bootstrap 5 complète : barre supérieure, menu latéral repliable, listes, fiches et formulaires retravaillés.
- Tableau de bord modernisé : encarts d'information (info-box) et widgets restylés, graphiques rendus avec ApexCharts.
- Barre de recherche supérieure avec ciblage par catégorie.
- Menu déroulant de notifications (derniers événements de l'agenda de l'utilisateur).
- Fil d'Ariane intégré pour retrouver rapidement les éléments consultés.
- Menu déroulant des marque-pages et accès rapide.
- Prise en charge du mode sombre (option THEME_DARKMODEENABLED).
- Page de connexion personnalisée.
- Compatible multi-société (sélecteur d'entité dans le menu supérieur).
- Affichage responsive adapté aux différentes résolutions.
✅ Compatibilité
- Dolibarr : 19 à 23
- PHP : 7.1 ou supérieur (selon la version de Dolibarr utilisée)
- Pensé pour s'intégrer à l'interface standard de Dolibarr
🔧 Installation
Le thème MBI est composé de deux éléments :
- un thème (à placer dans htdocs/theme/)
- un module (à placer dans htdocs/custom/)
Les deux sont nécessaires au bon fonctionnement du thème.
- Copier le contenu de htdocs dans le dossier htdocs de votre Dolibarr (le thème mbi arrive dans htdocs/theme/, le module themembi dans htdocs/custom/).
- Aller dans Accueil > Configuration > Modules/Applications.
- Activer le module Theme MBI. Le module active et force automatiquement le thème.
⚠️ Attention :
- Activer le thème sans le module provoquera des bugs d'affichage.
- Modifier le thème de Dolibarr une fois le module activé peut aussi provoquer des bugs d'affichage.
📄 Conditions générales d'Utilisation
L'édition du module Theme MBI est assurée par la société MB Informatique SARL (SIRET : 83434236200029), dont le siège social est localisé au 120 rue de l'île Napoléon 68170 Rixheim FRANCE, et dont le numéro de téléphone est le 03 67 262 242. Les présentes Conditions Générales d'Utilisation encadrent juridiquement l'utilisation des services du module Theme MBI.
MB Informatique SARL décline toute responsabilité concernant les éventuels virus pouvant infecter le matériel informatique de l'Utilisateur après l'utilisation ou l'accès à ce module.
La garantie totale de la sécurité, de l'intégrité et de la confidentialité des données, quelles qu'elles soient, n'est pas assurée par MB Informatique SARL.
MB Informatique SARL ne peut être tenue pour responsable de son utilisation en dehors du cadre légal.
Le présent contrat est valable pour une durée indéterminée. Le début de l'utilisation des services du module marque l'application du contrat à l'égard de l'Utilisateur.
👨 Éditeur
Theme MBI est un thème custom Dolibarr développé par MB Informatique.
Il a été conçu pour les structures qui souhaitent une interface Dolibarr moderne, agréable et professionnelle, sans renoncer aux fonctionnalités et à l'ergonomie standard de Dolibarr.
Éditeur : MB Informatique
Contact : info@mb-informatique.fr
Site web : https://www.mb-informatique.fr
Module version: auto
Editeur/Licence: MB Informatique / GPL-v3
Langage interface: Anglais, Français
Assistance: MB Informatique
Prérequis:
- Dolibarr min version: 19.0.0
- Dolibarr max version: 23.0.x
💻 Mises à jours
Version 2.0.0
Passe globale de durcissement, correction de bugs, modernisation et améliorations d'affichage. Validé pour Dolibarr 19 à 23 et PHP 7.1 à 8.2. Le rendu reste inchangé par défaut (sauf bugs corrigés) ; les nouveautés visuelles sont des options.
Sécurité
- Correction d'une injection SQL non authentifiée (notifications_manager.php) et d'une injection SQL (livesearch.php) : authentification imposée, requêtes paramétrées, échappement, restriction à l'entité, jeton CSRF.
- Correction d'une XSS réfléchie dans le lien « imprimer la page » (menu.lib.php).
- Suppression d'une instanciation de classe arbitraire (admin/setup.php).
- Échappement des sorties auparavant non échappées (message de login, URL OpenID, valeurs de configuration, etc.) et jeton CSRF sur les requêtes AJAX de notifications.
- Passe de durcissement post-audit : correction d'une XSS stockée potentielle dans le menu des notifications (libellé d'événement échappé) ; échappement ajouté sur le nom du tiers / de l'utilisateur (barre du haut) et le lien retour de la page « À propos ».
- Recherche live (livesearch.php) : ajout du contrôle des droits utilisateur — un utilisateur sans droit de lecture ne peut plus énumérer tiers, produits, propositions ou événements (seul isModEnabled était vérifié auparavant).
Compatibilité (Dolibarr 19 → 23, PHP 7.1 → 8.2)
- Remplacement des API dépréciées par les helpers modernes (getDolGlobalString/Int, isModEnabled, hasRight) dans tout le module et le thème.
- Hook ActionsThemeMBI rendu compatible PHP 8.2 (propriétés déclarées, #[\AllowDynamicProperties]).
- Page de login corrigée (suppression de jstz.min.js en 404, champ backtopage, hook getLoginPageExtraContent, bouton de rafraîchissement du captcha).
- Sécurisation des accès $_SESSION / $_GET / index de tableau non définis (avertissements PHP 8.1+) ; minimum PHP relevé à 7.1.
Corrections de bugs
- Le JavaScript du thème ne plante plus quand le lien utilisateur de la barre du haut est absent (ex. page de login).
- Corrections diverses : ternaire $eventID, HTML cassé (<select>, </h6>), condition du menu Outils, accès tableau hors borne, THEME_SATURATE_RATIO tronqué, CSS invalide sans effet.
- Barre de recherche du haut : elle transmettait l'ancien paramètre sall (ignoré depuis Dolibarr 14) au lieu de search_all, renvoyant toujours sur la liste non filtrée ; corrigée (la liste est désormais filtrée, ou redirige vers la fiche s'il n'y a qu'un seul résultat).
- Notifications : le marqueur « lu » est désormais propre à chaque utilisateur ; il était partagé par toute l'entité, si bien qu'un utilisateur qui lisait ou vidait ses notifications masquait les notifications non lues des autres.
Affichage / rendu du thème
- Listes : défilement horizontal rétabli ; menu « choisir les colonnes » entièrement visible ; icône de choix des colonnes et case « tout cocher » désormais côte à côte ; ligne des titres de colonnes grisée pour la distinguer des données ; barre de recherche recentrée verticalement et placeholders des filtres (multi-sélection) non tronqués.
- Info-bulles d'objets (getNomUrl) de nouveau fonctionnelles (conflit jQuery UI / Bootstrap résolu, fond opaque, au premier plan).
- Popups : croix de fermeture de nouveau visible et stylée aux couleurs du thème.
- Formulaire tiers : cocher « Client » / « Fournisseur » ne déforme plus les libellés.
- Menu « Créer » des fiches (commande, facture…) de nouveau fonctionnel.
- Onglet « Plus… » des fiches (qui regroupe les onglets en surnombre, p. ex. sur le générateur de modules) : son menu déroulant ne s'ouvrait plus ; rétabli — ouverture au clic, avec défilement si la liste est longue.
- Calendrier (sélecteur de date) multilingue : il s'affichait en anglais et au format mm/dd/yyyy quelle que soit la langue ; désormais correct dans toutes les langues (noms, format, premier jour de la semaine).
- Menu de gauche : doublons « Adhérents » / « Abonnements » masqués ; lien d'accueil « Tiers » ajouté ; défilement corrigé jusqu'au dernier menu.
- Fil d'Ariane revu : couvre tous les modules (et plus seulement tiers/propositions/commandes/factures), objet courant mis en évidence (uniquement quand on est sur sa page) et placé à droite, historique propre à chaque utilisateur, fond harmonisé avec la barre de recherche, clic sur l'icône maison pour le vider.
- Pages d'accueil de module : blocs de widgets mieux espacés.
- Délai de l'écran de chargement réduit (~420 ms → ~150 ms par page).
Nouvelles options (configuration du module)
- Lignes alternées (zébrées) dans les listes et les tableaux de configuration — désactivé par défaut.
- Tableaux encadrés : cadre léger + séparateurs de lignes (listes et configurations) — désactivé par défaut.
- Fil d'Ariane : affichage activable / désactivable — activé par défaut.
Maintenabilité
- Suppression de code mort, dé-duplication du code, README complété (français et anglais).
- Traductions ajoutées en allemand, espagnol et italien (et leurs variantes régionales) : le module est désormais traduit dans 14 langues.
- Version Dolibarr minimale déclarée corrigée (13 → 16, le vrai plancher des API utilisées) ; en-têtes de licence GPL ajoutés aux fichiers qui en manquaient ; clés de traduction inutilisées supprimées ; fichier résiduel apexcharts.min_old.js retiré du paquet.
Version 1.2.x
- Compatibilité multi-société (sélecteur d'entité dans le menu du haut).
- Compatibilité Kanprospects.
- Mise à jour d'ApexCharts.
Version 1.0.0