Documentation produit / Édition 01
Ouvrir le CRM ↗

Trouver · Comprendre · Contacter · Suivre

De la recherche locale
au suivi commercial.

Le guide d’utilisation de votre CRM Prospection B2B. Retrouvez les fonctions disponibles, les étapes à suivre au quotidien et les évolutions recommandées pour gagner en fiabilité et en efficacité.

Google Maps · Belgique & FrancePipeline & relancesEnrichissement & emails

Analyse du code et lecture de la base locale le 16 octobre 2026. Les limites connues figurent dans le guide. Les traitements externes et les envois réels n’ont pas été exécutés pour cette analyse.

01

Le CRM en un regard

Un outil local destiné à la prospection de commerces, PME et indépendants, particulièrement adapté à la vente de sites web, de référencement local et de services marketing.

01 / TrouverRechercher un métier dans une ville et collecter les fiches Google.
02 / QualifierCompléter les contacts et identifier des pistes commerciales.
03 / ContacterPréparer un appel, un email ou une séquence.
04 / SuivreMettre à jour le statut, les notes et la prochaine relance.

État observé le 16 octobre 2026

0lead dans la base actuelle
7statuts commerciaux
16vues de navigation
3étapes email par défaut

Le serveur répond sur 127.0.0.1:8787. Aucun email réellement envoyé n’est enregistré dans la base actuelle. Le transport email est désactivé, la simulation est active, l’automatisation est inactive et aucune clé PageSpeed n’est configurée. Ces valeurs sont une photographie à la date de l’analyse, pas des compteurs en direct.

Le bon point de départ

La base étant vide, commencez par une recherche complète de 20 à 30 entreprises dans une seule ville. Enrichissez ensuite leurs sites, puis qualifiez les fiches avant de contacter les prospects.

Le sous-dossier linkedin-agent contient une autre application, « Signal », prévue sur le port 8790. Ses fonctions LinkedIn ne sont pas intégrées aux menus ni aux fiches de ce CRM. Ce guide couvre le CRM du port 8787.

02

Les fonctions actuelles

Inventaire du périmètre fonctionnel présent dans l’interface, le serveur et les commandes locales.

ModuleCe qu’il permet aujourd’huiAccès
Utilisateurs & attributionsComptes administrateur/commercial, activation/désactivation, réinitialisation du mot de passe, attribution individuelle ou groupée et filtre Responsable. Les commerciaux sont limités à leurs fiches.Administration → Utilisateurs / Prospects
ConnexionCompte local, affichage du mot de passe saisi, session, déconnexion, blocage temporaire après plusieurs échecs.Écran de connexion
Prospection Google MapsRequête libre, pays BE/FR, quantité souhaitée, mode complet ou rapide, création ou mise à jour des leads.Nouvelle prospection
Recherche en lotCombinaisons de secteurs et de villes, plafond de requêtes, nombre de fiches par recherche.Secteur × ville
AccueilIndicateurs cliquables, relances dues, raccourcis métier et dernières recherches ; page d’entrée après connexion.Accueil
Base de leadsTableau paginé, recherche textuelle, filtres cumulables, critères de tri, affichage compact, sélection multiple.Prospects et segments
Analyse de sitesExtraction d’emails, téléphone, liens sociaux, CMS, outils de mesure, balises publicitaires, HTTPS, indices mobile et formulaire, informations légales.Fiche ou sélection
OpenStreetMapRapprochement d’établissements et complément de contacts, avec provenance, distance et score de correspondance lorsqu’ils sont disponibles.Barre haute ou sélection
Google Business ProfileRéinterprétation du texte Google déjà collecté : revendication estimée, posts, attributs, photos, prix, complétude.Reparser Google / Analyser fiche Google
PageSpeed InsightsAudit mobile ou ordinateur : performance, SEO, accessibilité, bonnes pratiques et métriques de chargement.Barre haute, fiche, sélection
Score & argumentairePriorité de 0 à 100, angles pondérés, argumentaire généré par règles, scripts et messages personnalisés.Liste, fiche, appels
Fiche prospectCoordonnées et liens, données Google/web/légales, statut, contact, notes, étiquettes, date de relance, historique des échanges.Clic sur un lead
PipelineColonnes par statut, glisser-déposer, score, contacts, relance due, ouverture de fiche, filtres.Pipeline
Mode appelFile de prospects, script, notes, résultat d’appel, statut et relance enregistrés, passage au suivant.Mode appel
RelancesListe des échéances atteintes et des prospects au statut À relancer sans date ; choix individuel ou groupé d’une date, délai par défaut.Relances / Fiche / Sélection
Email individuelCréation d’un objet et d’un message, copie du texte et ouverture de la messagerie par défaut.Écrire un email
Séquences emailInscription, simulation, envoi manuel ou automatique, Brevo ou webhook n8n, plafonnement, historique, arrêt et réponse déclarée manuellement.Séquences email
Doublons possiblesPaires candidates, signaux communs, comparaison côte à côte, ouverture des fiches et masquage local.Doublons à vérifier
Corbeille et sauvegardesMise en corbeille depuis la ligne, la fiche ou une sélection ; restauration complète du lead et de son historique, purge confirmée, sauvegardes automatiques/manuelles et téléchargement de la base.Corbeille & sauvegardes
ExportsCSV depuis l’interface ; JSON et CSV de préparation d’import CRM via API ou commande locale.Exporter
Statistiques & journalVolumes, statuts, scores, qualité de contacts, répartition géographique, angles, enrichissement, audits, emails et actions enregistrées.Statistiques / Journal
RéglagesSignature, offre, pagination, délai de relance, transport email, expéditeur, simulation, automatisation, clé et stratégie PageSpeed.Réglages
Commandes & APIAccès programmatique aux fonctions et opérations de maintenance : diagnostic, recalcul des scores, réparation, zones et fiche texte.Annexe technique
03

