Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
|
materiel:logicos:start [2026/03/16 12:01] emoc [LogicOS 2026] |
materiel:logicos:start [2026/03/16 12:16] (Version actuelle) emoc [Comment cette liste a été réalisée?] |
||
|---|---|---|---|
| Ligne 6: | Ligne 6: | ||
| En 2026, il s'agit de la première version, qui ne sera pas exempte de bugs et nécessitera de futures améliorations. Il est possible d'indiquer en bas de page les bugs rencontrés et les améliorations souhaitées. | En 2026, il s'agit de la première version, qui ne sera pas exempte de bugs et nécessitera de futures améliorations. Il est possible d'indiquer en bas de page les bugs rencontrés et les améliorations souhaitées. | ||
| - | |||
| **Quelle système ?**\\ | **Quelle système ?**\\ | ||
| Ligne 17: | Ligne 16: | ||
| **Mise en place**\\ | **Mise en place**\\ | ||
| - | Les logiciels ont été installés et configurés sur un premier ordinateur qui a permis de créer un //master//, puis clonés avec clonezilla | + | Les logiciels ont été installés et configurés sur un premier ordinateur par qui a permis de créer un //master//, puis clonés avec clonezilla. La procédure est documentée sur les pages suivantes : |
| + | * [[materiel:installation_ordinateurs|création du master et clonage]] | ||
| + | * [[materiel:configuration_ordinateurs|éléments de configuration]] | ||
| + | |||
| + | **La version de LogicOS 2026 a été réalisée par [[https://github.com/jeromea-greta|Jejy]] dans le cadre d'un stage de BTS SIO.** | ||
| ===== Logiciels installés ===== | ===== Logiciels installés ===== | ||
| Ligne 192: | Ligne 195: | ||
| * gnome-shell-extensions s'installe sous le nom «extenqsion-manager» | * gnome-shell-extensions s'installe sous le nom «extenqsion-manager» | ||
| + | ==== Comment cette liste a été réalisée? ==== | ||
| + | |||
| + | Cette liste a été extraite au format csv depuis le [[https://lite.framacalc.org/systeme-polo-2025|framacalc]] qui a servi à l'établir puis transformée au format dokuwiki par un script python écrit par un LLM, puis corrigée manuellement dans dokuwiki! Le script est ci-dessous. | ||
| + | |||
| + | <accordion> | ||
| + | <panel title="csv_to_dokuwiki.py (cliquer pour afficher le code)"> | ||
| + | <code python csv_to_dokuwiki.py> | ||
| + | #!/usr/bin/env python3 | ||
| + | |||
| + | """ | ||
| + | utilisation : python3 csv_to_dokuwiki.py systeme-logicos26.csv > sortie.txt | ||
| + | |||
| + | 20260316 / python 3.1.2 @ Tenko / code python réalisé par un LLM | ||
| + | |||
| + | prompt : | ||
| + | |||
| + | Script python3, sans dépendances pour passer d'un fichier csv à un format tableau dokuwiki. | ||
| + | Voila comment traiter chaque colonne : | ||
| + | la ligne 1 fournit les entêtes | ||
| + | la ligne 2 n'est pas à traiter | ||
| + | Pour toutes les lignes suivantes | ||
| + | colonne A : si rempli, créer un nouveau tableau avec les lignes qui suivent | ||
| + | colonne B : ne pas traiter | ||
| + | colonne C : traiter uniquement si le caractère ! apparaît dans ce cas il faudra barrer le nom de la colonne D | ||
| + | colonne D : faire apparaître le nom, si la colonne E est remplie faire de ce nom un lien avec l'url de la colonne E colonne E : voir colonne D | ||
| + | colonne F : afficher «origine» et créer un lien vers l'URL contenue dans la colonne F | ||
| + | colonne G : afficher | ||
| + | colonne H : afficher | ||
| + | colonne I : reprendre le texte en bas de page hors des tableaux | ||
| + | colonne J : ne pas traiter | ||
| + | colonne K : reprendre le texte en bas de page hors des tableaux | ||
| + | colonne L : reprendre en bas de page | ||
| + | """ | ||
| + | |||
| + | import csv | ||
| + | import sys | ||
| + | |||
| + | def dokuwiki_link(text, url): | ||
| + | if url: | ||
| + | return f"[[{url}|{text}]]" | ||
| + | return text | ||
| + | |||
| + | def strike(text): | ||
| + | return f"<del>{text}</del>" | ||
| + | |||
| + | def main(csv_file): | ||
| + | footnotes = [] | ||
| + | |||
| + | with open(csv_file, newline='', encoding="utf-8") as f: | ||
| + | reader = csv.reader(f) | ||
| + | |||
| + | rows = list(reader) | ||
| + | |||
| + | headers = rows[0] | ||
| + | current_table_open = False | ||
| + | |||
| + | for i, row in enumerate(rows[2:], start=3): # ligne 3 et suivantes | ||
| + | |||
| + | colA = row[0].strip() if len(row) > 0 else "" | ||
| + | colC = row[2].strip() if len(row) > 2 else "" | ||
| + | colD = row[3].strip() if len(row) > 3 else "" | ||
| + | colE = row[4].strip() if len(row) > 4 else "" | ||
| + | colF = row[5].strip() if len(row) > 5 else "" | ||
| + | colG = row[6].strip() if len(row) > 6 else "" | ||
| + | colH = row[7].strip() if len(row) > 7 else "" | ||
| + | colI = row[8].strip() if len(row) > 8 else "" | ||
| + | colK = row[10].strip() if len(row) > 10 else "" | ||
| + | colL = row[11].strip() if len(row) > 11 else "" | ||
| + | |||
| + | # nouveau tableau si colonne A remplie | ||
| + | if colA: | ||
| + | if current_table_open: | ||
| + | print() | ||
| + | print(f"===== {colA} =====") | ||
| + | print("^ Nom ^ Origine ^ G ^ H ^") | ||
| + | current_table_open = True | ||
| + | |||
| + | # traitement colonne D (nom + lien éventuel) | ||
| + | name = colD | ||
| + | if colE: | ||
| + | name = dokuwiki_link(name, colE) | ||
| + | |||
| + | # si ! dans colonne C → barrer | ||
| + | if "!" in colC: | ||
| + | name = strike(name) | ||
| + | |||
| + | # colonne F → lien origine | ||
| + | origine = "" | ||
| + | if colF: | ||
| + | origine = f"[[{colF}|origine]]" | ||
| + | |||
| + | print(f"| {name} | {origine} | {colG} | {colH} |") | ||
| + | |||
| + | # collecte bas de page | ||
| + | for note in (colI, colK, colL): | ||
| + | if note: | ||
| + | footnotes.append(note) | ||
| + | |||
| + | # affichage notes hors tableau | ||
| + | if footnotes: | ||
| + | print("\n----\n") | ||
| + | for n in footnotes: | ||
| + | print(f"* {n}") | ||
| + | |||
| + | if __name__ == "__main__": | ||
| + | if len(sys.argv) != 2: | ||
| + | print("Usage: csv_to_dokuwiki.py fichier.csv") | ||
| + | sys.exit(1) | ||
| + | |||
| + | main(sys.argv[1]) | ||
| + | </code> | ||
| + | </panel> | ||
| + | </accordion> | ||
| + | |||
| + | ===== Bugs rencontrés ===== | ||
| + | |||
| + | ===== Améliorations souhaitées pour les prochaines versions ===== | ||