# Dépannage support matériel

# Dépannage Windows

# Afficher les réseaux WiFi et leurs mots de passes enregistrés sur Windows 10

## Introduction

Ce document explique comment afficher tous les réseaux Wi-Fi enregistrés sur un PC sous Windows 10, ainsi que leurs mots de passe (clés de sécurité). Ces informations sont utiles pour retrouver un mot de passe oublié ou pour auditer les connexions sauvegardées sur un appareil.

> **Attention :**
> - Ces commandes nécessitent des droits administrateur.
> - Les mots de passe s'affichent en clair : manipulez-les avec prudence.

---

## Méthode : Utiliser l'Invite de commandes (CMD)

### Étape 1 : Ouvrir CMD en tant qu'administrateur

1. Appuyer sur **Win + X** puis sélectionner **Invite de commandes (Admin)**.
2. Ou rechercher `cmd` dans le menu Démarrer, faire un clic droit sur **Invite de commandes** et choisir **Exécuter en tant qu'administrateur**.

### Étape 2 : Lister tous les réseaux Wi-Fi enregistrés

Exécuter la commande suivante pour afficher la liste des réseaux sauvegardés :

```cmd
netsh wlan show profiles
```

> Une liste des profils utilisateur (noms des réseaux Wi-Fi) s'affiche.

### Étape 3 : Afficher le mot de passe d'un réseau spécifique

Remplacer `NOM_DU_RESEAU` par le nom du réseau souhaité :

```cmd
netsh wlan show profile name="NOM_DU_RESEAU" key=clear
```

> Chercher la ligne **"Contenu de la clé"** dans la section **"Paramètres de sécurité"**. La valeur affichée est le mot de passe.

**Exemple :**

```cmd
netsh wlan show profile name="PixelVert_WiFi" key=clear
```

Sortie :

```
Paramètres de sécurité
----------------------
Contenu de la clé       : MonMotDePasse123
```

# Automatiser une sauvegarde Windows avec Robocopy

# Sauvegarde mensuelle avec Robocopy

## 1. Objectif

Mettre en place une sauvegarde automatique mensuelle sous Windows 10/11 qui :

- copie les fichiers d'un dossier source
- crée un dossier de sauvegarde par mois
- conserve uniquement les 6 derniers mois
- fonctionne automatiquement via le Planificateur de tâches

---

## 2. Architecture

Le système repose sur trois éléments :

```
Planificateur de tâches
         ↓
       .bat
         ↓
 Script PowerShell
         ↓
      Robocopy
```

---

## 3. Dossiers utilisés

**Dossier source**

```
C:\DossierASauvegarder
```

Contient les fichiers à sauvegarder.

**Dossier de destination**

```
C:\DossierDeDestinationDeSauvegarde
```

Une fois peuplé, le dossier ressemble à ceci :

```
DossierDeDestinationDeSauvegarde
│
├── 2026-01
├── 2026-02
├── 2026-03
├── 2026-04
├── 2026-05
├── 2026-06
│
└── backup_2026-06.log
```

Chaque sous-dossier correspond à une sauvegarde mensuelle.

---

## 4. Script PowerShell

**Fichier :** `C:\Scripts\backup_mensuel.ps1`

```powershell
$Source = "C:\DossierASauvegarder"
$BackupRoot = "C:\DossierDeDestinationDeSauvegarde"
$Now = Get-Date
$MonthFolder = $Now.ToString("yyyy-MM")
$Dest = Join-Path $BackupRoot $MonthFolder

New-Item -ItemType Directory -Path $Dest -Force | Out-Null

$LogFile = Join-Path $BackupRoot "backup_$MonthFolder.log"

robocopy `
    $Source `
    $Dest `
    /E `
    /XO `
    /R:2 `
    /W:5 `
    /Z `
    /FFT `
    /XA:H `
    /LOG:$LogFile

$LimitMonth = (Get-Date).AddMonths(-6)
Get-ChildItem $BackupRoot -Directory |
Where-Object {
    $_.Name -match '^\d{4}-\d{2}$' -and
    ([datetime]::ParseExact($_.Name, 'yyyy-MM', $null)) -lt $LimitMonth
} |
Remove-Item -Recurse -Force
```

**Options Robocopy**

| Option  | Description                          |
|---------|--------------------------------------|
| `/E`    | Copie tous les sous-dossiers         |
| `/XO`   | Ignore les fichiers plus anciens     |
| `/R:2`  | 2 tentatives en cas d'erreur         |
| `/W:5`  | Attente de 5 secondes entre tentatives |
| `/Z`    | Mode redémarrable                    |
| `/FFT`  | Compatibilité systèmes de fichiers   |
| `/XA:H` | Ignore les fichiers cachés           |

---

## 5. Fonctionnement du script

**Création du dossier mensuel**

Le script génère automatiquement un dossier basé sur la date courante au format `YYYY-MM`. Exemple : `2026-03`.

**Nettoyage des anciennes sauvegardes**

Le script conserve uniquement les 6 derniers mois et supprime automatiquement les dossiers plus anciens. Exemple de dossiers conservés :

```
2025-12
2026-01
2026-02
2026-03
2026-04
2026-05
```

---

## 6. Fichier batch

**Fichier :** `C:\Scripts\backup_mensuel.bat`

```bat
@echo off
powershell.exe -ExecutionPolicy Bypass -File "C:\Scripts\backup_mensuel.ps1"
```

Rôle : lance le script PowerShell et sert de point d'entrée pour le Planificateur de tâches.

---

## 7. Planification automatique

1. Ouvrir le **Planificateur de tâches**
2. Créer une nouvelle tâche
3. Cocher :
   - **Exécuter même si l'utilisateur n'est pas connecté**
   - **Exécuter avec les autorisations maximales**
4. **Déclencheur :** choisir l'intervalle souhaité
5. **Action :**
   - Programme : `C:\Scripts\backup_mensuel.bat`
   - Arguments : *(vide)*

---

## 8. Logs

Chaque exécution génère un fichier log au format `backup_YYYY-MM.log`. Exemple : `backup_2026-03.log`

Ce fichier contient :

- les fichiers copiés
- les fichiers ignorés
- les erreurs éventuelles

---

## 9. Tests recommandés

Avant la première utilisation, exécuter manuellement :

```bat
backup_mensuel.bat
```

Puis vérifier :

- la création du dossier mensuel
- la copie des fichiers
- la génération du log

---

## 10. Maintenance

Vérifier occasionnellement :

- l'espace disque disponible
- la présence des logs
- le bon fonctionnement de la tâche planifiée

# Dépannage Linux Mint Debian Edition

# Blacklister des secteur de mémoire corrompue

