Files
Noxely/server
tuxgyver 51b60cda70 Appairage du téléphone, en-têtes de licence (2.1.0)
Recopier un jeton de trente-trois caractères sur un clavier tactile n'était pas
un réglage, c'était une corvée. On ouvre désormais une fenêtre depuis le
serveur, on appuie sur Appairer côté téléphone, et c'est fait.

Le jeton n'est pas pour autant distribué : ouvrir la fenêtre l'exige déjà,
elle dure deux minutes, se referme dès qu'un appareil s'est servi, et ne
répond qu'à une adresse privée. Le champ de saisie reste là pour qui préfère
le coller.

Les cinquante fichiers de code portent en outre leur notice de licence, comme
la GPL le recommande. Elle est en français, comme le reste ; le texte qui fait
foi demeure celui de LICENSE, non traduit.
2026-09-13 20:15:14 +02:00
..

🖥️ Noxely — serveur

Le serveur porte tout ce qui coûtait de la batterie au téléphone : la recherche dans les catalogues, le guet des radios, l'enregistrement et le téléchargement. Le mobile ne fait plus que récupérer des fichiers prêts.

Installation

make server-venv                 # crée le venv et installe les dépendances
cp server/.env.example server/.env   # puis renseigner NOXELY_TOKEN
make server-run                  # lancement au premier plan, pour essayer

L'interface de pilotage est à http://<hôte>:8710 — recherche, guets, file et bibliothèque. Le jeton se saisit une fois dans l'en-tête de la page.

En service

make server-install              # unité systemd (sudo demandé)
make server-status               # état
make server-logs                 # journal suivi

API

Route Qui l'utilise
GET /api/health tout le monde, sans jeton
GET /api/library?since=<curseur> le mobile — uniquement ce qui a changé
GET /api/media/{id}/file le mobile — le fichier
GET /api/search, /api/tracks, POST /api/queue l'interface web
GET/POST/DELETE /api/watches, POST /api/watches/sweep l'interface web

Toutes les routes sauf /api/health exigent l'en-tête X-Noxely-Token.

Licence

GPL v3, comme le reste du projet — voir ../LICENSE.

Données

$NOXELY_DATA/
├── noxely.sqlite3   index des médias et des guets
└── media/           les fichiers eux-mêmes