Comment Slidz marche à l'intérieur : algorithmes, formules, seuils, stockage, tâches de fond, avec le fichier et la
fonction du code pour chaque mécanisme. Tout est vérifié dans le code : si une page et le code ne disent pas la même
chose, c'est la page qui est à corriger.
Chaque page finit par « Écarts connus » : les bizarreries du code et ce qui contredit la doc ou le SPEC.
Les pages sont des fichiers Markdown du dépôt slidzapp/wiki, synchronisés avec le wiki toutes les 5 minutes.
- Architecture : vue d'ensemble technique : services, stockage, tâches de fond, organisation du code et chaîne de livraison.
- Algorithme du fil : comment le serveur choisit chaque page du fil : candidates, note, tirage, difficulté, force par thème, rythme, boucle.
- Parcours d'une réponse : pOST /answers étape par étape, dans l'ordre du code : validation, correction, XP, points, défis, stats, force, badges, réponse.
- XP, niveaux et points du mois : barème XP et points de saison par format, bonus de vitesse, courbe des niveaux, stockage, saisons, idempotence.
- Classements : stockage Redis des classements du mois, écriture, lecture par zone, reconstruction, exclusions et clôture du mois.
- Défis du jour et badges : moteur des défis du jour (compteurs, remise à zéro, XP) et des badges (déclencheurs, conditions exactes, rareté).
- Parties entre potes : moteur des parties lancées dans une conversation : tables, statuts, direct et différé, chrono serveur, score, fin, concurrence entre workers.
- Temps réel : le canal WS /ws : authentification, sockets par joueur, heartbeat, relais Redis entre workers, types de messages et reconnexion de l'app.
- Conversations : modèle unique des conversations privées et des groupes : tables, non-lus, rôles, codes d'invitation, droits, partage de question.
- Comptes : jetons JWT, inscription par pseudo, connexion Apple et Google, suppression et anonymisation, administrateurs, photos de profil.
- Notifications : pipeline des push FCM (jetons d'appareil, envoi après commit, filtres, nettoyage) et entrées de la boîte d'activité.
- Sécurité entre joueurs : où le blocage est vérifié, comment marchent les signalements, et quelles limites anti-abus existent dans le code.
- Modération des questions : pipeline technique d'une question créée par un joueur : validation, limites, doublons, filtre Claude, relecture, signalements et retours en file.
- Triche : calcul des signaux et de l'indice de triche, appel à Claude pour un avis, stockage, et mécanique de l'exclusion des classements.
- Slidz+ : abonnement Slidz+ côté technique : vérification StoreKit, notifications App Store v2, état abonné, historique et formules de la page Abonnements.
- Publicités : pubs récompensées AdMob côté technique : vérification SSV, clés de Google, règles de crédit, XP et idempotence.
- Flags : interrupteurs et réglages : variable, défaut, effet, et fichiers qui les lisent côté back et côté app.
- Statistiques : événements d'usage, agrégation toutes les 10 minutes, tables daily_stats et question_stats, rétention des bruts et formules de la console.
- Déploiement : pipeline de mise en ligne, healthchecks, sauvegardes, Caddy, synchronisation du wiki et règles de sécurité.
- Règles de travail : les règles de travail du projet Slidz, pour Lucas et pour Claude.
- Cahier des charges et feuille de route : dépôt
slidzapp/docs (SPEC.md, ROADMAP.md).
- Contrats techniques : dépôt
slidzapp/back (FEED.md, MODERATION.md, CHEAT.md, SUBSCRIPTION.md…).