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.
This commit is contained in:
1 parent
b3ddc2117b
commit
51b60cda70
53 files changed
+717
-4
No files matched your search
@@ -1,4 +1,15 @@
|
||||
<!doctype html>
|
||||
<!--
|
||||
Noxely — collecte côté serveur, écoute hors connexion côté mobile.
|
||||
Copyright © 2026 Johnny (tuxgyver)
|
||||
|
||||
Ce programme est un logiciel libre : vous pouvez le redistribuer et le modifier
|
||||
selon les termes de la GNU General Public License, version 3 ou ultérieure,
|
||||
telle que publiée par la Free Software Foundation.
|
||||
|
||||
Il est distribué dans l'espoir d'être utile, mais SANS AUCUNE GARANTIE.
|
||||
Voir le fichier LICENSE à la racine du dépôt pour le texte complet.
|
||||
-->
|
||||
<html lang="fr">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
@@ -46,6 +57,7 @@
|
||||
<span class="grow" style="flex:1"></span>
|
||||
<input type="password" id="token" placeholder="Jeton" style="width:190px">
|
||||
<button class="ghost" onclick="saveToken()">Enregistrer</button>
|
||||
<button class="go" onclick="openPairing()">📱 Appairer</button>
|
||||
</header>
|
||||
<main>
|
||||
<div class="tabs">
|
||||
@@ -245,6 +257,15 @@ async function sweep() {
|
||||
loadWatches();
|
||||
}
|
||||
|
||||
async function openPairing() {
|
||||
try {
|
||||
const { seconds } = await api('/pair/open', { method: 'POST' });
|
||||
alert(`Appairage ouvert pour ${seconds} secondes.\n\n` +
|
||||
`Sur le téléphone : Réglages ▸ Connexion ▸ Appairer.\n` +
|
||||
`La fenêtre se referme dès qu'un appareil s'est servi.`);
|
||||
} catch (e) { alert('Appairage impossible : ' + e); }
|
||||
}
|
||||
|
||||
const esc = (s) => String(s).replace(/[&<>"']/g, (c) =>
|
||||
({ '&': '&', '<': '<', '>': '>', '"': '"', "'": ''' }[c]));
|
||||
|
||||
|
||||
Reference in new issue
Block a user