Démarrer et se connecter

  1. Démarrez l’application.

    Dans le dossier du projet, double-cliquez sur crm.cmd. Node.js doit être installé. Le serveur local doit rester en fonctionnement pendant l’utilisation.

  2. Ouvrez le CRM.

    Accédez à http://127.0.0.1:8787/. Si la page est déjà ouverte, actualisez-la.

  3. Connectez-vous.

    Saisissez votre identifiant personnel et votre mot de passe exactement ; « Afficher » aide à repérer une faute. N’ajoutez pas le point final d’une phrase au mot de passe.

  4. Complétez votre signature.

    Ouvrez « Réglages », indiquez votre nom, votre entreprise, vos coordonnées et votre offre. Cliquez sur « Enregistrer ».

Session

Le cookie de connexion dure 12 heures. Un redémarrage du serveur invalide les sessions en mémoire : reconnectez-vous. Le bouton « Déconnexion » ferme la session courante.

Essais de connexion

Cinq échecs déclenchent un blocage de 10 minutes pour l’adresse locale concernée. Un administrateur peut réinitialiser le mot de passe depuis la page Utilisateurs ; il n’y a pas de récupération par email.

Utilisateurs et attribution des prospects

Votre compte historique est désormais administrateur. Dans Administration → Utilisateurs, créez les comptes de l’équipe en indiquant nom, identifiant, rôle et mot de passe d’au moins huit caractères. « Modifier » permet la réinitialisation du mot de passe, la modification du rôle et l’activation ou désactivation du compte.

RôleAccès
AdministrateurTous les prospects, y compris non attribués ; gestion des comptes, attributions, collectes, analyses globales, campagnes, réglages et sauvegardes.
CommercialUniquement ses prospects attribués, leurs fiches, échanges, pipeline, relances, statistiques, doublons et exports. Modification du suivi commercial et préparation des emails individuels.
  1. Créez un utilisateur actif dans Utilisateurs.
  2. Dans Prospects, cochez les fiches, choisissez le responsable dans Attribuer à, puis cliquez sur Attribuer.
  3. Pour une seule fiche, utilisez le responsable dans l’onglet Suivi.
  4. Dans Filtres → Responsable, choisissez tous les utilisateurs, un portefeuille ou les non attribués.

Une réattribution conserve les notes et échanges et arrête les séquences email concernées. Les prospects non attribués restent visibles uniquement par les administrateurs. Une nouvelle collecte ne modifie pas le responsable existant. Les comptes sont désactivables mais pas supprimables ; leurs prospects restent attribués jusqu’à réaffectation.

Les contrôles s’appliquent côté serveur : les fiches d’un autre utilisateur restent inaccessibles par URL, export ou API. Une modification de compte invalide ses sessions existantes, sauf la session courante de l’administrateur qui modifie son propre compte. Il est impossible de désactiver son propre accès administrateur. Cette fonction ne rend pas le CRM accessible automatiquement depuis d’autres ordinateurs : il reste local sur 127.0.0.1.

Préparer Google Maps

La collecte nécessite Google Chrome installé et Playwright. Le CRM réutilise une session Chrome externe sur le port 9222 si elle existe ; sinon il démarre automatiquement un navigateur sans fenêtre, avec un profil dédié, puis le ferme à la fin. Lancez une seule prospection à la fois. Une adresse PROSPECTION_CDP configurée explicitement doit être disponible : elle ne bénéficie pas du repli automatique. Le détail du diagnostic figure en annexe.

05

Créer une prospection

Une recherche ciblée

  1. Cliquez sur Nouvelle prospection.
  2. Dans « Requête libre », entrez par exemple électricien Namur.
  3. Choisissez Belgique ou France, puis le nombre souhaité : 30 par défaut, champ prévu de 1 à 300.
  4. Gardez le mode complet pour obtenir téléphone et site lorsque Google les fournit.
  5. Cliquez sur « Lancer la prospection ».

Plusieurs recherches

  1. Ouvrez l’onglet Secteur × ville.
  2. Sélectionnez au moins un secteur et une ville.
  3. Choisissez le pays, la quantité par recherche et le plafond de requêtes.
  4. Par défaut : 20 fiches par requête et 6 requêtes maximum.
  5. Lancez puis consultez l’avancement et le Journal.

Les champs de l’interface prévoient 1 à 200 fiches par requête en lot et 1 à 100 requêtes. Le volume réellement collecté dépend des résultats Google et du déroulement de la tâche.

Mode rapide : comprendre le compromis

Il lit la liste de résultats sans ouvrir complètement chaque établissement. Le téléphone et le site peuvent donc manquer. Un enrichissement de site exige une URL déjà connue : relancez une collecte complète pour obtenir les coordonnées manquantes. Une fiche rapide « sans site » doit être qualifiée avant utilisation commerciale.

Résultats et suivi

Le CRM enregistre notamment le nom, la catégorie, l’adresse, le pays, le téléphone, le site, les liens Google, la note et le nombre d’avis, les horaires et les coordonnées géographiques lorsque disponibles. Une même clé de lieu Google entraîne une mise à jour, avec conservation des champs de suivi commercial.

La recherche s’exécute en arrière-plan. L’indicateur en haut de page et l’historique de « Nouvelle prospection » aident à suivre la collecte. Le Journal fournit des détails d’actions et d’erreurs. Il n’existe pas encore de bouton universel pour annuler ou reprendre une tâche.

06

Enrichir et qualifier les leads

Suivre le traitement en arrière-plan

En tant qu’administrateur, ouvrez Administration → Suivi des analyses ou le bouton de suivi en haut du CRM après un lancement. La page se met à jour toutes les deux secondes et affiche l’outil, le prospect, l’étape réelle, les fiches traitées/total, les erreurs, la durée et le journal détaillé. Elle couvre le site web, PageSpeed, la relecture Google et OpenStreetMap.

La progression compte les fiches traitées, y compris les erreurs ; elle ne représente pas le temps restant chez Google. Les 500 derniers messages de chaque tâche sont conservés dans la base. Après un redémarrage, une tâche active devient « Suivi interrompu » : son résultat doit être vérifié avant de la relancer. Les anciens traitements et les commandes lancées directement dans un terminal ne sont pas reconstitués. Cet espace est réservé aux administrateurs.

