- Go 100%
| cmd/termiloult | ||
| dist | ||
| internal | ||
| pkg/protocol | ||
| .gitignore | ||
| CHANGELOG.md | ||
| go.mod | ||
| go.sum | ||
| LICENSE | ||
| README.md | ||
termiloult
Client terminal pour l'écosystème Loult — réseau de petits sites de chat avec synthèse vocale (TTS).
termiloult permet de se connecter à plusieurs instances et canaux depuis un seul terminal, avec lecture audio intégrée, mode headless, personnalisation par instance ou par canal, et une interface TUI pensée pour un usage quotidien.
État du projet
Version actuelle : v0.0.1-alpha
Le projet est encore jeune, mais déjà utilisable. L'objectif de cette première version publique est de proposer un client terminal propre, léger et agréable pour naviguer dans l'écosystème Loult.
Fonctionnalités
- Connexion simultanée à plusieurs instances et canaux.
- Navigation par slots et canaux.
- Lecture audio TTS intégrée.
- Mode headless pour laisser tourner l'audio sans TUI.
- Mute par instance, canal ou utilisateur.
- Configuration avec scopes globaux, par instance ou par canal.
- Sauvegarde d'état entre les sessions.
- Aide intégrée dans l'application.
Plateformes
Testé sur :
- Linux
- macOS
Installation
Depuis une archive binaire
Exemple Linux :
tar xzf termiloult-v0.0.1-alpha-linux-amd64.tar.gz
sudo install -m 755 termiloult /usr/local/bin/termiloult
Vérifier la version installée
termiloult --version
Dépendances audio
Pour une lecture TTS confortable, il est recommandé d'avoir :
ffmpegpacat(PulseAudio / PipeWire) ouaplay(ALSA)
Sans ffmpeg, termiloult utilise un mode de repli avec paplay, aplay, ffplay ou afplay selon la plateforme disponible.
Exemples d'installation :
# Debian / Ubuntu
sudo apt install ffmpeg pulseaudio-utils
# Arch Linux
sudo pacman -S ffmpeg pulseaudio
# macOS
brew install ffmpeg
Compilation depuis les sources
Go 1.21 ou supérieur est recommandé.
go build -o termiloult ./cmd/termiloult
sudo install -m 755 termiloult /usr/local/bin/termiloult
Pour injecter une version de release :
go build -ldflags "-X main.version=v0.0.1-alpha" -o termiloult ./cmd/termiloult
Lancement
termiloult
Mode headless :
termiloult --headless
Avec logs fichier :
termiloult --log-level debug
Configuration
Au premier lancement, le fichier suivant est créé automatiquement :
~/.config/termiloult/config.ini
Les instances Loult de base sont préconfigurées, donc aucun réglage n'est nécessaire pour démarrer.
Exemple minimal :
[INSTANCES]
LTFR = https://loult.fr wss://loult.fr/socket https://loult.fr/static/img/pokemon/small/
FMLY = https://loult.family wss://loult.family/socket https://loult.family/static/img/pokemon/small/
[STARTUP]
LTFR/
FMLY/
[CONFIG]
theme = dark
# cookie LTFR = votre_cookie_ici
# theme LTFR /je = gruvbox
# message_buffer_limit = 2000
Utilisation
Raccourcis utiles
F1àF12: changer de slot.Ctrl+U: afficher / cacher le panel utilisateurs.Ctrl+B: afficher / cacher le panel canaux.PgUp/PgDn: scroller les messages.?: ouvrir l'aide.Ctrl+Q: quitter.
Commandes client
.help: ouvrir l'aide..open [INSTANCE [/canal]]: ouvrir un slot ou un canal..join /canal: rejoindre un canal..leave [/canal]: quitter un canal..close: fermer le slot actif..clear: vider les messages du canal actif..refresh: reconnecter le canal actif..cookie <valeur>: définir le cookie de l'instance active..mute/.unmute: mute ou démute selon le contexte..users: ouvrir le tableau des utilisateurs..exit/.quit: quitter proprement.
Logs et données utilisateur
- Configuration :
~/.config/termiloult/config.ini - État persistant : répertoire utilisateur XDG de termiloult
- Logs :
~/.local/share/termiloult/termiloult.logquand--log-levelest activé
Licence
Projet distribué sous licence MIT. Voir LICENSE.