Installation
Pré-requis
- Dolibarr 18 ou supérieur.
- PHP 8.1 au minimum (8.2 ou 8.3 recommandé).
- Composer disponible sur le serveur (en ligne de commande).
- L'extension PHP
tensorest optionnelle (elle accélère la bibliothèque Rubix ML, mais le module fonctionne sans elle).
Téléchargement
Récupérez la dernière version du module sur la fiche capPatrol du DoliStore. Le fichier obtenu est un zip nommé module_cappatrol-X.Y.Z.zip.
Installation depuis l'interface Dolibarr
- Connectez-vous en administrateur.
- Rendez-vous dans Accueil -> Configuration -> Modules/Applications -> Déployer/Installer un module externe.
- Téléversez le fichier zip.
Dolibarr extrait automatiquement le module dans le bon dossier (htdocs/custom/cappatrol/).
Installation des dépendances Composer
capPatrol embarque la bibliothèque Rubix ML via Composer. Une fois les fichiers déposés, exécutez sur le serveur :
cd /chemin/vers/htdocs/custom/cappatrol
composer install --no-dev --optimize-autoloader
La commande télécharge Rubix ML dans le dossier vendor/ du module. Le résultat doit afficher quelque chose comme :
Installing rubix/ml (2.5.x): Extracting archive
...
Generating optimized autoload files
Si Composer n'est pas installé, suivez la procédure officielle : https://getcomposer.org/download/.
Note : si vous utilisez l'extension PHP
tensor, Rubix ML l'utilisera automatiquement pour accélérer les calculs. Sinon, Rubix tombe sur l'implémentation pure PHP et tout fonctionne quand même.
Activation du module
- Rendez-vous dans Accueil -> Configuration -> Modules/Applications.
- Recherchez capPatrol dans la famille "Financier".
- Cliquez sur l'interrupteur pour l'activer.
L'activation crée trois tables dans la base de données Dolibarr et installe une tâche planifiée quotidienne.

Vérification post-installation
Après activation :
- L'entrée capPatrol (avec son chien de garde) apparaît dans le menu de gauche de Facturation. Elle ouvre le tableau de bord ; ses sous-entrées mènent à chaque contrôle. Sur une installation existante, désactivez puis réactivez le module pour que Dolibarr recrée ce menu.
- La tâche "capPatrol - calcul quotidien des anomalies de facturation" est visible dans Accueil -> Configuration -> Modules -> Tâches planifiées.
- Le widget "capPatrol - Top 5 anomalies" est disponible dans la page d'accueil Dolibarr.
Pour que la tâche planifiée tourne effectivement, le cron Dolibarr doit être actif sur votre serveur (cron OS de niveau système). Voir la documentation officielle : https://wiki.dolibarr.org/index.php/Module_Cron_Job.
Premier calcul
Deux possibilités pour obtenir les premiers résultats :
- Attendre la prochaine exécution nocturne du cron (6 h par défaut).
- Forcer le calcul depuis l'écran principal : ouvrez Facturation -> capPatrol -> Anomalies clients et cliquez sur "Recalculer maintenant". Pour un parc de quelques milliers de tiers, le calcul prend quelques secondes à quelques dizaines de secondes.

Le bouton "Recalculer maintenant" est synchrone : la page se bloque le temps du calcul puis se rafraîchit automatiquement. Pour les très gros parcs (plus de 10 000 tiers), nous recommandons de laisser le cron nocturne faire le travail plutôt que de bloquer une session interactive.
Mise à jour
Pour mettre à jour le module vers une nouvelle version :
- Téléchargez le nouveau zip depuis le DoliStore.
- Dans Accueil -> Configuration -> Modules/Applications -> Déployer/Installer un module externe, téléversez la nouvelle archive.
- Désactivez puis réactivez le module dans la liste des modules. Cette étape est importante : elle applique les éventuelles évolutions de schéma de base de données et enregistre les nouveaux droits ou hooks.
- Si la nouvelle version embarque une mise à jour de Rubix ML ou d'autres dépendances Composer, relancez la commande
composer install --no-dev --optimize-autoloaderdans le dossier du module.
Désinstallation
- Rendez-vous dans Configuration -> Modules/Applications.
- Cliquez sur l'interrupteur de capPatrol pour le désactiver. Les paramètres de configuration sont supprimés automatiquement.
Les tables de données (llx_cappatrol_anomaly_score, llx_cappatrol_whitelist, llx_cappatrol_run) sont conservées par sécurité. Si vous voulez vraiment tout supprimer, demandez à votre administrateur base de données d'exécuter les commandes SQL appropriées.