Vérification du 18 octobre 2026

Tests réels sur une copie isolée de la fiche EauTech : l’analyse du site récupère les contacts et WordPress ; la relecture Google fonctionne ; OpenStreetMap répond mais sans correspondance fiable pour ce prospect. PageSpeed est bloqué par le quota Google sans clé configurée. Configurez une clé API avec un quota disponible dans Réglages. Le CRM affiche désormais la cause d’échec dans Diagnostic et conserve un éventuel audit réussi précédent. Aucun faux score zéro n’est créé quand Google ne fournit pas de score.

  1. Analysez les sites.

    Ouvrez « À enrichir », cochez les leads, puis « Analyser les sites ». Une fiche individuelle possède aussi ce bouton. Le CRM lit le HTML de la page d’accueil et de pages utiles pour rechercher contacts, réseaux, technologies et mentions légales.

  2. Complétez avec OpenStreetMap.

    Utilisez le bouton de la barre haute pour traiter jusqu’à 25 candidats sans email, ou « OpenStreetMap » sur une sélection. Le rapprochement peut apporter des coordonnées, mais n’assure pas de trouver un email pour chaque entreprise.

  3. Réanalysez les informations Google.

    « Reparser Google » et « Analyser fiche Google » relisent le texte déjà stocké. Ils ne visitent pas une nouvelle fois Google et ne rafraîchissent pas les avis ou les horaires en direct.

  4. Mesurez les sites prioritaires.

    Choisissez « Auditer PageSpeed » dans la fiche ou sur une sélection. Le bouton de la barre haute lance un petit lot de trois sites à auditer. Consultez ensuite les résultats dans les fiches et dans « Sites à optimiser ».

Ce que révèle l’analyse web

Emails, téléphone du site, liens Facebook/Instagram/LinkedIn/TikTok/YouTube et autres réseaux détectés ; CMS, HTTPS, balise mobile, analytics, pixels publicitaires, formulaire, temps de réponse, titre et année de copyright.

Mentions légales selon les pages accessibles : forme juridique, TVA, BCE/KBO, SIREN/SIRET, capital, responsable de publication et adresse légale.

Ce que révèle PageSpeed

Scores de performance, SEO, accessibilité et bonnes pratiques. Métriques complémentaires : LCP, CLS, TBT, poids de page, expérience réelle si disponible et principal correctif identifié.

La stratégie est « Mobile » par défaut, ou « Ordinateur » dans les réglages. Les quotas et erreurs dépendent du service Google.

Lire le score

Le score est une somme de règles commerciales, bornée entre 0 et 100. Il sert à prioriser les besoins potentiels pour une offre digitale ; il ne mesure pas la probabilité de signature ni le budget du prospect. L’argumentaire et les messages sont produits par des règles et des modèles de texte, sans appel IA dans le CRM actuel.

0–24 : froid25–44 : tiède45–100 : chaud
Détail des règles de score actuelles

Certaines règles sont alternatives et s’appliquent seulement après enrichissement. Les points peuvent cumuler plusieurs indices d’un même problème.

SignalPoints
Pas de site enregistré / site injoignable+40 / +22
Fiche Google estimée non revendiquée+30
Fiche non animée / sans attributs selon les autres conditions+10 / +7
Texte Google « signalé par » interprété comme alerte+12 — interprétation à corriger, voir les limites
Absence de balise mobile / HTTPS+11 / +9
Constructeur de site identifié / autre CMS+7 / +3
Réponse du site > 2,5 s / copyright d’au moins 4 ans+7 / +6
Publicité sans mesure / publicité avec mesure / mesure sans pixel+12 / +8 / +6
Aucune mesure ni pixel détecté+7
Pas de formulaire détecté, sous condition mobile+5
Aucun email public après analyse+6
Aucun avis / 1–9 avis / 10–49 avis+10 / +8 / +4
Note < 4 avec au moins 5 avis+8
Au moins 150 avis et note ≥ 4,4+8
Aucun réseau lié / un seul réseau après analyse+8 / +4
Performance PageSpeed < 50+10
Déjà équipé en marketing selon les critères du code−10
Forme juridique, statut Client, site à analyser0 — information de contexte
Vérifiez les indices avant de les citer

Un pixel n’établit pas qu’une campagne est active ; son absence ne prouve pas que la publicité n’a jamais été utilisée. Une absence de lien social ne prouve pas l’absence de compte. Les sites chargés en JavaScript et les bannières de consentement peuvent limiter ce que voit l’analyse.

07

La fiche et le pipeline commercial

La fiche est organisée en quatre onglets : Suivi (argumentaire, statut, contact, relance, notes et tags), Coordonnées (contacts et mentions légales), Diagnostic (Google, site, audit et angles) et Historique (échanges). Les champs restent en place lorsque vous changez d’onglet ; cliquez sur Enregistrer pour conserver les modifications.

Cliquez sur une ligne ou une carte pour ouvrir la fiche latérale. Elle réunit l’argumentaire, le suivi commercial, les coordonnées, les données Google, l’analyse web, la publicité, les résultats OpenStreetMap, le profil Google Business, l’audit PageSpeed, les informations légales, les angles et l’historique disponibles.

Mettre à jour une fiche

  1. Choisissez le statut et saisissez le nom du contact.
  2. Définissez la date de relance et des étiquettes séparées par des virgules.
  3. Complétez les notes internes puis cliquez sur Enregistrer.
  4. Pour conserver un échange daté, écrivez-le dans « Historique des échanges » puis cliquez sur Ajouter.

Les champs directement éditables dans la fiche sont le statut, le contact, la relance, les étiquettes et les notes. Les coordonnées enrichies sont essentiellement affichées en lecture ; leur modification est possible par l’API, sans éditeur complet dans cette interface.

