Créer un annuaire professionnel en ligne ne nécessite pas forcément une infrastructure complexe. Pour un réseau de quelques dizaines ou centaines de membres, une architecture légère peut suffire à proposer une expérience moderne, sécurisée et facilement administrable.

C'est l'approche que nous avons retenue chez Synapse Digital pour concevoir une plateforme permettant à des professionnels de découvrir anonymement les profils des autres membres d'un réseau et de demander une mise en relation.

Le projet combine plusieurs problématiques intéressantes : développement web avec l'IA, authentification sans mot de passe, anonymisation des données, API, Google Sheets et automatisation.

Le principe de l'annuaire professionnel anonymisé

L'objectif de la plateforme est de permettre à des membres d'un réseau professionnel de découvrir les parcours des autres participants sans révéler immédiatement leur identité.

Chaque profil possède un identifiant permanent, par exemple Profil #14, Product Manager.

L'utilisateur peut consulter :

  • Le métier
  • Le secteur d'activité
  • Le niveau d'expérience
  • Les études
  • Une présentation courte

En revanche, certaines informations restent strictement privées :

  • Nom
  • Prénom
  • Adresse email
  • Données permettant d'identifier directement la personne

Cette séparation entre profil professionnel visible et identité réelle constitue le principe central de l'architecture.

Pourquoi proposer un annuaire professionnel anonymisé ?

Un annuaire classique donne généralement immédiatement accès à l'identité et aux coordonnées des membres. Dans certains réseaux, cette approche peut pourtant se révéler contre productive.

L'anonymisation permet de créer une première étape de découverte basée uniquement sur le parcours professionnel et les centres d'intérêt, par exemple : « je souhaite rencontrer quelqu'un qui travaille dans la tech, possède plusieurs années d'expérience en produit et a étudié dans une école de commerce. »

L'utilisateur découvre les profils correspondant à ses critères sans avoir accès à leur identité. S'il souhaite ensuite échanger avec l'un d'entre eux, il peut envoyer une demande de mise en relation.

Une authentification sans mot de passe

Pour simplifier l'expérience utilisateur, la plateforme utilise une authentification par code OTP envoyé par email. Le fonctionnement est simple :

  • L'utilisateur saisit son adresse email
  • L'application vérifie que cette adresse appartient au réseau autorisé
  • Un code temporaire à 6 chiffres est généré
  • Le code est envoyé par email
  • L'utilisateur saisit le code
  • Une session sécurisée est créée

Cette approche évite la gestion traditionnelle des mots de passe et de leurs problématiques associées : création, oubli, réinitialisation ou stockage.

Une liste blanche pour contrôler les accès

L'accès n'est pas ouvert au public. Seules les adresses email présentes dans la liste des membres peuvent recevoir un code de connexion.

La plateforme peut donc fonctionner avec une liste blanche d'utilisateurs autorisés, directement gérée dans Google Sheets.

Une architecture web volontairement simple

L'une des décisions importantes du projet a été de ne pas surdimensionner l'infrastructure. L'architecture repose sur quatre briques principales :

React / Vite → Netlify → Google Apps Script → Google Sheets

  • Le frontend React constitue l'interface utilisateur
  • Netlify héberge l'application web
  • Google Apps Script joue le rôle de backend et expose les différentes actions nécessaires à l'application
  • Google Sheets constitue la source de données

Cette architecture est particulièrement adaptée à un MVP, à un réseau de taille limitée ou à un outil interne. Elle permet notamment d'éviter la mise en place immédiate d'un serveur dédié et d'une infrastructure cloud complexe.

Google Sheets comme base de données

Le choix de Google Sheets peut surprendre dans une architecture web moderne. Pourtant, dans certains contextes, il est extrêmement pertinent. Les administrateurs disposent déjà d'une interface familière pour gérer les données.

Un fichier peut par exemple contenir plusieurs feuilles :

Profils

Les informations professionnelles des membres :

  • Identifiant
  • Email
  • Nom et prénom
  • Métier
  • Secteur
  • Expérience
  • Études
  • Présentation

Sessions

Les sessions actives des utilisateurs connectés.

Demandes

Les demandes de mise en relation :

  • Date
  • Demandeur
  • Profil ciblé
  • Message
  • Statut

Les administrateurs peuvent donc continuer à gérer une partie du fonctionnement directement depuis leur environnement Google habituel.

Le rôle de Google Apps Script

Google Apps Script sert d'intermédiaire entre le frontend et le Google Sheet. L'application peut notamment effectuer plusieurs opérations :

  • sendOtp : vérification de l'adresse email, génération du code temporaire et envoi par email
  • verifyOtp : validation du code puis création d'une session
  • getProfiles : lecture des profils et transformation des données afin de ne retourner que les informations autorisées
  • submitRequest : enregistrement d'une demande de mise en relation

Le frontend ne communique donc pas directement avec la structure interne du fichier Google Sheets.

L'anonymisation doit être réalisée côté backend

C'est probablement le point de sécurité le plus important du projet.

Une erreur fréquente consiste à envoyer toutes les données au navigateur puis à masquer certains champs dans l'interface. Ce n'est pas une véritable anonymisation.

Si le navigateur reçoit ceci :

{
  "id": 14,
  "name": "Jean Dupont",
  "email": "jean@example.com",
  "job": "Product Manager"
}

alors les données sont déjà accessibles à l'utilisateur, même si l'interface se contente de ne pas les afficher.

La bonne approche consiste à ce que l'API ne retourne que les données nécessaires :

