# Dépannage global

# 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

# Diagnostiquer une machine sous Windows

# Lire un diagnostic avec HWiNFO64 et CrystalDiskInfo

HWiNFO64 donne une vue globale (CPU, GPU, RAM, températures, alimentation, disques). CrystalDiskInfo se concentre sur la santé des disques (SMART).

---

# Partie 1 : HWiNFO64

## 1. Présentation et lancement

- Téléchargement : site officiel `hwinfo.com` (version **Installer** ou **Portable**).
- Lancer **HWiNFO64** en **administrateur** (clic droit > *Exécuter en tant qu'administrateur*), sinon certains capteurs sont absents.
- Au démarrage, une fenêtre propose :
  - **Sensors-only** : affiche uniquement les capteurs en temps réel (idéal pour surveiller températures et fréquences).
  - **Summary-only** : affiche le résumé matériel.
  - Cocher les deux pour un diagnostic complet.
- Cliquer sur **Run**.

## 2. Les trois fenêtres

| Fenêtre | Contenu | Usage |
|---|---|---|
| **System Summary** | Résumé CPU, carte mère, RAM, GPU, disques, OS | Identifier rapidement la configuration |
| **Fenêtre principale** (arborescence) | Détail de chaque composant | Infos précises (références, specs, SMART) |
| **Sensors Status** | Valeurs en temps réel (Current / Min / Max / Avg) | Diagnostic thermique et de stabilité |

## 3. System Summary : ce qu'il faut regarder

- **CPU** : modèle, nombre de cœurs/threads, fréquences, *TDP*, technologie de gravure.
- **Motherboard** : modèle, chipset, version du **BIOS** (vérifier s'il est à jour).
- **Memory** : taille, type (DDR4/DDR5), fréquence, timings. Vérifier que la fréquence correspond à la RAM achetée (profil **XMP/EXPO** activé ou non).
- **GPU** : modèle, VRAM, fréquences.
- **Drives** : liste des disques, type (SSD/HDD/NVMe), état SMART.
- **OS** : version de Windows.

> Pour les passages à Linux, seules les informations liées à l'état de la batterie, des disques durs / ssd et au modèle du CPU comptent. Le reste n'est qu'accessoire ;)

## 4. Sensors Status : lire les capteurs


Le **Maximum** est la colonne la plus utile pour un diagnostic : elle montre le pic atteint pendant l'usage ou un test de charge.

### 4.1 Températures

| Capteur | Normal au repos | Normal en charge | À surveiller |
|---|---|---|---|
| **CPU Package** / Core Max | 30 à 50 °C | 60 à 85 °C | > 90 °C |
| **CPU (Tctl/Tdie)** (AMD) | 30 à 50 °C | 60 à 85 °C | > 90 °C |
| **GPU Temperature** | 30 à 50 °C | 65 à 85 °C | > 85 à 90 °C |
| **GPU Hot Spot** | 35 à 55 °C | 75 à 100 °C | > 105 °C |
| **GPU Memory Junction** | 35 à 60 °C | 75 à 100 °C | > 105 °C |
| **Disque NVMe** | 30 à 50 °C | 50 à 70 °C | > 75 °C |
| **Disque SATA SSD** | 25 à 45 °C | 40 à 60 °C | > 70 °C |
| **Disque dur HDD** | 25 à 40 °C | 35 à 50 °C | > 55 °C |

Ces valeurs sont indicatives : elles varient selon le modèle. Pour un portable, des pics plus élevés (jusqu'à 95 °C) sont fréquents sur certains CPU.

HWiNFO met en évidence les valeurs anormales :
- **Rouge** : valeur d'alerte (température élevée, throttling, erreur).
- **Orange/jaune** : avertissement.

Une valeur en rouge n'est pas toujours un problème grave, mais mérite une vérification.

## 5. Vérifier l'état des disques dans HWiNFO

Dans la fenêtre principale : **Drives** > sélectionner le disque.

- Section **S.M.A.R.T.** : liste les attributs avec colonnes *Current / Worst / Threshold / Raw Data*.
- Un attribut en **rouge** ou dont *Current* est proche ou sous *Threshold* signale un problème.
- Pour une lecture plus détaillée et plus claire, utiliser **CrystalDiskInfo** (partie 2).

## 6. Batterie (portable)

Dans le **Sensors** (ou le résumé) :

- **Design Capacity** : capacité d'origine.
- **Full Charge Capacity** : capacité maximale actuelle.
- **Wear Level** : usure en % = 1 − (Full Charge / Design).
  - < 10 % : bonne batterie
  - 10 à 30 % : usure normale mais faudra la changer si tu comptes déplacer le PC plus d'1h :)
  - > 30 à 40 % : à remplacer si l'autonomie est insuffisante
- **Cycle Count** : nombre de cycles de charge.

---

# Partie 2 : CrystalDiskInfo

## 1. Présentation et lancement

- Téléchargement : site officiel `crystalmark.info`
- Lancer en **administrateur** pour assurer l'accès aux données SMART.
- Le logiciel détecte automatiquement les disques SATA, NVMe, USB (selon le contrôleur).

## 2. Interface principale

De haut en bas :

1. **Barre de disques** : onglets en haut avec l'état de chaque disque (couleur + température). Cliquer pour changer de disque.
2. **Informations du disque** : modèle, firmware, numéro de série, interface, taille.
3. **État de santé** (*Health Status*) et **Température**.
4. **Compteurs** : *Total Host Writes*, *Power On Count*, *Power On Hours*.
5. **Tableau des attributs SMART**.

## 3. Lire l'état de santé (Health Status)

| Couleur | État | Signification | Action |
|---|---|---|---|
| **Bleu** | Bon (*Good*) | Aucun problème détecté | Surveillance normale |
| **Jaune** | Attention (*Caution*) | Un attribut a dépassé un seuil d'alerte | **Sauvegarder** les données, surveiller de près |
| **Rouge** | Mauvais (*Bad*) | Disque défaillant ou en fin de vie | **Sauvegarde immédiate**, remplacer le disque |
| **Gris** | Inconnu (*Unknown*) | État non lisible (contrôleur USB, RAID...) | Tester autrement |

Un pourcentage (ex. *Good 98 %*) est affiché pour les SSD : il reflète la durée de vie restante estimée.

> **Important :** « Bon » ne garantit pas l'absence de panne. Un disque peut tomber en panne sans signe préalable. La sauvegarde reste indispensable.

## 4. Température

- **HDD** : idéal 25 à 45 °C, alerte > 55 °C.
- **SSD SATA** : idéal 25 à 50 °C, alerte > 70 °C.
- **NVMe** : repos 30 à 50 °C, charge jusqu'à 70 °C, alerte > 75 °C (throttling possible vers 80 °C et plus).
- Une température élevée prolongée réduit la durée de vie et peut provoquer du throttling (ralentissements).

## 5. Lire le tableau d'attributs SMART (disques SATA)

Colonnes :

- **ID** : identifiant de l'attribut (hexadécimal)
- **Nom de l'attribut**
- **Actuel (Current)** : valeur normalisée (100 ou 200 = neuf, diminue avec l'usure)
- **Pire (Worst)** : plus mauvaise valeur historique
- **Seuil (Threshold)** : si *Current* descend sous ce seuil, l'attribut est en alerte
- **Valeurs brutes (Raw Values)** : valeur réelle (en **hexadécimal** par défaut)

> **Afficher les valeurs en décimal** : menu **Fonction > Fonctions avancées > Valeurs brutes > 10 [DEC]**. Beaucoup plus lisible.

### Attributs critiques (à surveiller en priorité)

| ID | Attribut | Signification | Valeur raw souhaitée |
|---|---|---|---|
| **05** | Reallocated Sectors Count | Secteurs défectueux remplacés par des secteurs de réserve | **0** (toute valeur > 0 est un mauvais signe, et si elle augmente c'est grave) |
| **C4** | Reallocation Event Count | Nombre d'événements de réallocation | 0 |
| **C5** | Current Pending Sector Count | Secteurs instables en attente de réallocation | **0** |
| **C6** | Uncorrectable Sector Count | Secteurs impossibles à corriger | **0** |
| **0A** | Spin Retry Count | Échecs de démarrage de rotation (HDD) | 0 |
| **01** | Read Error Rate | Erreurs de lecture | Variable selon le fabricant (peut être élevé sur Seagate sans gravité) |
| **C7** | UDMA CRC Error Count | Erreurs de transmission (souvent un **câble SATA** défectueux) | 0 (si > 0 stable : changer le câble) |

### Attributs d'usure et d'information

| ID | Attribut | Signification |
|---|---|---|
| **09** | Power-On Hours | Durée totale de fonctionnement (8760 h = 1 an en continu) |
| **0C** | Power Cycle Count | Nombre d'allumages |
| **BB** | Reported Uncorrectable Errors | Erreurs non corrigées |
| **BE / C2** | Temperature | Température |
| **E7** | SSD Life Left | Durée de vie restante en % (SSD, selon marque) |
| **B1** | Wear Leveling Count | Usure des cellules (SSD Samsung notamment) |
| **F1** | Total Host Writes | Volume total écrit (en Go) |
| **F2** | Total Host Reads | Volume total lu |
| **AD / A9** | Media Wearout Indicator | Usure des cellules flash (selon marque) |

Les noms et ID varient selon le fabricant : se référer au modèle précis du disque.

## 6. Lire un SSD NVMe

Les NVMe n'utilisent pas le même tableau d'attributs. Les lignes principales :

| Attribut | Signification | À surveiller |
|---|---|---|
| **Critical Warning** | Drapeau d'alerte global | Doit être **0** |
| **Composite Temperature** | Température | Voir section 4 |
| **Available Spare** | Réserve de cellules restante (%) | Doit rester **élevé** (100 % neuf) |
| **Available Spare Threshold** | Seuil d'alerte de la réserve | Si *Available Spare* passe sous ce seuil, alerte |
| **Percentage Used** | Usure estimée (%) | 0 % neuf, **100 % = durée de vie nominale atteinte** (peut dépasser 100 %) |
| **Data Units Read / Written** | Volume lu / écrit | Comparer au **TBW** du constructeur |
| **Host Read/Write Commands** | Nombre de commandes | Information |
| **Controller Busy Time** | Temps d'activité du contrôleur | Information |
| **Power Cycles / Power On Hours** | Cycles d'alimentation / heures | Information |
| **Unsafe Shutdowns** | Extinctions brutales | Valeur élevée = coupures de courant ou plantages fréquents |
| **Media and Data Integrity Errors** | Erreurs d'intégrité | Doit être **0** |
| **Number of Error Information Log Entries** | Entrées du journal d'erreurs | Idéalement 0 ou faible et stable |

**Estimer la durée de vie d'un SSD :** comparer *Total Host Writes* au **TBW** garanti (ex. 600 TBW pour un 1 To). Un usage normal consomme rarement plus de quelques To par an.

## 7. Cas particuliers

- **Disque externe USB** : certains boîtiers ne transmettent pas les infos SMART. CrystalDiskInfo peut afficher *Inconnu* ou rien : essayer de brancher le disque en interne ou via un autre boîtier.
- **RAID** : les disques ne sont pas toujours visibles individuellement.
- **Disque en Caution depuis longtemps sans évolution** : peut rester stable, mais la sauvegarde reste prioritaire.

---

# Partie 3 : Combiner les deux outils

| Besoin | Outil |
|---|---|
| Voir la configuration complète du PC | HWiNFO64 (Summary) |
| Surveiller températures, fréquences, throttling | HWiNFO64 (Sensors) |
| Diagnostiquer l'alimentation (tensions) | HWiNFO64 |
| Vérifier l'usure de la batterie | HWiNFO64 |
| Évaluer la santé précise d'un disque | CrystalDiskInfo |
| Surveiller un disque en continu avec alertes | CrystalDiskInfo (résident) |
| Joindre un rapport à un ticket de support | Les deux (rapport HWiNFO + copie CrystalDiskInfo) |

## Check-list finale

- [ ] Aucun throttling thermique signalé
- [ ] Disques en état **Bon** dans CrystalDiskInfo
- [ ] Attributs 05, C5, C6 = 0 (ou Critical Warning = 0 en NVMe)
- [ ] Usure SSD (Percentage Used) raisonnable
- [ ] Batterie : usure acceptable (portables)

---

*Les seuils indiqués sont des repères généraux. Se référer aux spécifications du fabricant pour le matériel exact.*

# 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.

# 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.

# Vider le dossier boot.

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ées 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 avancée

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

# Préinstaller 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)

# Installation de LMDE 7 sur Mac

## Contexte

- **Cible :** Mac avec tentative d'installation Linux précédente ratée
- **Objectif :** Installer LMDE 7 (Linux Mint Debian Edition 7) proprement
- **Situation de départ :** Le disque interne est dans un état instable (install précédente incomplète)

---

## Étape 1 — Premier boot sur la clé USB : BOOT FAILED

### Symptôme

Au démarrage sur la clé USB LMDE 7, le kernel démarre et charge les pilotes USB, puis tombe en erreur dans un shell BusyBox (initramfs) :

```
BOOT FAILED!
This Live System image failed to boot.
...
Unable to find a medium containing a live file system
```

### Cause

Le système live (squashfs) n'est pas trouvé sur le support. Causes possibles :
- Clé USB mal gravée (fichiers copiés au lieu d'une image brute)
- ISO corrompue ou incomplète
- Clé USB abîmée par une tentative précédente

### Solution — Réinstaller le système complètement

## Étape 2 — Boot sur le disque interne : EFI cassé

### Symptôme

En bootant sur le disque interne (hors clé USB), l'EFI affiche :

```
Failed to open \EFI\BOOT\grubx64.efi - Not Found
Failed to load image : Not Found
start_image() returned Not Found, falling back to default loader
Failed to open \EFI\BOOT\grubx64.efi - Not Found
Failed to load image : Not Found
start_image() returned Not Found
```

### Cause

L'installation précédente a laissé le disque dans un état incomplet :
- Partition EFI (ESP) présente mais vide, ou sans bootloader
- Entrée NVRAM pointant vers un fichier inexistant

**Il n'y a aucun système bootable sur ce disque.** C'est attendu si l'install précédente a été interrompue.

Ne pas chercher à réparer ce boot cassé. La solution la plus propre est d'**effacer complètement le disque** puis de repartir sur un disque vierge avec l'installeur LMDE de la clé bootable.

---

## Étape 3 — Effacer le disque depuis le shell

### Contexte

Depuis le shell BusyBox de l'initramfs (clé USB), on peut accéder au disque interne et l'effacer sans avoir besoin d'un système installé.

### Identifier le disque

```sh
ls /dev/sdX
```

Remplacer X par le disque correspondant 

### Effacer la table de partitions et les partitions

```sh
dd if=/dev/zero of=/dev/sdX bs=1M count=100
```

Cela écrit 100 Mo de zéros au début du disque, ce qui efface :
- La table de partitions (GPT/MBR)
- La partition EFI
- Tous les résidus de l'installation précédente

**Résultat attendu :**
```
100+0 records in
100+0 records out
```

> ⚠️ **Cibler `/dev/sdX`** (le disque entier), pas `sdX1` ou `sdX2`.  
> Cette opération est **irréversible**.

### Redémarrer

```sh
reboot
```

Au redémarrage, maintenir **Option (⌥)** pour accéder au boot picker du Mac et sélectionner la clé USB.

---

## Suite

Le disque est maintenant vierge. L'étape suivante est de booter correctement sur la clé USB LMDE et de lancer l'installeur en choisissant l'option **"Effacer le disque entier"**, qui recréera une partition EFI propre avec un GRUB fonctionnel.

# Régler les problèmes de puces  Broadcom sur Mac entre 2009 et 2013

## Contexte
Le Mac refuse de se connecter à certains réseaux wifi alors qu'il les voit. Les partages de connexions semblent fonctionner.

## Origine du problème
Les cartes Broadcom par défaut utilisent le module wl, utiliser le module br43 semble résoudre le problème.

## Diagnostic
Faire un ```lsusb | grep Broadcom``` dans un terminal si le mac utilise la BCM2046B1.

A télécharger ici : <https://packages.debian.org/fr/sid/firmware-b43-installer>

Le module b43 gère ces puces :
* BCM4306/3 (chip revision 3 seulement);
 * BCM4311 (pas le PCI Id 14e4:4313);
 * BCM4312;
 * BCM43131;
 * BCM4318;
 * BCM4321 (support incomplet)
 * BCM43217;
 * BCM4322 (support incomplet)
 * BCM43222 (certaines versions non testées);
 * BCM43224 (ertaines versions non testées);
 * BCM43225;
 * BCM43227;
 * BCM43228;
 * BCM4331;
 * BCM47xx (support foireux).

On installe ensuite le.deb et on redémarre l'ordinateur.

Ensuite, on retire le module wl avec ```sudo modprobe -r wl``` . On attend quelques secondes et puis on charge b43 ```sudo modprobe b43``` Si le Wifi fonctionne, on peut pereniser la solution.

## Fix
Il faut blacklister wl et déblacklister b43 avec :

```sudo mv /etc/modprobe.d/broadcom-sta-dkms.conf /etc/modprobe.d/broadcom-sta-dkms.conf.disabled ```

 Puis :

```sudo sh -c "echo 'blacklist wl' >> /etc/modprobe.d/blacklist.conf"```

# Configurer l'écran de connexion LMDE 7

## Principe

L'écran de connexion de LMDE 7 est géré par **LightDM**, qui utilise le greeter **Slick Greeter**. Ses réglages sont lus dans un seul fichier :

```
/etc/lightdm/slick-greeter.conf
```

Le greeter tourne sous l'utilisateur système `lightdm`. Toute ressource utilisée (image, logo) doit donc se trouver **hors de votre dossier personnel** et être **lisible par tous**.

## 1. Vérifier que Slick Greeter est actif

```bash
grep -r greeter-session /etc/lightdm/
```

Le résultat doit contenir :

```
greeter-session=slick-greeter
```

Sinon, le fichier `slick-greeter.conf` est ignoré.

Vérifier l'installation du paquet :

```bash
dpkg -l | grep slick-greeter
```

## 2. Préparer les images

```bash
sudo cp ~/Images/mon-fond.jpg /usr/share/backgrounds/mon-fond.jpg
sudo chmod 644 /usr/share/backgrounds/mon-fond.jpg
```

Formats conseillés : JPG ou PNG. Vérification des droits :

```bash
ls -l /usr/share/backgrounds/mon-fond.jpg
# attendu : -rw-r--r--
```

## 3. Éditer la configuration

Sans passer par `xed admin:///` (souvent non fonctionnel), utilisez `nano` :

```bash
sudo nano /etc/lightdm/slick-greeter.conf
```
Puis coller 
```bash
background=/usr/share/backgrounds/mon-fond.jpg
draw-user-backgrounds=false
```


Enregistrer : `Ctrl+X`

Ou en une commande (⚠️ remplace tout le contenu du fichier ; faites d'abord `cat /etc/lightdm/slick-greeter.conf` pour sauvegarder l'existant) :

```bash
sudo tee /etc/lightdm/slick-greeter.conf > /dev/null <<'EOF'
[Greeter]
background=/usr/share/backgrounds/mon-fond.jpg
draw-user-backgrounds=false
EOF
```


## 4. Appliquer les changements

Redémarrer ou se déconnecter. Pour tester sans redémarrer :

```bash
sudo systemctl restart lightdm
```

⚠️ Cela ferme la session graphique : enregistrez votre travail avant.

# Réparer le démarrage de LMDE 7 (GRUB UEFI) après une réinitialisation du BIOS / swap machine / grub cassé

# Processus
## 1. Démarrer la clé live en UEFI

Dans le menu de boot, choisir l'entrée **« UEFI : nom de la clé »** (et non l'entrée sans préfixe UEFI).

Vérifier que le live est bien en UEFI :

```bash
ls /sys/firmware/efi
```

- Le dossier existe : OK, continuer.
- Erreur « No such file » : le live est en Legacy. Redémarrer et choisir l'entrée UEFI.

## 2. Identifier les partitions

```bash
lsblk -f
```

Repérer la partition **vfat** (EFI) et la partition **ext4** (racine).

## 3. Monter le système et entrer dans le chroot

```bash
sudo mount /dev/sda3 /mnt
sudo mkdir -p /mnt/boot/efi
sudo mount /dev/sda1 /mnt/boot/efi
for d in dev dev/pts proc sys sys/firmware/efi/efivars; do sudo mount --bind /$d /mnt/$d; done
sudo chroot /mnt
```

## 4. Réinstaller GRUB (dans le chroot)

```bash
grub-install --target=x86_64-efi --efi-directory=/boot/efi --removable
grub-install --target=x86_64-efi --efi-directory=/boot/efi
update-grub
exit
```

- `--removable` crée le chemin de secours `EFI/BOOT/BOOTX64.EFI`, que le BIOS trouve même sans entrée enregistrée. C'est ce qui garantit le démarrage.
- Le second `grub-install` enregistre une entrée UEFI nommée dans le BIOS. S'il affiche une erreur liée à `efivars`, elle peut être ignorée : la première commande suffit.

## 5. Redémarrer

```bash
sudo reboot
```

Retirer la clé USB dès que l'écran s'éteint. Dans le BIOS, vérifier que le SSD est premier dans l'ordre de boot.

# 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

# Dépannage logiciel

# Impossible de démarrer le terminal sous LMDE 7

> **Note :** Problème rencontré sur une configuration bilingue uniquement.

## Configuration

- **Langue :** en_US.UTF-8
- **Région :** fr_FR.UTF-8
- **Time :** fr_FR.UTF-8

Langues complètement installées.

## Problème

Suite à une mise à jour de `libc`, les locales FR ne sont pas générées. Ce qui crée un problème avec le terminal qui ne démarre plus.

## Solution

Pour rétablir les locales FR, il faut repasser par le panneau de configuration des langues et réinstaller.

## Pour éviter que cela se reproduise

Il faut indiquer qu'il faut re-générer la locale FR :

```bash
sudo nano /etc/locale.gen
```

Décommenter la ligne `fr_FR.UTF-8 UTF-8` en supprimant le `#`.

Vérifier que toutes les locales se génèrent bien :

```bash
sudo dpkg-reconfigure locales
```

# Mot de passe oublié (LMDE, Ubuntu, Windaube 10)

## Changement mot de passe LMDE

1. Accéder au GRUB (si le GRUB n'apparaît pas, appuyer sur `Shift` au démarrage)
2. Une fois sur le GRUB, demander l'édition en appuyant sur `e`
3. Se déplacer avec les flèches
4. Trouver la ligne et ajouter `rw init=/bin/bash` à la fin :

```
linux /vmlinuz-6.12.57+deb13-amd64 root=/dev/mapper/lvmlmde-root ro cryptdevice=UUID=d20c4134-96f9-4447-8d57-d0ccabea6757:lvmlmde root=/dev/mapper/lvmlmde-root resume=/dev/mapper/lvmlmde-swap quiet splash rw init=/bin/bash
```

> ⚠️ Attention, clavier en QWERTY ! Voir le [layout ici](https://upload.wikimedia.org/wikipedia/commons/d/da/KB_United_States.svg)

5. Quitter avec `F10` ou `Fn+F10`
6. À l'invite de commande root, vérifier les noms d'utilisateurs présents avec :

```
ls /home
```

7. Changer le mot de passe avec la commande :

```
passwd nomutilisateur
```

8. Entrer le nouveau mot de passe 2 fois
9. Redémarrer avec :

```
reboot -f
```

> **Note :** Cette modification est temporaire et disparaît du GRUB au reboot.

---

## Changement mot de passe perdu sur Ubuntu

1. Démarrer en maintenant la touche `Shift` enfoncée pour forcer l'apparition du menu GRUB
2. Dans GRUB, sélectionner **Options Avancées pour Ubuntu** / *Advanced options for Ubuntu*
3. Sélectionner le noyau le plus récent en mode **recovery** / *recovery mode*
4. Sélectionner **root** > Entrée x2
5. Dans la console, entrer :

```
mount -rw -o remount /
```

6. Faire :

```
ls /home
```

pour voir la liste des utilisateurs

7. Demander le changement de mot de passe avec :

```
passwd username
```

où `username` est le nom de l'utilisateur dont vous voulez changer le mot de passe

8. Entrer le mot de passe et le confirmer
9. Entrer :

```
exit
```

10. Sélectionner **"Resume normal boot"** (1ère option) et faire Entrée

L'ordinateur redémarre et vous pouvez utiliser votre nouveau mot de passe.

---

## Changement mot de passe sous Windows 10

### How to Reset Windows 10 Password with Ubuntu Live CD/USB ?

1. Pour commencer, téléchargez Ubuntu Desktop gratuitement depuis le site officiel d'Ubuntu (environ 1,4 Go). Gravez l'image ISO sur un CD (ou une clé USB) avec un logiciel gratuit comme ISO2Disc.

2. Insérez le Live CD Ubuntu dans l'ordinateur dont vous voulez réinitialiser le mot de passe, puis démarrez sur le disque. Une fois sur l'écran d'accueil Ubuntu, choisissez **Try Ubuntu**.

3. Ouvrez **System Settings**, puis cliquez sur **Software and Updates**. Dans la fenêtre qui apparaît, cochez l'option **Community-maintained free and open-source software** et cliquez sur **Close**.

4. Une boîte de dialogue indiquant que les informations du dépôt sont obsolètes apparaît. Cliquez sur **Reload**.

5. Ouvrez un terminal, puis exécutez les commandes suivantes pour installer l'utilitaire de réinitialisation de mot de passe :

```
sudo add-apt-repository universe
sudo apt-get install chntpw
```

6. Repérez votre partition Windows et naviguez jusqu'au dossier `Windows\System32\Config`. Faites un clic droit sur un espace vide et sélectionnez **Open in Terminal**.

7. Dans le terminal, exécutez la commande suivante : elle listera tous les comptes utilisateurs présents sur le système Windows 10.

```
chntpw -l SAM
```

8. Pour réinitialiser le mot de passe perdu d'un compte spécifique, tapez la commande suivante et appuyez sur Entrée :

```
chntpw -u user_name SAM
```

9. Plusieurs options s'offrent à vous pour réinitialiser, déverrouiller, activer ou promouvoir le compte utilisateur. Tapez `1` et appuyez sur Entrée.

10. Tapez `q` et appuyez sur Entrée pour quitter le menu d'édition utilisateur. Puis tapez `y` pour confirmer et enregistrer les modifications.

11. Redémarrez l'ordinateur et retirez le Live CD Ubuntu du lecteur. Vous pouvez ensuite vous connecter à Windows 10 sans mot de passe !

# Dépannage BIOS

# La danse des doigts

# Qu'est ce que c'est ?
C’est le moment **juste après avoir allumé l’ordinateur**, où tu dois appuyer **très tôt et plusieurs fois** sur **une touche spéciale** pour :
- soit **entrer dans le BIOS / UEFI**
- soit **afficher le menu de démarrage (Boot Menu)**

=> Ces menus permettent de **désactiver Secure Boot** et/ou **choisir la clé USB Linux**.


(Echap, F1, F2, Suppr > ça dépend de la machine, donc faire toutes les touches couvre toutes les options)
F6 (ou F12 ou Echap, encore selon l'ordi)

# Où trouver l’info de la bonne touche ?

Dans l’ordre de probabilité :
1. **F2**
2. **Suppr (Delete)**
3. **F12** 
4. **Esc**
5. **F10**

## Pendant le démarrage

Pendant 1 à 3 secondes, tu peux voir un message du type :
- `Press F2 to enter Setup`
- `Press DEL to enter BIOS`
- `F12 Boot Menu`
- `Esc for Startup Menu`

Le problème :
- ça disparaît vite
- parfois c’est écrit très petit
- parfois **rien n’est affiché**

## Par la marque de l’ordinateur

**Touches les plus courantes par constructeur** :

|Marque|BIOS / UEFI|Boot Menu|
|---|---|---|
|**Acer**|F2|F12|
|**Asus**|F2 ou Suppr|F8|
|**Dell**|F2|F12|
|**HP**|Esc puis F10|Esc puis F9|
|**Lenovo**|F1 ou F2|F12|
|**Toshiba**|F2|F12|
|**MSI**|Suppr|F11|
|**Samsung**|F2|Esc|
|**Sony VAIO**|F2|F11 / Assist|

# Installer Linux sur un ancien PC à BIOS classique

## Quand utiliser cette méthode

Cette méthode vaut pour les PC à **BIOS classique sans UEFI**, soit en pratique les portables, netbooks et PC de bureau sortis **avant 2011 environ**. Ne pas l'appliquer à un PC récent.

| Période de sortie | Micrologiciel                                                | Cette méthode ?             |
| ----------------- | ------------------------------------------------------------ | --------------------------- |
| Avant 2011        | BIOS classique uniquement                                    | **Oui**                     |
| 2011 – 2012       | Transition : BIOS ou UEFI selon le modèle                    | Vérifier (voir ci-dessous)  |
| 2012 – 2019       | UEFI + Secure Boot, mode « Legacy / CSM » souvent disponible | **Non** : installer en UEFI |
| Depuis 2020       | UEFI seul, Legacy souvent supprimé                           | **Non**                     |

**Reconnaître un BIOS classique :**

- l'écran de réglages est en texte, souvent bleu et gris, sans souris ;
- aucune option nommée **UEFI**, **Secure Boot** ou **CSM** n'apparaît ;
- depuis une live Linux, `ls /sys/firmware/efi` répond **« Aucun fichier ou dossier de ce nom »**.

## Étape 1 : créer la clé USB

La clé s'écrit avec `dd`, qui copie l'ISO telle quelle : c'est la méthode la plus fiable avec un BIOS classique.

**1. Repérer la clé** par sa taille. Prendre le **disque entier** (ex. `sdb`), jamais une partition (`sdb1`). Le nom varie d'une machine à l'autre.

```
lsblk
```

**2. La démonter** (remplacer `sdX` par le bon nom) :

```
sudo umount /dev/sdX*
```

**3. Écrire l'ISO** (adapter le chemin du fichier) :

```
sudo dd if=~/Téléchargements/distribution.iso of=/dev/sdX bs=4M status=progress conv=fsync
```

**4. Attendre le retour de l'invite**, puis retirer la clé.

**Attention** : `dd` écrase le disque ciblé sans confirmation. Vérifier deux fois le `/dev/sdX`.

| Option | Rôle |
| --- | --- |
| `if=` | Fichier source (l'ISO) |
| `of=` | Destination (la clé) |
| `bs=4M` | Copie par blocs de 4 Mo, plus rapide |
| `status=progress` | Affiche l'avancement |
| `conv=fsync` | Attend que tout soit réellement écrit avant de rendre la main |

Avec Rufus ou Ventoy, choisir **MBR / BIOS** (jamais GPT/UEFI) ; pour Ventoy : `sudo sh Ventoy2Disk.sh -i /dev/sdX`, sans l'option `-g`.

## Étape 2 : régler le BIOS

Commencer par **recharger les réglages par défaut** : sur un vieux PC, la pile du BIOS est souvent morte et les réglages peuvent être incohérents, ce qui bloque le démarrage sans message clair.

1. Allumer et appuyer sur la touche d'accès au BIOS (tableau ci-dessous).
2. Onglet **Exit** (ou **Save & Exit**) → **Load Setup Defaults** (parfois *Load Optimized Defaults*, ou touche **F9**).
3. Onglet **Boot** : vérifier que le disque dur et la clé (*Removable Dev.* ou *USB*) figurent dans l'ordre de démarrage.
4. **F10** pour enregistrer et redémarrer.


Si l'option existe, désactiver **Boot Booster** ou **Quick Boot** : elles mémorisent l'ancien démarrage et peuvent ignorer la clé ou un nouveau système.

## Étape 3 : démarrer le live et installer le système

1. Brancher la clé **avant** d'allumer.
2. Allumer et appuyer sur la touche du **menu de démarrage**, puis choisir la clé.
3. Installer le système avec vos paramètres favoris

Avant d'installer, vérifier le mode de démarrage : `ls /sys/firmware/efi` doit répondre qu'il n'existe pas. Sinon, la machine est en UEFI et cette fiche ne s'applique pas.

L'option **Boot from Hard Disk** du menu live ne teste pas le disque interne : elle relance la clé elle-même.


## Étape 5 : premier démarrage

1. Éteindre à la fin de l'installation.
2. **Retirer la clé.**
3. Rallumer : le menu GRUB apparaît, puis le bureau.
Si l'écran affiche « Reboot and Select proper Boot device », refaire d'abord **Load Setup Defaults** dans le BIOS, puis **F10**. Sinon, voir le dépannage.

## Dépannage



Vérifier que GRUB est bien écrit au début du disque, depuis le live :

```
sudo dd if=/dev/sdX bs=512 count=1 2>/dev/null | strings
```

Les mots **GRUB**, **Geom**, **Hard Disk**, **Read**, **Error** doivent apparaître.

## Réinstaller GRUB à la main

Depuis le live, on « emprunte » le système installé pour lui réécrire son chargeur de démarrage. Repérer d'abord avec `lsblk` le disque interne (`sdX`) et sa partition système (`sdX1`), puis taper une ligne à la fois :

```
sudo mount /dev/sdX1 /mnt
for i in dev proc sys; do sudo mount --bind /$i /mnt/$i; done
sudo chroot /mnt grub-install --target=i386-pc /dev/sdX
sudo chroot /mnt update-grub
```

Résultat attendu après la 3ᵉ ligne : **Installation finished. No error reported.** Un message `grub-probe: error: cannot find a GRUB drive` pendant `update-grub` est sans gravité : il concerne la clé live.

| Commande | Ce qu'elle fait |
| --- | --- |
| `mount /dev/sdX1 /mnt` | Rend accessible la partition où Linux est installé |
| `mount --bind` sur `dev`, `proc`, `sys` | Donne au système monté l'accès au matériel (disques, processus, noyau) |
| `chroot /mnt` | Lance la commande comme si `/mnt` était la racine, avec les outils du système installé |
| `grub-install --target=i386-pc /dev/sdX` | Écrit GRUB en mode BIOS classique dans le MBR, le 1er secteur que lit le BIOS |
| `update-grub` | Cherche les noyaux Linux et génère le menu de démarrage |

Ensuite : éteindre, retirer la clé, rallumer.

# Installer des logiciels

# Installer Stoat sur LMDE7 (64 bits)

### Installer Stoat sur LMDE 7
## 1. Télécharger la version Linux x64 (.zip)

Stoat n'a pas encore de paquet officiel `.deb`/Flathub pour Debian/LMDE — la page officielle renvoie vers les releases GitHub.

1. Va sur la page officielle de téléchargement : **https://stoat.chat/download**
2. Dans la section **Linux**, clique sur **GitHub** (lien vers les releases : `https://github.com/stoatchat/for-desktop/releases`)
3. Sur la page de la dernière release (tout en haut, ex. `v1.4.0`), déroule la section **Assets**
4. Repère l'archive correspondant à Linux 64 bits. Le nom suit généralement ce format :
   ```
   Stoat-linux-x64-<version>.zip
   ```
   *(vérifie bien `linux` + `x64` dans le nom, à ne pas confondre avec `arm64` qui est pour les architectures ARM, ou avec les fichiers `.deb`/`.rpm`/`.AppImage`/`.flatpak` s'ils sont proposés)*
5. Télécharge ce fichier `.zip` (par défaut dans `~/Téléchargements`)

> 💡 Alternative : le dépôt communautaire [stoat-desktop-for-linux](https://github.com/jfoots/stoat-desktop-for-linux) propose aussi des builds Linux, mais privilégie toujours en premier les assets officiels de `stoatchat/for-desktop`.

## 2. Extraire l'archive

```bash
cd ~/Téléchargements
unzip Stoat-linux-x64-*.zip -d ~/Applications/stoat
```

*(crée le dossier `~/Applications/stoat` s'il n'existe pas encore : `mkdir -p ~/Applications`)*

L'exécutable principal se trouve normalement à la racine du dossier extrait, sous un nom comme `stoat` ou `Stoat` (Electron).

## 3. Rendre l'exécutable lançable

```bash
chmod +x ~/Applications/stoat/stoat
```

Adapte le nom du binaire s'il diffère (vérifie avec `ls ~/Applications/stoat`).

## 4. Créer le raccourci (fichier .desktop)

```bash
nano ~/.local/share/applications/stoat.desktop
```

Colle ce contenu (adapte les chemins) :

```ini
[Desktop Entry]
Type=Application
Name=Stoat
Comment=Lancer Stoat
Exec=/home/TON_USER/Applications/stoat/stoat
Icon=/home/TON_USER/Applications/stoat/resources/app/icon.png
Terminal=false
Categories=Network;InstantMessaging;
```

- Remplace `TON_USER` par ton nom d'utilisateur (`whoami`)
- `Icon=` est optionnel : cherche un fichier `.png` dans le dossier extrait (souvent dans `resources/`), ou supprime la ligne pour une icône générique

Sauvegarde (Ctrl+O, Entrée, Ctrl+X), puis rends le fichier exécutable :

```bash
chmod +x ~/.local/share/applications/stoat.desktop
```

## 5. Copier le raccourci sur le bureau

```bash
cp ~/.local/share/applications/stoat.desktop ~/Desktop/
chmod +x ~/Desktop/stoat.desktop
```

Au premier double-clic, Cinnamon/Nemo demandera de confirmer la confiance : clic droit sur l'icône → **« Autoriser le lancement »**.

## 6. Lancement automatique au démarrage de session

**Méthode graphique :**
Menu → « Applications au démarrage » (Startup Applications) → **Ajouter** → sélectionne `stoat.desktop`.

**Méthode terminal :**

```bash
mkdir -p ~/.config/autostart
cp ~/.local/share/applications/stoat.desktop ~/.config/autostart/
```

Stoat se lancera automatiquement à chaque ouverture de session.

---

## Récapitulatif rapide

| Étape | Commande clé |
|---|---|
| Extraction | `unzip Stoat-linux-x64-*.zip -d ~/Applications/stoat` |
| Rendre exécutable | `chmod +x ~/Applications/stoat/stoat` |
| Créer raccourci | `~/.local/share/applications/stoat.desktop` |
| Copier sur le bureau | `cp ... ~/Desktop/` |
| Démarrage auto | `cp ... ~/.config/autostart/` |

## Mettre à jour Stoat plus tard

Comme il n'y a pas de gestionnaire de paquets, la mise à jour est manuelle : retélécharge la nouvelle archive depuis les releases GitHub, extrais-la par-dessus l'ancien dossier (ou dans un nouveau dossier en mettant à jour le chemin `Exec=` du fichier `.desktop` si besoin).

# Installer manuellement RustDesk sous LMDE 7

## Contexte matériel

- **Distribution :** LMDE 7 64 bits

## Contexte

Suite à l'installation de Linux LMDE 7, il peut arriver que RustDesk ne soit pas présent dans la logithèque. Il faut alors l'installer manuellement.

Source : [https://github.com/rustdesk/rustdesk/releases](https://github.com/rustdesk/rustdesk/releases)

---

## Procédure d'installation

### 1. Mise à jour du système

Exécuter dans le terminal :
```bash
sudo apt update
```
Puis :
```bash
sudo apt upgrade
```

### 2. Vérifier la présence dans la logithèque

Ouvrir la logithèque et rechercher **RustDesk**.

> Si RustDesk est présent, l'installer depuis la logithèque et arrêter la procédure ici. Sinon, continuer.

### 3. Installation manuelle

Ouvrir un terminal et exécuter les commandes suivantes :

```bash
wget https://github.com/rustdesk/rustdesk/releases/download/1.4.0/rustdesk-1.4.0-x86_64.deb
sudo dpkg -i rustdesk-1.4.0-x86_64.deb
sudo apt -f install
```

### 4. Redémarrage

Redémarrer l'ordinateur pour finaliser l'installation.


## Liens associés

- [Résolution du problème – Reddit](https://www.reddit.com/r/rustdesk/comments/1k9f9x3/access_rustdesk_before_user_login_on_linux_mint/)

---

## Notes

Activer le mode **headless Linux** dans RustDesk pour les machines sans clavier ni écran.

# Installer NoComprendo 2.X sur Ubuntu

> Basé sur le wiki officiel du projet : [invent.kde.org/beroot/nocomprendo — Install on Debian](https://invent.kde.org/beroot/nocomprendo/-/wikis/debian_install)
> et sur une session de dépannage réelle sur Ubuntu (septembre 2026).

NoComprendo est un outil de commande vocale, de dictée et de synthèse vocale (Text-to-Speech) pour Linux, développé par Bruno Anselme. Il utilise :
- **Vosk** pour la reconnaissance vocale,
- **dotool** pour simuler les entrées clavier/souris (compatible X11/Wayland),
- **svox-pico** / eSpeak pour la synthèse vocale.

---

## 1. Prérequis

### 1.1 Installer dotool (simulation clavier/souris)

```bash
git clone https://git.sr.ht/~geb/dotool
cd dotool
./build.sh
sudo ./build.sh install
```

Autoriser dotool à créer des périphériques d'entrée virtuels via une règle udev :

```bash
sudo udevadm control --reload && sudo udevadm trigger && sudo usermod -a -G input USER_NAME
```

> Remplace `USER_NAME` par ton nom d'utilisateur (ex. `staline`).

**Redémarre ton ordinateur** pour que les nouvelles règles udev prennent effet. Sans ce redémarrage, seuls le lancement de programmes et les méta-commandes fonctionneront — pas le contrôle du clavier/de la souris.

### 1.2 Installer l'environnement Qt6

```bash
sudo apt install qt6-base-dev qt6-multimedia-dev qt6-tools-dev qt6-l10n-tools
```

### 1.3 Installer Vosk (reconnaissance vocale)

Sur Ubuntu, la bibliothèque Vosk s'installe via pip et fournit `libvosk.so`, mais **pas** le header C `vosk_api.h`, nécessaire à la compilation :

```bash
pip3 install vosk
```

Télécharger ensuite le header manquant depuis le dépôt officiel et le copier dans le même dossier que `libvosk.so` :

```bash
wget https://raw.githubusercontent.com/alphacep/vosk-api/master/src/vosk_api.h -P /tmp/
sudo cp /tmp/vosk_api.h /usr/local/lib/python3.12/dist-packages/vosk/
```

> Adapte le chemin (`python3.12`) à ta version de Python — vérifie-le avec la commande de la section 2.2.

---

## 2. Compilation

### 2.1 Récupérer et préparer les sources

```bash
tar zxvf nocomprendo-2.x.tar.gz
cd nocomprendo-2.x
```

### 2.2 Localiser libvosk.so

```bash
sudo find / -name "libvosk.so" 2>/dev/null
```

Résultat typique sur Ubuntu (pip, install système) :
```
/usr/local/lib/python3.12/dist-packages/vosk/libvosk.so
```

### 2.3 Adapter `nocomprendo.pro`

Le fichier `.pro` d'origine référence un chemin Fedora/RedHat (`/usr/lib64/libvosk.so.0`) qui n'existe pas sur Ubuntu, et ne définit **aucun `INCLUDEPATH`** vers le header `vosk_api.h` — c'est la cause de l'erreur `fatal error: vosk_api.h: Aucun fichier ou dossier de ce nom` (que vous aurez en suivant la documentation initiale du développeur)

Remplacer :
```qmake
LIBS += /usr/lib64/libvosk.so.0
# LIBS += -lvosk
# For debians check libvosk.so location. May be next line
# LIBS += /usr/lib/python3.10/site-packages/vosk/libvosk.so
```

par (en adaptant le chemin trouvé à l'étape 2.2) :
```qmake
LIBS += /usr/local/lib/python3.12/dist-packages/vosk/libvosk.so
INCLUDEPATH += /usr/local/lib/python3.12/dist-packages/vosk
```

### 2.4 Compiler

Utiliser `qmake6` (et non `qmake`, au cas où `qmake5` serait aussi présent sur le système) :

```bash
qmake6
make
```

### 2.5 Problème de traduction (.qm manquant)

Erreur possible :
```
RCC: Error in 'qmake_qmake_qm_files.qrc': Cannot find file '.../.qm/nocomprendo_fr_FR.qm'
```

Le fichier de traduction compilé (`.qm`) n'est pas généré automatiquement par `lrelease` générique sur certaines configs Ubuntu. Solution :

```bash
# Si "lrelease" seul échoue avec "could not find a Qt installation"
/usr/lib/qt6/bin/lrelease nocomprendo_fr_FR.ts

# Déplacer le fichier généré dans le dossier attendu par le build
mkdir -p .qm
mv nocomprendo_fr_FR.qm .qm/

# Relancer la compilation (sans make clean)
make
```

### 2.6 Installer l'application

```bash
sudo make install
```

### 2.7 Créer le dossier des modèles de langue Vosk

```bash
sudo mkdir -p /usr/share/vosk-models/
sudo chmod 777 /usr/share/vosk-models/
```

### 2.8 Lancer NoComprendo

```bash
./nocomprendo
```

---

#

## 3. Utilisation de NoComprendo

### 3.1 Premier démarrage — modèle de langue

Au premier lancement, NoComprendo se connecte à **alphacephei.com** et propose de télécharger un modèle de langue Vosk. Pour le français, deux options principales :
- **`fr`** : modèle complet, plus précis mais plus lourd (~1.4 Go)
- **`small-fr`** : modèle léger, plus rapide mais moins précis.

L'application propose aussi de choisir la langue de l'interface (`fr_FR` ou `en_US`) au premier démarrage.

### 3.2 Dictée vocale

- Clique sur l'icône du **micro** dans l'interface et parle distinctement.
- Vosk transcrit la parole en texte au fur et à mesure.
- Commandes de ponctuation orales disponibles : *« point »*, *« virgule »*, *« point à la ligne »*, etc.
- Pour démarrer rapidement : dire *« Je commence à dicter »*.
- Si seule la dictée t'intéresse (pas les commandes vocales), tu peux désactiver les groupes de commandes dans les réglages.

### 3.3 Commandes vocales

- NoComprendo est livré avec des **groupes de commandes de démonstration**, orientés pour l'environnement KDE/Plasma — à vérifier et adapter selon ton propre environnement (GNOME sur Ubuntu par défaut, par exemple).
- Chaque commande associe une phrase prononcée à une action : raccourci clavier, lancement de programme, etc.
- Pour modifier une commande : **double-clic dessus**, puis ré-enregistrer la nouvelle formulation.

### 3.4 Conseils pour une bonne reconnaissance

- Vosk fonctionne mieux avec des **phrases syntaxiquement correctes** plutôt que des mots isolés.
  - Préférer *« Fermer la fenêtre »* à *« fermer fenêtre »*.
- Le résultat exact peut varier selon le modèle (`fr` vs `small-fr`) : par exemple *« Fermez la fenêtre »* ou *« Fermé la fenêtre »* pour la même intention.
- Articuler distinctement, éviter les commandes monosyllabiques et les mots proches phonétiquement (homophonies).
- Ne pas taper au clavier pendant que l'écoute vocale est active (peut perturber la reconnaissance).

### 3.5 Synthèse vocale (Text-to-Speech)

- Fonctionne en copiant du texte dans le presse-papier, puis en demandant à NoComprendo de le vocaliser.
- Six langues disponibles pour la synthèse vocale au moment de la rédaction de cette doc.

### 3.6 Fonctionnement hors-ligne

Reconnaissance et synthèse vocales sont effectuées **entièrement hors-ligne** — aucune donnée vocale n'est envoyée à des serveurs tiers.

---

## 4. Ressources

- Wiki officiel (installation Debian/Ubuntu) : https://invent.kde.org/beroot/nocomprendo/-/wikis/debian_install
- Dépôt Vosk (header et sources) : https://github.com/alphacep/vosk-api
- dotool : https://git.sr.ht/~geb/dotool

# Dépannage Chromebook

# Installation de Windows 11 sur Asus Chromebook Plus CX3402 (CX34 / board MARASOV)

## Matériel concerné

- **Modèle** : Asus Chromebook Plus CX34 CX3402
- **Board name** : MARASOV
- **Plateforme** : Intel AlderLake/RaptorLake-U/P
- **Contrôleur audio** : Intel Alder Lake PCH-P High Definition Audio Controller (`PCI\VEN_8086&DEV_51C8`) — DSP audio **SOF (Sound Open Firmware)**

## Guide de référence

Installation basée sur : https://coolstar.org/chromebook/windows-install.html

## Étapes réalisées

### 1. Préparation / mode développeur

- Eteindre le Chromebook complètement
- Passage en mode développeur ChromeOS (Esc + Refresh + Power, puis Ctrl+D)
- Ouverture d'un shell VT2 (Ctrl+Alt+F2) en tant qu'utilisateur `chronos`

#### 1.5 Problème réseau potentiel

Erreur rencontrée : `curl: (6) Could not resolve host: mrchromebox.tech`, puis `Network is unreachable`.

**Cause** : l'interface `wlan0` était en `NO-CARRIER` / `state DOWN` dans le shell VT2 — le Wi-Fi connecté côté interface graphique ChromeOS n'était pas repris par le shell.

**Solution** : reconnexion effective du Wi-Fi depuis l'interface graphique ChromeOS (vérifiée en chargeant une page web dans Chrome) **avant** de repasser en VT2.

### 2. Flash du firmware — passage en Full UEFI

**Procédure officielle exacte pour ce modèle (Marasov), confirmée sur la fiche device coolstar.org :**

1. Éteindre l'appareil, ouvrir le capot arrière et **débrancher la batterie**
2. Esc + Refresh + Power
3. Ctrl + D puis Entrée pour activer le mode développeur
4. Ctrl + D pour booter ChromeOS
5. Ctrl + Alt + F2 (2ème touche à droite d'Échap) pour entrer dans un shell
6. Coller dans le shell :

```bash
cd; curl -LO mrchromebox.tech/firmware-util.sh && sudo bash firmware-util.sh
```

7. Choisir **"Full UEFI Firmware"** dans les options (option `2` du menu `ChromeOS Device Firmware Utility Script`, plutôt que RW_LEGACY qui causait une boucle d'auto-réparation ChromeOS après partitionnement avec `chrx`)
8. Après un flash réussi : éteindre l'appareil, ouvrir le capot arrière et **reconnecter la batterie**

> Le passage en **Full UEFI** remplace entièrement le firmware ChromeOS par un UEFI natif. Il n'est alors plus nécessaire de passer par `chrx` / `install-rwl.sh` / OpenCore : l'installation de Windows se fait directement depuis une clé USB bootable classique.

#### 2.5 Incident rencontré avec la méthode RW_LEGACY (avant le passage en Full UEFI)

- Boucle d'« auto-réparation » ChromeOS après partitionnement avec `chrx`, ne permettant plus de revenir sur ChromeOS
- Résolution : récupération via **Chromebook Recovery Utility** (extension Chrome) + clé USB de récupération, modèle `MARASOV-UERT`, avant de reprendre proprement avec la méthode Full UEFI

### 3. Installation de Windows 11

- Clé USB Windows 11 créée (GPT/UEFI)
- Boot sur la clé USB directement (plus besoin de OpenCore avec le Full UEFI)
- Contournement du contrôle de compatibilité (TPM/Secure Boot) — **procédure officielle exacte** :

1. À l'installeur Windows, appuyer sur **Shift + F10** — sur clavier Chromebook, la touche F10 correspond à la touche **Volume Up** (donc **Shift + Volume Up**), ce qui explique l'échec initial avec un simple Shift+F10 "littéral"
2. Taper `regedit` puis Entrée
3. Naviguer vers `HKEY_LOCAL_MACHINE\SYSTEM\Setup`
4. Clic droit sur `Setup` → Nouveau → Clé → nommer `LabConfig`
5. Clic droit sur `LabConfig` → Nouveau → Valeur DWORD (32 bits) → nommer `BypassSecureBootCheck` → valeur `1`
6. Clic droit sur `LabConfig` → Nouveau → Valeur DWORD (32 bits) → nommer `BypassTPMCheck` → valeur `1`
7. Fermer regedit et l'invite de commandes, poursuivre l'installation normalement
- Installation terminée avec succès après passage en Full UEFI (l'échec systématique à ~80-90 % rencontré avec RW_LEGACY a disparu)

## Pilotes et étapes complémentaires (plateforme Alder/Raptor Lake-U/P)

Liste consolidée depuis coolstar.org, pertinente pour ce type de plateforme (Intel Alder/Raptor Lake, firmware Full UEFI) :

| Élément | Lien / commande |
|---|---|
| Visual C++ Redistributable (**prérequis pour plusieurs drivers ci-dessous**) | https://aka.ms/vs/17/release/vc_redist.x64.exe |
| Driver TPM CR50 (I2C/SPI) — **requis pour veille/réveil si RW_LEGACY** | https://github.com/coolstar/driverinstallers/raw/master/cr50/cr50.1.0.2-installer.exe |
| Driver Chrome EC (remappages clavier) | https://github.com/coolstar/driverinstallers/raw/master/crosec/crosec.2.0.7-installer.exe |
| Driver Touchpad | https://github.com/coolstar/driverinstallers/raw/master/crostouchpad/crostouchpad.4.1.6-installer.exe |
| Driver Écran tactile (si présent) | https://github.com/coolstar/driverinstallers/raw/master/crostouchscreen/crostouchscreen.2.9.5-installer.exe |
| Driver graphique Intel Xe (Alder/Raptor Lake) | https://www.intel.com/content/www/us/en/download/864990/intel-11th-14th-gen-processor-graphics-windows.html |
| Driver USB4 / Thunderbolt 4 | Payant — https://coolstar.org/chromebook/driverlicense/ |
| Caméra Intel MIPI (seulement si la webcam ne fonctionne pas nativement) | https://github.com/vibecoder2001/IntelMipiCameraInstall/releases/download/v1.0.1/IntelMipiCamera.1.0.1-installer.exe |
| Outil de mise à jour firmware depuis Windows (si besoin, non nécessaire si déjà flashé via ChromeOS) | https://coolstar.org/chromebook/downloads/firmwareutils/CBWinFlash.zip |

## Pilotes manquants

### Audio (DEV_51C8 — Intel SOF)

Pas de pilote audio fonctionnel nativement sous Windows pour ce DSP Intel SOF sur un Chromebook flashé. Windows ne propose pas de topologie SOF adaptée à ce matériel hors contexte OEM signé.

**Solution identifiée : driver payant CoolStar SOF (Intel) Audio**

Confirmé présent dans le catalogue officiel coolstar.org sous l'entrée exacte **« CoolStar SOF (Intel) Audio »**, marquée comme disponible uniquement à l'achat.

- Boutique / licences : https://coolstar.org/chromebook/driverlicense/
- **Alternative / soutien au développeur** : Coolstar propose également ses pilotes Windows 11 pour Chromebooks (dont l'audio SOF) via son Patreon :
  👉 **https://www.patreon.com/coolstar**


### Ressource communautaire

Forum chrultrabook (communauté + développeurs coolstar actifs) :
👉 https://forum.chrultrabook.com

Informations à fournir en cas de post sur le forum :
- Modèle : Asus Chromebook Plus CX3402 (board MARASOV)
- Plateforme : Intel AlderLake/RaptorLake-U/P
- ID matériel audio : `PCI\VEN_8086&DEV_51C8`

## Points de vigilance pour une réinstallation future

- Ne **jamais** relancer `chrx` une seconde fois sur la même installation (risque de boucle d'auto-réparation ChromeOS)
- Privilégier le **Full UEFI** plutôt que RW_LEGACY : plus stable, évite la coexistence avec le firmware ChromeOS
- Le bypass TPM/Secure Boot (`LabConfig`) doit être refait à **chaque nouvelle tentative** d'installation depuis une clé USB fraîchement démarrée
- Garder une clé de récupération ChromeOS (Chromebook Recovery Utility) à disposition en cas de besoin