StatutUsage recommandé
NouveauProspect collecté, encore à qualifier.
À contacterProspect retenu pour une prise de contact.
ContactéPremier échange ou envoi effectué.
À relancerAction de suivi prévue ; ajoutez une date.
Rendez-vousIntérêt confirmé, rendez-vous à organiser ou suivre.
ClientRelation commerciale acquise.
ÉcartéProspect non retenu ou ne souhaitant pas poursuivre.

Déplacer une carte

Dans Pipeline, faites glisser la carte vers le statut cible. Le changement est enregistré immédiatement. Vous pouvez aussi utiliser le menu Statut directement sur la carte, au clavier ou sur mobile ; le changement est enregistré immédiatement. La fiche propose également le statut puis « Enregistrer ». Les cartes affichent l’entreprise, la catégorie, la ville, le score, les contacts et la relance si elle existe.

Les relances échues sont mises en évidence. Le déplacement d’une carte change le statut, sans planifier automatiquement une nouvelle date. Les filtres de la liste s’appliquent au pipeline.

Ouvrir les contacts

Depuis la fiche, les liens Téléphone et Email utilisent les applications configurées sur votre ordinateur ; WhatsApp ouvre le service correspondant. Les sites web, réseaux sociaux et fiches Google s’ouvrent par lien. Le CRM ne passe pas lui-même les appels et ne contient pas de messagerie instantanée intégrée.

08

Appeler et organiser les relances

Configurer votre session

Ouvrez Filtres pour choisir statut, responsable (administrateur), ville, pays, score et autres critères. « Tous les statuts » élargit explicitement la file. Les relances futures sont exclues par défaut ; cochez « Inclure les relances futures » si nécessaire. Cliquez sur « Appliquer / Recommencer ». Le segment hérité peut être retiré avec son bouton.

Les filtres modifiés ne changent la session qu’après application. Les prospects déjà passés sont exclus de cette session. Le bilan distingue les résultats enregistrés et les fiches passées. Un brouillon doit être enregistré avant de recommencer ; quitter la session demande confirmation si des notes ne sont pas enregistrées.

Après une coupure réseau, « Réessayer l’enregistrement » reprend la même opération sans dupliquer les notes ni l’échange. Si un autre utilisateur a modifié la fiche, « Actualiser la fiche » recharge ses données en conservant votre brouillon. Les dates sont calculées selon le calendrier de Bruxelles.

  1. Ouvrez « Mode appel ».

    Le CRM propose par défaut les statuts Nouveau, À contacter et À relancer avec un téléphone et une échéance atteinte ou sans date. La file reprend vos filtres et votre segment de Prospects. Elle charge les fiches progressivement, sans troncature aux 300 premiers prospects.

  2. Préparez l’échange.

    Consultez l’argumentaire et les trois premiers angles. Ouvrez la fiche ou copiez le script si nécessaire. Le numéro cliquable utilise votre application téléphonique.

  3. Saisissez les notes puis choisissez une issue.

    Les quatre boutons enregistrent ensemble le résultat, les notes et l’historique puis passent à la fiche suivante. « Enregistrer les notes et passer » conserve les notes sans changer le statut ni la relance. Sans notes, « Passer sans résultat » ne crée pas d’appel fictif.

Issue d’appelStatut enregistréRelance
Pas de réponseÀ relancerDans 2 jours
À rappelerÀ relancerDélai configuré, 3 jours par défaut
Intéressé → RDVRendez-vousDans 1 jour ; rendez-vous à fixer
Pas intéresséÉcartéDate supprimée

Le résultat et les notes sont ajoutés à l’historique. « Intéressé → RDV » ne crée pas d’événement dans un agenda. Pour une date précise, modifiez la fiche ou sélectionnez plusieurs leads et utilisez la date puis « Relancer dans… ».

Routine quotidienne recommandée

Commencez par les relances dues, puis les prospects prioritaires déjà qualifiés. Après chaque échange, enregistrez le statut, un compte rendu et la prochaine date utile. Terminez par une revue du pipeline.

09

Préparer et suivre les emails

Email individuel

Dans une fiche disposant d’un email, cliquez sur Écrire un email. Le CRM prépare un objet et un message à partir du principal angle commercial et de votre signature, copie le texte et ouvre votre messagerie. Relisez et adaptez le message avant de l’envoyer depuis cette messagerie. Cet envoi externe n’est pas automatiquement confirmé ni inscrit comme envoyé dans le CRM ; ajoutez votre suivi manuellement.

Séquence de prospection

  1. Préparez les réglages.

    Renseignez signature et expéditeur. Choisissez Brevo ou Webhook n8n et les paramètres nécessaires. Pour découvrir le mécanisme, gardez la simulation active.

  2. Inscrivez les leads.

    Utilisez « Inscrire séquence » dans la fiche ou la barre de sélection. Une adresse email est nécessaire. Les statuts Client, Rendez-vous et Écarté sont exclus.

  3. Lancez une simulation.

    Dans « Séquences email », cliquez sur « Simuler les étapes dues ». Le CRM journalise l’essai et ajoute une interaction simulée, mais ne contacte pas le destinataire et ne fait pas avancer l’étape.

  4. Passez à un envoi réel quand votre préparation est terminée.

    Enregistrez un transport configuré, désactivez la simulation, puis utilisez « Envoyer réellement les étapes dues ». L’interface demande confirmation. Vous pouvez d’abord utiliser « Envoyer un vrai email test » dans les réglages vers l’expéditeur configuré.

  5. Suivez et arrêtez les séquences.

    Consultez les étapes dues ou planifiées et les derniers envois. « Arrêter » interrompt le suivi. « Réponse reçue » ajoute une interaction et arrête la séquence : cette déclaration est manuelle.

Étape 1 · J0Prise de contact, angle principal et proposition d’échange.
Étape 2 · +3 joursRelance après le premier envoi réussi.
Étape 3 · +5 joursDernier message après le deuxième envoi réussi.
Fin ou réponseFin automatique après la troisième étape ; arrêt manuel en cas de réponse.

