Commit graph

28 commits

Author SHA1 Message Date
Alpinux
c0020277a0 Ajouter un script d'état des lieux du disque avant installation
En install party, personne ne regarde le disque avant de le partitionner.
On découvre en cours de route qu'il y avait deux disques, une partition
de récupération, un Windows chiffré par BitLocker ou un disque fatigué —
et il est alors trop tard.

En session live, taper les commandes une à une est fastidieux et suppose
de les connaître. Le script les enchaîne et rend un verdict lisible :
machine (64 bits, RAM, édition conseillée), mode de démarrage et Secure
Boot, disques et tables de partition, systèmes déjà installés, BitLocker,
hibernation de Windows, LUKS, santé SMART, accès réseau. Il se termine par
deux listes : ce qui bloque, et ce qu'il faut savoir.

Il ne modifie rien — lectures seules, montages en lecture seule et
démontés dans la foulée.

Au passage, l'encadré du guide sur le script de post-installation
annonçait une licence à accepter à la main : l'exécution réelle montre
que les polices Microsoft s'installent sans intervention.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BE4rvHVETRoWnYNDTGssdo
2026-09-20 08:55:18 +02:00
Alpinux
f3a5772dfc Corriger les guides Linux Mint d'après une installation réelle en 22.3
Installation menée de bout en bout sur une machine virtuelle, de la clé
USB au premier démarrage. Ce que l'écran dit et ce que nos pages
disaient ne concordaient pas toujours.

Le plus grave : les quatre niveaux de mise à jour, que « Utiliser Linux
Mint » décrivait avec son tableau et son menu Édition → Niveaux,
n'existent plus. Ni la clé de configuration, ni l'entrée de menu. Le
menu Édition contient Préférences, Instantanés système et Sources de
logiciels ; les préférences ont trois onglets. Mint répond désormais au
risque de régression par les instantanés système, qu'il met en avant dès
le premier lancement.

Dans le guide d'installation, sept libellés ne correspondaient plus :
l'entrée GRUB porte la version, les variantes de clavier sont en anglais
— « French (legacy, alt.) » et non « Français (variante) » —, le bouton
du type d'installation est « Installer maintenant », aucun choix GPT/MBR
n'est proposé, le disque de démarrage s'appelle « programme de
démarrage », la case des codecs est décochée par défaut, et l'option de
mot de passe à l'ouverture de session est déjà cochée.

Vérifié aussi, et conforme : le pare-feu est installé mais inactif, la
proposition de miroir local existe bien, mintreport, mintdrivers et
timeshift sont présents d'origine.

Enfin, install.sh donnait dans son propre mode d'emploi l'adresse de
l'ancien monorepo ; sa description dans le guide est reprise d'après ce
qu'il fait réellement.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BE4rvHVETRoWnYNDTGssdo
2026-09-20 08:04:23 +02:00
Alpinux
8a4e2ad44a Donner son sujet à chacune des quatre pages Linux Mint
« Utiliser Linux Mint » ne parlait pas de paramétrage : quatre logiciels
sans description, et le gestionnaire de mises à jour. Quelqu'un qui
récupère sa machine n'y trouvait rien sur les Paramètres système, qui
sont pourtant le premier endroit où il va.

La page couvre maintenant les réglages qu'on fait une fois — pare-feu
désactivé par défaut, pilotes, démarrage, instantanés Timeshift et les
Flatpak qui les font gonfler, les options de mise à jour dont la
suppression des noyaux obsolètes qui évite le /boot plein —, le confort
du bureau dont la mise à l'échelle des écrans denses, les trois
matériels qui résistent d'après les forums francophones (imprimante,
Bluetooth, son), l'origine des logiciels et pourquoi Mint écarte Snap,
puis l'entretien courant. La partie sur les niveaux de mise à jour et
l'applet bouclier est conservée : elle n'existe nulle part ailleurs.

Les quatre pages se répondent désormais au lieu de se répéter : chacune
s'ouvre sur le même encadré d'orientation, la trousse renvoie pour les
mises à jour et les logiciels au lieu de les réexpliquer, et son titre
dit enfin que ses captures datent de Mint 21. Le guide d'installation
annonce la même chose pour les siennes.

