Skip to content

Commit aeb5ea7

Browse files
committed
French on the website: 279 interface strings, 40 news entries, 19 documents
The ninth language now covers the site as well: every page, the news and the roadmap, and the whole documentation. Nothing falls back to English in French, and the dropdown carries FR. France is not in our download top ten, and that is the reason it is here. The five languages added before this one were all picked from the numbers — Russia and Spain first, then Brazil and Germany, because that is where the downloads came from. Nobody arrives from a country whose language the site does not speak, so reading the numbers alone only ever confirms the languages we already had. This is the first one added ahead of them rather than after them. The site dictionary is 279 keys; news.ts is 40 entries across news and roadmap; the documentation is all 19 documents, which brings the docs to 19 × 9. Two notes on method, both about the order things are done in. The dictionary keys were extracted with a brace counter that skips strings, not with a regex: the values contain apostrophes, inline HTML and escaped quotes, and a regex walks straight through them. Same reason as the dashboard. news.ts is a list in order, and inserting a translation into a list in order is where a whole file silently goes wrong: slip by one and every entry after it gets the wrong text, with nothing to show for it. The script therefore checks each entry against the expected ENGLISH before writing anything. My first version checked against the German, which I had written from memory — entry 6 did not match, which is the check working, but on the wrong anchor. The English comes out of the file itself and cannot be misremembered. Verified on the live site: all nine French pages and the documentation return 200, and no page carries the "not yet translated" notice.
1 parent 78270e7 commit aeb5ea7

32 files changed

Lines changed: 2205 additions & 3 deletions