Le rythme par défaut vise J0/J3/J8 si chaque étape part à l’échéance. Les délais suivants sont calculés à partir des envois réellement réussis. Un retard décale donc la suite.

Automatisation et historique

Si le transport réel est configuré, la simulation désactivée et l’option automatique cochée, le serveur vérifie les échéances toutes les minutes. Il traite jusqu’à 20 leads par passage avec le plafond quotidien configuré. Le délai entre messages est de 20 secondes par défaut dans la configuration.

Le serveur doit rester actif. Fermer l’onglet ou cliquer sur Déconnexion ne coupe pas l’automatisation. Désactivez-la dans Réglages pour l’arrêter. Les statuts Client, Rendez-vous et Écarté sont écartés des étapes dues ; cela n’efface pas nécessairement l’inscription stockée.

Le tableau présente les inscrits, les échéances, les envois, les échecs et le volume du jour. Le statut « envoyé » correspond à une réponse positive du transport ; il ne prouve ni la livraison ni la lecture. Pour n8n, un webhook accepté ne garantit pas que le workflow a livré le message.

Limite opérationnelle actuelle

Il n’y a pas de synchronisation des réponses ni de liste d’opposition persistante. Traitez manuellement les réponses et demandes d’arrêt. Évitez de lancer plusieurs exécutions réelles en même temps ou de cumuler un lancement manuel avec l’automatisation : le verrouillage entre processus reste à renforcer.

10

Doublons, corbeille et sauvegardes

Examiner un doublon possible

Ouvrez Doublons à vérifier. La détection utilise un même nom normalisé dans la même ville et le même pays, un téléphone identique ou un email identique. Un domaine commun complète les indices d’une paire déjà trouvée ; il n’est pas utilisé seul pour en créer une.

  1. Lisez les signaux communs et le niveau « Correspondance forte » ou « À vérifier ».
  2. Comparez les deux fiches : entreprise, ville, téléphone, email, domaine et statut.
  3. Ouvrez chaque fiche pour consulter les notes et l’historique avant de décider.
  4. Utilisez « Masquer » si la suggestion n’est pas pertinente. Le masquage reste dans ce navigateur.

Une ligne téléphonique partagée ne suffit pas à prouver un doublon. La détection n’effectue pas de fusion. Le masquage ne se synchronise pas entre navigateurs et il n’existe pas de bouton de restauration des alertes masquées.

Supprimer un ou plusieurs leads

Suppression individuelle

Cliquez sur l’icône corbeille de la ligne, ou ouvrez la fiche puis choisissez « Supprimer ». Vérifiez la cible dans la confirmation avant de valider.

Suppression groupée

Cochez les lignes voulues, contrôlez le nombre sélectionné, puis cliquez sur « Supprimer » dans la barre d’actions. La sélection peut couvrir plusieurs pages.

La suppression passe maintenant par la corbeille

Le lead disparaît des listes actives, mais ses notes, tags, coordonnées, statut, relance, échanges et envois restent conservés. Dans Corbeille & sauvegardes, cliquez sur Restaurer. Les séquences email restent arrêtées après restauration : une nouvelle inscription est nécessaire pour reprendre les envois. Une fiche déjà réimportée bloque la restauration pour éviter d’écraser les données.

La corbeille n’est pas vidée automatiquement. « Supprimer définitivement » exige une nouvelle confirmation ; les sauvegardes existantes sont conservées. Les suppressions antérieures à l’installation de cette fonction ne sont pas récupérables depuis la corbeille. Un email déjà transmis ne peut pas être rappelé.

Sauvegardes automatiques et manuelles

Une sauvegarde complète est créée toutes les 24 heures pendant le fonctionnement du serveur, avec contrôle au démarrage puis chaque heure. Le CRM crée aussi une copie avant mise en corbeille ou purge. Le bouton Créer une sauvegarde maintenant produit une copie immédiate. Les sauvegardes sont conservées sans effacement automatique dans data/sauvegardes/.

Chaque dossier contient une base SQLite cohérente, vérifiée, ainsi que la configuration et le compte local lorsqu’ils existent. Le téléchargement de l’interface fournit uniquement la base ; les copies de réglages et du compte restent dans le dossier. Les sauvegardes locales ne protègent pas d’une panne du disque : conservez aussi une copie sur un autre support.

Restaurer la base complète depuis une sauvegarde
  1. Attendez la fin des recherches, enrichissements, audits et envois, puis arrêtez le serveur CRM et tous ses traitements.
  2. Repérez le nom exact du dossier de sauvegarde dans data/sauvegardes/.
  3. Depuis le dossier du projet, lancez la commande ci-dessous en remplaçant l’identifiant. Ajoutez --port NUMERO si le CRM utilise un autre port.
  4. Relancez le CRM, puis vérifiez les leads et la corbeille.
node outils-restaurer-sauvegarde.cjs sauvegarde-IDENTIFIANT --confirmer

Le programme refuse un serveur actif, une recherche encore marquée en cours, une copie altérée ou un schéma incompatible. Il conserve une sauvegarde de l’état précédent, puis restaure les tables dans une transaction. Les séquences email sont arrêtées. Le compte et les réglages actuels restent en place ; leurs copies peuvent être récupérées séparément si nécessaire.

Le statut Écarté permet de conserver une fiche pour mémoire. Il bloque les nouvelles inscriptions aux séquences et l’exécution des étapes dues pour ce statut.

11

Exporter et lire les statistiques

Exporter depuis l’interface

Dans une liste, réglez vos filtres puis utilisez l’icône Exporter la vue courante. Pour cibler des fiches, cochez-les et choisissez Exporter dans la barre de sélection. Le téléchargement est un CSV avec séparateur point-virgule et encodage UTF-8 adapté à Excel en français.

Le CSV inclut identité, contacts, score, statut, angles, argumentaire, site, adresse, données Google, réseaux, technologie, mentions légales, provenance OpenStreetMap, notes et dates de création/enrichissement. Il ne contient pas tous les champs récents comme les tags, relances, audits et séquences. Le JSON des leads est plus complet, mais n’inclut pas toute la base relationnelle ni les réglages.

