Aller au contenu

L'App

L'App est le service de papyDeck : comptes, espace projets, publication, classement vérifié. Le site public, www.papydeck.eu, présente la console ; l'App est l'endroit où un jeu s'écrit, se range, se publie et se classe.

Le simulateur que sert l'App est celui que vous lancez dans votre navigateur, et l'App lie le même moteur pour rejouer les traces : même Lua, même rastériseur, même modèle de budget. C'est ce qui rend possible tout ce qui suit.

Les deux pages suivantes décrivent ce que sont un projet, un bundle et une release, et comment chaque onglet s'emploie.

Ce qu'un compte débloque

Le simulateur est public. Pas de barrière : c'est lui qui fait écrire des jeux, donc l'objectif même du projet. Ce qu'un compte débloque, c'est déposer, publier et apparaître au classement.

Un score n'est pas cru sur parole

Une soumission porte la trace des entrées, pas un nombre. Le serveur la rejoue avec le moteur du simulateur, même Lua, même rastériseur, même modèle de budget, et un score qui ne se reproduit pas est rejeté.

Le classement est un sport, pas un système de sécurité

Une signature de l'élément sécurisé de la console (un ATECC608) prouve qu'une vraie papyDeck a produit la soumission ; elle ne prouve pas qu'un humain a joué. Le firmware est public, donc une trace optimisée par un robot se rejouera parfaitement. La parade est la plausibilité, la revue humaine et le bannissement par clé publique, jamais une promesse d'invulnérabilité.

Publier fige, et c'est le classement qui l'exige

Un brouillon est modifiable et n'appartient qu'à son auteur. Une release est un instantané qui ne bougera plus.

Ce n'est pas de l'élégance : la trace porte une empreinte du jeu, repliée sur les noms triés et les contenus du dossier du jeu. Un score s'attache donc à une version d'un jeu, et si l'auteur retouche un sprite, la trace d'hier ne rejoue plus.

Cloner

Cloner enregistre la release exacte dont la copie sort. Si l'auteur d'origine modifie ou supprime son jeu, l'ascendance du clone n'est pas réécrite dans son dos, et une version publiée survit à la suppression de son projet.

Il n'y a ni branche, ni fusion, ni diff, ni historique du brouillon. Un clone est une copie qui se souvient d'où elle vient, et c'est tout.

L'identité des consoles

Le site ne connaît qu'une chose de chaque papyDeck : sa clé publique, versée au registre à l'assemblage. Pas d'autorité de certification, pas de chaîne à valider : un certificat auto-signé et une clé publique portent la même information.

Les soumissions sont signées hors ligne et postées en HTTPS ordinaire : on joue dans le train, la console vide sa file quand elle retrouve du Wi-Fi. Le compteur monotone de l'élément sécurisé sert de nonce anti-rejeu, et rien de plus : c'est le firmware qui choisit la valeur qu'il signe, et le firmware est public.

Une paire de clés logicielle remplace une carte pour le développement. Elle est marquée comme logicielle au registre, et la production ne la classe pas : sans protection matérielle, sa clé se copie et son compteur se remet en arrière.

Licence

MIT, comme le firmware et le simulateur.