Sommaire

L'essentiel

  • Un membre publie un besoin et reçoit les 3 professionnels les plus pertinents, notés sur 5 critères : métier, zone, avis, langue, réactivité.
  • Messagerie instantanée : texte, photos, documents, messages vocaux, aperçus de liens, identité protégée.
  • Dock de discussion à plusieurs fenêtres sur le site, notifications push dans l'application.
  • Assistants IA pour rédiger et publier un besoin, avec journal des coûts et budget quotidien.
  • Site PHP, API /api/v1 et app Expo alignés fonction par fonction.

BusinessAffinity.fr est un réseau social professionnel qui met en relation particuliers, indépendants et entreprises de confiance. Un membre publie un besoin, la plateforme lui présente les 3 professionnels les plus pertinents, puis ils échangent directement dans une messagerie instantanée. J'ai conçu et développé le projet de la conception à la mise en production : le site, l'API, l'application mobile iOS / Android et l'administration.

Ce que fait la plateforme

Trouver un bon professionnel reste une affaire de bouche-à-oreille. BusinessAffinity.fr reproduit ce réflexe à grande échelle : on décrit son besoin, et le système choisit pour soi des professionnels proches, compétents, bien notés et réactifs. Autour de ce cœur, la plateforme réunit tout ce qu'on attend d'un réseau professionnel :

  • un fil d'actualité avec publications, besoins, offres d'emploi, annonces, événements et GIF ;
  • un annuaire des professionnels avec indice de satisfaction et avis ;
  • des offres d'emploi issues de l'API de France Travail ;
  • des cessions d'entreprises alimentées par le flux d'entreprises-a-vendre.fr ;
  • des espaces entreprises, immobilier et financement ;
  • un mini-site professionnel généré pour chaque pro, sur sa propre adresse ;
  • un forum, un cercle de relations, des recommandations et un suivi des performances de ses publications.
Fil d'actualité connecté de BusinessAffinity.fr : publications, besoins, événements et métiers
Fil d'actualité connecté : publications, besoins, événements, métiers

Le matching : 3 professionnels, 5 critères

Le moteur de matching est le cœur métier. Pour chaque besoin, il note les professionnels candidats sur 100 points répartis en cinq critères :

  • Métier (40 points) : correspondance entre le besoin et la spécialité du pro.
  • Zone (25 points) : distance réelle calculée à partir des coordonnées, avec une note dégressive de 15 à 150 km.
  • Avis (15 points) : indice de satisfaction des clients.
  • Langue (10 points) : langue principale commune, ou au moins une langue partagée.
  • Réactivité (10 points) : temps de réponse moyen du professionnel, avec le maximum sous 2 heures.

Le besoin précise aussi sa portée : dans la ville (30 km), dans la région (250 km) ou partout. Les adresses sont géocodées avec l'API Adresse de l'État. Quand des coordonnées manquent, le moteur se rabat sur une comparaison des noms de villes et de régions. Les 3 meilleurs sont présentés au membre, et les résultats suivants sont gardés en réserve.

La confiance est vérifiable : le numéro SIRET est contrôlé auprès de l'annuaire officiel des entreprises, la qualification RGE est vérifiée, et un professionnel n'est considéré comme fiable qu'avec assez d'avis, un bon indice de satisfaction et des réponses rapides.

Matching BusinessAffinity.fr : professionnels en affinité avec le profil et score d'affinité
Matching : professionnels en affinité avec le profil, avec leur score

La messagerie instantanée

Une mise en relation ne vaut que si la conversation suit. La messagerie de BusinessAffinity.fr est pensée comme celle d'un grand réseau social professionnel, avec ses propres règles.

Ce qu'on peut envoyer

  • des messages texte, jusqu'à 2 000 caractères ;
  • des photos (5 Mo au plus) et des documents ;
  • des messages vocaux enregistrés directement dans le navigateur, avec pause, visualisation du niveau sonore et envoi automatique à 2 minutes ;
  • des liens qui s'affichent en aperçu enrichi : une publication, un besoin, une offre d'emploi, un événement, une annonce, un profil pro, un avis ou un article du blog apparaît sous forme de carte. Pour un lien extérieur, la page est lue avec un délai court, mise en cache, et l'adresse est d'abord contrôlée pour refuser les adresses internes.

Comment les messages arrivent

Sur la page Messagerie, la conversation ouverte demande les nouveaux messages toutes les 5 secondes, à partir du dernier message reçu. L'interrogation s'arrête quand l'onglet est masqué et reprend dès qu'il redevient visible. Les messages sont marqués comme lus à l'ouverture.

Partout ailleurs sur le site, un dock de discussion en bas de l'écran permet de garder ses échanges ouverts en naviguant. Il affiche de 1 à 3 fenêtres selon la largeur de l'écran, chacune réduisible et rafraîchie toutes les 6 secondes. Les fenêtres ouvertes sont mémorisées et restaurées au chargement de la page suivante, et la liste des conversations se met à jour toutes les 30 secondes.