Contrôlez le volume exporté

Le code actuel limite la lecture utilisée par l’export à 500 leads, y compris pour une sélection plus grande. Les filtres « Non enrichis » et « Avec site » ne sont pas repris par la route d’export. L’export ne constitue donc pas une sauvegarde complète.

Les formats JSON et CSV de préparation d’import HubSpot/Pipedrive existent via API ou commande locale ; il n’y a pas de sélecteur de format dans l’interface. Ils ne constituent pas une connexion ou une synchronisation directe avec ces CRM.

Lire le tableau de bord

« Statistiques » présente : total de leads, leads chauds, candidats à appeler, relances dues, score moyen, présence de site et d’email, indices de publicité, fiches à enrichir, fiches Google à reprendre, audits réalisés et faibles, étapes email dues. Il détaille aussi les compléments OpenStreetMap, les statuts, tranches de score, angles fréquents, principales villes et ajouts par jour.

L’entonnoir correspond à la répartition actuelle des statuts. Il ne calcule pas les conversions historiques, les durées de traitement, le chiffre d’affaires ou le retour sur investissement. Le compteur « À appeler » utilise la même règle que la file standard : téléphone disponible, statuts Nouveau/À contacter/À relancer, sans échéance future. Dans la session, le compteur de navigation affiche le nombre restant avec les critères appliqués.

Journal et sauvegarde

Le Journal restitue les dernières actions enregistrées et leurs détails. Les recherches ont leur propre historique. La vue Corbeille & sauvegardes propose désormais les sauvegardes automatiques et manuelles de la base, de la configuration et du compte. SQLite produit une copie cohérente, incluant les données du journal WAL ; son intégrité est vérifiée avant sa publication.

12

Réglages et raccourcis utiles

RéglageUtilité / valeur actuelle
Signature et offreNom, entreprise, téléphone, site et accroche réutilisés dans les messages et scripts.
Délai de relance3 jours actuellement ; réglable de 1 à 90 jours.
Leads par page50 actuellement ; réglable de 10 à 500.
Transport emailDésactivé, Brevo API ou Webhook n8n. Désactivé actuellement.
ExpéditeurNom, adresse d’envoi et adresse de réponse optionnelle.
Plafond quotidien80 par défaut ; réglable de 1 à 2 000. Le respect global nécessite un meilleur verrouillage si plusieurs envois tournent en parallèle.
Simulation / automatiqueSimulation active, automatique inactive dans la configuration observée.
PageSpeedClé API facultative et stratégie mobile ou ordinateur. Mobile actuellement.
Tests emailSimulation ou véritable email test vers l’adresse d’expéditeur enregistrée. Enregistrez d’abord vos réglages.

Les clés configurées sont masquées dans le navigateur ; elles restent stockées en clair dans le fichier de configuration local. Les mots de passe des utilisateurs sont stockés sous forme de dérivés scrypt avec sel dans SQLite. Le fichier auth.json sert uniquement à la migration initiale du compte historique.

ToucheAction
/Placer le curseur dans la recherche.
j / kSurligner la ligne suivante / précédente dans la liste.
EntréeOuvrir la ligne surlignée ; une carte pipeline focalisée s’ouvre aussi avec Entrée ou Espace.
aOuvrir le mode appel.
eLancer l’analyse du site du lead ouvert.
cCopier l’adresse email de la fiche ouverte.
ÉchapFermer les fenêtres et la fiche.
?Afficher l’aide clavier.

Les raccourcis de navigation sont prévus hors des champs de saisie. L’affichage compact est mémorisé dans ce navigateur. Les liens directs #lead-ID et #vue-pipeline fonctionnent sur cette installation locale après connexion ; ils ne rendent pas les données accessibles depuis un autre ordinateur.

13

Résoudre les blocages courants

La page locale ne répond pas

Relancez crm.cmd, puis ouvrez l’adresse du CRM. Si le port 8787 est déjà occupé, vérifiez d’abord si une instance du CRM est déjà active. Fermer un onglet n’arrête pas le serveur.

La connexion est refusée

Vérifiez l’identifiant et utilisez « Afficher » pour contrôler le mot de passe, notamment sa casse et une éventuelle ponctuation copiée. Après cinq erreurs, attendez dix minutes. Après redémarrage du serveur, une nouvelle connexion est normale.

La liste est vide

Cliquez sur « Prospects » puis « Réinitialiser ». Si le total reste nul, lancez une prospection. Lors de l’analyse du 16 octobre 2026, la base contenait effectivement zéro lead.

La recherche Google ne démarre pas ou s’interrompt

Vérifiez que Google Chrome est installé et Playwright disponible. Le navigateur dédié démarre automatiquement lorsque le Chrome externe du port 9222 est absent. Attendez la fin d’une recherche avant d’en lancer une autre. Consultez le message d’échec dans « Recherches récentes » et le Journal. Une modification de l’interface Google, un blocage, un CAPTCHA ou une perte de connexion peuvent interrompre la collecte. Le diagnostic local node prospection.cjs check aide à identifier le composant indisponible.

L’analyse ne trouve pas d’email

L’établissement peut ne pas publier d’adresse ou le site peut être inaccessible. Essayez le complément OpenStreetMap. Les informations chargées uniquement après exécution de JavaScript peuvent ne pas être récupérées. Un lead issu du mode rapide peut d’abord nécessiter une collecte Google complète pour obtenir son site.

PageSpeed échoue ou tarde à répondre

Le service dépend des quotas Google et de l’URL analysée. Ajoutez une clé PageSpeed dans Réglages si nécessaire, traitez une petite sélection et consultez le Journal. Le résultat n’apparaît qu’après la fin de l’audit ; rouvrez la fiche.

Une séquence ne progresse pas

