Chargement…
Chargement…
Comment QuestEvent fonctionne, sans jargon : où voyagent tes données, comment l'app est rangée, ce que garde la base de données et ce qui la protège. Choisis un onglet, puis touche les schémas pour les explorer.
Cartographie détaillée des flux de données · 15 workflows
Pseudo, mot de passe, session
Touche (ou survole) une ville, une case ou une flèche pour voir ce qu'elle représente.
Dublin et Marseille sont les lieux indiqués pour l'hébergement et la mesure d'audience. Les fichiers publics sont servis depuis le point le plus proche de toi. Les flèches en pointillés vont vers un service externe : le serveur qui répond peut être dans ton pays ou dans un autre, selon le routage réseau et les caches du fournisseur.
Tu envoies ton pseudo (ou ton email) et ton mot de passe, par une connexion chiffrée (HTTPS).
La connexion de Supabase vérifie. Ton mot de passe y est haché : illisible pour tout le monde.
Une session te reconnaît ensuite grâce à un cookie nécessaire au fonctionnement, pas à de la publicité.
Ceux du parcours choisi sont en couleur. Touche-en un pour voir ce qu'il garde.
Touche une ligne pour voir ce parcours sur la carte.
Ton mot de passe
Haché par le service de connexion : illisible pour tout le monde, moi compris.
Ta date de naissance
Facultative, et retirable à tout moment dans les Réglages. Tes ami·es ne voient que le jour et le mois (si tu le permets), jamais l'année. Les statistiques d'âge se font en groupes d'au moins 3 personnes.
Fichiers sensibles
Photos de quêtes, pièces jointes et preuves de signalement : stockage privé, jamais public.
Les signalements, avis et messages reçus
Tables illisibles depuis un navigateur, accès réservé au responsable de QuestEvent.
La clé de service
Elle ne vit que sur le serveur et n'est jamais envoyée à ton navigateur.
Les journaux de l'app
Ils n'écrivent jamais de mot de passe, de jeton ni de contenu de signalement.
Après traitement
Suppression ou anonymisation, sauf obligation légale, litige ou prévention de fraude.
Toutes les fonctionnalités de QuestEvent, rangées en quatre groupes. Touche un groupe, puis un bloc ou un lien pour savoir ce qu'il fait et où il vit dans le code.
Une base, c'est un grand classeur de tableaux : les tables. Chacune garde un seul sujet (les artistes, les ami·es, les badges…) et renvoie aux autres par un identifiant. Celle de QuestEvent compte 43 tables rangées en 6 rayons, toutes protégées par des règles de lecture.
Qui tu es et ce que tu as choisi de montrer.
Choisis qui regarde : les tables qu'elle peut lire s'allument, les autres restent fermées. Touche un rayon pour voir ses tables.
Elle voit en plus ce que tu partages avec ta bande : tes participations, tes artistes cochés, ton activité.
Elle peut lire 17 tables sur 43.
Une serrure par table
Chaque table a sa « sécurité au niveau des lignes » (RLS) : même si quelqu'un trafiquait l'app, la base elle-même refuse de montrer ce qui n'est pas à lui ou à elle.
Le serveur garde les clés sensibles
Les barèmes d'XP, les récompenses de saison ou les messages reçus ne s'écrivent que depuis le serveur, après vérification : pas depuis ton téléphone.
Les photos sont privées
Les photos de quêtes vivent dans un espace de stockage privé, dans un dossier à ton nom. Toi et tes ami·es peuvent les voir, personne d'autre.
Chaque information a un seul domicile
Un artiste n'existe qu'une fois, un profil qu'une fois : les autres tables y renvoient par un identifiant. C'est ce qui évite les doublons et garde les chiffres justes.
Deux vues complètent les tables : « profile_stats » et « profile_levels » recalculent tes chiffres et ton niveau à partir de tes passages vus ; elles ne gardent rien de plus.
Ce qui protège tes données, mesure par mesure. Je te dis ce qui est en place (et où ça se prouve), ce qui est prévu et ce qui reste à vérifier : rien n'est présenté comme acquis s'il ne l'est pas.
Choisis qui essaie d'entrer : les portes qui s'ouvrent s'allument, les autres restent fermées.
Elle lit les siennes. Les données des autres lui restent fermées, sauf ce qu'elles partagent avec elle.
2 portes sur 5 s'ouvrent.
Vérifié le 5 octobre 2026, dans le dépôt et sur le site en ligne. Un test refait les vérifications qui peuvent se faire dans le code.
Avec quoi QuestEvent est construit, du téléphone jusqu'aux outils qui vérifient que tout reste juste. Touche une couche, puis une technologie.
13
technologies
5
couches
v0.77.0
version de l'app
Les quatre commandes du projet, telles qu'elles sont écrites dans son fichier de configuration.
npm run dev
Lance le site sur ton ordinateur pour le voir et le modifier en direct.
Lance : next dev
npm run build
Construit la version prête à être mise en ligne.
Lance : next build --webpack
npm run test
Lance tous les tests automatiques, une fois.
Lance : vitest run
npm run lint
Relit le code à la recherche de pièges.
Lance : eslint
Tu écris une phrase, le lutin la comprend et te répond. Je l'ai fait sans aucun service d'IA : des règles écrites par moi, des calculs précis sur ta base, et des phrases à trous. Voici son trajet, un bac à sable pour l'essayer pour de vrai, puis les 26 demandes prévues.
26
demandes prévues
0
service d'IA
7/8
étapes écrites
Où j'en suis : la fenêtre du lutin répond déjà à huit questions de lecture avec tes vraies données (qui vient, tes comptes, tes artistes les plus vus, l'écart entre deux éditions, ton été, tes ami·es…). Il lui manque encore l'écriture confirmée (plan, « oui », journal, annulation) et quelques lectures.
Huit étapes, de ta phrase jusqu'à l'écriture confirmée. Touche une étape.
Des règles et un lexique, écrits par moi, décident de l'intention (ajouter, corriger, compter, retrouver des ami·es…) et lisent les éléments : l'événement, l'année, le jour, la scène, la plage horaire, les artistes, les prénoms.
Reçoit
Envoie
🟢 Aujourd'hui dans l'app : Elle reconnaît déjà les 26 demandes. Huit demandes de lecture et les phrases de suivi reçoivent une vraie réponse ; les autres reçoivent un « pas encore » honnête.
Dans le code : src/lib/lutin/understand.tssrc/lib/lutin/understand.test.ts
Ce n'est pas un décor : le vrai moteur (compréhension, dialogue, réponses) tourne ici, dans ton navigateur. Comme il n'a pas ta base, les chiffres sont fictifs et les écritures simulées : rien n'est lu ni écrit, et ta phrase ne quitte pas cet écran.
Écris une phrase, ou touche un exemple ci-dessous.
Rangées en sept thèmes. Ouvre un thème, touche une demande, puis « Essayer » la joue dans le bac à sable.