Traite #6 et #7, documente le constat de #1.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BE4rvHVETRoWnYNDTGssdo
2026-09-20 00:34:25 +02:00
Alpinux
8dbd5966a1 Décrire la trousse pour ce qu'elle est
Le renvoi la présentait comme une sélection de logiciels : c'est une
liste de gestes de base, au format imprimable pour l'install party.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BE4rvHVETRoWnYNDTGssdo
2026-09-20 00:18:44 +02:00
Alpinux
08ba3a7dfd Serveur Debian 13 : corriger les commandes fautives, et expliquer
Revue croisée avec les guides de référence du domaine. Quatre commandes
échouaient ou donnaient l'illusion de fonctionner :

- journald : le drop-in était édité avant que son répertoire existe,
  nano refusait d'enregistrer ;
- restic : les variables posées par « export » ne passent pas sudo, qui
  les efface — le dépôt n'était pas celui qu'on croyait ;
- la sauvegarde reposait sur « systemd-run », dont l'unité transitoire
  disparaît au redémarrage : c'est la sauvegarde qui s'arrête sans que
  personne ne le voie. Remplacée par un .service + .timer persistant ;
- le filet de sécurité du pare-feu n'existait que pour ufw ; l'équivalent
  nftables manquait.

Ajouts de fond, par ordre d'importance : vérifier l'empreinte de la clé
d'hôte à la première connexion — le seul moment où une interception est
possible —, régénérer les clés des images clonées, AppArmor, l'audit
Lynis en fin de parcours, la sonde de supervision externe (une alerte
émise par la machine ne dit rien quand la machine est morte), la
journalisation distante, le fichier 20auto-upgrades qui commande
réellement l'automatisme, needrestart non interactif, growpart, la jail
recidive, les clés FIDO2, et AllowGroups à la place d'AllowUsers pour
qu'un second administrateur existe.

Pédagogie : le modèle de menace en ouverture, un niveau par étape avec un
parcours court de quinze minutes, des variables qu'on exporte au lieu de
les remplacer à la main, quatre encadrés « pour comprendre » (FQDN/PTR,
clé publique, activation par socket, tmpfs), et sur les trois étapes où
l'on peut se verrouiller dehors : résultat attendu, si ça échoue, et
comment revenir en arrière. Plus une annexe pour le jour où c'est raté —
console, mode rescue, chroot.

Les avertissements passent en admonitions typées : la couleur distingue
enfin l'information du danger.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BE4rvHVETRoWnYNDTGssdo
2026-09-20 00:13:05 +02:00
Alpinux
cd8935ac55 Réécrire la page des paramètres pour Mint 22.3, et l'expliquer
La page était une suite de captures d'écran légendées d'une phrase :
elle montrait où cliquer sans jamais dire pourquoi, et n'expliquait ni
l'ordre des opérations ni ce qu'on risquait à en sauter une.

Elle raconte maintenant le premier démarrage dans l'ordre où on le vit :
les mises à jour d'abord — les paquets de langue et les pilotes en
dépendent —, le français appliqué à tout le système et ce que change
vraiment ce bouton, les relevés du système comme outil de diagnostic, les
pilotes propriétaires et le mot de passe MOK qui va avec, Firefox, puis
une checklist de sortie.

Les renvois vers le guide d'installation évitent de redire ce qui y est
déjà détaillé. Les captures, elles, datent de Mint 21 et restent à
refaire.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BE4rvHVETRoWnYNDTGssdo
2026-09-20 00:00:59 +02:00
Alpinux
57f943ab6d Guide Linux Mint : traiter les retours d'install party
Trois corrections issues des tickets de relecture :