En simulation, c’est attendu : l’étape ne change pas. Pour un envoi réel, vérifiez transport, expéditeur, mode simulation, échéance, email du lead, statut autorisé, plafond et erreurs du dernier envoi. L’automatisation exige que le serveur reste actif.

Le bouton Email ou Téléphone ne lance rien

Ces liens délèguent l’action à votre système. Configurez l’application de messagerie ou de téléphonie par défaut. L’email généré est aussi copié dans le presse-papiers si le navigateur l’autorise.

Une fiche a été supprimée par erreur

Ouvrez Corbeille & sauvegardes, retrouvez la fiche et cliquez sur Restaurer. Les notes et l’historique reviennent avec elle. Après purge définitive, ou pour les suppressions antérieures à cette amélioration, la récupération nécessite une sauvegarde antérieure appropriée.

14

Ce qui mérite d’être corrigé

Constats de lecture du code actuel. Ils expliquent certaines différences entre les intitulés de l’interface et le comportement réel. La corbeille et les sauvegardes ont été ajoutées après la première édition ; leurs parcours sont décrits en rubrique 10. Les autres limites ci-dessous restent à traiter.

ConstatConséquence pour l’utilisationPriorité
Export et certains traitements « tous les leads » plafonnés à 500Un export, recalcul global ou reparse peut ne couvrir qu’une partie d’une grande base.Haute
Parité incomplète des filtres et du triNon enrichis/Avec site omis de l’export ; inversion de tri visuelle seulement. La recherche Doublons et le filtre de score du mode Appel sont maintenant raccordés.Haute
Indices publicitaires et Google surinterprétés« Publicité non détectée », « campagnes actives », absence de posts ou de revendication ne sont pas des certitudes. « Signalé par N personnes » peut concerner une information fournie, par exemple un prix, et non une plainte.Haute
Envois concurrents sans réservation atomique de l’étapeDeux processus peuvent sélectionner le même lead avant sa mise à jour ; risque de doublon d’email et de dépassement du plafond.Haute avant automatisation
Pas encore de liste d’exclusion persistanteLa corbeille et la restauration sont disponibles ; une nouvelle collecte peut toutefois recréer un établissement archivé.Moyenne
Suivi des tâches limitéLe suivi détaillé des enrichissements et audits est désormais disponible. Les collectes et emails gardent leur suivi dédié ; annulation et reprise ne sont pas encore unifiées.Moyenne
Modèles email et réglages partiellement reliésLe texte est produit dans le code ; les champs d’objet/angle présents dans la configuration des étapes ne pilotent pas entièrement le message.Moyenne
Réponses, ouvertures et délivrabilité non synchroniséesUne réponse doit être déclarée ; « envoyé » ne constitue pas une preuve de livraison.Moyenne
Gestion du compte et secrets limitéeLes rôles, comptes et réinitialisations de mot de passe sont disponibles. La récupération autonome par email et le chiffrement des secrets de services restent à ajouter.Moyenne
Dates et compteurs pas toujours homogènesDes dates sont calculées en UTC ; certaines tuiles et leurs vues utilisent des critères différents. Vigilance près de minuit et sur les totaux.Moyenne

La vérification documentaire confirme le code présent et la lecture des données locales. Elle ne constitue pas une validation de bout en bout de Google Maps, OpenStreetMap, PageSpeed, Brevo ou n8n. Les résultats d’extraction restent dépendants des pages et services consultés.

15

Les améliorations recommandées

Une progression en trois lots : fiabiliser les fonctions existantes, accélérer le travail commercial, puis mesurer les résultats. Le pipeline, la détection de doublons et la suppression sont déjà disponibles.

Lot 1
Fiabilité

Des résultats cohérents et récupérables

À réaliser en premier pour éviter les écarts silencieux et protéger le travail commercial.

  • Exports complets : lever la limite de 500, reprendre tous les filtres, proposer CSV/JSON dans l’interface et annoncer le nombre réellement exporté.
  • Filtres et navigation : réparer le tri inversé, la recherche Doublons, la file d’appel et harmoniser les compteurs.
  • Qualité des indices : remplacer les affirmations publicitaires par « détecté / non détecté / non analysé », afficher source, date et degré de confiance, corriger l’interprétation des signalements Google.
  • Corbeille et sauvegarde — réalisé : restauration des leads et échanges, copies automatiques/manuelles vérifiées et restauration complète hors ligne. Suite possible : copie sur support externe et politique de conservation configurable.
  • Envois uniques : réserver chaque étape avant envoi, verrouiller le quota quotidien et tracer les tentatives pour éviter les répétitions.

Effort estimatif : faible à moyen pour les correctifs d’interface ; moyen à élevé pour la restauration et les envois. À affiner avant développement.

Lot 2
Productivité

Moins de saisie, un meilleur suivi

  • Import CSV avec aperçu : mapper les colonnes, détecter les doublons et contrôler les données avant import.
  • Édition des coordonnées : corriger email, téléphone et site depuis la fiche ; protéger les corrections manuelles des enrichissements suivants.
  • Fusion assistée : choisir les valeurs à conserver et réunir notes et échanges ; permettre de revoir les alertes masquées.
  • Prochaine action : responsable, tâche, échéance, rappel et agenda pour compléter le pipeline existant.
  • Messages relisibles : prévisualiser et modifier chaque étape, utiliser réellement les modèles configurés, traiter les réponses et les oppositions.
  • Centre des tâches : progression, erreurs, reprise et annulation pour chaque collecte, enrichissement, audit et campagne.

Effort estimatif : moyen ; élevé pour la fusion réversible et la synchronisation de messagerie.

Lot 3
Pilotage

Mesurer ce qui transforme les prospects en clients

  • Historique des changements de statut : mesurer délais, abandons et conversions réelles par période.
  • Opportunités et chiffre d’affaires : montant estimé, devis, date de clôture et revenu signé ; comparer secteurs et villes.
  • Rapport d’audit par prospect : générer un document partageable avec mesures, preuves, date et recommandations révisables.
  • Carte de prospection : afficher les leads géolocalisés et préparer les visites par zone.
  • Compte et administration : changer le mot de passe, fermer toutes les sessions, chiffrer les secrets et prévoir des rôles si plusieurs utilisateurs sont nécessaires.

