Installations récentes
📡 Supervision des liens i
Toutes les installations
Clients
🎯 Prospects
Chargement…
✉️ Contacter le lead
🎫 Tickets v2.6i
Tâches
Interventions
💰 Notes de frais
📦 Catalogue produits & services
🔒 Consultation seule — seul un administrateur peut modifier le catalogue.
| Réf. | Désignation | Catégorie | Type | Niveau | Prix HT | Unité | Stock | Statut | Actions |
|---|
📊 Stock en temps réel
| Réf. | Désignation | Stock | Seuil alerte | État |
|---|
📚 Base de connaissances i
🚀 Test de débit internet
Pour faire tester un client à distance, utilisez plutôt le bouton « 🚀 Test de débit » directement dans le ticket : un lien lui sera envoyé par email.
🧾 Devis
| N° | Date | Client | Catégorie | Ponctuel HT | Abo. HT / mois | Installation | Statut | Actions |
|---|
👥 Destinataires
🖨️ Format de sortie
Nom du destinataire + adresse sur chaque étiquette. Imprimez sur la planche correspondante, sans mise à l'échelle (100 %).
Variables : {{contact}} {{entreprise}} {{adresse}} {{cp}} {{ville}}. La signature est ajoutée automatiquement sous le corps.
📱 SMS : évitez les accents (segments). Restez concis (≈160 caractères = 1 SMS).
⚖️ Un lien de désinscription est ajouté automatiquement à chaque email (obligatoire). Insérez {desinscription} pour le placer vous-même.
Destinataires
Importez vos listes de contacts au format Excel (.xlsx) pour vos campagnes. Téléchargez d'abord le fichier exemple, remplissez-le, puis importez-le.
| Entreprise | Contact | Téléphone | Ville | Statut | Actions |
|---|
Contacts envoyés depuis le module Prospection (bouton « Envoyer vers Marketing »). Choisissez une liste pour la cibler dans une campagne.
| Entreprise | Contact | Téléphone | Ville | Liste | Statut | Actions |
|---|
Créez autant de modèles que nécessaire (email ou SMS), réutilisables dans vos campagnes.
| Nom | Type | Sujet / Aperçu | Actions |
|---|
| Date | Campagne | Canal | Dest. | Emails ✓/✗ | SMS ✓/✗ |
|---|
✉️ Messagerie
✏️ Nouveau message
✍️ Votre signature est ajoutée automatiquement à l'envoi.
⚙️ Réglages de la messagerie
🔒 Le mot de passe de la boîte reste géré sur le serveur, pour la sécurité. Un champ laissé vide reprend la valeur du serveur ou le défaut IONOS.
Mise en forme riche (gras, liens, logo via URL). Ajoutée automatiquement en bas de vos messages.
📇 Carnet d'adresses
Prestataires informatiques, photocopieurs, partenaires techniques… Ces contacts sont proposés comme destinataires ou en copie lors du transfert d'un ticket, et en copie à la création d'un ticket. Les catégories se paramètrent dans Configuration → Listes.
⏳ Chargement…
| Date | Parrain | Filleul | Coordonnées | Contexte | Statut | Réduction | Actions |
|---|
| Nom | 📱 Téléphone | Rôle | 🎫 Tickets | 🎯 Compétences | Actions |
|---|
🔄 Mise à jour de l'application
Met à jour le code de l'application (index.html, relais PHP) depuis le serveur de mise à jour. Votre configuration et vos données ne sont jamais modifiées ; les fichiers actuels sont sauvegardés avant remplacement.
📦 Versions disponibles
🗄️ Migrations SQL à appliquer
À exécuter dans Supabase → SQL Editor après la mise à jour (les migrations sont idempotentes).
⚙️ Réglages du serveur de mise à jour
En cas de problème après une mise à jour :
💾 Sauvegarde
Sauvegarde complète (base Supabase + fichiers), chiffrée (GPG AES-256) puis poussée vers ton NAS. Ta configuration et tes données ne sont jamais modifiées.
🗂️ Sauvegardes locales
⚙️ Réglages de sauvegarde
La sauvegarde automatique (cron) et la procédure de restauration sont décrites dans le guide d'installation.
🗄️ Supabase
Connexion de l'application. La clé anon est publique (elle respecte les politiques RLS) — ce n'est pas un secret. La clé sensible (service_role) se règle plus bas, dans « Connexions serveur PHP ».
🔒 Sécurité — Déconnexion automatique
Déconnecte automatiquement l'utilisateur après une période d'inactivité (politique appliquée à tous les comptes). Par défaut 30 minutes · 0 = jamais (la session reste ouverte).
🎬 Intro de connexion — durée du logo
Temps pendant lequel le logo CB TEL reste affiché à la fin de l'animation de connexion, avant le fondu. Par défaut 2,5 s · 0 = fondu immédiat.
🧲 Dropcontact — Enrichissement email
Clé API Dropcontact, utilisée par la prospection (bouton « Enrichir ») pour trouver l'email professionnel d'un contact à partir de son nom et de sa société. À récupérer dans ton compte Dropcontact, onglet « API & intégrations ». Service payant (1 crédit = 1 email trouvé).
📇 Pappers — Données entreprises
Token API Pappers, utilisé par la prospection pour rechercher des sociétés françaises avec données enrichies (dirigeants, NAF, effectif, finances). À créer sur pappers.fr/api (inscription gratuite, quota offert puis payant à l'usage). ⚠️ Données publiques : usage soumis au RGPD pour les données personnelles des dirigeants.
🤖 PhantomBuster — Import de listes
Clé API PhantomBuster, utilisée par la prospection (bouton « 🤖 PhantomBuster (API) ») pour importer le résultat du dernier lancement d'un de tes agents (« phantoms »). À récupérer dans ton compte PhantomBuster › Workspace settings › API key. ⚠️ PhantomBuster automatise souvent du scraping LinkedIn : la conformité (CGU LinkedIn, RGPD) reste sous ta responsabilité — base légale B2B, mention d'information et désinscription (gérée par le module Marketing).
🖥️ Serveur PHP — Identifiants des relais (mail / SMS / monitor / recap) i
Centralise tous les identifiants utilisés par mail.php, sms.php et monitor.php. Les valeurs sont stockées sur votre serveur dans relay-config.json (protégé par .htaccess, jamais accessible depuis le web). Le fichier relay-config.php doit être déposé une fois sur le serveur, avec un secret admin défini dedans.
Définit un nouveau secret, stocké côté serveur — plus besoin d'éditer les fichiers PHP. Authentifiez-vous d'abord avec le secret actuel ci-dessus. Le même secret protège aussi le cron de supervision.
💡 Les champs sensibles affichent ••••••••XXXX (4 derniers caractères) : laissez tels quels si vous ne souhaitez pas les modifier, sinon collez la nouvelle valeur en entier.
📧 Brevo — utilisé par mail.php et monitor.php (alertes)
📨 SMTP IONOS — utilisé en PRIORITÉ par mail.php (Brevo en fallback si échec)
ℹ️ Quand SMTP est activé, mail.php essaie d'abord l'envoi via votre boîte IONOS. Si l'envoi échoue (auth, réseau, etc.), il bascule automatiquement vers Brevo. Aucun quota IONOS sur SMTP authentifié.
📱 Capitole Mobile — utilisé par sms.php
🗄️ Supabase — utilisé par monitor.php (cron) et cal.php (synchro agenda iPhone)
⚠️ Obligatoire si vous utilisez la synchro agenda téléphone, la supervision ou les récapitulatifs.
🌐 Supervision — utilisé par monitor.php
📊 Récapitulatif mensuel
🗺 Google Maps — utilisé par distance.php (calcul auto des km dans les notes de frais)
Activez les API Distance Matrix API sur Google Cloud Console, créez une clé API, puis collez-la ici.
📥 IMAP entrant — utilisé par ticket-imap-poll.php (création automatique de tickets depuis les emails)
Lit la boîte mail toutes les minutes (via cron sur votre VPS) et crée/met à jour les tickets automatiquement. Pré-requis : extension PHP-IMAP installée (sudo apt install php-imap).
📤 B2Brouter — facturation électronique (utilisé par b2brouter.php)
Identifiants de l'API B2Brouter (Plateforme Agréée / PDP). Commencez en staging. Couvre le B2B (DGFiP) et Chorus Pro (B2G) — voir developer.b2brouter.net.
📡 FTP CDR — récupération automatique (utilisé par cdr-ftp.php)
Accès FTP où sont déposés les CDR. Rubix → VoIP · UNYC → mobiles. Alimenté par les boutons d'import de l'app de facturation.
🌴 Congés (paramètres administrateur)
Réglages de la gestion des congés. Les collaborateurs déposent leurs demandes depuis le menu « 🌴 Congés ».
Les jours fériés exclus du décompte sont ceux saisis dans Configuration › Support & IA › Tickets › horaires d'ouverture.
🚗 Notes de frais (paramètres administrateur)
Réglages des notes de frais. Les collaborateurs saisissent leurs déplacements et frais depuis le menu « 🚗 Notes de frais ». Une note récapitulative par mois et par collaborateur.
Ajoutez d'abord au moins une agence.
Le barème kilométrique et les véhicules se règlent via la gestion des véhicules du module Notes de frais.
🏢 Coordonnées de l'entreprise (mentions légales des devis)
Ces informations s'impriment automatiquement en en-tête et pied de chaque devis.
🎨 Identité visuelle (logo, favicon — marque blanche)
Le logo s'affiche sur l'écran de connexion, l'en-tête de l'application et les factures. L'import convertit l'image en base64 (conservée lors des mises à jour). Pour les emails, renseignez une URL hébergée (le base64 ne s'affiche pas dans les emails).
🌐 URL publique de l'application
URL utilisée dans les emails envoyés (lien de signature à distance, rapport client…). Laissez vide pour utiliser l'URL détectée automatiquement par le navigateur.
URL actuellement détectée :
🔒 Domaine & certificat SSL (Let's Encrypt)
Étape 1. Pointez votre domaine vers ce serveur (DNS A record chez IONOS / OVH).
Étape 2. Connectez-vous en SSH à votre serveur et lancez les commandes ci-dessous (LAMP / Apache + Ubuntu/Debian) :
Renouvellement : automatique tous les 60 jours, rien à faire après l'installation initiale.
Plus d'aide : letsencrypt.org · certbot.eff.org
🧾 Paramètres des devis
Cette durée pré-remplit chaque nouveau devis. Un devis envoyé et non signé passe automatiquement en « Refusé » une fois ce délai dépassé.
✋ Causes de refus proposées au client
Quand un client refuse un devis depuis le lien de signature, il choisit l'un de ces motifs.
🏦 Mandat de prélèvement SEPA
Ces informations alimentent la page « Mandat de prélèvement SEPA » ajoutée au devis lorsque la case « Joindre un mandat de prélèvement SEPA » est cochée dans l'éditeur de devis. Le client complétera lui-même ses coordonnées de payeur et son IBAN/BIC.
📊 Plage du compteur « devis signés »
Définit la période affichée par le compteur en haut de la page Devis. Par défaut : janvier → décembre (année civile). Si le mois de début est après le mois de fin (ex. avril → mars), la période est à cheval sur deux années (année fiscale).
🏷️ Titres de devis
Ces titres alimentent la liste déroulante « Titre / objet » de l'éditeur de devis.
📜 Conditions Générales (CGV / CGP)
Ces textes sont présentés au client lors de la signature du devis : il doit cocher « J'ai lu et j'accepte » avant de pouvoir signer. La date d'acceptation est conservée dans la fiche client (onglet CGV/CGP).
💶 Modèle de facture (impression PDF)
Ces réglages alimentent le PDF généré dans le module Facturation. Les coordonnées (raison sociale, adresse, SIRET, TVA intra…) proviennent de l'onglet 🏢 Entreprise ; ici on règle la présentation propre à la facture.
🔢 Numérotation automatique
Format des numéros attribués automatiquement aux installations, interventions et tâches : préfixe + (année) + compteur. Le compteur repart à 1 chaque année et suit les numéros déjà créés. Pour les installations, le numéro reste modifiable à la saisie.
🔔 Notifications programmées
Envoyées automatiquement selon la date d'installation. Avec la planification Supabase activée, l'envoi a lieu même application fermée (sinon, à la prochaine ouverture).
📄 Rapport récapitulatif mensuel
À la date choisie chaque mois, un PDF récapitulatif des installations est envoyé automatiquement (à l'ouverture de l'application ce jour-là ou après) à l'adresse indiquée.
📋 Modèles de titres de tâches
Liste de titres préenregistrés disponibles dans le menu déroulant lors de la création d'une tâche.
🔧 Natures d'intervention
Liste des natures d'intervention disponibles dans le module Interventions d'une installation.
🌐 Opérateurs d'infrastructure
Liste des opérateurs proposés lors de l'ajout d'un lien internet dans la Supervision.
📇 Catégories de prestataires
Catégories proposées dans la fiche d'un contact externe (Relations clients → Prestataires).
📧 Templates Mail
Personnalisez le sujet et le message des emails. L'habillage CB TEL (logo, en-tête, pied de page) est ajouté automatiquement.
Les variables entre {accolades} sont remplacées automatiquement.
📱 Templates SMS
Personnalisez le texte des SMS envoyés. Les variables entre {accolades} sont remplacées automatiquement.
Évitez les accents pour éviter les SMS multi-segments.
📅 Calendriers iCal — synchronisation iPhone / Android
Chaque utilisateur dispose d'une URL personnelle qui expose son propre agenda (étapes d'installation, tâches, interventions assignées). Les administrateurs reçoivent un calendrier général qui agrège tous les événements.
🎨 Couleurs des pastilles
Personnalisez la couleur des pastilles de statut et de priorité affichées sur les tickets. Cliquez sur un carré pour ouvrir le sélecteur.
🎫 Catégories de tickets — routing automatique par l'IA
L'IA classe automatiquement chaque nouveau ticket dans l'une de ces catégories. Pour chacune, vous définissez le technicien par défaut qui recevra ces tickets (cascade : référent si critique → tech dédié client → tech catégorie → load balancing).
🚨 Référents urgence (priorité critique)
Liste ordonnée : un ticket en priorité critique 🟣 est assigné au premier référent disponible (les suivants sont consultés si le 1er est absent). Si aucun référent n'est dispo, fallback vers le load balancing.
🚫 Emails bloqués
Les tickets envoyés depuis ces adresses email (via le portail public ou par email entrant) seront silencieusement rejetés. Vous pouvez bloquer un email exact (spam@exemple.fr) ou un domaine entier (@spam.com).
✅ Whitelist & modération du support email
Contrôlez qui peut créer un ticket en envoyant un email à votre boîte support (support@cbtel.fr).
Expéditeurs autorisés (whitelist)
Email exact (carine@client.fr) ou domaine entier (@client.fr pour couvrir toute la boîte). En mode strict, ces expéditeurs et les contacts des fiches clients (principal, technique, administratif, 🎟 support) créent un ticket sans modération ; les autres vont en modération.
📧 Email entrant (boîte support)
Création automatique de tickets à partir des emails reçus sur votre boîte support. Le polling IMAP (configuré dans Configuration → 🔌 Connexions → 🔒 Identifiants serveur PHP → 📥 IMAP) lit les nouveaux messages et crée un ticket pour chacun. Si l'objet contient un numéro de ticket existant (#TKT-2026-001), le message est ajouté en réponse au lieu de créer un nouveau ticket.
Cette adresse apparaît dans les templates email (variable {support_email}) et dans la signature des accusés de réception envoyés aux clients.
📧 Templates email par statut
À chaque changement de statut d'un ticket, l'email correspondant est envoyé automatiquement aux contacts opt-in du client. Variables disponibles : {ticket_num} {ticket_titre} {ticket_description} {ticket_categorie} {ticket_priorite} {ticket_statut} {client_nom} {assigned_name} {portail_url} {support_email} {date}
support@cbtel.fr par des expéditeurs non whitelistés. Variables disponibles : {from_email}, {from_name}, {subject}, {support_email}, {company_name}, {portail_url}.💡 Les templates sont enregistrés via le bouton « 💾 Sauvegarder » du menu Notifications (système global de templates email).
⏱ Auto-clôture des tickets
Délais à partir desquels les tickets sont automatiquement clôturés. La vérification s'exécute côté serveur toutes les heures.
📅 Plage horaire de service
En dehors de ces horaires, le portail client et l'email entrant refusent la création de tickets avec un message d'information. Les tickets créés par les agents en interne ne sont pas concernés.
🌙 Auto-réponse email pour les demandes reçues hors horaires
Quand un email entrant crée un ticket en dehors des horaires d'ouverture, le ticket est marqué 🌙 Hors horaires et un accusé de réception automatique est envoyé au client. Variables disponibles : {ticket_num}, {client_name}, {next_open_time}, {company_name}, {phone}, {ticket_titre}, {support_email}.
🤖 Réponse automatique par IA
Quand un ticket arrive (portail ou email) dans une catégorie autorisée, l'IA Claude rédige et envoie automatiquement une première réponse au client, puis bascule le ticket en « En attente client ». L'IA est instruite de ne pas inventer de diagnostic et de passer la main à un technicien si nécessaire.
L'IA signe ses réponses avec ce nom et ce rôle, comme un technicien humain. Le client ne sait pas qu'il s'agit d'une IA ; en interne, l'app garde la trace (badge 🤖 visible uniquement par votre équipe).
⚠️ Zone dangereuse
Effacement de masse : supprime TOUS les tickets de la base ainsi que tous leurs messages et historiques. Cette action est IRRÉVERSIBLE et affecte l'intégralité des utilisateurs. Réservé aux situations exceptionnelles (test, migration, RGPD).
🔐 Droits d'accès
Définissez les fonctions accessibles par rôle (valeurs par défaut), puis ajustez-les par utilisateur si besoin. L'administrateur dispose toujours de tous les droits.
ℹ️ Ces droits pilotent l'affichage de l'application (menus, boutons). La sécurité des données reste assurée côté serveur (Supabase).
Droits par défaut du rôle
Droits spécifiques à un utilisateur
L'utilisateur doit se reconnecter pour que ses nouveaux droits prennent effet.
🧭 Organisation du menu
Personnalisez l'ordre des entrées et leur regroupement. Les changements seront appliqués après « 💾 Sauvegarder la configuration » (bouton global en bas de page).
↑ ↓ pour réordonner · 📂 pour déplacer dans une autre zone · ✏️ pour renommer un sous-menu.
📥 Import / Export (Excel)
Complétez votre base à partir de fichiers Excel (.xlsx). Pour chaque catégorie : téléchargez le fichier exemple, remplissez-le, puis importez-le. Vous pouvez aussi exporter les données déjà présentes.
ℹ️ Les colonnes suivies d'un * sont obligatoires ; respectez les intitulés du fichier exemple. Clients et Supervision partagent un même fichier (deux feuilles) ; le Catalogue reste séparé.
• Catalogue → Type : produit, service, main_oeuvre ou abonnement.
• Supervision → Méthode : port, ping ou http. Colonne Actif : oui / non.
🧨 Zone de purge — suppression définitive
Chaque bouton efface toutes les données de la base correspondante. Action irréversible : exportez d'abord si besoin (boutons « 📤 Exporter » ci-dessus, ou page concernée).
🔒 Réservé à l'administrateur. Un code de confirmation aléatoire est à recopier à chaque suppression.
Effacement total — vide en une seule fois toutes les données métier (clients, installations, devis, tickets, interventions, rapports, tâches, supervision, marketing, parrainages, SEPA, dépenses, catalogue…). Conservés : comptes utilisateurs, configuration société, connexions/secrets, grilles de facturation et modèles.
🤖 Intelligence artificielle i
Réglages communs aux fonctions IA : réponse automatique aux tickets, rédaction d'emails et de rapports, base de connaissances.
ℹ️ Clé API Claude à récupérer sur console.anthropic.com (Settings → API Keys).
Ajoutées en priorité aux instructions de l'IA (réponses tickets, emails, rapports). Idéal pour bannir une formule ou imposer un style. Une consigne par ligne.
« Exporter config.js » télécharge un fichier config.js contenant la configuration actuelle. Placez-le à côté d'index.html : l'app fonctionnera à l'identique sur n'importe quel serveur, sans rien reconfigurer.