- le Panneau de configuration masque « Options d'alimentation » tant
  qu'il est en affichage par catégories — l'étape « Grandes icônes »
  manquait, et sans elle la suite est introuvable (#2) ;
- Xfce se conseille en dessous de 4 Go de RAM : le chiffre est écrit, et
  distingué du minimum technique de 2 Go annoncé par Mint (#3) ;
- les deux blocages qui arrêtent net une installation — firmware
  inaccessible, et disque invisible parce que le contrôleur SATA est en
  RAID/Intel RST — sont documentés, avec l'avertissement qui va avec :
  en dual-boot, basculer en AHCI empêche Windows de démarrer (#4).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BE4rvHVETRoWnYNDTGssdo
2026-09-19 23:57:38 +02:00
Alpinux
51b34b38a7 Remplacer la fiche Debian 11 par une procédure Debian 13 (Trixie)
L'ancienne fiche datait de Debian 11 et s'arrêtait à une liste de
commandes : rien sur les clés SSH, le pare-feu, fail2ban, les mises à
jour automatiques ni la sauvegarde. Elle portait aussi deux erreurs qui
mordent — une locale écrite avec un underscore, et l'ordre des noms sur
la ligne 127.0.1.1 qui décide de ce que renvoie « hostname -f ».

La nouvelle page couvre les quinze étapes, du DNS à la sauvegarde
testée, avec les pièges propres à Trixie : sources deb822, SSH activé
par socket, /tmp en tmpfs. Elle reste générique — aucun service
particulier n'y est déployé.

Deux extensions Markdown sont activées pour elle : les listes de tâches
(la checklist récapitulative) et mermaid (l'ordre des opérations). Aucune
dépendance nouvelle : le thème Material embarque déjà mermaid. Les deux
sont documentées dans la page Markdown du wiki.

L'adresse change, donc l'ancienne reste servie par une page de renvoi.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BE4rvHVETRoWnYNDTGssdo
2026-09-19 23:57:38 +02:00
Alpinux
3c11541b2d Ignorer les fichiers de jeton de la forge
.gitea-token n'était ni suivi ni ignoré : un « git add -A » l'aurait
embarqué dans un commit, et poussé un secret sur la forge.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BE4rvHVETRoWnYNDTGssdo
2026-09-19 23:57:38 +02:00
Alpinux
e0de1cf0ab Fusionner les deux guides d'installation de Linux Mint
Le support de présentation et le guide des Install Party décrivaient la
même installation, avec des forces opposées : le premier avait le texte
et la post-installation, le second les captures d'écran et la
vérification à jour. Ils ne pouvaient que diverger.

La page de guides/ garde tout : le texte pédagogique, les 29 captures,
la checklist numérique, la restauration du profil Firefox, les tests
matériels et le passage de relais au propriétaire. Mint 22.3 partout.

Le Markdown est normalisé au passage — les <WRAP> hérités de DokuWiki et
les callouts Obsidian [!info] ne se rendaient tout simplement pas.

L'ancienne adresse reste vivante : la page de presentations/ devient un
renvoi, hors navigation. Sans plugin de redirection, la supprimer aurait
cassé les liens déjà partagés.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BE4rvHVETRoWnYNDTGssdo
2026-09-19 23:18:46 +02:00
Alpinux
ce1f58d652 Documenter le poste de mainteneur, et aligner le README sur le wiki
Le README et les pages de contribution se contredisaient : « éditer la
page dans Gitea » ignorait la bifurcation devenue la règle, le tableau
d'aiguillage ne connaissait pas trois des pages existantes, et le délai
de publication n'était pas le même des deux côtés. Le README oriente
désormais, le wiki explique — une seule source de vérité par sujet.

Nouvelle page « Relire et fusionner » : ce que fusionner publie, la
relecture, la vérification du build, les pièges du poste — renommer une
page casse son adresse, aucune redirection n'est installée.

Au passage, trois points où les pages ne se répondaient pas : la
publication immédiate depuis Obsidian ne concerne que le clone du dépôt
du wiki, la bifurcation se remet à jour après chaque fusion, et
l'accueil renvoyait au Markdown générique plutôt qu'à notre page.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BE4rvHVETRoWnYNDTGssdo
2026-09-19 23:18:36 +02:00
Alpinux
9d2c931a92 Déployer dynamic depuis alpinux-dynamic, plus depuis le monorepo
L'application a quitté alpinux.site.2026 pour son propre dépôt, et elle
est à la racine : plus de sous-dossier dynamic/ à traverser pour le
venv, le .env.example, la mise à jour ou le fichier des quiz.

Au passage, l'unité systemd est dans infra/services/, pas infra/dynamic/.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BE4rvHVETRoWnYNDTGssdo
2026-09-19 23:03:14 +02:00
Alpinux
69db2f66d5 Dire d'où part un nouvel article : de sa bifurcation, à jour
Le schéma de la vue d'ensemble sautait la bifurcation et laissait croire
qu'on édite le dépôt du wiki lui-même. Il décrit maintenant le vrai
parcours, et le cas des mainteneurs tient dans un encadré : branche et
pull request quand même, la bifurcation devient facultative.

L'étape « Proposer un nouvel article » commençait au bouton « Nouveau
fichier », sans dire où. Elle part désormais de la bifurcation, et
insiste sur ce qui mord : une copie ne se met pas à jour toute seule, et
un article écrit sur une version dépassée finit en conflit.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BE4rvHVETRoWnYNDTGssdo
2026-09-19 23:03:14 +02:00
Alpinux
c52652f07e Éclater « Contribuer » en pages dédiées, et documenter la forge
La page de contribution portait tout : le parcours web, la syntaxe
Markdown, la ligne de commande et Obsidian. Chacun de ces morceaux a
maintenant sa page, et la page d'accueil de la contribution garde ce
qu'elle sait faire — expliquer le processus de bout en bout.

Nouvelle page « Le Git d'Alpinux » : l'inscription est fermée et passe
par AlpID, ce que rien n'indiquait jusqu'ici.

Le coffre Obsidian est configuré en liens Markdown relatifs, comme la
page le décrit : MkDocs ne comprend pas les [[wikilinks]].

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BE4rvHVETRoWnYNDTGssdo
2026-09-19 22:52:22 +02:00
Alpinux
fd3c8b41b4 Faire de la pull request la règle, et documenter la bifurcation
La page supposait partout que le contributeur a les droits d'écriture sur le
dépôt : l'option « créer une branche et ouvrir une pull request » de l'éditeur
Gitea n'apparaît que dans ce cas, et la procédure locale poussait une branche
directement sur le dépôt. Quelqu'un d'extérieur à l'équipe tombait sur une
bifurcation sans savoir ce que c'était.

Les deux parcours sont donc repris autour de la bifurcation, et la pull request
est présentée comme la règle pour tout le monde, mainteneurs compris — avec la
raison plutôt que l'injonction : relecture, trace des discussions, et le droit
de laisser un texte reposer sans qu'il soit déjà en ligne. Le push direct est
ramené à ce qu'il doit être, un geste d'urgence.

La procédure locale gagne les étapes qui manquaient : remote upstream, mise à
jour de main avant de créer une branche, build --strict avant de proposer. Et
pour Obsidian, se placer sur sa branche avant d'écrire, puisque la sauvegarde
automatique pousse sur la branche courante.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PcZ7hL9aVvMhRuzxXLT2DG
2026-09-19 22:36:36 +02:00
Alpinux
dd60bacf54 Dire explicitement qui fait quoi pour publier
Le README annonçait « le push suffit » sans dire à qui cela s'adressait, et la
page Contribuer décrivait une publication manuelle en 24 à 48 heures — ce qui
n'a jamais correspondu au webhook, et plus du tout depuis qu'il fonctionne.

README : un tableau « je veux… » qui relie chaque intention à son geste et à la
page qui le détaille, le trajet d'un commit jusqu'à la mise en ligne, et les
deux pièges — un push sur main publie sans relecture, et le webhook n'écoute que
ce dépôt.

contribuer.md : le délai réel (quelques secondes) et le filet du staging, plus
une section « Rédiger depuis son ordinateur » — clone, aperçu local, branche et
pull request, coffre Obsidian — qui n'était documentée nulle part alors que
c'est la façon dont le wiki est rédigé au quotidien.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PcZ7hL9aVvMhRuzxXLT2DG
2026-09-19 22:32:56 +02:00
Alpinux
aa5948ab9c Ignorer le workspace Obsidian
workspace.json n'enregistre que l'état de l'interface — onglets ouverts,
panneaux, dernier fichier consulté. Il se réécrit à chaque ouverture du coffre,
et avec obsidian-git actif cela produit des commits « vault backup » sans
contenu. Le reste de la configuration (réglages, plugins) reste versionné.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PcZ7hL9aVvMhRuzxXLT2DG
2026-09-19 22:29:43 +02:00
Alpinux
0e66a6171e vault backup: 2026-09-19 22:28:07 2026-09-19 22:28:07 +02:00
Alpinux
7afd9393e7 Versionner le coffre Obsidian avec le wiki
Le coffre servait à rédiger les articles — son workspace.json pointe sur
docs/ et articles/ — mais il était resté versionné à la racine de l'ancien
monorepo, et le .gitignore d'ici l'excluait. Il suit maintenant le contenu
qu'il sert, avec les mêmes réglages qu'avant : mise à jour automatique des
liens, obsidian-git et obsidian-linter.

Vérifié : aucun fichier de configuration embarqué ne contient de jeton ni de
mot de passe (obsidian-git demande ses identifiants à l'ouverture).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PcZ7hL9aVvMhRuzxXLT2DG
2026-09-19 22:25:37 +02:00
Alpinux
2e90eaf2af README : le dépôt vit désormais dans ~/Projects/alpinux.wiki
Il était rangé sous ~/Projects/org.alpinux.owni/wiki, à côté des applications
Flask de l'association, alors qu'il n'a rien à partager avec elles : dépôt
distinct, déploiement autonome, contributeurs différents.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PcZ7hL9aVvMhRuzxXLT2DG
2026-09-19 22:11:43 +02:00
Alpinux
e3d32ba55d Corriger ce que la bascule a révélé sur le déploiement
Le premier déploiement depuis le nouveau dépôt a montré deux inexactitudes de
cette page, héritées de sa rédaction initiale :

- le logo n'est pas généré au déploiement. Le thème et les pages chargent le
  logo depuis static.alpinux.org par URL complète ; build-assets.py ne sert
  qu'à fabriquer les fichiers à y téléverser, et demande Pillow et Chromium,
  absents du serveur. L'étape correspondante et les prérequis associés sont
  retirés, le script de déploiement n'a jamais appelé ce script.
- le service d'écoute n'est pas injoignable de l'extérieur : Apache proxifie
  /deploy vers lui. C'est la signature HMAC qui le protège, pas l'isolement.

Au passage : procédure manuelle présentée comme un secours et non comme le mode
normal, clone par clé de déploiement en lecture seule, et tableau récapitulatif
refait autour du fait que publier se résume à git push.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PcZ7hL9aVvMhRuzxXLT2DG
2026-09-19 21:38:11 +02:00
Alpinux
cf03c2fcec Mettre la documentation de déploiement à jour pour ce dépôt
Ces pages ont été écrites du temps du monorepo et décrivaient encore un clone de
alpinux.site.2026 avec un sous-dossier wiki/, ainsi qu'un déploiement par rsync
depuis un poste local — alors que le serveur construit le site lui-même, déclenché
par un webhook Gitea.

- contribuer.md, linux-mint-guide.md, l'article Linux Mint : liens et URL raw
  vers alpinux-wiki. L'URL de install.sh redevient valide au passage : elle
  pointait sur code/ à la racine, chemin qui n'existait pas dans le monorepo.
- deploiement-wiki.md : chemins sans le sous-dossier wiki/, script de déploiement
  réel (build en staging), webhook décrit comme le mode normal et non plus comme
  une option, avec la mise en garde qu'il n'écoute que ce dépôt.
- README.md : flux de publication réel, et le -d indispensable au build local
  puisque site_dir vise le DocumentRoot du serveur.

deploiement-dynamic.md mentionne lui aussi un clone du monorepo, mais il concerne
l'application dynamic : à corriger avec son dépôt, pas ici.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PcZ7hL9aVvMhRuzxXLT2DG
2026-09-19 21:04:14 +02:00
Alpinux
0ce3d2ae84 Faire pointer « Contribuer sur Gitea » vers ce dépôt
repo_url désignait encore alpinux.site.2026 : le bouton présent sur chaque page
du wiki renvoyait les contributeurs vers l'ancien monorepo, ce qui explique que
les corrections y aient continué d'atterrir après la migration.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PcZ7hL9aVvMhRuzxXLT2DG
2026-09-19 20:25:52 +02:00
Alpinux
6f31324595 Rapatrier les modifications restées dans le monorepo
La migration du 2026-05-03 vers ce dépôt n'a jamais été suivie d'effet : le wiki
a continué d'être modifié dans alpinux.site.2026, qui est resté la source du
site publié. Ces quatre écarts sont reportés ici :

- guides/linux-mint-depuis-windows : « mode UEFI » → « mode BIOS » (1d67692)
- alpinux/install-party : refonte du 2026-09-02 (3a8c23d)
- articles/20260404_creer_des_raccourcis : article jamais versionné (38f4ec3)
- articles/idee-presentations-themes : lien vers l'article ci-dessus + puce en trop

La procédure ISPConfig de technique/deploiement-dynamic et docs/assets/, qui
n'existent que dans ce dépôt, sont conservées telles quelles.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PcZ7hL9aVvMhRuzxXLT2DG
2026-09-19 20:25:52 +02:00
Alpinux
2143745d23 Ajouter référence au README principal de l'espace de travail
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-03 21:00:03 +02:00
Alpinux
042d92ea0b docs: ajouter README (flux publication, structure, MkDocs, déploiement)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-03 20:43:30 +02:00
Alpinux
7ce689a966 docs: remplace config Apache manuelle par ISPConfig
Les vhosts, SSL et certificats sont gérés via ISPConfig (owni.alpinux.org:8080).
Supprime les références à a2ensite, certbot et la copie manuelle de vhost.conf.
2026-05-03 17:59:58 +02:00
Alpinux
d4f125f2f6 initial commit — migration depuis monorepo alpinux.site.2026 2026-05-03 17:48:11 +02:00