Effort estimatif : moyen à élevé selon les intégrations choisies. Les mesures de conversion exigent d’abord un historique fiable.

Prochaine étape conseillée

Commencer par un lot court « export complet + filtres cohérents + libellés fiables ». La corbeille et les sauvegardes sont désormais disponibles. Sécuriser ensuite l’exécution des séquences avant d’augmenter les volumes.

16

Référence technique

Pour l’administration et les intégrations. Les parcours utilisateur décrits plus haut ne nécessitent pas de connaître ces détails.

Architecture et données
ÉlémentRôle
prospection.cjsCommandes et coordination des traitements.
web/server.cjsServeur HTTP local, authentification et API REST.
web/public/Interface HTML/CSS/JavaScript sans framework.
lib/db.cjsSQLite : leads, interactions, recherches, journal et envois.
lib/gmaps.cjsCollecte Google Maps via Chrome et Playwright.
lib/enrich.cjs, lib/overpass.cjs, lib/gbp.cjs, lib/pagespeed.cjsEnrichissement, OpenStreetMap, interprétation Google, audits.
lib/score.cjs, lib/doublons.cjsRègles de priorité et rapprochement des fiches.
lib/mail.cjs, lib/sequences.cjsTransports email et séquences.
lib/export.cjs, lib/config.cjs, lib/zones.cjs, lib/base.cjsExports, configuration, secteurs/villes et utilitaires.
data/prospection.dbBase locale ; mode WAL, avec fichiers auxiliaires lorsque des écritures sont actives.
config.json, data/auth.jsonParamètres des services et ancien compte d’initialisation. Les comptes actifs sont dans la table utilisateurs de SQLite ; le guide ne reproduit aucun secret.
data/logs/, data/exports/Journaux techniques et exports générés en ligne de commande.

Prérequis déclarés : Node.js ≥22.5, SQLite intégré à Node ; Playwright Core et Chrome en mode débogage pour Google Maps. Le projet propose des scripts de tests d’extraction et de séquences, ainsi qu’une vérification OpenStreetMap avec réseau. Ces tests métier n’ont pas été exécutés pour produire ce guide.

Commandes disponibles

À exécuter depuis le dossier du projet. Les commandes de collecte, maintenance ou envoi peuvent modifier les données ; les exemples ci-dessous sont documentaires.

node prospection.cjs serve --port 8787
node prospection.cjs check
node prospection.cjs search "électricien Namur" --max 30 --pays BE
node prospection.cjs batch --secteurs "coiffeur,dentiste" --villes "Liège,Namur" --max 20 --limite 4
node prospection.cjs enrich --limit 30
node prospection.cjs osm --limit 25
node prospection.cjs gbp
node prospection.cjs audit --limit 3
node prospection.cjs sequence status
node prospection.cjs sequence run
node prospection.cjs mail test --to contact@example.com
node prospection.cjs export --format json
node prospection.cjs stats

Autres commandes présentes : score (recalcul), reparer (téléphones/villes/coordonnées), zones, fiche ID, journal, supprimer ID. Les séquences acceptent aussi inscrire --ids, arreter ID et reponse ID. L’envoi réel en commande exige --live et une configuration autorisant les envois. search --dry affiche sans enregistrer. Des scripts de réparation supplémentaires sont présents à la racine et relèvent de la maintenance.

Routes API disponibles

Les routes métier exigent une session de connexion. Aucun jeton d’intégration permanent n’est proposé. Les routes de connexion, session et déconnexion constituent le mécanisme d’authentification.

RouteOpérations
/api/auth/session
/api/auth/login
/api/auth/logout
GET : session ; POST : connexion ou déconnexion.
/api/meta · /api/configGET : métadonnées et configuration publique ; POST/PATCH config : modifier les réglages.
/api/utilisateursAdministrateur : GET liste, POST création, PATCH /:id modification.
/api/attributionsAdministrateur : POST avec ids et utilisateurId (null pour désattribuer).
/api/appels/filePOST : file filtrée, limitée aux attributions autorisées, avec exclusions de la session et option relances futures.
/api/appels/:id/resultatPOST : résultat, notes et historique en une transaction, avec clé de déduplication et contrôle de version de la fiche.
/api/leadsGET : liste, filtres et pagination. Paramètre de score minimum : min_score.
/api/leads/:idGET : fiche et interactions ; PATCH/PUT : modifier ; DELETE : supprimer.
/api/leads/:id/ficheGET : fiche commerciale en texte.
/api/leads/lotPOST : changement groupé ; DELETE : suppression groupée.
/api/leads/:id/interactionsPOST : ajouter un échange.
/api/leads/:id/enrichirPOST : analyser le site d’un lead.
/api/recherche · /api/batchPOST : lancer la collecte.
/api/enrichir · /api/osm · /api/gbp · /api/auditPOST : lancer les analyses ou compléments.
/api/scorePOST : recalculer les scores, avec la limite de lecture globale décrite plus haut.
/api/doublonsGET : paires candidates.
/api/corbeilleGET : liste paginée, recherche par nom ; POST /:id/restaurer : restaurer ; DELETE /:id avec confirmer: true : purger.
/api/sauvegardesGET : état et liste ; POST : sauvegarde manuelle ; GET /:id/telecharger : télécharger la base après contrôle de son empreinte.
/api/stats · /api/jobs · /api/journal · /api/recherchesGET : statistiques et suivi.
/api/exportGET : CSV par défaut ; format=json ou format=crm/hubspot.
/api/sequenceGET : statistiques, leads dus/en cours et historique d’envoi.
/api/sequence/inscrire · /api/sequence/runPOST : inscription ou exécution.
/api/sequence/:id/arreter · /api/sequence/:id/reponsePOST : arrêt ou déclaration de réponse.
/api/mail/testPOST : test du transport, simulé par défaut.