Ekho — recommandation de lieux & plateforme de gestion
Ekho est une plateforme de recommandation de lieux de rencontre qui suggère des endroits adaptés à l'humeur et au moment de la journée de l'utilisateur, couplée à une dimension sociale (rencontres, présence en temps réel, messagerie) et à un back-office de gestion complet pour l'équipe et les gérants de lieux.
La stack
- Backend : PHP 8.2+ / Symfony 7.4, PostgreSQL 17 (Doctrine 3, migrations versionnées)
- API : API Platform 4 + endpoints REST sur mesure
- Authentification : JWT (LexikJWT) pour l'app mobile + Firebase Auth, rôles fins (utilisateur, gérant, admin)
- Temps réel : Mercure (présence, messagerie instantanée)
- Asynchrone : Symfony Messenger + RabbitMQ
- Stockage : MinIO / AWS S3 (gestion et conversion d'images)
- Notifications : push mobile Firebase, e-mailing transactionnel Mailjet, synchronisation CRM Brevo
- Back-office : TailwindCSS v4, Stimulus, Turbo, Symfony UX LiveComponent (AssetMapper, sans webpack)
- Observabilité & sécurité : GlitchTip (monitoring d'erreurs), journalisation des appels API, rate limiting, vérification d'e-mail, signatures de webhooks
Les modules livrés
Moteur de recommandation
Algorithme propriétaire en pipeline (éligibilité → résolution de signaux → priorisation → composition d'un trio de lieux → génération de cartes → contrôle de cohérence). Filtrage métier strict (horaires, niveau sonore, niveau d'interaction, anti-répétition) et priorisation selon l'humeur (Calme / Social / Dynamique) et le moment (Matin / Midi / Après-midi / Soir). Un simulateur de recommandation est intégré au back-office.
Check-in géolocalisé & QR Code
Validation de présence sur un lieu par géolocalisation (< 50 m) ou scan de QR Code, avec génération automatique des QR codes et export de « cartes lieu » en PDF.
Dimension sociale
Découverte de rencontres, « résonance » entre utilisateurs, présence en temps réel, messagerie (conversations + messages), favoris et profils enrichis.
Événements communautaires
Création et gestion d'événements liés aux lieux, participations et statistiques.
API mobile
API REST complète au service de l'application iOS / Android : authentification, profil, recommandations, check-in, rencontres, messagerie, présence, favoris, gestion des appareils et notifications push. Deep linking natif (Universal Links / App Links).
Back-office d'administration
Interface de gestion complète : CRUD des lieux (horaires, services, tags, contacts, images, événements, activités contextuelles), gestion des utilisateurs et des équipes, tableau de bord et statistiques, configuration système avec historique, gestion des jetons d'API et consultation des logs.
Espace gérant
Espace dédié aux gérants pour piloter leurs établissements.
Support & ticketing
Système de tickets intégré (création, commentaires, statuts) avec intégration GitHub : un webhook clôture automatiquement les tickets quand l'issue liée est résolue. Le système est également pilotable par des agents IA via un serveur MCP dédié.
Ce qui fait la différence
- Auto-remédiation des erreurs par IA : le monitoring GlitchTip est relié à la plateforme PaperClip — dès qu'une erreur survient, un agent IA la qualifie, écrit le correctif, le teste, puis soumet à un humain une Pull Request contenant le code de correction prêt à valider.
- Intégration d'agents IA (Model Context Protocol) pour l'exploitation et le support.
- Architecture orientée services, testée (PHPUnit), pensée pour la maintenabilité.
- Automatisations CI/CD reliant le suivi de tickets au cycle de développement GitHub.
- Temps réel de bout en bout (présence et messagerie) et infrastructure asynchrone scalable.