website/astro.config.mjs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ export default defineConfig({
4343
'/es/docs': '/es/docs/introduzione',
4444
'/pt/docs': '/pt/docs/introduzione',
4545
'/de/docs': '/de/docs/introduzione',
46+
'/fr/docs': '/fr/docs/introduzione',
4647
},
4748
vite: {
4849
cacheDir: viteCacheDir,
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
---
2+
title: Mises à jour et dépôt
3+
description: Comment SkillFishOS se met à jour sans se faire casser par Debian sid.
4+
group: Utilisation
5+
order: 4
6+
---
7+
8+
SkillFishOS repose sur **Debian sid** (*unstable*), la branche de développement de Debian : toujours à jour, mais par nature sujette à des régressions de temps en temps. Sur un matériel aussi particulier que la BC-250, une mauvaise mise à jour (de Mesa, du micrologiciel ou du noyau) peut casser le système. SkillFishOS répond à cela avec deux outils.
9+
10+
## 1. Nos propres composants, depuis un dépôt dédié
11+
12+
Les parties les plus délicates sont construites et distribuées par **nous**, depuis **notre propre dépôt APT signé** :
13+
14+
- le **[noyau](/fr/docs/kernel)** optimisé (image et en-têtes) ;
15+
- le **gouverneur SMU** et les outils d'overclock ;
16+
- les **applications natives** [Tuner et IA](/fr/docs/app-native) ;
17+
- le **thème steampunk** et l'identité visuelle ;
18+
- la configuration du système.
19+
20+
Publier un composant depuis notre dépôt veut dire que nous pouvons l'**essayer d'abord** sur le vrai matériel et ne le mettre à jour **que lorsqu'il apporte quelque chose** — pas chaque fois qu'il change en amont.
21+
22+
## 2. « Retenir » les paquets fragiles
23+
24+
Pour les paquets qui viennent de Debian mais sont délicats sur ce matériel, SkillFishOS utilise l'**épinglage APT** : il les garde à une version **vérifiée** jusqu'à ce que nous en ayons essayé une plus récente. Les principaux candidats sont :
25+
26+
- **Mesa et les pilotes Vulkan (RADV)** — une mise à jour peut faire régresser `gfx1013` ;
27+
- **le micrologiciel AMD et `linux-firmware`** — le microcode du GPU ;
28+
- **le noyau d'origine de Debian** — pour bloquer les versions connues comme problématiques (voir [noyau](/fr/docs/kernel)) ;
29+
- **KDE Plasma** — pour éviter les versions instables.
30+
31+
Ainsi les mises à jour « ordinaires » (la plus grande partie du système) continuent d'arriver régulièrement, tandis que la poignée de paquets qui pourraient tout casser restent figés sur des versions dont nous savons qu'elles marchent.
32+
33+
## Comment mettre à jour
34+
35+
Comme sur n'importe quel système Debian, depuis le terminal :
36+
37+
```bash
38+
sudo apt update && sudo apt full-upgrade
39+
```
40+
41+
…ou depuis l'application graphique **Discover**, ou depuis le **SkillFishOS Hub** — notre logithèque façon Discover, qui installe, retire et met à jour au même endroit à travers **APT, Flatpak et Snap**, avec la navigation par catégorie, des fiches d'applications avec carrousel de captures et un « Tout mettre à jour » en un clic. Grâce aux accrochages de [Snapper](/fr/docs/storage-snapshot), un instantané Btrfs est créé **avant et après** chaque mise à jour : si quelque chose tourne mal, le retour en arrière depuis le menu GRUB rétablit l'état précédent.
42+
43+
> En résumé : **nous** vous donnons un noyau, des applications et des thèmes essayés ; **Debian** vous donne le reste des logiciels à jour ; l'**épinglage** évite les surprises ; **Btrfs** est le filet. Trois couches de protection, pour que mettre à jour ne fasse pas peur.
44+
45+
## Le dépôt officiel
46+
47+
Le dépôt APT de SkillFishOS est **en ligne**, signé en GPG et hébergé sur **GitHub Pages** (suite `aetherium`) :
48+
49+
```bash
50+
# 1. importer la clé de signature
51+
sudo curl -fsSL https://mtsistemi.github.io/SkillFishOS/skillfishos-archive-keyring.gpg \
52+
-o /usr/share/keyrings/skillfishos-archive-keyring.gpg
53+
# 2. ajouter le dépôt
54+
echo "deb [signed-by=/usr/share/keyrings/skillfishos-archive-keyring.gpg] \
55+
https://mtsistemi.github.io/SkillFishOS aetherium main" \
56+
| sudo tee /etc/apt/sources.list.d/skillfishos.list
57+
# 3. installer ou mettre à jour le noyau par apt
58+
sudo apt update && sudo apt install skillfishos-kernel
59+
```
60+
61+
Les versions récentes de SkillFishOS l'apportent **déjà configuré** ; sinon les commandes ci-dessus le mettent en place. Le [noyau](/fr/docs/kernel)
62+
(une image de 152 Mo) est publié comme *release asset* sur GitHub : le tout petit paquet
63+
`skillfishos-kernel` le télécharge et l'installe tout seul, si bien que la mise à jour passe
64+
quand même par `apt`. Le dépôt est géré avec **[reprepro](https://salsa.debian.org/debian/reprepro)**
65+
et le client vérifie la signature grâce au *trousseau* dédié.
66+
67+
## Sources
68+
69+
- [Debian unstable (sid)](https://wiki.debian.org/DebianUnstable)
70+
- [L'épinglage APT — manuel Debian](https://wiki.debian.org/AptConfiguration)
71+
- [reprepro](https://salsa.debian.org/debian/reprepro) — gestion du dépôt APT
72+
- [Snapper](http://snapper.io/) — instantanés avant et après APT
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
---
2+
title: IA sur la machine
3+
description: Le moteur d'IA local, accéléré en Vulkan sur le GPU de la BC-250 — Unsloth Studio, avec des modèles GGUF venus de Hugging Face.
4+
group: Utilisation
5+
order: 2
6+
---
7+
8+
SkillFishOS embarque une **IA locale** : des modèles de discussion et de programmation qui tournent entièrement sur le GPU de la BC-250, **sans nuage**, sans rien envoyer dehors. Un clic l'allume et l'éteint, si bien que le GPU et la mémoire redeviennent libres quand vous voulez jouer.
9+
10+
![Le panneau d'IA de SkillFishOS — allume et éteint le moteur LLM local accéléré en Vulkan](/img/ai-panel.jpg)
11+
12+
## Pourquoi Vulkan et pas ROCm
13+
14+
La pile de calcul « officielle » d'AMD est **ROCm**, mais elle **ne prend pas en charge le `gfx1013`** de la BC-250. SkillFishOS utilise donc le moteur **Vulkan** avec les pilotes Mesa/RADV : il exploite pleinement le GPU intégré et la mémoire partagée (avec le GTT agrandi, voir [GPU](/fr/docs/gpu-overclock)).
15+
16+
**Ce que cela change.** Mesuré sur la carte avec Qwen3-1.7B Q4_K_M :
17+
18+
| | CPU seul | GPU par Vulkan | |
19+
|---|---:|---:|---|
20+
| Génération | 41,5 jetons/s | **210,7 jetons/s** | **5,1×** |
21+
| Traitement de l'invite | 9,2 jetons/s | **157,2 jetons/s** | **17×** |
22+
23+
## Le moteur : Unsloth Studio
24+
25+
Depuis la 26.08 le moteur est **[Unsloth Studio](https://unsloth.ai/)**, à la place de l'ancien assemblage Docker Ollama + OpenWebUI. C'est **un seul service natif** qui fournit à la fois l'interface de discussion et une **interface compatible OpenAI**, à l'écoute sur `127.0.0.1:8888`.
26+
27+
Ce qui change en pratique :
28+
29+
- **Un service au lieu d'un assemblage Docker.** Il fallait avant trois conteneurs (Ollama, OpenWebUI, Dockge) plus une image sur mesure d'environ 6,5 Go ; maintenant c'est juste `skillfish-unsloth.service`.
30+
- **Les modèles viennent de Hugging Face.** Unsloth récupère les fichiers **GGUF** directement dans tout le catalogue Hugging Face plutôt que dans un registre restreint, si bien que le choix de modèles et de quantifications est bien plus large — y compris les versions que l'équipe Unsloth publie elle-même.
31+
- **Il n'écoute que sur l'interface locale.** De l'extérieur on l'atteint par le tableau de bord, qui vérifie les comptes par PAM : aucun port d'IA n'est ouvert sur le réseau.
32+
33+
> Depuis la 26.06.3 le tableau de bord et le panneau d'IA ne pilotent **que** Unsloth : les branches qui commandaient Ollama par Docker ont disparu, et Docker aussi, qui n'est plus installé. Qui garde encore des conteneurs Ollama d'une installation plus ancienne les conserve tant qu'il garde Docker, mais ne les gère plus depuis ici. Rien à configurer.
34+
35+
## Les modèles
36+
37+
Les modèles se téléchargent **dans Unsloth Studio**, depuis sa propre interface. Repère utile sur cette carte : les 16 Go de GDDR6 sont partagés entre le système et le GPU, donc rester sous environ 11 Go de poids laisse de la place pour tout le reste.
38+
39+
## L'allumer et l'éteindre
40+
41+
Un **panneau d'IA** dédié (application native, voir [Applications natives](/fr/docs/app-native)) démarre et arrête le moteur en un clic ; le même interrupteur se trouve dans le [tableau de bord web](/fr/docs/controllo-remoto). Gardez en tête que :
42+
43+
- **l'IA et les jeux ne doivent pas tourner ensemble** : ils partagent le même GPU et la même mémoire ;
44+
- le moteur éteint, le GPU et la mémoire redeviennent entièrement disponibles pour le jeu.
45+
46+
## Sources
47+
48+
- [Unsloth](https://unsloth.ai/) · [llama.cpp](https://github.com/ggml-org/llama.cpp) · [Hugging Face](https://huggingface.co/)
49+
- [Mesa / RADV (le pilote Vulkan)](https://docs.mesa3d.org/drivers/radv.html)
50+
- [ROCm — matériel pris en charge](https://rocm.docs.amd.com/) (`gfx1013` n'y figure pas)
Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
---
2+
title: Applications natives — Tuner et IA
3+
description: Les outils graphiques de SkillFishOS pour piloter le matériel et l'IA sans terminal.
4+
group: Utilisation
5+
order: 3
6+
---
7+
8+
SkillFishOS comprend deux applications natives (écrites en **PyQt6**, habillées avec Kvantum) qui mettent la commande du matériel et de l'IA entre les mains de l'utilisateur **sans toucher au terminal**.
9+
10+
## SkillFishOS Tuner
11+
12+
Le **Tuner** est le tableau de commande du matériel. Il permet de régler :
13+
14+
- l'**overclock et l'undervolt du CPU** ;
15+
- les **points sûrs du GPU** (par le gouverneur SMU, voir [GPU et overclock](/fr/docs/gpu-overclock)) ;
16+
- le **ventilateur** (commande PWM) ;
17+
- la **mémoire graphique UMA** (demande un redémarrage) ;
18+
- les **unités de calcul, à chaud** — voir plus bas.
19+
20+
### Les unités de calcul à chaud (la grille)
21+
22+
Le Tuner montre les CU du GPU comme une **grille de cases** (4 rangées SE/SH × 5 WGP) : **vert = active, rouge = éteinte**. On les bascule **à chaud, sans redémarrer** — en cliquant sur les paires (1 WGP = 2 CU) ou en utilisant les **profils 24 / 32 / 40 CU** — puis *Appliquer*. Les 24 premières CU sont le minimum du pilote et restent toujours allumées (voir [GPU et overclock](/fr/docs/gpu-overclock)).
23+
24+
![Le Tuner de SkillFishOS — la grille des unités de calcul à chaud, les profils et le test des CU](/img/tuner.jpg)
25+
26+
### Le test des CU (loterie du silicium)
27+
28+
Le bouton **« Tester les CU »** contrôle la santé des CU supplémentaires : il allume chaque paire seule, la met sous charge avec **vkpeak** et guette les **erreurs et les blocages du GPU**, puis termine par une charge sur les 40. Il est là pour repérer les **CU défectueuses** sur les APU récupérés ou « d'écart de tri », pour que vous sachiez si votre puce tient bien les 40 CU.
29+
30+
![Résultat du test des CU — toutes les paires correctes, 40 CU stables à 11380 GFLOPS, aucun défaut](/img/cu-test.jpg)
31+
32+
### Le déroulement d'un « Test » et le suivi en direct
33+
34+
Le déroulement d'un **« Test »** (CPU, GPU, CU, ventilateur) : appliquer un changement → lancer une mesure → **vérifier** la stabilité et, si quelque chose ne va pas, **revenir en arrière** tout seul. Dès qu'un test démarre, la fenêtre **[SkillFishOS Télémétrie](#skillfishos-télémétrie)** s'ouvre avec les courbes en direct de la **température, de la fréquence, de la tension et du ventilateur** (on peut la fermer à volonté).
35+
36+
![SkillFishOS Télémétrie pendant un test du Tuner — courbes en direct de température, fréquence, tension du GPU et ventilateur](/img/monitor.jpg)
37+
38+
Comment c'est bâti : une interface côté utilisateur plus un petit **service root** qui exécute les opérations privilégiées. Sur un PC personnel il est réglé pour ne pas demander de mot de passe à chaque opération. L'affichage sur le bureau montre lui aussi les **CU actives** en direct.
39+
40+
### Les modes du gouverneur : Équilibré et Performance
41+
42+
Le GPU de la BC-250 est piloté par un **gouverneur SMU** qui monte et descend la fréquence selon la charge. Le Tuner propose deux modes par un interrupteur :
43+
44+
- **Équilibré** *(par défaut)* — la fréquence redescend au repos (jusqu'à 350 MHz) et monte en charge : moins de consommation et de température à l'usage courant.
45+
- **Performance** — le GPU **reste accroché à sa fréquence la plus haute** dès qu'il y a de la charge, ce qui supprime les petites oscillations. Sur notre mesure de *Black Myth: Wukong* cela vaut **+11 % d'images par seconde** (d'environ 100 à 111 de moyenne) et un **1 % bas** plus élevé (92 → 102), tout le reste égal.
46+
47+
Les deux restent sous le **plafond thermique de 85 °C** : le mode Performance pousse plus fort, il ne désactive pas les protections.
48+
49+
### Trouver mon maximum (les assistants CPU et GPU)
50+
51+
Chaque BC-250 est différente ([loterie du silicium](/fr/docs/gpu-overclock)). Le Tuner comprend deux assistants **« Trouver mon maximum »** qui dressent le portrait de **votre** carte :
52+
53+
- **GPU** — il monte marche après marche (2000 → 2200 MHz, par pas de 50 MHz), applique et **teste** chaque marche, et s'arrête à la dernière qui tient.
54+
- **CPU** — il parcourt les marches de fréquence et d'undervolt (de 3600 MHz jusqu'à 4000 MHz à l'échelle −36) avec le même principe de **test et retour en arrière** : si une marche ne tient pas, il revient à la dernière bonne valeur.
55+
56+
Tout est **à l'épreuve des plantages** : la valeur inscrite sur le disque est toujours la dernière stable, si bien qu'un blocage en plein essai ne laisse jamais la carte sur un profil instable au démarrage suivant.
57+
58+
### Mon silicium
59+
60+
Le panneau **« Mon silicium »** résume le portrait de votre carte — meilleur CPU et meilleur GPU trouvés, CU en bonne santé, compteur de blocages détectés — et permet de **partager le résultat de façon anonyme** dans la base de la loterie du silicium (il ouvre une issue GitHub déjà remplie). Plus nous rassemblons de données, meilleurs deviennent les profils conseillés pour tout le monde.
61+
62+
## SkillFishOS Télémétrie
63+
64+
**Télémétrie** montre en temps réel la température, la fréquence, la charge du CPU et du GPU, les tensions, la consommation et le ventilateur. Elle s'ouvre d'elle-même pendant les tests du Tuner, mais c'est aussi une application à part entière. Le bouton **ENR** enregistre une séance de mesure dans un fichier **`.sfmon`** (dans `~/SkillFishOS-benchmarks/`) : rouvrez-le et Télémétrie devient un **analyseur** avec une barre de temps pour repasser la séance seconde par seconde.
65+
66+
![SkillFishOS Télémétrie — les courbes avec un axe gradué et le panneau de fréquence par cœur et par fil](/img/telemetry-percore.jpg)
67+
68+
### La fréquence par cœur et par fil
69+
70+
Avec [8 cœurs déverrouillés](/fr/docs/hardware-bc250) un seul chiffre de « fréquence du CPU » ne dit pas grand-chose : au repos les seize fils peuvent être à 800, 1775 et 3990 MHz **en même temps**, si bien que la valeur affichée dépend seulement du cœur qui a été relevé.
71+
72+
Le panneau du bas dessine **une barre par fil**, appariées par cœur physique et étiquetées `cœur·fil`. La couleur va du laiton à la braise à mesure que le fil monte, les MHz sont écrits sur chaque barre, et l'en-tête résume le **minimum, la moyenne, le maximum et le nombre de fils en service**. Les fils que vous avez garés depuis le Tuner ne disparaissent pas : ils restent en pointillé, marqués **« éteint »**, pour que la vraie configuration se voie d'un coup d'œil.
73+
74+
### Des axes lisibles
75+
76+
Chaque courbe a désormais une **grille avec les valeurs sur l'axe vertical**, calées sur des nombres ronds (`0 / 1000 / 2000 / 3000`, pas `-160 / 1394 / 2948`). Le zéro devient le plancher quand les données s'en approchent, si bien qu'une courbe de MHz ou de tours par minute ne montre jamais de base négative ; et une ligne plate n'est plus grossie au point de faire ressembler le bruit à une montagne.
77+
78+
## SkillFishOS IA
79+
80+
Le **panneau d'IA** allume et éteint le moteur LLM local en un clic, ce qui rend le GPU et la mémoire aux jeux quand on n'en a pas besoin. C'est la façade « facile » de ce qui est décrit dans [IA sur la machine](/fr/docs/ai-locale).
81+
82+
![Le panneau d'IA de SkillFishOS — moteur LLM local (Qwen3 14B) sur le GPU Vulkan, allumé et éteint en un clic](/img/ai-panel.jpg)
83+
84+
## Pourquoi elles existent
85+
86+
Le but de SkillFishOS est que **n'importe qui** — les plus jeunes compris — puisse utiliser et régler le système sans avoir à apprendre des commandes de terminal. Ces applications traduisent des opérations compliquées (gouverneur SMU, paramètres du noyau, instantanés et retour en arrière) en quelques clics, tout en gardant les **garde-fous** (garde thermique, test et retour en arrière) toujours actifs.
87+
88+
## Sources
89+
90+
- [PyQt6 / Qt for Python](https://doc.qt.io/qtforpython/) · [Kvantum](https://github.com/tsujan/Kvantum)
91+
- [sysbench](https://github.com/akopytov/sysbench) · [vkpeak](https://github.com/nihui/vkpeak)
92+
- Le dépôt du projet — [github.com/MTSistemi/SkillFishOS](https://github.com/MTSistemi/SkillFishOS) (`apps/tuner`, `apps/ai-panel`)

0 commit comments

Comments
 (0)