{
  "id": 14,
  "job": "Product Manager",
  "sector": "Tech",
  "experience": "5 ans",
  "education": "Master",
  "bio": "..."
}

Le nom et l'adresse email ne doivent tout simplement jamais être envoyés au frontend. Cette distinction est essentielle lorsqu'un projet manipule des données personnelles.

Des identifiants anonymes stables

Chaque membre possède un identifiant interne permanent, par exemple Profil #12, Profil #13, Profil #14, Profil #15.

Cet identifiant ne doit jamais être réattribué à une autre personne. Cela permet de dissocier l'identité réelle du profil visible dans l'annuaire tout en conservant une référence stable pour les demandes de mise en relation.

La correspondance entre l'identifiant et l'identité réelle reste dans la partie administrative.

Les filtres de l'annuaire

Une fois connecté, l'utilisateur accède à un annuaire permettant de rechercher les profils. Les filtres peuvent porter notamment sur :

  • Secteur
  • Métier
  • Expérience
  • Niveau d'études

Une recherche peut ainsi rapidement faire émerger les profils correspondant à un besoin précis. L'objectif n'est pas de construire un moteur de recherche complexe, mais de rendre la découverte des membres rapide et intuitive.

La mise en relation sans révéler les coordonnées

Lorsqu'un utilisateur trouve un profil intéressant, il peut demander une mise en relation. Il explique simplement pourquoi il souhaite entrer en contact.

Utilisateur → Profil ciblé → Motif de la demande

L'administrateur peut ensuite consulter la demande dans Google Sheets et effectuer manuellement l'introduction.

Cette approche présente un avantage important : les coordonnées personnelles ne sont jamais exposées directement entre les utilisateurs. L'équipe qui gère le réseau conserve le contrôle de la mise en relation.

Pourquoi utiliser l'intelligence artificielle pour ce type de projet ?

L'IA transforme aujourd'hui la manière dont les applications web peuvent être conçues. Des outils comme Claude ou ChatGPT permettent notamment d'accélérer :

  • La génération de composants React
  • L'écriture des fonctions backend
  • La création des formulaires
  • La gestion des états
  • Les appels API
  • La mise en place du responsive design
  • La documentation
  • Les tests et corrections

Mais l'intérêt principal n'est pas simplement de générer davantage de code. L'enjeu est de pouvoir itérer plus rapidement sur l'architecture et l'expérience utilisateur. Le développeur peut consacrer davantage de temps à la définition du besoin, aux choix techniques, à la sécurité et à la validation du résultat.

L'IA accélère le développement, mais ne remplace pas l'ingénierie

Une application générée avec l'aide de l'IA doit être contrôlée comme n'importe quelle autre application. Dans le cas d'un annuaire professionnel, plusieurs points méritent une attention particulière :

  • Données personnelles exposées par erreur
  • Validation des permissions
  • Manipulation des identifiants de profils
  • Expiration des OTP
  • Expiration des sessions
  • Accès non autorisés à l'API
  • Doublons de demandes
  • Gestion des erreurs
  • Quotas des services Google
  • Sécurité du stockage

Le rôle du développeur ne disparaît donc pas, il évolue. L'IA devient un outil de production et d'accélération, tandis que l'expertise humaine reste essentielle pour concevoir une architecture cohérente et vérifier que le système répond réellement aux contraintes du projet.

Une architecture adaptée au MVP

Pour un réseau d'environ une centaine de membres, il serait possible de construire une infrastructure beaucoup plus complexe. Mais la complexité technique n'est pas nécessairement synonyme de qualité.

Dans ce contexte, une architecture légère permet de :

  • Réduire les coûts d'infrastructure
  • Simplifier la maintenance
  • Accélérer le lancement
  • Faciliter l'administration
  • Conserver une grande flexibilité

Si le nombre d'utilisateurs ou les besoins métier augmentent fortement, l'architecture pourra ensuite évoluer vers une véritable base de données et un backend dédié. Le MVP permet donc de valider le concept avant d'investir dans une infrastructure plus importante.

Ce que ce projet nous apprend

Ce type de plateforme illustre une évolution importante du développement web. Il est désormais possible de combiner des outils très accessibles, React, Netlify, Google Sheets et Apps Script, avec des assistants d'intelligence artificielle pour construire des applications métier adaptées à des besoins très spécifiques.

La valeur ne se situe plus uniquement dans la quantité de code produite. Elle se situe dans la capacité à :

  • Comprendre le besoin
  • Choisir une architecture proportionnée
  • Protéger les données sensibles
  • Automatiser les tâches pertinentes
  • Utiliser l'IA pour accélérer la production
  • Tester et sécuriser le résultat
  • Faire évoluer la solution lorsque le besoin grandit

Conclusion : construire simplement, mais correctement

Un annuaire professionnel anonymisé peut sembler être une application relativement simple. Pourtant, il combine plusieurs problématiques importantes : authentification, gestion des données personnelles, anonymisation, recherche, mise en relation et administration.

L'utilisation de React, Netlify, Google Apps Script et Google Sheets permet de construire une solution légère et adaptée à un réseau de taille limitée.

L'intelligence artificielle vient ensuite accélérer la conception et le développement, sans remplacer les décisions d'architecture, les contrôles de sécurité et la validation humaine.

Chez Synapse Digital, nous privilégions cette approche : partir du besoin réel, choisir la technologie adaptée au contexte et utiliser l'IA lorsqu'elle permet de produire plus efficacement, sans ajouter de complexité inutile.