Documentation

Comment marche Memoss

Memoss, c'est une bibliothèque de mèmes alimentée automatiquement par ceux que les membres du groupe s'envoient, plus un jeu de légendes par-dessus pour les revivre à plusieurs. Cette page explique comment un fichier posé dans un dossier finit dans le jeu, et comment tout ça se relie au reste (cooloss).


01. La bibliothèque

D'un dossier local à la galerie

Le feeder est un petit programme qui tourne en arrière-plan sur la machine de chacun (icône dans la barre système). Il surveille un dossier local, typiquement celui où atterrissent les mèmes reçus des potes, et upload automatiquement tout nouveau fichier vers Memoss, sans intervention manuelle.

Source

Dossier local

Le dossier surveillé

N'importe quel dossier, configuré une fois dans le feeder. Récursif : les sous-dossiers sont couverts aussi.

↓ un nouveau fichier apparaît

Étape 1

Hash MD5

Déduplication

Chaque fichier est empreinté par hash avant envoi. Un fichier déjà uploadé (même renommé, même redéplacé) n'est jamais renvoyé deux fois.

↓ nouveau hash → upload

Étape 2

Upload

POST /upload

Authentifié par une clé API propre à chaque feeder, pratique pour savoir qui a fourni quoi, sans jamais partager de mot de passe de compte.

↓ à l'arrivée sur le serveur

Résultat

Galerie

Miniature générée, tag todo par défaut

Le média apparaît dans la Bibliothèque, prêt à être trié, et immédiatement piochable par le jeu s'il passe en tag cinema.

Une fois dans la bibliothèque, chaque média porte un tag :

Todo

Le tag par défaut à l'upload, pas encore trié.

Cinema

Les meilleurs, c'est uniquement dans ce tag que le jeu pioche ses mèmes.

Osef

Gardé, mais mis de côté, n'apparaît jamais dans le jeu.

Rogner une vidéo

Un mème filmé trop large peut être rogné (haut/bas, en %) directement depuis la galerie. Le rognage crée un nouveau média, l'original reste intact à côté.


02. Le jeu

Une partie, trois manches

Un joueur crée une room et reçoit un code à 6 caractères à partager (ou un lien direct). Une fois tout le monde connecté, l'hôte choisit le mode et lance la partie, 3 manches, chacune avec le même déroulé.

Mode « 50 Derniers »

Pioche uniquement parmi les 50 mèmes tag cinema les plus récents

Mode « Cinéma »

Pioche dans toute la collection tag cinema

1. Choix

5 mèmes proposés

120s pour choisir + légender

→

2. Légende

100 caractères max

Une seule par joueur

→

3. Révélation

Une légende à la fois

Tous les joueurs regardent ensemble

→

4. Vote

Curseur 0 à 100

Sauf l'auteur, qui attend le score

La moyenne des votes reçus (arrondie) s'ajoute directement au score cumulé du joueur. Après chaque manche, un podium intermédiaire s'affiche ; à la fin des 3 manches, le classement final couronne un gagnant et met en avant les meilleures légendes de la partie, vidéo en grand format, son activé.

1
« bro really said skibidi »
@quelqu'un · manche 3
87
2
« on est plus à ça près »
@quelqu'un d'autre · manche 2
241 pts
3
« osef »
@le troisième · manche 1
198 pts

03. Légendes & historique

Ce qui a été dit ne se perd pas

Chaque légende jouée est conservée. Deux façons de les retrouver : la page Légendes liste l'historique complet, filtrable par période ; et directement dans la galerie, ouvrir un mème affiche toutes les légendes qui lui ont déjà été attribuées, triées par score.

Accès restreint

La page Légendes est réservée aux comptes admin et habitué (statut attribué depuis cooloss), pas besoin d'avoir joué pour consulter, mais il faut être connecté.


04. Le compte partagé

Un compte, plusieurs apps

Memoss ne gère pas ses propres comptes : la connexion passe par cooloss, le hub de compte partagé entre les apps du réseau. Un seul cookie de session, valable partout, pas besoin de se reconnecter en passant de l'une à l'autre.

Connexion

cooloss

Compte partagé, cookie unique

→

Tu joues

Memoss

Légendes, votes, scores


Sous le capot

La stack

Serveur

FastAPI + SQLModel (SQLite)

Temps réel

WebSocket natif (rooms, votes, reveal)

Frontend

Vanilla JS/CSS/HTML, Plyr pour la vidéo

Feeder

Python + watchdog, packagé en .exe

Déploiement

Docker Compose + Nginx, CI/CD sur push