Ce cockpit lit GitHub et range mes propositions. Il n'écrit rien dans le dépôt, ne touche à aucun code de RASA, et tourne sur ma propre infrastructure.
Une seule se remplit à la main. Les six autres se déduisent de l'état réel — une carte ne peut donc pas être oubliée au mauvais endroit.
| 💡 Idée | Ma liste. Le seul endroit que je saisis. |
| 🌿 En cours | Une branche à moi existe, sans proposition ouverte. |
| 🔵 Tests | Proposition ouverte, tests en cours, en échec, ou pas encore lancés. |
| 👀 Chez Charles | Tous les tests verts, aucune revue rendue. Rien à faire qu'attendre. |
| 🔴 À reprendre | Sa dernière revue demande une reprise. |
| ✅ Approuvé | Sa dernière revue approuve, pas encore fusionné. |
| 🎉 Fusionné | Entré dans develop il y a moins de 7 jours. |
« Dernière » compte : les revues s'empilent, et une reprise suivie d'une approbation vaut approuvé.
État actuel : pas encore branché
@BotFather, écris-lui
/newbot, puis donne un nom et un identifiant finissant par bot.
Il répond avec un jeton de la forme 1234567890:AA....
https://api.telegram.org/bot<TON_JETON>/getUpdatesCherche
"chat":{"id":123456789 — ce nombre est l'identifiant.
rasa-pr-cockpit →
onglet Environment Variables → ajouter :
TELEGRAM_BOT_TOKEN = 1234567890:AA... TELEGRAM_CHAT_ID = 123456789puis Redeploy. Le bandeau orange du tableau disparaîtra.
| Un message quand | une carte change de colonne : reprise demandée, approbation, fusion, tests en échec, ou proposition prête pour Charles. |
| Jamais de rafale | au démarrage, le service mémorise l'état sans prévenir : il n'annonce que les vrais changements. |
| Jamais de secret | un numéro, un titre, un état. Ni code, ni donnée de base. Telegram n'est pas un endroit pour de la donnée propriétaire. |
| Pas de boutons | sortant uniquement pour l'instant. Rien ne peut être déclenché depuis une conversation, donc rien à détourner. |
| Pas d'approbation | GitHub interdit d'approuver sa propre proposition, et celle de Charles appartient à son compte. Aucun bouton ne contournera ça. |
À créer soi-même — GitHub n'expose aucune API pour fabriquer un jeton, et c'est tant mieux : un jeton qu'un programme pourrait produire seul ne protégerait plus rien.
Settings → Developer settings → Personal access tokens → Fine-grained
| Propriétaire | IndusValleyCorp |
| Dépôt | RASA seulement |
| Permissions | Pull requests · Contents · Checks · Actions — toutes en lecture seule |
| Expiration | 90 jours |
⚠️ Sur un dépôt d'organisation, ce type de jeton doit être approuvé par un propriétaire. Charles sera dans la boucle — autant lui demander le jeton et le sous-domaine dans le même message.
Il se colle dans Coolify sous GITHUB_TOKEN, puis Redeploy.
| Variable | Défaut | Rôle |
|---|---|---|
| GITHUB_TOKEN | — | requis, en lecture |
| GITHUB_REPO | IndusValleyCorp/RASA | le dépôt suivi |
| GITHUB_ME | cirquephotovideo | mes propositions et mes branches |
| REVIEWER | indusvalleysangam | celui dont on attend la revue |
| TELEGRAM_BOT_TOKEN | — | le robot |
| TELEGRAM_CHAT_ID | — | la conversation |
| POLL_SECONDS | 60 | fréquence de lecture (minimum 20) |
| Symptôme | Cause la plus probable |
|---|---|
| Bandeau rouge « GitHub a répondu 401 » | Jeton expiré ou mal recopié. |
| « GitHub a répondu 403 » | Jeton valide, mais sans accès au dépôt — sur une organisation, il attend peut-être l'approbation d'un propriétaire. |
| Tableau vide sans erreur | Vérifier GITHUB_ME : seules mes
propositions s'affichent. |
| « identifiant de conversation inconnu » | Le robot n'a pas encore reçu de message de ma part (étape 2). |
| Aucun message Telegram | Normal tant que rien n'a changé de colonne. Le bouton d'essai ci-dessus tranche en deux secondes. |
/health répond 503 quand la dernière lecture a
échoué — la panne se voit, au lieu d'un tableau vide qu'on prendrait pour « rien à faire ».