Générateur de tutoriels pas-à-pas libre pour Ubuntu GNOME. Tu effectues une procédure, TutoClic en fait un document illustré, annoté et exportable.
Équivalent libre de Folge, pour Linux, sans compte, sans serveur, sans télémétrie, et sans privilège élevé.
État : Phase 0. Aucune interface, aucun format de fichier figé, rien d'utilisable. Le dépôt contient les spécifications complètes et les premiers composants vérifiables. Voir SPEC.md §16 pour le découpage des phases.
Wayland interdit délibérément l'espionnage global des entrées. Un clone de Folge devrait donc être impossible : pas de détection de clic, pas d'auto-capture.
Trois contournements évidents ont été vérifiés et sont tous morts. Une extension
GNOME Shell ne voit pas les clics des fenêtres clientes. AT-SPI ne livre pas
d'événements souris sous Wayland. Le portail GlobalShortcuts n'est pas
implémenté sur GNOME.
Le chemin qui reste n'a pas besoin des clics du tout. Le portail ScreenCast
accepte cursor_mode = metadata, qui livre la position exacte du pointeur pour
chaque frame en métadonnée PipeWire, sans aucun privilège. Il ne manque que
l'instant de l'appui bouton, et pour un tutoriel ce n'est pas ce qu'on veut : on
veut la frame où l'interface a répondu. Une détection de changement de frame
donne ce signal-là, et gratuitement, puisque le flux est déjà reçu.
Position du curseur plus différence de frames égale auto-capture réelle, sans extension, sans helper privilégié, sans keylogger. Détail complet en SPEC.md §0.3 et §4.3.3, sources vérifiées en annexe A.
| Chemin | Rôle |
|---|---|
| SPEC.md | spécifications complètes, sources vérifiées, questions ouvertes |
| docs/phase0-results.md | ce que la sonde a réellement mesuré, machine par machine |
crates/tutoclic-coords |
conversion entre les quatre repères de coordonnées (§4.5) |
crates/tutoclic-probe |
sonde de la Phase 0 : type de tampon PipeWire et métadonnée de curseur |
Chaîne d'outils : Rust stable 1.86 ou plus. Ce plancher vient de l'arbre de
dépendances (ashpd tire icu_* qui exige 1.86), pas du code de TutoClic : le
code de tutoclic-coords compile dès 1.80.
cargo test -p tutoclic-coordstutoclic-coords n'a aucune dépendance système. Il se compile et se teste
sur n'importe quelle machine, sans bureau, sans GTK, sans PipeWire. C'est
volontaire : SPEC.md §16 exige que la Phase 1a avance même si la Phase 0 révèle
un problème.
La sonde, elle, a besoin de PipeWire et d'une session graphique :
sudo apt install build-essential pkg-config libpipewire-0.3-dev libclang-dev
cargo run -p tutoclic-probeElle répond aux deux questions qui décident de l'architecture, et à elles seules.
- Quel type de tampon PipeWire Mutter négocie-t-il ?
MemFdouMemPtrsont lisibles par le CPU et GStreamer reste hors des dépendances.DmaBufvit sur le GPU et impose GStreamer ou un import EGL. SPA_META_Cursorarrive-t-il, et sur combien de frames ? Sans cette métadonnée, le mode automatique perd le repère de clic.
Elle ne capture rien, n'écrit aucune image, et ne conserve que le jeton de restauration du portail. Résultats mesurés dans docs/phase0-results.md.
La Phase 0 n'est pas franchie. La question du type de tampon est tranchée :
MemFd sur une vraie session Wayland, donc GStreamer reste hors des
dépendances. La question de la métadonnée de curseur est en revanche rouverte
et c'est celle qui décide du produit : la première sonde ne demandait pas
SPA_META_Cursor, donc son absence ne prouvait rien. La sonde corrigée n'a pas
encore été exécutée.
GPL-3.0-or-later pour le code, CC BY-SA 4.0 pour la documentation. Toutes les dépendances doivent être libres et compatibles : inventaire et statut en annexe C de SPEC.md.