FEI Aix
Suite logicielle événementielle : site vitrine, application de networking et régie de planning temps réel
Pour la 18e édition du Forum Entreprises Ingénieur, tenue au Centre des Congrès d'Aix-en-Provence, Tech Fox a conçu, développé et livré trois logiciels complémentaires : un site vitrine public avec inscription exposant, une application de mise en relation visiteurs / recruteurs adossée à une base de données sécurisée, et une régie de planning temps réel diffusée sur écran à l'accueil. Une journée de forum entièrement outillée, du premier clic d'inscription jusqu'à l'annonce de clôture.
Contexte & problème résolu

Le Forum Entreprises Ingénieur (FEI) est un forum national de recrutement organisé par l'association étudiante de l'École des Mines de Saint-Étienne. Pour sa 18e édition, le 16 octobre 2025, l'événement change de dimension : il quitte le campus historique pour investir le Centre des Congrès d'Aix-en-Provence ; amphithéâtre de 508 places, une cinquantaine de stands exposants, et des centaines d'étudiants ingénieurs venus de plusieurs écoles de la région.
Ce changement d'échelle a fait émerger trois besoins logiciels distincts qu'aucun outil du marché ne couvrait de bout en bout à budget associatif : se rendre visible et convertir des exposants, faire se rencontrer les bons profils sur un forum devenu trop grand pour le hasard, et piloter en direct une logistique dense d'annonces micro et de procédures de sécurité.
- Attirer et inscrire les entreprises exposantes via un tunnel dédié.
- Mettre en relation étudiants et recruteurs par compétences, secteur et école.
- Coordonner en temps réel les équipes bénévoles, les annonces et la sécurité le jour J.
Architecture : trois sous-systèmes découplés

Tech Fox a fait un choix d'architecture volontairement hétérogène et pragmatique : plutôt qu'une pile unique surdimensionnée, chaque module s'appuie sur la technologie la mieux adaptée à sa contrainte, avec un cycle de vie et un déploiement indépendants. Un incident sur l'un ne peut jamais faire tomber les deux autres.
Le site vitrine est un site multi-pages statique servi sur hébergement mutualisé, avec un back-end PHP minimal pour le traitement des formulaires. L'application de networking est une application monopage adossée à Supabase (base de données managée), où l'autorisation est imposée par la base et non par le navigateur. La régie de planning est 100 % client, sans backend, pour garantir sa fiabilité même en cas de coupure réseau dans un centre de congrès bondé.
- Vitrine : HTML/CSS/JS vanilla + PHP + reCAPTCHA v3, aucune base exposée.
- Networking : SPA vanilla + PWA parlant en HTTPS à Supabase (PostgreSQL, Auth, Storage, Edge Functions).
- Régie : vanilla JS statique, données embarquées, temps réel par horloge logicielle, hors-ligne.
Livrable 1 ; Site vitrine : convertir deux publics

Le site est bâti autour d'une bifurcation de parcours dès la page d'accueil : deux appels à l'action explicites, « Je suis une entreprise » et « Je suis un visiteur », dirigent chaque profil vers un tunnel adapté. Le site présente le programme, les tarifs, la galerie des exposants confirmés, un plan interactif du forum en SVG et un socle légal complet (mentions légales, CGU, données personnelles).
La pièce maîtresse est le formulaire d'inscription exposant : identité de l'entreprise (SIRET, siège, effectif, secteurs), contact principal, format de stand et options comme la participation à une table ronde. Côté serveur, chaque envoi est d'abord filtré par reCAPTCHA v3 (rejet par score, invisible pour l'utilisateur), puis toutes les valeurs sont assainies avant d'être mises en forme dans un e-mail HTML envoyé à la présidence. Ce parti pris « e-mail plutôt que base de données » est délibéré : au volume d'une cinquantaine d'exposants, il élimine toute surface d'attaque de type base exposée et s'intègre nativement au flux de travail de l'équipe.
Livrable 2 ; Application de networking « FEI-CV »

