• v2.0.0 ed1d40826b

    Noxely 2.0.0 Stable

    tuxgyver released this 2026-09-13 15:40:12 +00:00 | 7 commits to main since this release

    Noxely se sépare en deux : un serveur qui collecte, un mobile qui écoute. Tout ce qui
    tenait le téléphone éveillé a migré ailleurs — c'est la raison d'être de cette version.

    Ajouté

    • Serveur (server/, Python + FastAPI + SQLite). Il porte désormais la recherche dans les
      catalogues, le guet des morceaux sur les radios, l'enregistrement des directs et la file de
      téléchargement. Une interface web permet de le piloter depuis un navigateur : recherche, guets,
      file et bibliothèque.
    • Recherche simultanée sur toutes les sources. Les quatre catalogues sont interrogés en
      parallèle et les résultats fusionnés, chacun étiqueté de son origine, les plus légers en tête.
      Un catalogue en panne n'empêche pas les autres de répondre.
    • Balayage radio continu. Un tour enchaîne sur le suivant au lieu d'attendre trois minutes :
      un morceau guetté a été capté en moins de vingt-cinq secondes à la mesure. Une sonde ne lit que
      le premier bloc de métadonnées puis referme, ce qui rend la permanence tenable là où garder
      quarante flux ouverts coûterait plusieurs mégabits par seconde.
    • Synchronisation client/serveur. Le mobile demande ce qui a changé depuis son curseur,
      télécharge les fichiers prêts et se rendort. Toutes les six heures, en Wi-Fi non facturé et
      batterie suffisante.
    • Réglages en sous-onglets sur le mobile : Connexion, Synchronisation, Application.
    • Cibles make server-* : environnement, lancement, service systemd, jeton, journal.

    Changé

    • L'application Android devient un client de synchronisation. Recherche, catalogues, radio,
      guets et enregistrement quittent le téléphone : vingt fichiers supprimés. Restent la
      bibliothèque, la lecture, les playlists, le hors-ligne et les réglages.
    • L'onglet Sources devient Réglages.

    Corrigé

    • Le jeton du serveur était régénéré à chaque démarrage : il aurait fallu reconfigurer le mobile
      après le moindre redémarrage. Il est désormais conservé dans data/token, en lecture seule pour
      son propriétaire.
    • Wikimedia Commons répondait 403 : sa politique refuse les agents génériques. L'agent annonce
      maintenant le projet et son dépôt — 28 résultats là où il n'y en avait aucun. L'erreur était
      masquée par la fusion des sources, et n'est apparue qu'en interrogeant la source seule.
    • NOXELY_DATA pointait par défaut sur /var/lib/noxely, inaccessible au compte qui lance
      make server-run : le défaut devient ./data, et l'unité systemd crée elle-même son dossier
      d'état. Un dossier inutilisable donne désormais une phrase, plus une trace Python.
    • La lecture des métadonnées ICY n'itérait rien côté serveur : iter_bytes au lieu de
      aiter_bytes sur un client asynchrone. Trente-six stations écoutées, zéro titre lu.
    • Une coupure de l'annuaire Radio Browser faisait échouer tout le balayage : une seconde tentative
      est faite, et l'erreur renvoyée est lisible.

    Migration

    Le mobile seul ne sert plus à rien : il faut installer le serveur (make server-venv, puis
    make server-install), relever son jeton (make server-token) et le saisir dans Réglages ▸
    Connexion. Consultée depuis la machine du serveur, l'interface web se remplit seule.

    Downloads