## Intro
Si vous avez des instabilités, que vous faites un memtest86+ et que vous avez des erreurs, la solution est de remplacer la ram, mais vu le prix de la RAM aujourd'hui et les rams soudées à la carte mere de plus en plus démocratisées, ce n'est pas toujours possible. Donc, pourquoi ne pas empêcher le système de s'en servir au demarrage ?

## badram
Badram est un utilitaire dans GRUB permettant de faire juste ca. Il suffit pour cela de lui passer en argument l'adresse mémoire, suivi du masque, le tout en hexadecimal dans le fichier de config par défaut de grub (/etc/default/grub) dans la clé "BAD_RAM=" et faire un petit grub_update

## Récupérer les secteur et masques
Facile il suffit de lancer memtest86+, et dans les options de signaler qu'on veux le retour en format badram (F1, F4, F4)
et de recopier les secteurs,masques

## Résolution des problèmes
Il peut arriver que grub refuse de demarrer après la mise en place du badram. C'est un bug connu sur les kernels 64bits. Il suffit de delancer le système en passant par SuperGrubDisk, remplacer le premier F des masques par des 7, et relancer update-grub

# Lire le SMART d'un HDD / SSD en USB

## Problème

Dans certaines situations, le pilote Linux `uas` désactive les transferts SAT (ATA passthrough), ce qui empêche `smartmontools` (et d'autres outils comme `hdparm`) de communiquer avec un disque SATA connecté en USB.

Le symptôme typique est une erreur de ce type :

```
Read Device Identity failed: scsi error unsupported field in scsi command
A mandatory SMART command failed: exiting.
```

Ou encore :

```
Unknown USB bridge [0xXXXX:0xXXXX (0xXXXX)]
Please specify device type with the -d option.
```

### Pourquoi ?

Certains chipsets bridges USB-SATA ne gèrent pas correctement les commandes SAT en mode UAS. Le noyau Linux active alors automatiquement le flag `NO_ATA_1X` pour ces chipsets, ce qui désactive le passthrough SAT et bloque smartmontools.

Les appareils concernés incluent notamment les boîtiers Seagate, les chipsets Initio INIC-3069 et VIA VL711.

---

## 1 - Identifier les IDs USB du périphérique

```bash
lsusb
```

Repérez la ligne correspondant à votre disque, par exemple :

```
Bus 002 Device 003: ID XXXX:YYYY Nom du fabricant
```

- `XXXX` = vendor ID
- `YYYY` = product ID

Notez ces deux valeurs, elles seront utilisées dans toutes les commandes suivantes.

---

## 2 - Vérifier le pilote utilisé

```bash
lsusb -t
```

Si votre périphérique utilise le pilote `uas`, c'est probablement la cause du problème.

---

## 3- Forcer le type de device avec smartctl

Avant tout, vérifiez le nom du disque via la commande suivante :

```bash
sudo lsblk
```
Identifiez le nom du disque que vous voulez diagnostiquer.
> Remplacez `/dev/sdX` par le chemin réel de votre disque (`/dev/sda`, `/dev/sdb`, etc.).

> ⚠️ Attention, une mauvaise identification de disque et vous diagnostiquerez le mauvais disque !

Rentrez la commande suivante :
```bash
sudo smartctl -d sat -a /dev/sdX
```

Si ça échoue, tentez avec une longueur de commande différente :

```bash
sudo smartctl -d sat,12 -a /dev/sdX
sudo smartctl -d sat,16 -a /dev/sdX
```



---

## 4 - Basculer temporairement vers usb-storage

Si les commandes ci-dessus échouent, désactivez temporairement UAS pour votre périphérique :

```bash
sudo modprobe -r uas
sudo modprobe usb-storage quirks=XXXX:YYYY:u
```

Débranchez puis rebranchez le disque, puis relancez smartctl :

```bash
sudo smartctl -d sat -a /dev/sdX
```

---

## 5- Solutions permanentes

### Option A — Désactiver UAS (recommandé)

Crée un fichier de configuration modprobe :

```bash
sudo nano /etc/modprobe.d/usb-storage-quirks.conf
```

Ajoutez :

```
options usb-storage quirks=XXXX:YYYY:u
```

Le flag `:u` active `IGNORE_UAS` — le noyau utilisera `usb-storage` à la place de `uas`.

### Option B — Forcer le SAT passthrough en gardant UAS

> ⚠️ À vos risques et périls — peut causer des instabilités sur certains chipsets.

Même fichier, mais avec le flag `:t` qui force le passthrough SAT malgré UAS :

```
options usb-storage quirks=XXXX:YYYY:t
```

### Pour plusieurs périphériques

Séparez les entrées par des virgules :

```
options usb-storage quirks=XXXX:YYYY:u,AAAA:BBBB:u
```

### Mise à jour de l'initramfs

Après avoir créé ou modifié le fichier de configuration :

```bash
sudo update-initramfs -u
```

---

## Option via GRUB

Modifiez `/etc/default/grub` et ajoutez le paramètre à `GRUB_CMDLINE_LINUX_DEFAULT` :

```
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash usb-storage.quirks=XXXX:YYYY:u"
```

Puis mettez à jour GRUB :

```bash
sudo update-grub
```

---

## Référence des flags

| Flag | Valeur hex   | Lettre | Effet                                      |
|------|-------------|--------|--------------------------------------------|
| `IGNORE_UAS`  | `0x00800000` | `:u`   | Désactive UAS, bascule sur usb-storage     |
| `NO_ATA_1X`   | `0x02000000` | `:t`   | Force le SAT passthrough (risqué)          |

---

## Vérification

Après redémarrage ou reconnexion du disque :

```bash
sudo smartctl -a /dev/sdX
```

Un résultat valide commencera par une section `=== START OF INFORMATION SECTION ===` avec les informations de votre disque.

---

## Sources

- [smartmontools Wiki — SAT with UAS under Linux](https://www.smartmontools.org/wiki/SAT-with-UAS-Linux)
- [Kernel Parameters Documentation](https://www.kernel.org/doc/html/latest/admin-guide/kernel-parameters.html)

# Vérifier l'intégrité de la mémoire flash d'une carte SD / clé USB

## Système utilisé

- **Distribution :** LMDE 7 (Linux Mint Debian Edition)

---

## 1. Installation de f3

f3 (Fight Flash Fraud) est un utilitaire pour tester la capacité réelle et détecter les clés USB ou cartes mémoire frauduleuses.

Pour installer f3 sur LMDE 7, ouvrez un terminal et tapez :

```bash
sudo apt update
sudo apt install f3
```

---

## 2. Identifier la clé USB

Avant de tester la clé, il faut connaître son identifiant de périphérique. Branchez la clé USB et exécutez :

```bash
lsblk
```

Vous verrez une liste des disques et partitions. Exemple de sortie :

```
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda      8:0    0  500G  0 disk
├─sda1   8:1    0  500G  0 part /
sdb      8:16   1  32G   0 disk
└─sdb1   8:17   1  32G   0 part /media/usb
```

> ⚠️ **Important :** Notez bien le périphérique (`/dev/sdX`). Si vous choisissez le mauvais disque, vous risquez de supprimer des données importantes.

---

## 3. Tester la clé USB avec f3probe

La commande `f3probe` permet de vérifier la capacité réelle et la vitesse d'écriture de la clé.

> ⚠️ **Cette opération efface complètement la clé.**

```bash
sudo f3probe --destructive --time-ops /dev/sdX
```

- Remplacez `/dev/sdX` par l'identifiant de votre clé (ex. `/dev/sdb`).
- `--destructive` : efface toutes les données sur la clé.
- `--time-ops` : affiche le temps de chaque opération pour mesurer la vitesse.

Exemple de sortie :

```
F3 probe 7.0
...
Probe finished: 31.2 GiB, speed 20.1 MB/s
No bad sectors found
```

> Si des secteurs sont « bad », cela indique que la clé est défectueuse ou frauduleuse.

---

## 4. Résumé des commandes

```bash
sudo apt install f3                              # Installer f3
lsblk                                            # Identifier la clé USB
sudo f3probe --destructive --time-ops /dev/sdX   # Tester la clé
```

## Liens associés

- [Documentation officielle](https://fight-flash-fraud.readthedocs.io/en/latest/introduction.html)

# Vérifier l'état de la batterie sous Linux

# Vérifier l'état de la batterie sous Linux avec UPower

---

## 1. Ouvrir le terminal

Ouvrir l'application Terminal sur le système Linux.

---

## 2. Lister les périphériques d'alimentation

Utiliser la commande suivante pour afficher tous les périphériques liés à l'alimentation :

```bash
upower --enumerate
```

Cette commande retourne une liste de chemins correspondant aux différents périphériques détectés.

Exemple de sortie :

```
/org/freedesktop/UPower/devices/line_power_AC
/org/freedesktop/UPower/devices/battery_BAT0
/org/freedesktop/UPower/devices/mouse_dev_CD_27_F1_E6_00_B3
/org/freedesktop/UPower/devices/mouse_hidpp_battery_10
/org/freedesktop/UPower/devices/DisplayDevice
```

---

## 3. Identifier le chemin de la batterie

Repérer dans la liste le chemin correspondant à la batterie. Dans la plupart des cas, il ressemble à :

```
/org/freedesktop/UPower/devices/battery_BAT0
```

---

## 4. Afficher les informations de la batterie

Utiliser la commande suivante en remplaçant le chemin par celui de la batterie :

```bash
upower -i /org/freedesktop/UPower/devices/battery_BAT0
```

---

## 5. Comprendre les informations affichées

Cette commande affiche des informations détaillées sur la source d'alimentation, notamment :

- **Niveau de charge actuel**
- **État** (en charge, décharge, etc.)
- **Capacité de la batterie**
- **État de santé de la batterie** (battery health)
- **Temps restant estimé**

# Connecter un clavier Keychron 3 Pro sur LMDE

## Système utilisé

- **Distribution :** LMDE 7 (Linux Mint Debian Edition)

---

## 1. Contexte matériel

Il semble que le firmware de ce clavier nécessite une suite d'actions dans un ordre spécifique pour fonctionner en Bluetooth sous linux.

## 2. Supprimer le clavier si il est déjà reconnu

Supprimer le clavier des périphériques bluetooth connus s'il est déjà reconnu par LMDE.

- Aller dans le Menu
- Rechercher "Gestionnaire Bluetooth"
- Supprimer le clavier

## 3. Amorcer le clavier

- Sur le clavier, maintenez Fn+le chiffre à assigner à cet ordinateur (le clavier peut se connecter en Bluetooth à 3 appareils différents). Le clavier passe en mode jumelage.
- Retourner dans le gestionnaire Bluetooth et actualiser la liste de périphériques

> ⚠️ **Important :** Ne vous connectez pas directement au clavier, faites un clic droit dessus dans la liste, et faites "Jumeler/Appairer". Le jumelage prend quelques secondes, suite à quoi le clavier redémarre. Patientez jusqu'à ce qu'il réapparaisse dans la liste des périphériques Bluetooth.

## 4. Se reconnecter au clavier

- Connectez-vous au clavier en double-cliquant dessus dans la liste.
- Une fois le clavier connecté, faîtes un clic-droit dessus dans la liste, et indiquez "Faire confiance/Approuver".

# Effacer de façon sécurisée des données sous LMDE

## La commande `shred`

`shred` détruit les données en les écrasant avec des informations aléatoires ou des zéros. Il suffit de cibler un fichier ou une zone de stockage et de définir les options souhaitées.

> **Attention :** `shred` est conçu pour rendre les données irrécupérables. Vérifier soigneusement le fichier ou périphérique cible avant d'exécuter la commande. Le traitement peut être très long sur les supports de grande capacité.

### Installation

Vérifier que `shred` est installé en tapant `shred` sans argument. Si ce n'est pas le cas :

```bash
sudo apt install -y shred
```

`shred` fait également partie du paquet **GNU Coreutils**, présent sur la plupart des distributions :

```bash
sudo apt install -y coreutils
```

### Options principales

| Option | Description |
|--------|-------------|
| `-n`   | Définit le nombre de passages (écrasements) |
| `-v`   | Affiche la progression |
| `-f`   | Force l'écrasement des fichiers en lecture seule |
| `-z`   | Ajoute un dernier passage avec des zéros |
| `-u`   | Écrase puis supprime le fichier |

Pour afficher toutes les options :

```bash
shred --help
```

### Exemple 1 : détruire un fichier

Écrasement simple avec les paramètres par défaut :

```bash
shred filename.txt
```

Avec 10 passages :

```bash
shred -n 10 filename.txt
```

Avec un dernier passage à zéros :

```bash
shred -z filename.txt
```

Les options peuvent être combinées selon les besoins.

### Exemple 2 : détruire une partition


Afin de lister les partitions existantes des supports de stockage présents sur le PC, exécuter cette commande :
```bash
lsblk
```
Les partitions seront affichées et vous pourrez choisir la partition à détruire.

Pour cibler une partition (ici `sdb1`) avec 5 passages, un dernier passage à zéros, puis suppression :

```bash
shred -n 5 -uvz /dev/sdb1
```
> **Attention :** Détruire une partition la rend inexploitable. Veuillez vérifier soigneusement la partition sélectionnée.
---

## La commande `dd`

`dd` est une commande polyvalente qui permet notamment d'écraser de manière sécurisée les données d'un volume, ainsi que de copier et convertir des arborescences de systèmes de fichiers.

> **Attention :** `dd` écrase les données existantes de façon irréversible. Vérifier attentivement les commandes avant de les exécuter, en particulier sur des systèmes en production.

### Nettoyer un disque

Démonter le disque, puis l'écraser avec du contenu aléatoire :

```bash
umount /dev/sdX
dd if=/dev/urandom of=/dev/sdb bs=1M status=progress
```
> **Attention :** Remplacer "sdX" par le disque à nettoyer. Sélectionner le mauvais disque l'effacera irrémédiablement.

# LMDE 7 - Dossier boot full !?

@TODO :
ajouter passa mode auto des paquets restants (kbuild)

Lors des mises à jours du noyau Linux, différents fichiers sont créés dans la partition **/boot**.

Cette partition, lors de l'**installation standard de LMDE 7** et dimentionnée à +/- 1GB.

Comme LMDE ne supprime pas automatiquement les anciennes versions du noyau, cette partition ne peut contenir que 6 versions. Une fois pleine, les mises à jour du noyau ne sont plus possibles et l'on se retrouve avec une notification **"L'espace disque est faible" - "Il ne reste plus que boot d'espace libre sur le volume '0 octet'"** (??? traduction).

Pour voir l'encombrement disque et particulièrement celui de **/boot**

    df -h

## Solutions pour le grand public

### À l'installation

Lors de l'installtion et **avant toute mise à jour** :

**Gestionnaire de mises à jour** > Menu **Édition** > **Préférences** > onglet **Automatisation**

Cocher **"Appliquer les mises à jour automatiquement"** et **"Supprimer les noyaux et les dépendances obsolètes"**

En effet, quand les mises à jour sont faites par l'utilisateur elles sont marquées comme installée manuellement et donc, ne sont pas supprimées automatiquement.

### Aprés l'installation

Aprés l'installation, lorsque les paquets Linux sont installés via la Gestionnaire de mises à jour, ils sont marqués étant installés manuellement.

Il faut donc les marquer comme installés automatiquement.

Pour lister les paquets en ** manual**

    apt-mark showmanual | grep linux

Il faut donc passer tous les paquets linux en **auto**

    sudo apt-mark auto linux-headers-6.12.*

    sudo apt-mark auto linux-image-6.12*



On vérifie que les paquets sont passés en **auto**

    apt-mark showauto | grep linux


    

## Solution pour les Geeks

Lister les images présentes :

    dpkg --list | grep linux-image|linux-headers'

Retourne

    ii  linux-headers-6.12.88+deb13-amd64          6.12.88-1                             amd64        Header files for Linux 6.12.88+deb13-amd64
    ii  linux-headers-6.12.88+deb13-common         6.12.88-1                             all          Common header files for Linux 6.12.88+deb13
    ii  linux-headers-6.12.90+deb13-amd64          6.12.90-1                             amd64        Header files for Linux 6.12.90+deb13-amd64
    ii  linux-headers-6.12.90+deb13-common         6.12.90-1                             all          Common header files for Linux 6.12.90+deb13
    ii  linux-headers-6.12.90+deb13.1-amd64        6.12.90-2                             amd64        Header files for Linux 6.12.90+deb13.1-amd64
    ii  linux-headers-6.12.90+deb13.1-common       6.12.90-2                             all          Common header files for Linux 6.12.90+deb13.1
    ii  linux-headers-amd64                        6.12.90-2                             amd64        Header files for Linux amd64 configuration (meta-package)
    ii  linux-image-6.12.88+deb13-amd64            6.12.88-1                             amd64        Linux 6.12 for 64-bit PCs (signed)
    ii  linux-image-6.12.90+deb13-amd64            6.12.90-1                             amd64        Linux 6.12 for 64-bit PCs (signed)
    ii  linux-image-6.12.90+deb13.1-amd64          6.12.90-2                             amd64        Linux 6.12 for 64-bit PCs (signed)
    ii  linux-image-amd64                          6.12.90-2                             amd64        Linux for 64-bit PCs (meta-package)

Supprimer les images non utilisées.

    sudo apt-get --purge remove linux-image-6.12.88+deb13-amd64

Ainsi que les headers 

    sudo apt-get --purge remove linux-headers-6.12.88+deb13-amd64

**À tester** : une fois l'image supprimée la suppression des headers devrait fonctionner avec **sudo apt-get autoremove**
    

**NB : Prendre soin de conserver une ancienne version fonctionnelle en cas de besoin.**

## Via le gestionnaire de mise à jour (Update Manager)

Depuis le **Gestionnaire de mise à jour**, aller dans le menu **Edition > Préférences** puis dans l'onglet **Automatisation**.

En bas de cet onglet, il faut activer **Maintenance Automatique (Automatic Maintenance)**

Les anciens kernels seront supprimés une fois par semaine en conservant une ancienne version.

Cette option ne supprime pas les kernels installés manuellement.

Note : cette tâche est effectuée par l'intermédiaire d'un **timer systemctl** et non par une tâche **cron**.

Elle (**mintupdate-automation-autoremove.timer**) apparait normalement dans le listing des timers systemctl :

    systemctl list-timers

# Pouvoir taper des chiffres avec Verr. Maj sur la ligne du haut

## Objectif

Par défaut sur un clavier AZERTY, la touche `Verr Maj` active les majuscules mais **ne permet pas** de taper directement les chiffres (1, 2, 3…) sur la ligne du haut. Cette manipulation corrige ce comportement.

---

## Procédure

### 1. Ouvrir les paramètres clavier

Allez dans **Paramètres** > **Clavier**.

### 2. Accéder aux options XKB

Dans la fenêtre des paramètres clavier, cliquez sur l'onglet ou le bouton **Options XKB**.

### 3. Activer l'option

Recherchez l'entrée :

> **Verr Maj donne les chiffres sur la ligne des chiffres des claviers AZERTY*

Cochez cette option.

---

## Résultat

Une fois l'option activée, lorsque `Verr Maj` est enclenché :

| Touche | Sans Verr Maj | Avec Verr Maj |
|--------|--------------|---------------|
| `&`    | &            | 1             |
| `é`    | é            | 2             |
| `"`    | "            | 3             |
| `'`    | '            | 4             |
| `(`    | (            | 5             |
| `-`    | -            | 6             |
| `è`    | è            | 7             |
| `_`    | _            | 8             |
| `ç`    | ç            | 9             |
| `à`    | à            | 0             |

---

> 💡 **Astuce :** Cette option est particulièrement utile si vous saisissez fréquemment des suites de chiffres sans vouloir maintenir `Shift` en permanence.

# Préinstallation de LMDE 7 sur un SSD pour en faire un support prêt à l'emploi

## Contexte

- **Machine de travail :** PC sous LMDE 7
- **Clé USB :** Live LMDE 7
- **SSD/HDD externe :** support d'installation
- **Objectif :** Préparer un SSD avec LMDE 7 installé, destiné à être branché sur un **autre PC**

---

## Matériel nécessaire

- Clé USB LMDE 7 (live/bootable)
- SSD/HDD (branché en USB ou en interne)
- Machine sous LMDE 7

---

## Procédure

### Étape 1 — Brancher la clé USB et le SSD

Branchez simultanément :
- la **clé USB LMDE 7**
- le **SSD/HDD cible** (via USB ou SATA)

---

### Étape 2 — Accéder au Boot Menu et démarrer sur la clé USB

1. Démarrez le PC.
2. Au démarrage, appuyez sur la touche du **Boot Menu** 
3. Sélectionnez la **clé USB LMDE 7** dans la liste.
4. Attendez que le bureau live se charge.

---

### Étape 3 — Vérifier le format du SSD

Avant d'installer, confirmez que le SSD est bien formaté en `ext4`.
> ⚠️ **Avant de valider**, vérifiez l'intitulé des disques avec `lsblk` dans un terminal :

```bash
lsblk
```
Ouvrez un terminal et exécutez :

```bash
lsblk -f
```

Repérez votre SSD dans la liste (ex. `sdb`, `sdc`…) et vérifiez que sa partition est en **ext4**.  
Si ce n'est pas le cas, formatez-la :

```bash
# Remplacer /dev/sdX par le bon disque (ex: /dev/sdb)
sudo mkfs.ext4 /dev/sdX
```

---

### Étape 4 — Installer LMDE 7

1. Lancez l'**installeur LMDE 7** depuis le bureau live.
2. Suivez les étapes jusqu'à la sélection des disques.
3. **Sélectionnez le SSD** comme disque d'installation (et non le disque interne du PC).
4. Pour le **GRUB**, installez-le aussi sur le **SSD** (ex. `/dev/sdb`), pas sur le disque interne.



Exemple de sortie attendue :

```
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda    ...          ...     disk   ← disque interne du PC (ne pas toucher)
sdb    ...          ...     disk   ← SSD cible
```

5. Confirmez et lancez l'installation.

---

### Étape 5 — Redémarrer sur le Boot Menu

1. Une fois l'installation terminée, **redémarrez**.
2. Accédez à nouveau au **Boot Menu**.
3. Sélectionnez le **SSD** dans la liste de démarrage.

---

### Étape 6 — Vérifier le bon fonctionnement

1. LMDE 7 doit démarrer normalement depuis le SSD.
2. Connectez-vous et vérifiez que tout fonctionne.
3. Le SSD est maintenant prêt à être branché sur l'**autre PC**.

---

## Conseils

- Installez le GRUB **uniquement sur le SSD** pour ne pas écraser le bootloader du PC de travail.
- Si le GRUB ne détecte pas le bon disque au démarrage sur l'autre PC, accédez au Boot Menu de ce PC et sélectionnez le SSD manuellement.
- Utilisez `lsblk` et `lsblk -f` autant que nécessaire pour identifier les bons disques avant toute opération.
- Remerciez Timéo pour sa première doc ;)

# Modifier la vitesse de scroll avec un trackpad

## Prérequis

- LMDE 7 avec driver **libinput** (le plus courant)
- Accès au terminal

Pour vérifier ton driver :
```bash
grep -i "using input driver" /var/log/Xorg.0.log
```

---

## 1. Identifier le pavé tactile

```bash
xinput list
```

Repère la ligne correspondant à ton pavé tactile et note son **ID** (ex: `id=9`).

Exemple de sortie :
```
⎜   ↳ ELAN2204:00 04F3:3109 Touchpad    id=9   [slave  pointer  (2)]
```

---

## 2. Vérifier les propriétés disponibles

```bash
xinput list-props 9
```

La propriété qui contrôle la vitesse de défilement est :

```
libinput Scrolling Pixel Distance (344):	15
```

> **Principe :**
> - Valeur **plus grande** → moins d'événements scroll → défilement **plus lent**
> - Valeur **plus petite** → plus d'événements scroll → défilement **plus rapide**

---

## 3. Modifier la vitesse temporairement

Utilise `xinput set-prop` pour tester différentes valeurs **sans redémarrage** :

```bash
# Plus lent (valeur plus grande)
xinput set-prop 9 344 30

# Valeur par défaut
xinput set-prop 9 344 15

# Plus rapide (valeur plus petite)
xinput set-prop 9 344 8
```

> ⚠️ Ce réglage est **temporaire** : il est réinitialisé à chaque redémarrage de session.

---

## 4. Rendre le réglage permanent

Une fois la valeur idéale trouvée, crée un fichier de configuration Xorg :

```bash
sudo nano /etc/X11/xorg.conf.d/70-touchpad.conf
```

Contenu à insérer (remplace `25` par ta valeur) :

```
Section "InputClass"
    Identifier "ELAN2204 Touchpad"
    MatchIsTouchpad "on"
    Driver "libinput"
    Option "ScrollPixelDistance" "25"
EndSection
```

Sauvegarde et quitte :
- `Ctrl+O` → confirmer
- `Ctrl+X` → quitter

Puis **redémarre ta session** (ou le PC) pour appliquer le changement.

---

## 5. Vérifier que le réglage est actif

Après redémarrage :

```bash
xinput list-props 9 | grep "Scrolling Pixel Distance"
```

La valeur doit correspondre à celle définie dans le fichier de config.

---

## Récapitulatif des valeurs

| Valeur | Effet |
|--------|-------|
| `5 – 10` | Défilement très rapide |
| `15` | Valeur par défaut |
| `20 – 30` | Défilement lent |
| `40+` | Défilement très lent |

---

## Références

- [libinput documentation](https://wayland.freedesktop.org/libinput/doc/latest/)
- [Arch Wiki — libinput](https://wiki.archlinux.org/title/libinput)

# Booter sur une autre distribution sur un Mac avec processeur Intel

> **Prérequis :** Clé USB bootable Linux déjà créée.
> Ce guide concerne uniquement les **Mac Intel**. Pour Apple Silicon (M1/M2/M3/M4), la procédure est différente.

---

## Étape 1 — Redémarrer avec la touche Option ⌥

1. Assurez-vous que votre **clé USB Linux est bien branchée** sur le Mac.
2. Redémarrez votre Mac.
3. Dès que l'écran s'éteint (ou dès que vous entendez le son de démarrage), **maintenez la touche `Option (alt) ⌥` enfoncée**.
4. Continuez à maintenir la touche jusqu'à ce que le **gestionnaire de démarrage** apparaisse à l'écran.

---

## Étape 2 — Choisir le périphérique de démarrage

Une fois le gestionnaire de boot affiché, vous verrez plusieurs icônes de disques disponibles.

- Repérez le lecteur intitulé **« EFI Boot »** (icône orange).
- Sélectionnez-le à l'aide :
  - de la **souris**, ou
  - des **touches fléchées** du clavier, puis validez avec `Entrée`.

---

## Étape 3 — Démarrage sur Linux

Le Mac va alors démarrer sur votre distribution Linux (Ubuntu, Mint, Fedora, Debian, etc.).

Vous pourrez :

- **Tester Linux** directement depuis la clé USB, sans rien modifier sur votre Mac.
- **Lancer l'installation** de Linux si vous souhaitez aller plus loin (dual boot ou remplacement de macOS).

---

## Notes importantes

- Cette procédure **ne modifie pas** votre installation macOS existante si vous choisissez uniquement de tester Linux.
- Le Mac redémarrera normalement sur macOS si vous n'appuyez pas sur `Option ⌥` au démarrage.
---

# Installer adb et fastboot sur votre PC avec Linux pour installer une rom custom

> Source originale [community.e.foundation](https://community.e.foundation/t/tuto-installer-adb-et-fastboot-sur-votre-pc-avec-linux/54357)
> 

> Ce document a été édité le 17/07/26. Si les commandes indiquées ne répondent pas au besoin, adaptez le nom du fichier car ce dernier aura probablement changé d'intitulé entre temps.
## 1. Télécharger le SDK Platform Tools

- Je vais sur la page : [Notes de version du composant SDK Platform Tools](https://developer.android.com/studio/releases/platform-tools?hl=fr)
- Je clique sur le lien « Télécharger la version Linux du composant SDK Platform-Tools »
- Je coche en bas de page « I have read and agree with the above terms and conditions »
- Je clique sur le lien « Download Android Platform-Tools for Linux »
- Le fichier `platform-tools-latest-linux.zip` est dans le dossier « Téléchargements »

## 2. Créer un dossier de destination

Je crée un dossier dans le `/home` :

```bash
mkdir ~/android-adb-fastboot
```

> Le [tilde](https://fr.wikipedia.org/wiki/Tilde) suivi de la [barre oblique](https://fr.wikipedia.org/wiki/Barre_oblique) remplace `/home/user/`.

## 3. Déplacer le fichier .zip

Je déplace le fichier `.zip` dans le dossier créé précédemment :

```bash
mv ~/Téléchargements/platform-tools-latest-linux.zip ~/android-adb-fastboot
```

## 4. Dézipper le fichier

```bash
unzip ~/android-adb-fastboot/platform-tools-latest-linux.zip -d ~/android-adb-fastboot
```

## 5. Vérifier l'installation

### Pour adb

```bash
~/android-adb-fastboot/platform-tools/adb version
```

Réponse attendue : `Version 34.0.5-10900879` (même version que le fichier `.zip`, donc c'est ok).

### Pour fastboot

```bash
~/android-adb-fastboot/platform-tools/fastboot --version
```

Réponse attendue : `fastboot version 34.0.5-10900879` (même version que le fichier `.zip`, donc c'est ok).

## 6. Connecter le smartphone

Mon smartphone est allumé sur la page d'accueil, je le branche au PC. Il se met à charger la batterie.

À ce niveau, il y a deux possibilités pour lancer la commande `adb devices` :

### Cas 1 — Installation de e-OS à partir d'Android

- Vous avez activé les **Options développeurs** sur Android.
- Dans ce cas, la commande :

```bash
~/android-adb-fastboot/platform-tools/adb devices
```

- vous demande d'autoriser => **Autoriser**
- puis vous répond :

```
daemon not running; starting now at tcp:5037
daemon started successfully
List of devices attached
2cf1d3c63d037ece	device
```

ou simplement :

```
2cf1d3c63d037ece
```

Vous pouvez maintenant lancer d'autres commandes adb.

### Cas 2 — Mise à niveau (upgrade)

Vous ne pouvez activer les options développeurs qu'à partir d'une installation DEV (développeurs).

## Notes et retours de la communauté

- Il est nécessaire d'avoir activé le **débogage USB (adb)** dans les options développeur au préalable.
- En cas de souci de détection du périphérique, il est recommandé de tester avec un autre câble USB (la mise en charge seule n'est pas un indicateur suffisant de bon fonctionnement du câble pour les données) et éventuellement un autre smartphone.
- L'option **Enable adb** dans e-Recovery (Advanced options) sert à activer le sideload, pas à autoriser les commandes adb vers l'appareil — ce n'est donc pas la même chose que le débogage USB activé depuis Android.
- Il n'est pas possible d'installer /e/OS depuis Android : cela se fait en mode **fastboot**.

## Ressources complémentaires

- [[HOWTO] an Unified Install Guide Project for /e/](https://community.e.foundation/t/howto-an-unified-install-guide-project-for-e/36234/)
- [[HOWTO] Installer ADB / fastboot sur mon PC/Mac](https://community.e.foundation/t/howto-installer-adb-fastboot-sur-mon-pc-mac/3394)

# Dépannage Ubuntu

# Créer un compte invité sans mot de passe sur Ubuntu 24.04

## Contexte

Par défaut, GDM (GNOME Display Manager) peut être configuré en connexion automatique, ce qui bypasse l'écran de sélection d'utilisateur. L'objectif est de désactiver ce comportement tout en conservant la connexion sans mot de passe pour le compte **guest**.

---
## Étape 1 — Créer un profil invité

Ouvrez vos **Paramètres**, puis allez dans **Système**. Cliquez sur **Ajouter un utilisateur**.

Appelez le compte **guest**, renseignez un mot de passe et enregistrez.
## Étape 2 — Modifier la configuration de GDM

Ouvrez un terminal et éditez le fichier de configuration GDM :

```bash
sudo nano /etc/gdm3/custom.conf
```

Dans la section `[daemon]`, assurez-vous d'avoir :

```ini
[daemon]
AutomaticLoginEnable = false
# AutomaticLogin = guest   ← commenter ou supprimer cette ligne si elle existe
```

Sauvegardez (`Ctrl+O`, `Entrée`, `Ctrl+X`) puis redémarrez GDM :

```bash
sudo systemctl restart gdm3
```

> GDM affichera désormais la liste des utilisateurs au démarrage.
---

# Installation et configuration de Thunar sur Ubuntu 24.04

## Pourquoi Thunar ?

Nautilus (le gestionnaire de fichiers par défaut de GNOME) n'affiche pas nativement :
- La date de création des fichiers
- L'heure et les minutes dans les colonnes
- Les secondes dans les colonnes

Thunar gère tout cela nativement, avec un affichage en liste détaillée configurable.

---

## 1. Installation

```bash
sudo apt install thunar thunar-archive-plugin thunar-volman
```

- `thunar` : le gestionnaire de fichiers principal
- `thunar-archive-plugin` : gestion des archives (zip, tar…) via clic droit
- `thunar-volman` : gestion automatique des volumes/périphériques USB

---

## 2. Premier lancement

```bash
thunar
```

Ou via le lanceur d'applications : chercher **Thunar** ou **Gestionnaire de fichiers**.

---

## 3. Passer en vue Liste

**Affichage → Afficher en liste détaillée**
ou raccourci clavier : `Ctrl+2`

---

## 4. Configurer les colonnes

1. En vue liste, faire un **clic droit sur l'en-tête des colonnes**
2. Sélectionner **Configurer les colonnes…**
3. Cocher les colonnes souhaitées :
   - ✅ **Nom**
   - ✅ **Taille**
   - ✅ **Type**
   - ✅ **Date de modification**
   - ✅ **Date de création**
4. Réorganiser l'ordre par glisser-déposer si besoin
5. Cliquer **Fermer**

---

## 5. Afficher l'heure dans les dates

Par défaut Thunar affiche la date et l'heure (HH:MM) dans les colonnes dès que les fichiers datent de moins d'un an. Pour forcer l'affichage de la date complète avec heure :

**Édition → Préférences → Affichage**
→ Décocher **Afficher les dates relatives** (si disponible selon la version)

---

## 6. Trier par colonne

Cliquer sur l'**en-tête d'une colonne** pour trier.
Cliquer une deuxième fois pour inverser l'ordre (croissant/décroissant).

---

## Résumé des raccourcis clavier Thunar

| Raccourci | Action |
|-----------|--------|
| `Ctrl+1` | Vue icônes |
| `Ctrl+2` | Vue liste détaillée |
| `Ctrl+L` | Barre d'adresse |
| `F5` | Actualiser |
| `Alt+←` | Dossier précédent |
| `Alt+→` | Dossier suivant |
| `Alt+↑` | Dossier parent |

# Dépannage mobile

# Installer LineageOS sur Samsung Galaxy S20 FE 5G (r8q)

> ⚠️ **À NE PAS OUBLIER : le Download Mode**
> Une fois que l'écran de **Download Mode** apparaît sur le téléphone, tu n'as que **10 secondes** pour lancer la commande `samloader` correspondante dans ton terminal. **Un seul essai** est autorisé : si tu rates ce délai, le téléphone **ne prendra plus de commandes** et il faudra tout recommencer depuis le début de l'étape (rallumer, refaire la combinaison de boutons, etc.). Sois donc prêt, avec le terminal ouvert et la commande déjà tapée (ou dans l'historique, prête à relancer), avant de démarrer en Download Mode.

---

## ⚠️ Ne jamais continuer si une étape échoue

Si une étape ne fonctionne pas comme prévu, **arrête-toi** et ne poursuis pas l'installation.

---

## 1. Prérequis de base

- Lire l'intégralité du guide **au moins une fois** avant de commencer, pour éviter les erreurs liées à une étape manquée.
- Avoir `adb` installé sur l'ordinateur.
- Activer le **débogage USB** sur le téléphone.
- Vérifier que le modèle du téléphone correspond **exactement** à l'un de ceux-ci :
  - SM-G781B
  - SM-G781B/DS
  - SM-G781N
  - SM-G7810
- Avoir démarré au moins une fois sur l'OS d'origine (stock) et vérifié que toutes les fonctionnalités marchent.
- Supprimer tous les comptes Google du téléphone pour éviter la protection "Factory Reset Protection" (FRP).
- LineageOS est fourni "tel quel", sans garantie. L'installation se fait **à tes propres risques**.

Si ton téléphone est actuellement sur une version d'Android plus récente ou plus ancienne que celle requise, il faut d'abord mettre à jour ou downgrader avant de continuer. La version requise est **Android 13** (ce qui peut être inférieur à la version de LineageOS installée, ce n'est pas une erreur). S'il existe plusieurs mises à jour de sécurité pour cette version, utiliser la plus récente. Pour upgrade/downgrade, il faudra chercher un guide en ligne (non fourni par LineageOS).

---

## 2. Vérifier le bon firmware

- Le "firmware" = ensemble d'images spécifiques au device, inclus et mis à jour par l'OS stock.
- Les builds LineageOS pour ce device nécessitent qu'**Android 13** (version stock) soit installé avant de suivre ce guide.
- Bien vérifier la **version d'Android**, pas la version de l'OS du fabricant (One UI, etc.).
- Être sur une autre ROM custom, même une build non-officielle de la même version de LineageOS, **ne garantit pas** que ce prérequis est rempli.

> ⚠️ Ne pas installer la bonne version de firmware avant de continuer peut entraîner : échec d'installation de LineageOS, plantages inattendus après installation, ou **dommage permanent** au téléphone.

---

## 3. Instructions pré-installation

1. Connecter le téléphone à un réseau **Wi-Fi**.
2. Activer les **options développeur** : Paramètres → À propos du téléphone → appuyer 7 fois sur "Numéro de build".
3. Dans le menu Options développeur, activer **OEM Unlock**.
4. Télécharger `vbmeta.img` depuis la page officielle (lien "here" dans le wiki source), par exemple vers `~/Bureau/vbmeta.img`.
5. Éteindre le téléphone et démarrer en **Download Mode** :
   - Téléphone éteint : maintenir **Volume Haut + Volume Bas**, puis brancher le câble USB au PC.
   - ⏱️ **Appuyer dans les 10 secondes** sur le bouton correspondant à "Device unlock mode" / "Unlock Bootloader" affiché à l'écran.
   - Le téléphone va redémarrer. Refaire les étapes 1 et 2 (Wi-Fi + réactiver les options développeur).
   - Vérifier que "OEM Unlock" est toujours activé, puis continuer à l'étape suivante.
6. Éteindre à nouveau le téléphone et redémarrer en **Download Mode** :
   - Téléphone éteint : maintenir **Volume Haut + Volume Bas**, puis brancher l'USB.
   - ⏱️ **Tu as 10 secondes** dès l'apparition de l'écran Download Mode pour lancer la commande `samloader` ci-dessous dans ton terminal. **Un seul essai** : passé ce délai, le téléphone reboot automatiquement et il faut recommencer depuis le début de cette étape.
7. Flasher le VBMeta avec `samloader` (remplacer le chemin si besoin) :
   ```
   samloader flash --partition VBMETA ~/Bureau/vbmeta.img
   ```
8. Le téléphone redémarre : tu peux débrancher le câble USB.
9. Le téléphone va demander un **factory reset** : suivre les instructions à l'écran.
10. Refaire la configuration Android en passant toutes les étapes possibles, puis reconnecter au Wi-Fi.
11. Réactiver les options développeur (10 appuis sur "Numéro de build") et vérifier que "OEM Unlock" est toujours activé.

---

## 4. Informations importantes

Les appareils Samsung ont un mode de démarrage spécial appelé **"Download mode"**, similaire au "Fastboot mode" des appareils avec bootloader débloqué. Sous LMDE, on utilise **samloader** pour interagir avec ce mode (au lieu d'Odin, réservé à Windows). La méthode préférée pour installer une recovery custom passe par le Download Mode — rooter le firmware stock n'est **ni nécessaire ni requis**.

---

## 5. Installer la Lineage Recovery via samloader

1. Activer les options développeur (10 appuis sur "Numéro de build").
2. Activer **OEM Unlock** dans le menu Options développeur.
3. Télécharger la **Lineage Recovery** : fichier nommé `recovery.img` (dernière version), par exemple vers `~/Bureau/recovery.img`.
   ⚠️ Utiliser uniquement la recovery officielle liée dans le wiki — les autres recoveries peuvent ne pas fonctionner.
4. Éteindre le téléphone et démarrer en **Download Mode** :
   - Téléphone éteint : maintenir **Volume Haut + Volume Bas**, puis brancher l'USB.
   - Cliquer sur le bouton correspondant à **"Continue"** à l'écran pour entrer en Download Mode.
   - ⏱️ **Tu as 10 secondes** dès l'apparition de l'écran Download Mode pour lancer la commande `samloader` ci-dessous dans ton terminal. **Un seul essai** : passé ce délai, le téléphone reboot automatiquement et il faut recommencer depuis le début de cette étape.
5. Flasher la recovery avec `samloader` (remplacer le chemin si besoin) :
   ```
   samloader flash --partition RECOVERY ~/Bureau/recovery.img
   ```
   Note : le téléphone peut afficher `Downloading... Do not turn off target!!` même une fois le flash terminé, c'est normal.
6. **Rebooter manuellement en recovery** :
   - Retirer/remettre la batterie (si amovible), ou
   - Maintenir **Volume Bas + Power** pendant 8-10 secondes jusqu'à ce que l'écran devienne noir, relâcher immédiatement, puis
   - Téléphone éteint : maintenir **Volume Haut + Power** pendant que le câble USB est branché au PC.
   - ⚠️ Il faut rebooter en recovery **immédiatement** après l'avoir installée, sinon elle sera écrasée au prochain boot.
   - ⚠️ Si la recovery n'affiche pas le logo LineageOS, tu as démarré sur la mauvaise recovery : recommencer cette section depuis le début.

---

## 6. Installer LineageOS depuis la recovery

1. Télécharger le fichier `.zip` de LineageOS souhaité (ou builder son propre package).
   - Note : la page de téléchargement peut contenir des fichiers additionnels non nécessaires à ce guide — les ignorer.
2. Si tu n'es pas déjà en recovery, redémarrer dedans :
   - Téléphone éteint : maintenir **Volume Haut + Power** pendant que l'USB est branché au PC.
   - 💡 Le tactile fonctionne en recovery sur la plupart des appareils. Sinon, utiliser les boutons Volume pour naviguer et Power pour sélectionner.
3. Sélectionner **Factory Reset**, puis **Format data / factory reset**, et suivre le processus de formatage.
   - ⚠️ Cela supprime le chiffrement et **efface tous les fichiers** du stockage interne, et formate la partition cache.
4. Retourner au menu principal.
5. **Sideloader le package `.zip` de LineageOS** — ne pas rebooter avant d'avoir suivi le reste des instructions !
   - Sur le téléphone : sélectionner **"Apply update"**, puis **"Apply from ADB"** pour démarrer le sideload.
   - Sur le PC, lancer la commande de sideload en remplaçant le chemin par le tien :
     ```
     adb -d sideload /home/val/Téléchargements/lineage-23.2-20260711-nightly-r8q-signed.zip
     ```
   - Note : si la vérification de signature échoue, l'image est corrompue ou n'est pas une image LineageOS officielle → la retélécharger.
   - 💡 Normalement `adb` affiche `Total xfer: 1.00x`. Mais parfois le transfert semble s'arrêter à 47% avec `adb: failed to read command: Success`, ou afficher `No error`/`Undefined error: 0` — c'est normal et le flash a quand même réussi.

---

## 7. Installer les add-ons (optionnel)

- Pour l'architecture **arm64**, l'add-on peut être téléchargé depuis le lien du wiki.
- ⚠️ **Cet add-on doit être installé avant le premier boot sur LineageOS !**
- Depuis la recovery : cliquer sur **"Apply update"**, puis **"Apply from ADB"**, puis exécuter pour chaque package :
  ```
  adb -d sideload /path/to/zip
  ```
- Si un écran affiche **"Signature verification failed"**, cliquer sur **"Yes"** — c'est normal, les add-ons ne sont pas signés avec la clé officielle de LineageOS.

---

## 8. Terminé !

Une fois tout installé avec succès, tu peux redémarrer sur le nouvel OS :

- Cliquer sur la flèche retour en haut à gauche, puis **"Reboot system now"**.

### Et après ?

- Pour reverrouiller le bootloader, voir la FAQ officielle LineageOS à ce sujet.
- Si un avertissement s'affiche à chaque démarrage, il n'y a rien à faire, c'est normal — l'ignorer.
- Ne pas désinstaller d'applications système : LineageOS n'embarque déjà qu'un minimum d'apps, et cela peut casser le système.
- LineageOS ne fournit **aucun support** pour le rootage.
- LineageOS est Android : il supporte les apps comme n'importe quel appareil Android, mais certaines apps peuvent choisir d'exclure les appareils selon "l'intégrité du système" (Device integrity) — voir la section "quirks" du device sur le wiki.

---

## 9. Ressources utiles

- **samloader-rs** — outil (réécriture en Rust de samloader) utilisé dans ce guide pour flasher le VBMeta et la recovery (sections 3 et 5), et qui permet aussi de télécharger le firmware stock Samsung officiel (utile pour récupérer le firmware Android 13 requis avant l'installation, voir section 2) :
  https://github.com/topjohnwu/samloader-rs

- **Builds LineageOS pour le r8q** — page officielle listant toutes les builds (nightly, etc.) disponibles à télécharger pour ce device :
  https://download.lineageos.org/devices/r8q/builds