GULLUM/Ateliers
< GULLUM
Le séminaire du GULLUM est une série hebdomadaire de présentations et tutoriels destinés à favoriser l’adoption des logiciels libres.
Session d’automne
Semaine 0 — Introduction
Semaine 1 — Base de la ligne de commande
Objectifs pédagogiques:
- Connaître la syntaxe générale d’une commande (nom, flags, arguments)
- Savoir obtenir de l’aide (
--help
,man
,whatis
,apropos
) - Se déplacer dans le système de fichiers avec la ligne de commande (
cd
,pwd
,ls
) - Copier, déplacer, supprimer des fichiers (
cp
,mv
,rm
,rmdir
) - Lire et modifier des fichiers (
cat
,tail
,head
,less
,touch
,>
,>>
) - Faire des manipulations simples de données avec les pipes (
cowsay
,lolcat
,fortune
,tr
,sort
,uniq
,wc
) - Se familiariser avec la philosophie Unix (Do One Thing and Do It Well)
Activités:
- Une présentation
- Défis dans un conteneur Linux préparé à l’avance
- Trouver et afficher un fichier caché dans le système de fichiers
- Compter le nombre de mots uniques dans un texte
- Écouter “The UNIX Operating System” (Bell Labs)
Semaine 2 — Linux et ses distributions
Objectifs pédagogiques:
- Comprendre le rôle des éléments principaux d’un système Linux (chargeur d’amorçage, noyau Linux, processus d’initialisation, programmes GNU, environnement de bureau, distribution)
- Connaître les caractéristiques principales des distributions (minimaliste vs batteries included, rolling release vs point release, stable vs le plus à jour)
- Installer une distribution Linux sur une machine
- Rechercher et installer des nouveaux logiciels avec le gestionnaire de paquets ou avec Snap/Flatpak
- Effectuer la maintenance routinière d’une installation (mettre à jour les paquets, diagnostiquer les erreurs communes, sauvegarder ses données)
- Se familiariser avec l’histoire de Linux et de ses distributions (arbre généalogique)
Activités:
- Présentation principale
- Premier installfest!
- Atelier de ricing
- Présentations secondaires avancées de distributions en particulier
Semaine 3 — Préparation de documents (LaTeX)
- Présentation principale
- Markdown, pandoc, latex, formats de fichiers portables (ex. pdfs et aussi mentionner lecteurs de pdf), libreoffice, overleaf
- Présentations avancées:
- Tikz, jflap, beamer
Semaine 4 — Éditeurs de texte
- Présentation principale
- Survol des différents éditeurs de texte: emacs, vim/neovim, micro, nano, vscodium/vscode, IDE(y'existent), histoires des éditeurs de texte (ed, “Ed is the standard text editor.”)
Semaine 5 — Suite ligne de commande
- Présentation principale
- Commandes plus complexes - ln, grep, permission bits, chmod, chown, sudo, kill, ps, awk, sed, environment variables, shebang, compilateurs+linking+interpretes, find, make
- Multiplexage (tmux, screen)
Semaine 6 — Version control (Git)
- Présentation principale:
- Explication de comment utiliser Git avec la ligne de commande, GitHub/GitLab, applications graphiques
Semaine 7 — Licences de logiciel et droits d’auteur
- Une présentation:
- GNU, GPL, licence permissive vs restrictive, LiLiQ, par défaut copyright appartient à l'auteur
Semaine 8 — Réseau
- Présentation principale:
- bluetooth, wifi direct, wireshark, ssh, intro dhcp/dns, netcat, ftp, sftp, scp, rsync
Session d’hiver
Semaine 9 — VMs et Conteneurs (Docker)
Semaine 10 — Création médiatique
- Présentation principale:
- Blender, OpenSCAD, Inkscape, Krita, GIMP, Godot, Kdenlive, VLC, Audacity
Semaine 11 — Productivité
- Présentation principale:
- Thunderbird => calendrier + rss + setupper courriel + config + installation du adblock
Semaine 12 — Open Hardware
- Présentation principale:
- Raspberry pi, arduino, system76, frame.work, pine64, tuxedo computers, RISC V, keybs
Semaine 13 — Keyboard layouts
Semaine 14 — Contributions aux projets open source
Semaine 15 — Recherche académique
- OpenAlex, CORE
- HAL, arXiv, bioRxiv
- JabRef, Zotero
Semaine 16 — Bases de données ouvertes
- Wikidata
- OpenStreetMap, Overpass, JOSM
Autres sujets
Différence entre terminal, command prompt et shell
- Intro à linux
- Distribution
- Gnu
- Installation + Concepts de base
- Package manager
- Distribution
- Shell
- Syntaxe de base & coreutils
- Variables d'environment
- Man pages
- =--help=
- Shell II
- shebang & permission bits
- Scripts python exécutables
- =grep=, =find=, =|=
Pipes et redirection.
- Éditeur de texte, compilateur et make
- Editeurs
- Nano
- vscode
- Compilateurs
- Editeurs
- Git
- ssh
- sftp
- scp
- rsync
- grep, awk, sed
- Sed
- Awk
- Grep
- Histoire & Unix
- Programmes
- ajouter latex à la liste plus haut, avec overleaf - installfests - éditeurs de texte: vim, emacs, nano, vscode, micro - scripting avancé, daemons, etc