1 À quoi sert l'annuaire
C'est un annuaire d'étudiants en cours de préparation, pas un annuaire d'anciens. Il sert à trouver un partenaire d'entraînement : quelqu'un de la même école, du même niveau, qui vise le même type de poste, et qui peut aider sur une matière précise.
C'est pour ça qu'une fiche ne montre ni employeur ni parcours professionnel, mais l'école, le niveau, le poste visé et la langue.
/annuaire-partenaire-de-cas. Les fiches sont
construites par le script annuaire.js, alimenté par un serveur intermédiaire qui
va chercher les profils dans LearnWorlds et retire au passage tout ce qui ne doit pas
sortir — à commencer par les adresses e-mail.2 Qui apparaît, qui n'apparaît pas
Quatre conditions, toutes obligatoires. Il suffit qu'une seule manque pour qu'un membre n'apparaisse pas — et rien ne le lui dit :
| Il faut… | Où ça se remplit | Pourquoi |
|---|---|---|
| Avoir dit oui | cf_annuaire, demandé à l'inscription |
C'est le consentement. |
| Avoir renseigné son école | cf_ecole |
Une fiche sans école n'identifie personne. |
| Un moyen de contact | e-mail, LinkedIn ou téléphone (§6) | Une fiche qu'on ne peut pas joindre ne sert à rien. |
| Ne pas être suspendu | — | C'est quelqu'un dont l'accès a été retiré. |
Le silence vaut refus, volontairement : tout ce qui n'est pas un oui lisible est traité comme un non. C'est la seule répartition acceptable pour un consentement.
C'est ce qui rend le consentement honnête : on n'y consulte pas les autres sans s'y montrer. C'est aussi la première explication d'un « je ne vois rien dans l'annuaire » : neuf fois sur dix, c'est une fiche incomplète, pas une panne.
⚠️ Le cas le plus fréquent est le plus discret : un membre qui a bien coché « oui » mais n'a rempli aucun moyen de contact. Il croit avoir tout fait.
Ce n'est pas un défaut à corriger dans le code : la règle est volontaire. C'est un point à traiter au moment d'ouvrir l'annuaire à une promo — le formulaire doit faire comprendre qu'un contact est nécessaire, pas facultatif.
C'est une correction du 5 août : les invitations renvoyaient auparavant vers une page de profil où ces champs ne figurent pas. On envoyait donc les membres chercher un formulaire introuvable.
L'invitation à figurer ne se répète pas indéfiniment. Un membre qui reporte la fenêtre n'est pas resollicité avant trois jours ; le rappel discret en coin de page, lui, attend une semaine. Les deux ne s'affichent jamais ensemble — c'est la même demande, elle ne se fait pas deux fois par deux chemins. Un « non » au champ de consentement arrête tout définitivement.
Quand le serveur refuse d'enregistrer une fiche, la fenêtre dit désormais pourquoi au lieu de rester muette : c'est ce qui permet à un membre de comprendre seul qu'il doit d'abord valider son adresse.
Le rôle n'entre pas en compte : un professeur ou un administrateur qui accepte de figurer apparaît comme n'importe quel membre. Seuls les comptes suspendus sont écartés.
3 Anatomie d'une fiche
Chaque bloc d'une fiche vient d'un champ précis. Une zone vide n'est jamais un bug d'affichage : c'est un champ que le membre n'a pas rempli — la fiche se replie simplement dessus.
Rafaëlle Bourgeois
ESSEC
2En prépa pour les entretiens conseil, dispo pour des cas le week-end.
4Peut aider en
- 1Photo ou initiales —
cf_photo, sinon la photo déposée par le membre, sinon ses initiales. - 2Nom et sous-titre — prénom + nom du compte, puis
cf_ecole; à défautcf_filiereoucf_poste. - 3Ligne d'infos —
cf_niveau,cf_recherche,cf_langue, puis la ville (location). Les valeurs absentes disparaissent, sans trou ni séparateur orphelin. - 4Bio — le champ
biodu profil, tronqué à 280 caractères. - 5« Peut aider en » —
cf_matieres, découpé sur les virgules, points-virgules ou barres obliques. Chaque pastille est cliquable et relance la recherche sur cette matière.
⚠️ Ce bloc ne s'affiche sur aucune fiche aujourd'hui : le champcf_matieresn'a jamais été créé dans LearnWorlds (choix du 5 août), donc personne ne peut le remplir. La fiche sait l'afficher et le fera d'elle-même le jour où le champ existera. - 6Bouton Contacter — un menu dès qu'il y a plusieurs canaux, un bouton simple s'il n'y en a qu'un. Aucun des trois canaux rempli : la fiche n'est pas publiée du tout (§2). Le pseudo de la messagerie interne ne suffit pas à publier une fiche : il ajoute un canal, il n'en fait pas exister une.
- 7Les canaux du menu — Message en premier (la messagerie interne, qui n'expose ni adresse ni numéro), puis
cf_contactmail,cf_contactlinkedin,cf_contacttelet WhatsApp, plus leslinkedin/urldu profil LearnWorlds.
4 Le tableau des champs
Les champs personnalisés se règlent dans Utilisateurs → Champs personnalisés.
🔴 La Data key saisie à la création détermine le nom technique : une clé
niveau donne cf_niveau. La remplir à la main évite
d'avoir à deviner ce que le code doit lire.
| Champ | Clé technique | Sert à | État |
|---|---|---|---|
| Annuaire des étudiants | cf_annuaire |
Le consentement. Décide de tout. | mesuré |
| Votre école | cf_ecole |
Sous-titre de la fiche + filtre École | mesuré |
| Niveau actuel | cf_niveau |
Ligne d'infos + filtre Niveau | mesuré |
| Le poste que vous visez | cf_recherche |
Ligne d'infos + filtre Recherche | mesuré |
| Langue préférée | cf_langue |
Ligne d'infos + filtre Langue | mesuré |
| Adresse e-mail de contact | cf_contactmail |
Entrée « Envoyer un email » | mesuré |
| Profil LinkedIn | cf_contactlinkedin |
Entrée « Contacter sur LinkedIn » | mesuré |
| Téléphone | cf_contacttel |
Entrée « Appeler », et le numéro de WhatsApp | mesuré |
| Joignable sur WhatsApp | cf_contactwhatsapp |
Entrée « WhatsApp » — un oui/non, pas un numéro | mesuré |
| Matières d'entraide | cf_matieres |
Les pastilles « Peut aider en » | n'existe pas |
| Filière et année | cf_poste / cf_filiere |
Sous-titre, si l'école est vide | jamais rempli |
| Promo | cf_promo |
Donnée reprise, non affichée aujourd'hui | jamais rempli |
| Photo | cf_photo |
L'avatar, en priorité sur tout le reste | jamais rempli |
| Bio, ville, LinkedIn, site | bio, location, linkedin, url |
Champs natifs LearnWorlds | natifs |
🔴
cf_matieres est un cas à part : il a été délibérément non
créé (décision du 5 août). Le bloc « Peut aider en » ne s'affichera donc sur aucune
fiche tant que ce choix tient. Le code le lit déjà : créer le champ suffirait à le faire
apparaître, sans rien changer d'autre.cf_contact est
devenu. Il a été retiré partout le 12 août : il n'est plus ni
écrit, ni lu. C'était un texte libre dont le code devait deviner le type — un numéro rangé là
ressortait en bouton « Appeler » alors que le membre ne pouvait ni le voir ni l'effacer depuis
son écran. Une donnée personnelle publiée que la personne ne maîtrise pas n'est pas une
compatibilité, c'est un défaut. Aujourd'hui, ce qui est publié est exactement ce que le membre
voit dans son formulaire.5 Les filtres et la recherche
Quatre filtres — École · Niveau · Recherche · Langue — plus un champ de recherche libre.
Les pastilles ne sont pas écrites à la main : elles sont déduites des valeurs réellement présentes chez les membres affichés. Un filtre vide signifie donc que personne n'a rempli ce champ, pas que le filtre est cassé.
Trois listes gardent en revanche un ordre imposé, parce que l'ordre alphabétique n'y voudrait rien dire :
- Niveau — Débutant, Avancé, Expert
- Recherche — Stage, CDI Junior, CDI expérimenté
- Langue — Français, Anglais
Une valeur écrite autrement (« débutant », « CDI junior ») se range à la suite, par ordre alphabétique : elle n'est pas perdue, elle n'est simplement pas à sa place. C'est une autre raison de ne pas reformuler les options.
La recherche libre balaie le nom, l'école, la filière, le niveau, le poste visé, la ville, la langue et les matières. C'est aussi elle que déclenchent les pastilles « Peut aider en » d'une fiche.
6 Le bouton « Contacter »
Le membre remplit les canaux qu'il accepte, chacun dans son propre champ. Il en faut au moins un : sans aucun des trois premiers, sa fiche n'est pas publiée du tout, et il perd aussi la lecture de l'annuaire (§2).
| Champ | Clé technique | Ce qui s'affiche | Suffit à publier ? |
|---|---|---|---|
| Adresse e-mail de contact | cf_contactmail | Envoyer un email | Oui |
| Profil LinkedIn | cf_contactlinkedin | Contacter sur LinkedIn | Oui |
| Téléphone | cf_contacttel | Appeler | Oui |
| Joignable sur WhatsApp | cf_contactwhatsapp |
WhatsApp — utilise le numéro ci-dessus | Non — un oui/non, pas un contact |
| Message interne | aucun — le pseudo du compte | Message proposé en premier dans le menu | Non — il s'ajoute à une fiche, il n'en crée pas |
Un membre sans pseudo n'a pas cette entrée : un bouton mènerait à un composeur qu'on ne saurait pas adresser.
7 Pourquoi des initiales et pas des photos
Ce n'est pas un choix esthétique, c'est une limite de LearnWorlds : son interface d'administration n'expose aucun champ photo. La photo qu'un membre voit sur son propre profil n'est pas récupérable de l'extérieur, et son adresse contient une empreinte imprévisible qu'on ne peut pas reconstruire.
D'où trois sources, dans cet ordre :
cf_photo— une adresse d'image saisie à la main. Prioritaire, mais elle n'est proposée nulle part : aucun formulaire du site ne l'écrit, et aucun compte ne la porte au 24 août. En pratique, cette source n'existe pas.- La photo déposée par le membre lui-même depuis l'annuaire, conservée de notre côté.
- Sinon, une pastille d'initiales colorée — et c'est le cas le plus fréquent.
Une photo qui ne charge pas retombe automatiquement sur les initiales : pas de carré gris cassé.
8 Ce qui protège les membres
- Le consentement d'abord. Personne n'apparaît sans avoir répondu oui.
- Les e-mails ne sortent jamais. Le serveur intermédiaire retire les adresses de connexion avant de renvoyer quoi que ce soit à la page.
- Un contrôle anti-robot protège la liste : elle ne peut être obtenue que depuis un vrai navigateur, sur la vraie page.
- La réciprocité. Depuis le 12 août, la liste n'est servie qu'à un membre qui figure lui-même dans l'annuaire. Un compte neuf, un compte qui a dit non, un compte sans contact : refusés.
- L'identité est prouvée, plus déclarée. Depuis le 17 août, le serveur ne croit plus le navigateur sur parole quand il annonce « je suis ce membre » : il le fait démontrer. Avant cela, il suffisait d'annoncer l'identifiant d'un membre en règle pour lire l'annuaire à sa place.
- Pas d'indexation. Les fiches ne remontent pas dans les moteurs de recherche.
9 Ce qui peut casser
- Reformuler une option, c'est changer une donnée. Vrai pour le consentement, vrai pour le niveau, l'école ou le poste visé : les fiches déjà enregistrées gardent l'ancien texte et se retrouvent classées à part dans les filtres.
- Renommer une Data key rompt tout. Le nom technique est ce que lit le code ; le libellé affiché peut changer librement, la clé non.
- Un délai d'une minute ou deux est normal. La liste est mise en cache pour quelques minutes : un profil qu'on vient de remplir n'apparaît pas dans la seconde. Attendre avant de conclure à une panne.
- « Je ne vois rien dans l'annuaire » n'est presque jamais une panne. C'est la réciprocité (§2) : on ne lit l'annuaire que si on y figure. Vérifier dans l'ordre : adresse validée, consentement, école, un contact.
- Un champ créé mais non visible dans le profil ne sera jamais rempli par personne, et la fiche restera vide sans explication.
- Un compte non validé ne peut pas enregistrer de fiche (règle du 5 août). C'est aujourd'hui la première explication d'une fiche qui « ne s'enregistre pas » — avant de chercher plus loin, vérifier que l'adresse a bien été confirmée.