Contribuer

Comment ce wiki est tenu à jour, ce qui reste en suspens, et la concordance entre les réglages dans le code et dans le wiki.

Principes

  • La source de vérité, c’est le code, pas la mémoire : les définitions des réglages dans App/Shared/Views/Settings/SettingsGuide.swift (SettingsGuide.all) et les textes explicatifs dans App/Shared/Localizable.xcstrings (settings.info.*, settings.*). Les valeurs par défaut proviennent des fichiers *Preference et des clés UserDefaults. Ce qui n’est pas dans le code n’est pas dans le wiki – cela va dans la liste « En suspens ».
  • État : branche release-1.0.2 (commit da66e128, 15.10.2026), inventaire Docs/release-1.0.2/neu-in-1.0.2.md. Si l’app change, lire d’abord le nouvel état, puis le wiki.
  • Langue : allemand standard avec l’orthographe suisse (ss au lieu de ß), tutoiement, phrases courtes, aucun terme technique sans explication (voir Glossaire).
  • Neutralité : pas de noms de fournisseurs, pas de vrais noms de chaînes (exemples avec des chaînes inventées comme « Nordkanal », « Sportwelt »), pas de prix, aucune affirmation sur la période d’essai ou les conditions d’abonnement, pas d’arguments publicitaires (« sans lag », « meilleur que »). Aucun chiffre tiré du jeu de règles que l’app n’affiche pas elle-même.
  • Images uniquement issues du nouveau design : Docs/release-1.0.2/screens/design-4/ et design-settings/ du code source, copiées avec tools/bilder_102.py dans images/ (le script pose aussi les points numérotés sur la télécommande et le lecteur ; la légende figure sur la page). Pas de nouvelles captures d’écran faites à la main.

Structure d’un réglage

Chaque réglage figure exactement une fois, sur la sous-page de sa section, avec une ancre invisible juste sous le titre :

### Nom tel que dans l’app (English name)
<!-- setting: bereich.schlüssel -->

- **Où :** section · plateformes
- **Ce que ça fait :** 2–3 phrases, la phrase explicative de l’app entre « guillemets »
- **Par défaut :** attesté par le code
- **Options :** pour chaque option, avantage et inconvénient
- **Quand modifier :** …
- **Ce que ça coûte :** batterie, retard sur le direct, volume de données, stockage
- **Interagit avec :** renvois

L’ancre <!-- setting: … --> porte la clé tirée de SettingsGuide.swift. La vérification ci-dessous compte ces ancres.

Liens et ancres

Forgejo forme les ancres des titres ainsi : minuscules, chaque suite de caractères qui ne sont ni lettre, ni chiffre, ni trait de soulignement devient un trait d’union, pas de trait d’union au début ni à la fin. Les trémas restent. Exemple : « Reserve gegen Aussetzer (Reserve against dropouts) » → #reserve-gegen-aussetzer-reserve-against-dropouts. Liens de page sans .md, sous la forme [Texte](Seitenname#anker).

Vérifier avant le push

Le dépôt du wiki contient deux scripts dans tools/ :

NEVERLAG_SRC=~/neverlag-wiki-src python3 tools/check_settings.py --table   # 81 = 81, aucun doublon
python3 tools/check_links.py                                                 # pages, ancres, images

check_settings.py --table régénère la liste de concordance ci-dessous. Les deux doivent passer sans aucune remarque. Ensuite, commit et git push origin main ; le nombre de pages se vérifie via l’API : GET /api/v1/repos/haris/Neverlag/wiki/pages.

Modifier une page

  1. Mettre la copie des sources à l’état voulu (git -C ~/neverlag-wiki-src checkout <tag>).
  2. Lire le texte explicatif de l’app (settings.info.<id> dans Localizable.xcstrings) et chercher la valeur par défaut dans le code.
  3. Modifier la page ; nom du réglage exactement comme dans l’app, l’anglais entre parenthèses.
  4. Scripts de vérification, commit avec un message parlant, push.
  5. Ce qui ne peut pas être attesté : l’inscrire ici sous « En suspens », ne pas deviner.

En suspens

