<!-- translated from docs/install.md, sha256 900d9a183a17 -->
# Installation

Comment installer, mettre à jour et supprimer PlayGuard, et ce qu'il écrit sur la carte SD. Une fois installé : [prise en main](https://guard.boreale.dev/fr/docs/getting-started.md).

## Où le trouver

Au choix :

- **Homebrew App Store** / **App Store de sphaira** (même catalogue) — Cherchez *PlayGuard* et installez-le. Les nouvelles versions sont reprises automatiquement, après une vérification : souvent quelques jours après GitHub. PlayGuard sait qu'il a été installé par là et recommande de se mettre à jour par le store.
- **Manuellement** — Téléchargez `playguard.zip` dans la [dernière version](https://github.com/JigSawFr/PlayGuard/releases/latest) et extrayez-le à la **racine** de la carte SD. L'application arrive dans `sd:/switch/playguard/`, ses fichiers dans `sd:/config/playguard/`.
- **sphaira › GitHub** — Le zip de la version contient déjà l'entrée (`/config/sphaira/github/playguard.json`) : après une première installation, mettez à jour depuis *GitHub* dans sphaira.

Le **sysmodule de récupération** optionnel s'installe depuis PlayGuard (*Console › Modules facultatifs*, ou *Sécurité › Bloqué ?*), ou à la main depuis son propre téléchargement (`playguard-rescue.zip`) : extrayez-le lui aussi à la racine de la carte SD, puis redémarrez la console. Il arrive dans `atmosphere/contents/4200000000505247/` et n'agit que quand un fichier `RESCUE` le demande — voir [Console bloquée ?](https://guard.boreale.dev/fr/docs/troubleshooting.md#console-bloquée-).

Ouvrez ensuite PlayGuard **par-dessus un jeu**, avec le compte d'un parent ([pourquoi](https://guard.boreale.dev/fr/docs/compatibility.md#lanceurs)).

## Mettre à jour

- **Dans PlayGuard :** *Préférences › Mettre à jour avec* choisit comment — dans PlayGuard même (il télécharge la version, la vérifie, se remplace et redémarre), sphaira, le Homebrew App Store ou à la main. Avec *Rechercher les mises à jour chaque jour* activé, PlayGuard s'ouvre sur la nouvelle version quand il y en a une.
- **Le sysmodule de récupération** suit la version de PlayGuard : après chaque mise à jour, extrayez à nouveau le `playguard-rescue.zip` de cette version (ou *Mettre à jour* sur l'entrée *Le sysmodule de récupération n'est pas à jour* de la cloche, ou dans *Console › Modules facultatifs*), puis redémarrez la console.
- **L'agent du lien à distance**, s'il est installé, est proposé au démarrage suivant quand PlayGuard en contient un plus récent ([Home Assistant](https://github.com/JigSawFr/PlayGuard/blob/main/docs/home-assistant.fr.md#garder-le-lien-quand-playguard-est-fermé)).
- Les réglages, l'historique, les profils et les sauvegardes restent : ils sont dans `sd:/config/playguard/`, pas à côté de l'application.

## Le supprimer

Supprimez `sd:/switch/playguard/` (l'application) et, pour retirer aussi ses fichiers, `sd:/config/playguard/` ; avec les sysmodules facultatifs, aussi `sd:/atmosphere/contents/4200000000505247/` (récupération) et `sd:/atmosphere/contents/4200000000504741/` (l'agent), ou retirez-les d'abord dans *Console › Modules facultatifs*. Les limites, le code PIN et les restrictions sont ceux de la console : ils **restent sur la console**. Pour les retirer aussi, passez d'abord par *Sécurité › Supprimer tout le contrôle parental*.

## Fichiers sur la carte SD

Tous dans `sd:/config/playguard/` (l'application elle-même reste dans `sd:/switch/playguard/` : la supprimer ou la réinstaller les conserve). Les versions qui les gardaient à côté de l'application les y ont déplacés à leur premier lancement.

- **`config.json`** — Préférences (langue, thème, serveur NTP, *Protéger PlayGuard par le code PIN*…) ; chaque clé dans [config.md](https://guard.boreale.dev/fr/docs/config.md) (en anglais). S'il est illisible, il est gardé en `config.json.bad` (le précédent en `.bad.1`) et les réglages repartent de leurs valeurs par défaut ; PlayGuard le signale une fois au démarrage
- **`profiles/`** — Profils de limites enregistrés
- **`exports/`** — Exports de l'activité
- **`nand/<système>/`** — Ce qui appartient à un système, chacun ayant son propre contrôle parental : `sysmmc/` pour le sysMMC, `emummc/` pour l'emuMMC. Dedans : `history.json` l'historique des modifications (les 500 dernières, y compris celles que la console a refusées ; s'il est illisible, il est gardé en `history.json.bad`, le précédent en `.bad.1`, plutôt qu'écrasé, et PlayGuard le signale une fois) ; `state.json` ce que *Bloquer tous les jeux*, le temps en plus, un reverrouillage en attente et le choix de firmware doivent retenir ([config.md](https://guard.boreale.dev/fr/docs/config.md#state-kept-between-launches), en anglais) ; `forwarders.json` les forwarders créés par PlayGuard ; `watch.json` ce que PlayGuard a vu en dernier de la console, pour signaler ce qui a changé en dehors de lui ([config.md](https://guard.boreale.dev/fr/docs/config.md#watchjson) ; le supprimer est sans danger) ; `backups/` les sauvegardes des réglages (jamais le code PIN) ; `cache/` la dernière activité de jeu lue (tous les comptes, et chaque compte consulté), affichée dès le lancement suivant pendant que le journal est relu. Les fichiers d'une version d'avant ces dossiers vont au premier système sur lequel PlayGuard démarre
- **`cache/`** — Les icônes des jeux (`icons/`, 16 Mo au plus, vidé quand la langue de la console change), communes à tous les systèmes, pour ne pas relire le nom et l'icône de chaque jeu à chaque lancement ; les notes de version d'Atmosphère, de hekate, de sys-patch et du firmware (`sys_notes.json`, pour *Console*) et celles de PlayGuard (pour *À propos*) ; en mode développeur, la liste d'*Installer un autre build* (`dev_builds.json`)
- **`github_token`** — La connexion GitHub d'*Envoyer un rapport…* et, en mode développeur, d'*Installer un autre build* ; supprimé à la déconnexion (*À propos › Aide et diagnostic › Compte GitHub*, affiché une fois connecté)
- **`gate.nro`**, **`gate-<hash>.nro`**, **`gate_*.txt`** — La porte des forwarders protégés (*Console › Forwarders*) : son programme, ses heures libres, ses heures fermées et sa pause après des refus, ses tentatives jusqu'à ce que PlayGuard les lise, et la durée de son écran d'ouverture (`gate_wait.txt`, lu à chaque lancement)
- **`previous_build.json`**, **`boot_check.json`** — Après l'installation d'un build sur place : le nom du build remplacé (gardé à côté du `.nro` sous `playguard.nro.previous`), et le contrôle du lancement suivant (supprimé dès que son premier écran s'affiche)
- **`rescue_report.txt`** — Laissé par le sysmodule de récupération après son intervention, jusqu'à ce que PlayGuard l'affiche au démarrage (illisible, il est supprimé et PlayGuard le signale)
- **`rescue_nonce`** — Un défi aléatoire auquel le sysmodule de récupération répond dans son rapport, pour que PlayGuard distingue un rapport qu'il a écrit d'un rapport écrit à la main ([sysmodule/rescue/README.md](https://github.com/JigSawFr/PlayGuard/blob/main/sysmodule/rescue/README.md)) ; un nouveau à chaque lancement
- **`sync.conf`** — Seulement une fois l'*Accès à distance* configuré : les réglages du lien, mot de passe du broker compris (jamais dans un rapport ni un envoi)
- **`sync/`** — Seulement avec l'*Accès à distance* : les profils enregistrés, pour l'agent facultatif (`profiles.txt`) ; ce qu'il lit et écrit pour un système est dans le `nand/<système>/sync/` de ce système (enregistrements, noms des jeux, ce qu'il a changé, ses événements). Un sysMMC et un emuMMC partagent `sync.conf` mais sont deux appareils dans Home Assistant
- **`logs/`** — `reports/` les rapports de diagnostic enregistrés (jamais le code PIN ni le numéro de série) ; `crashes/` un fichier par plantage (ce qui a arrêté PlayGuard) ; `uploads/` un raccourci Internet (`.url`) par rapport envoyé en ligne ; `play_timer/` les fichiers du minuteur des outils développeur. Combien de rapports, de fichiers de plantage et de liens sont gardés : *À propos › Aide et diagnostic* (par nombre, âge ou taille ; le plus récent reste toujours)

Plus de détails dans [packaging/README.md](https://github.com/JigSawFr/PlayGuard/blob/main/packaging/README.md) (en anglais).
