---
title: "Installation"
weight: 10
description: "Installation du module capPatrol et de ses dépendances Composer."
---

# 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 `tensor` est **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

1. Connectez-vous en administrateur.
2. Rendez-vous dans **Accueil -> Configuration -> Modules/Applications -> Déployer/Installer un module externe**.
3. 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 :

```bash
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

1. Rendez-vous dans **Accueil -> Configuration -> Modules/Applications**.
2. Recherchez **capPatrol** dans la famille "Financier".
3. 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.

![Liste des modules avec capPatrol activé](screenshots/activation-module.webp)

## Vérification post-installation

Après activation :

1. 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.
2. La tâche **"capPatrol - calcul quotidien des anomalies de facturation"** est visible dans **Accueil -> Configuration -> Modules -> Tâches planifiées**.
3. 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 :

1. **Attendre** la prochaine exécution nocturne du cron (6 h par défaut).
2. **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.

![Bouton Recalculer maintenant en haut de la page principale](screenshots/recalculer.webp)

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 :

1. Téléchargez le nouveau zip depuis le DoliStore.
2. Dans **Accueil -> Configuration -> Modules/Applications -> Déployer/Installer un module externe**, téléversez la nouvelle archive.
3. **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.
4. 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-autoloader` dans le dossier du module.

## Désinstallation

1. Rendez-vous dans **Configuration -> Modules/Applications**.
2. 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.