Points que les sources ne permettaient pas d’attester sans ambiguïté, ou sur lesquels les sources se contredisent. Qui les éclaircit inscrit la réponse et raye le point.

  1. Étendue de la FAQ : la commande cite 27 questions, Web/src/i18n/faq/de.ts en contient 34. Le wiki reprend les 34.
  2. La 4K revient-elle d’elle-même ? La FAQ du site (« La 4K revient-elle d’elle-même ? », « Pourquoi suis-je soudain en 1080p ? », « … quand mon fournisseur bride le débit ? ») décrit un retour automatique au bout de quelques minutes. Le jeu de règles 1.0.2 dit « jamais de remontée automatique » ; le niveau inférieur vaut au plus 30 minutes par chaîne, la remontée est possible à tout moment par le bouton. Le wiki suit le jeu de règles ; les textes du site seraient à adapter.
  3. FAQ du site « lecteur le plus stable » cite d’autres lecteurs par leur nom ; le wiki omet ces noms.
  4. Autoplay : disponible depuis la 1.0.2 (« Épisode suivant automatiquement », Réglages → Lecture). Réglé.
  5. Langue audio préférée : il n’existe pas de choix fixe (« toujours en allemand »). Depuis la 1.0.2, Neverlag retient la dernière langue audio choisie ; on l’affiche et la réinitialise sous « Langue audio mémorisée » (Réglages → Image et son).
  6. Reprise des enregistrements : une position enregistrée pour les enregistrements n’est pas attestée dans les textes (seulement pour les films et séries). Pas affirmé.
  7. Décompte des réglages : dans l’état release-1.0.2 (15.10.2026), SettingsGuide.all contient 81 entrées réparties en onze sections ; le wiki présente chacune exactement une fois (tableau ci-dessous). Le code fait foi ; les anciens récapitulatifs à 61 ou 64 entrées sont dépassés.
  8. Android / Fire TV : la colonne dans Différences entre plateformes s’appuie sur Docs/android-parity.md (chaque ligne y est datée), pas sur un essai de l’app. Le contrôle parental, le NAS, l’envoi de jumelage, la notice du premier lancement, Évaluer/Retour et la visite y figurent comme absents ou à rattraper ; les nouveautés de la 1.0.2 (profils, télécommande, chaîne de sources, archives en médiathèque, mots-clés, nouveaux réglages) n’y figurent pas encore du tout.
  9. Mesures sur appareil, image II : selon le rapport, trois décisions restent ouvertes tant qu’aucune mesure n’a été faite sur un vrai iPhone : garder « 120 Hz pour la vidéo », mode standard définitif, valeur par défaut du lissage des mouvements. Le wiki indique les valeurs par défaut actuelles (activé / désactivé).
  10. Apple TV 4K avec HDR : la FAQ du site cite les pertes d’images en 4K HDR comme limite connue (« nous y travaillons »). Que le « Nouveau moteur de rendu » règle cela dans la 1.0.2 n’est pas attesté comme acquis dans les rapports.
  11. Plafond de réserve par appareil (85 s sur iPhone et Apple TV 4K, 60 s sur Apple TV HD, 40 s en cas de mémoire limitée) : ces valeurs viennent du rapport du lot 2a ; l’app affiche elle-même la valeur atteignable. À vérifier pour toute nouvelle catégorie d’appareils.
  12. Images : depuis la 1.0.2, les images proviennent de Docs/release-1.0.2/screens/design-4/ et design-settings/ (script tools/bilder_102.py). Pour la configuration initiale « Votre profil », le choix de la langue au premier lancement, le Timeshift sur iPhone/iPad et le test réseau, il n’y a pas de captures à cet endroit ; les pages s’en passent ou montrent l’image la plus proche.
  13. Barre de saut sur Mac : le comportement sur Mac (barre avec début/fin ou simple liste) varie selon la taille de la fenêtre ; le wiki ne le décrit que dans les grandes lignes.
  14. Prix : volontairement absents du wiki, même là où le site les cite. Le wiki mentionne la période d’essai (7 jours), parce que l’app l’affiche elle-même ainsi.
  15. Source du wiki : jusqu’ici, le wiki est tenu directement dans le dépôt du wiki. La règle « Docs/wiki/ dans le code source → wiki Forgejo → aide sur le site », avec un script de miroir, reste à mettre en place.
  16. Traductions : depuis le 16 octobre 2026, les pages sous en/, fr/ et it/ sont au même niveau que les pages allemandes (1.0.2). Qui modifie une page allemande met à jour les trois langues dans le même commit ; les ancres restent en allemand.
  17. Coupure sans image figée : que Neverlag reprenne au paquet près après une brève coupure de connexion est attesté sur le banc d’essai ; selon le rapport, la mesure sur un vrai appareil reste à faire.