Dans l'application mobile, la conversation utilise react-native-gifted-chat aux couleurs du site et se rafraîchit toutes les 5 secondes. Chaque nouveau message déclenche une notification push vers l'application, avec un lien direct vers la conversation, dans le respect des préférences de notification du destinataire.

Les règles qui l'encadrent

  • Identité protégée : quand un particulier contacte un pro au sujet d'un besoin, son identité peut rester masquée jusqu'à ce qu'il choisisse de la révéler.
  • Demandes à accepter : certaines conversations commencent par une demande que le destinataire accepte ou refuse.
  • Plusieurs types d'échanges : besoins, messages directs, candidatures aux offres d'emploi, demandes liées aux avis, support.
  • Blocage d'un membre, fermeture d'une conversation et suppression de ses propres messages.
  • Besoin terminé : le particulier peut clore son besoin depuis la conversation avec le pro retenu.
  • Quota mensuel de messages pour les particuliers en offre gratuite, avec passage à l'offre Premium.
Messagerie de l'app BusinessAffinity.fr : messages, candidatures, invitations et parrainageÉcran Affinités de l'app BusinessAffinity.fr : matching par score et critèresFil d'actualité de l'app BusinessAffinity.fr : compteurs, événements et publications
L'application : messagerie, affinités et fil d'actualité

Des assistants IA utiles, et sous contrôle

La plateforme intègre des assistants basés sur l'API d'OpenAI. Le premier aide à formuler un besoin, peut le publier et présente aussitôt les professionnels recommandés. Un autre accompagne le besoin lui-même : diagnostic, rédaction, estimation, conseils pour faire soi-même et analyse de photos. Il suggère aussi les métiers complémentaires.

Trouver des professionnels pour chaque besoin

Un réseau qui démarre manque de professionnels dans certains métiers et certaines villes. Un module de prospection recherche donc des entreprises du métier près du besoin dans plusieurs sources : Pages Jaunes, Cylex, Google Places, OpenStreetMap et l'annuaire RGE de l'ADEME. Il retrouve les emails sur les sites des entreprises, supprime les doublons et respecte une liste d'opposition. Les règles de test interdisent d'écrire à de vraies entreprises pendant les essais.

Une architecture pour le web et le mobile

  • Site : PHP 8 organisé en contrôleurs, modèles et vues, MySQL, Tailwind CSS et Alpine.js, avec une interface inspirée de la grammaire de LinkedIn.
  • API /api/v1 : réponses JSON uniformes, authentification par jeton, adresses de fichiers absolues, pour que l'application consomme exactement les mêmes données que le site.
  • Application : Expo et React Native, avec une règle stricte de parité, chaque fonction du site existant aussi dans l'application.
  • Connexion : email, Google, Apple, Facebook et LinkedIn, plus la vérification du téléphone par code.
  • Abonnements : Stripe sur le web, achats intégrés via RevenueCat sur mobile.
  • Langues : le site existe en français, anglais, allemand, espagnol et italien.
  • Mini-sites : chaque pro peut obtenir son sous-domaine, créé automatiquement sur l'hébergement.
  • Modération : signalement des publications par motif et blocage de leur auteur.
Mini-site professionnel généré par BusinessAffinity.fr pour un profil pro de démonstration
Mini-site professionnel généré pour un profil pro de démonstration

Ce que ce projet montre

BusinessAffinity.fr réunit un moteur de recommandation, un réseau social, une messagerie instantanée riche, des assistants IA et une application mobile alignée sur le site. Le site est en ligne sur businessaffinity.fr, et l'ensemble a été conçu et développé par une seule personne, de la conception à la production.

Vous avez un projet de réseau professionnel, de mise en relation ou de messagerie ? Me contacter pour en parler. Vous pouvez aussi voir toutes les captures du projet.

Questions fréquentes

Comment fonctionne le matching entre un besoin et des professionnels ?

Chaque professionnel candidat reçoit une note sur 100 : métier (40), zone géographique (25), avis (15), langue (10) et réactivité (10). Les 3 meilleurs sont présentés au membre.

La messagerie est-elle en temps réel ?

Les nouveaux messages arrivent sans recharger la page : la conversation ouverte est interrogée toutes les 5 secondes sur la page Messagerie, toutes les 6 secondes dans le dock, et l'application reçoit une notification push à chaque nouveau message.

Peut-on intégrer l'IA sans risque de dérapage des coûts ?

Oui. Sur BusinessAffinity.fr, chaque appel à l'IA est journalisé avec son coût, un budget quotidien coupe le service s'il est atteint, et des limites par adresse IP freinent les abus.