C'est le livrable le plus riche : une application de mise en relation complète, pensée mobile-first, où chaque étudiant et chaque recruteur devient un nœud d'un graphe de connexions. C'est une application monopage en JavaScript vanilla (modules ES, routeur maison), doublée d'une PWA installable avec service worker : la coquille applicative est mise en cache et l'app reste consultable hors-ligne.
L'authentification s'appuie sur Supabase Auth : inscription e-mail / mot de passe avec choix du type de compte (étudiant ou entreprise), confirmation d'e-mail obligatoire, et réinitialisation par lien magique. Un consentement RGPD explicite est exigé avant toute création de compte et horodaté. La base PostgreSQL articule huit tables autour du profil, avec un moteur de recherche combinant index plein-texte français et tolérance aux fautes de frappe.
La sécurité est imposée par la base, jamais par le client : Row Level Security activée sur 100 % des tables, chaque utilisateur ne voit que son profil, les profils publics et ceux de ses connexions acceptées. Les CV et avatars sont stockés en accès privé et servis via des URL signées temporaires ; jamais par une URL publique permanente. La suppression de compte (droit à l'effacement) passe par une Edge Function côté serveur qui revérifie l'identité de l'appelant et n'utilise ses privilèges d'administration que pour supprimer son propre compte.
- SPA vanilla + PWA offline-first, routeur maison, composants réutilisables.
- Supabase Auth : e-mail / mot de passe, confirmation, lien magique, consentement RGPD.
- 8 tables PostgreSQL, RLS partout, recherche plein-texte française + pg_trgm.
- Notifications générées par déclencheurs de base ; temps réel par polling à empreinte (15 s), sans WebSocket.
- CV / avatars en URL signées ; suppression de compte via Edge Function Deno à privilèges minimaux.
Livrable 3 ; Régie de planning temps réel sur écran
Le troisième logiciel équipe les coulisses. Sa vue « Dashboard Accueil », conçue pour rester affichée en permanence sur un écran à l'accueil, agrège en une page : une horloge temps réel, la prochaine annonce micro avec compte à rebours et bouton « faire l'annonce maintenant », un bloc Sécurité & Actions (procédures Intrusion, Évacuation, Objet suspect, Blessure avec leurs codes d'alerte prêts à lire), les contacts d'urgence et une vue live du poste occupé par chaque bénévole à l'instant présent.
Chaque bénévole dispose en parallèle d'une vue mobile personnelle : il sélectionne son nom (mémorisé sur l'appareil) et consulte sa timeline de la journée, avec la tâche en cours mise en surbrillance. Le traitement des données est un travail d'ingénierie discret : le planning brut (17 bénévoles, 25 créneaux de 7 h à 19 h) est parsé côté navigateur avec deux règles métier ; une cellule vide prolonge le rôle précédent, et les créneaux consécutifs identiques sont fusionnés en un bloc unique. L'ensemble tourne sans serveur : une panne réseau ne peut jamais éteindre l'écran d'accueil.
- 21 annonces scénarisées et minutées, dont les pré-annonces de conférences en J-30 / J-15 / J-5 minutes.
- Temps réel par horloge logicielle : heure à la seconde, annonces toutes les 30 s, affectations chaque minute.
- 100 % client, hors-ligne, PWA installable : zéro point de panne réseau le jour J.
Fondements & partis pris d'ingénierie

Le principe directeur de l'application de networking est que le front n'est jamais l'autorité : toutes les décisions d'accès sont prises par la base via la Row Level Security, et les opérations à privilèges sont isolées côté serveur. Cette posture a été durcie itérativement, avec une série de correctifs SQL successifs sur les politiques d'accès, les vues sûres et la performance ; trace d'un vrai travail de mise en conformité, pas d'un prototype jetable.
Deux mécanismes de temps réel volontairement différents ont été retenus, chacun contre l'usage systématique des WebSockets : un polling à empreinte pour le networking (économe, réactif, tolérant à l'hébergement mutualisé) et une horloge locale pour la régie (autonomie totale). Enfin, plusieurs fonctions critiques suivent un schéma défensif (tenter le chemin optimal, détecter l'échec, basculer sur un plan B) pour que l'interface ne reste jamais bloquée sur une erreur d'autorisation ou de latence.
Résultats & validation

La suite a été déployée et exploitée avec succès pour la 18e édition, tenue au Centre des Congrès d'Aix-en-Provence le 16 octobre 2025 : site vitrine en ligne et formulaire d'inscription opérationnel, application de networking dimensionnée pour environ 485 profils avec un parcours complet validé (inscription, confirmation, complétion de profil, dépôt de CV, recherche, connexion, notifications, effacement RGPD), et régie de planning validée sur les scénarios réels du jour J, y compris son fonctionnement hors-ligne.
- Édition accueillie au Centre des Congrès d'Aix-en-Provence, affluence forte confirmée le jour J.
- Parcours networking testé de bout en bout, conformité RGPD (consentement, visibilité, effacement).
- Durcissement de sécurité matérialisé par plus d'une dizaine de correctifs SQL de RLS et de sécurité.
Galerie du projet
4 illustrations · faites défiler →



Construisons-le.
Présentez le problème, même s'il est encore flou. On transforme le besoin en système clair.