Concordance : réglages dans le code vs. dans le wiki

État release-1.0.2 (15.10.2026) : 81 réglages dans le code, 81 dans le wiki, chacun exactement une fois. Généré avec tools/check_settings.py --table.

N°Clé dans le codeSectionNom dans l’appPage du wikiÉtat
1provider.addXtreamproviderAjouter un compte Xtream …Einstellungen-Anbieter✓
2provider.addM3UproviderAjouter une playlist M3U …Einstellungen-Anbieter✓
3provider.sendQRproviderEnvoyer à l’Apple TV (scanner le code QR) …Einstellungen-Anbieter✓
4provider.refreshIntervalproviderMise à jour automatiqueEinstellungen-Anbieter✓
5provider.refreshCatalogproviderMettre à jour le catalogue maintenantEinstellungen-Anbieter✓
6provider.refreshEPGguideMettre à jour l’EPG maintenantEinstellungen-Programmfuehrer✓
7provider.loadDetailsproviderCharger les détails des filmsEinstellungen-Anbieter✓
8provider.manageGroupsproviderGérer les groupes et recharger …Einstellungen-Anbieter✓
9provider.sendToTVproviderEnvoyer à l’Apple TV …Einstellungen-Anbieter✓
10provider.removeproviderSupprimer le fournisseurEinstellungen-Anbieter✓
11categories.showproviderAfficher les catégoriesEinstellungen-Anbieter✓
12categories.manageproviderGérer les catégoriesEinstellungen-Anbieter✓
13categories.sortAZproviderTrier par ordre alphabétique (A–Z)Einstellungen-Anbieter✓
14categories.resetproviderRéinitialiserEinstellungen-Anbieter✓
15backup.exportproviderExporter la sauvegarde…Einstellungen-Anbieter✓
16backup.importproviderImporter une sauvegarde…Einstellungen-Anbieter✓
17tags.manageguideGérer les tags …Einstellungen-Programmfuehrer✓
18epg.assignmentguideAssociation EPG …Einstellungen-Programmfuehrer✓
19appearancegeneralApparenceEinstellungen-Allgemein✓
20rendereradvancedNouveau moteur de renduEinstellungen-Erweitert✓
21startQualitypictureSoundQualité de démarrage préféréeEinstellungen-Bild-und-Ton✓
22frameTimingpictureSoundCadence d’imageEinstellungen-Bild-und-Ton✓
23matchFrameRatepictureSoundAdapter la fréquence d’image à l’émissionEinstellungen-Bild-und-Ton✓
24highRefreshRatepictureSound120 Hz pour la vidéoEinstellungen-Bild-und-Ton✓
25motionSmoothingpictureSoundLissage des mouvementsEinstellungen-Bild-und-Ton✓
26audioLanguagepictureSoundLangue audio mémoriséeEinstellungen-Bild-und-Ton✓
27timeshift.diskplaybackTimeshift sur le disqueEinstellungen-Wiedergabe✓
28timeshift.windowplaybackFenêtre de rembobinageEinstellungen-Wiedergabe✓
29leadHoldplaybackRéserve avant la première imageEinstellungen-Wiedergabe✓
30reserveplaybackRéserve contre les coupuresEinstellungen-Wiedergabe✓
31autoplayNextEpisodeplaybackÉpisode suivant automatiquementEinstellungen-Wiedergabe✓
32lastChannelOnLaunchplaybackLire la dernière chaîne au démarrageEinstellungen-Wiedergabe✓
33autoSourceSwitchplaybackChanger de source automatiquement en cas de panneEinstellungen-Wiedergabe✓
34relayadvancedLecture via le récepteur localEinstellungen-Erweitert✓
35relay.adaptiveRateadvancedAdapter la lecture à la connexionEinstellungen-Erweitert✓
36relay.controlleradvancedLe contrôleur décideEinstellungen-Erweitert✓
37recordings.destinationrecordingsDestination des enregistrementsEinstellungen-Aufnahmen✓
38recordings.chooseFolderrecordingsChoisir un dossier …Einstellungen-Aufnahmen✓
39recordings.defaultFolderrecordingsUtiliser le dossier par défautEinstellungen-Aufnahmen✓
40recordings.nasSetuprecordingsConfigurer le stockage réseau …Einstellungen-Aufnahmen✓
41recordings.nasTransferrecordingsEnvoyer à l’Apple TV …Einstellungen-Aufnahmen✓
42recordings.paddingBeforerecordingsMarge avantEinstellungen-Aufnahmen✓
43recordings.paddingAfterrecordingsMarge aprèsEinstellungen-Aufnahmen✓
44profiles.addprofilesAjouter un profilEinstellungen-Profile✓
45profiles.switchprofilesChanger de profilEinstellungen-Profile✓
46profiles.isChildprofilesProfil enfantEinstellungen-Profile✓
47profiles.requiresPINprofilesProtéger par code PINEinstellungen-Profile✓
48profiles.allowLiveprofilesCatégories en directEinstellungen-Profile✓
49profiles.allowVODprofilesCatégories de filmsEinstellungen-Profile✓
50profiles.allowSeriesprofilesCatégories de sériesEinstellungen-Profile✓
51profiles.blockChannelsprofilesChaînes masquéesEinstellungen-Profile✓
52profiles.unblockAllprofilesAfficher à nouveau toutes les chaînesEinstellungen-Profile✓
53profiles.unlockContentprofilesDéverrouiller les contenusEinstellungen-Profile✓
54profiles.deleteprofilesSupprimer le profil…Einstellungen-Profile✓
55profiles.setPINprofilesDéfinir un code PIN…Einstellungen-Profile✓
56profiles.changePINprofilesModifier le code PIN…Einstellungen-Profile✓
57profiles.removePINprofilesSupprimer le code PINEinstellungen-Profile✓
58profiles.settingsPINprofilesProtéger les réglages par code PINEinstellungen-Profile✓
59profiles.relockprofilesVerrouiller à nouveauEinstellungen-Profile✓
60subscription.startsubscriptionDémarrer l’abonnementEinstellungen-Abo✓
61subscription.managesubscriptionGérer l’abonnementEinstellungen-Abo✓
62subscription.restoresubscriptionRestaurer l’achatEinstellungen-Abo✓
63subscription.termsaboutConditions d’utilisationEinstellungen-Ueber✓
64diagnostics.overviewadvancedDiagnostic et étatEinstellungen-Erweitert✓
65diagnostics.historyadvancedHistoriqueEinstellungen-Erweitert✓
66diagnostics.networkTestadvancedTest réseauEinstellungen-Erweitert✓
67diagnostics.journalShareadvancedPartager le journalEinstellungen-Erweitert✓
68diagnostics.journalDeleteadvancedSupprimer le journalEinstellungen-Erweitert✓
69remote.openremoteOuvrir la télécommandeEinstellungen-Fernbedienung✓
70remote.pairremoteJumeler une Apple TVEinstellungen-Fernbedienung✓
71remote.pairTVremoteJumeler un iPhoneEinstellungen-Fernbedienung✓
72remote.devicesremoteAppareils jumelésEinstellungen-Fernbedienung✓
73languagegeneralLangueEinstellungen-Allgemein✓
74about.tourgeneralVisite de l’appEinstellungen-Allgemein✓
75about.hintsgeneralAfficher les conseilsEinstellungen-Allgemein✓
76about.hintsResetgeneralRéinitialiser tous les conseilsEinstellungen-Allgemein✓
77about.noticeaboutLecteur, pas fournisseur — la noticeEinstellungen-Ueber✓
78about.rateaboutÉvaluer NeverlagEinstellungen-Ueber✓
79about.feedbackaboutEnvoyer un retourEinstellungen-Ueber✓
80about.privacyPolicyaboutPolitique de confidentialitéEinstellungen-Ueber✓
81about.licensesaboutLicences open sourceEinstellungen-Ueber✓