« GULLUM/Ateliers » : différence entre les versions

De Wiki de l'AÉDIROUM
(recherche: accès libre)
(Formatage)
Ligne 1 : Ligne 1 :
Le séminaire du [[GULLUM]] est une série hebdomadaire de présentations et tutoriels destinés à favoriser l’adoption des logiciels libres.
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 ==
= Session d’automne =


=== Semaine 0 — Introduction ===
== Semaine 0 — Introduction ==


=== Semaine 1 — Base de la ligne de commande ===
== Semaine 1 — Base de la ligne de commande ==
 
=== Objectifs pédagogiques ===


Objectifs pédagogiques:
*Connaître la syntaxe générale d’une commande (nom, flags, arguments)
*Connaître la syntaxe générale d’une commande (nom, flags, arguments)
*Savoir obtenir de l’aide (<code>--help</code>, <code>man</code>, <code>whatis</code>, <code>apropos</code>)
*Savoir obtenir de l’aide (<code>--help</code>, <code>man</code>, <code>whatis</code>, <code>apropos</code>)
Ligne 16 : Ligne 17 :
*Se familiariser avec les philosophies Unix (''Do One Thing and Do It Well'', ''Everything is a File'')
*Se familiariser avec les philosophies Unix (''Do One Thing and Do It Well'', ''Everything is a File'')


Activités:
=== Activités ===
 
* Une présentation
* Une présentation
* Défis dans un conteneur Linux préparé à l’avance pour démontrer le potentiel de la ligne de commande
* Défis dans un conteneur Linux préparé à l’avance pour démontrer le potentiel de la ligne de commande
Ligne 30 : Ligne 32 :
* Écouter [https://www.youtube.com/watch?v=tc4ROCJYbm0 ''“The UNIX Operating System”'' (Bell Labs)]
* Écouter [https://www.youtube.com/watch?v=tc4ROCJYbm0 ''“The UNIX Operating System”'' (Bell Labs)]


=== Semaine 2 — Linux et ses distributions ===
== Semaine 2 — Linux et ses distributions ==
 
=== Objectifs pédagogiques ===


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)
*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)
*Connaître les caractéristiques principales des distributions (minimaliste vs batteries included, rolling release vs point release, stable vs le plus à jour)
Ligne 40 : Ligne 43 :
*Se familiariser avec l’histoire de Linux et de ses distributions (arbre généalogique)
*Se familiariser avec l’histoire de Linux et de ses distributions (arbre généalogique)


Activités:
=== Activités ===
 
*Présentation principale
*Présentation principale
*Premier ''installfest''!
*Premier ''installfest''!
Ligne 46 : Ligne 50 :
*Présentations secondaires avancées de distributions en particulier
*Présentations secondaires avancées de distributions en particulier


=== Semaine 3 — Préparation de documents ===
== Semaine 3 — Préparation de documents ==
 
=== Objectifs pédagogiques ===


Objectifs pédagogiques:
*Savoir distinguer formats de travail et formats de sortie
*Savoir distinguer formats de travail et formats de sortie
*Comprendre l’intérêt des langages de balisage (représentation de la structure des documents)
*Comprendre l’intérêt des langages de balisage (représentation de la structure des documents)
Ligne 58 : Ligne 63 :
*Développer une familiarité avec l’éditeur collaboratif Overleaf
*Développer une familiarité avec l’éditeur collaboratif Overleaf


Activités:
=== Activités ===
 
*Présentation principale
*Présentation principale
*Présentations secondaires
*Présentations secondaires
Ligne 68 : Ligne 74 :
**Génération de documents dans un format de sortie (ODF, PDF, ePUB)
**Génération de documents dans un format de sortie (ODF, PDF, ePUB)


=== Semaine 4 — Gestion de versions (Git) ===
== Semaine 4 — Gestion de versions (Git) ==


*Présentation principale:
*Présentation principale
**Explication de comment utiliser Git avec la ligne de commande, GitHub/GitLab, applications graphiques
**Explication de comment utiliser Git avec la ligne de commande, GitHub/GitLab, applications graphiques


=== Semaine 5 — Suite ligne de commande ===
== Semaine 5 — Suite ligne de commande ==


*Présentation principale
*Présentation principale
Ligne 79 : Ligne 85 :
**Multiplexage (tmux, screen)
**Multiplexage (tmux, screen)


=== Semaine 6 — Éditeurs de texte ===
== Semaine 6 — Éditeurs de texte ==
 
=== Objectifs pédagogiques ===


Objectifs pédagogiques:
*Connaître les philosophies des différents éditeurs de texte
*Connaître les philosophies des différents éditeurs de texte
**Simple vs batteries-included (extensibilité, IDE)
**Simple vs batteries-included (extensibilité, IDE)
Ligne 89 : Ligne 96 :
*Être capable de faire un choix informé de l’éditeur de texte utilisé
*Être capable de faire un choix informé de l’éditeur de texte utilisé


Activités:
=== Activités ===
 
*Présentation principale
*Présentation principale
**État des lieux et généalogie des éditeurs de texte
**État des lieux et généalogie des éditeurs de texte
Ligne 100 : Ligne 108 :
*Atelier Vim
*Atelier Vim


=== Semaine 7 — Licences de logiciel et droits d’auteur ===
== Semaine 7 — Licences de logiciel et droits d’auteur ==


*Une présentation:
*Présentation principale
**GNU, GPL, licence permissive vs restrictive, LiLiQ, par défaut copyright appartient à l'auteur
**GNU, GPL, licence permissive vs restrictive, LiLiQ, par défaut copyright appartient à l'auteur


=== Semaine 8 — Réseau et sécurité ===
== Semaine 8 — Réseau et sécurité ==


*Présentation principale:
*Présentation principale
**bluetooth, wifi direct, wireshark, ssh, intro dhcp/dns, netcat, ftp, sftp, scp, rsync
**bluetooth, wifi direct, wireshark, ssh, intro dhcp/dns, netcat, ftp, sftp, scp, rsync
*Sécurité: gestion de clés SSH, mots de passe
*Sécurité: gestion de clés SSH, mots de passe
*Cryptographie: chiffrement symétrique, asymétrique
*Cryptographie: chiffrement symétrique, asymétrique


== Session d’hiver ==
= Session d’hiver =


=== Semaine 9 — VMs et Conteneurs (Docker) ===
== Semaine 9 — VMs et Conteneurs (Docker) ==


=== Semaine 10 — Création médiatique ===
== Semaine 10 — Création médiatique ==


*Présentation principale:
*Présentation principale
**Blender, OpenSCAD, Inkscape, Krita, GIMP, Godot, Kdenlive, VLC, Audacity
**Blender, OpenSCAD, Inkscape, Krita, GIMP, Godot, Kdenlive, VLC, Audacity


=== Semaine 11 — Productivité ===
== Semaine 11 — Productivité ==


*Présentation principale:
*Présentation principale
**Thunderbird => calendrier + rss + setupper courriel + config + installation du adblock
**Thunderbird => calendrier + rss + setupper courriel + config + installation du adblock


=== Semaine 12 — Open Hardware ===
== Semaine 12 — Open Hardware ==


*Présentation principale:
*Présentation principale
**Raspberry pi, arduino, system76, frame.work, pine64, tuxedo computers, RISC V, keybs
**Raspberry pi, arduino, system76, frame.work, pine64, tuxedo computers, RISC V, keybs


=== Semaine 13 — Keyboard layouts ===
== Semaine 13 — Keyboard layouts ==


=== Semaine 14 — Contributions aux projets open source ===
== Semaine 14 — Contributions aux projets open source ==


=== Semaine 15 — Recherche académique ===
== Semaine 15 — Recherche académique ==


*OpenAlex, CORE
*OpenAlex, CORE
Ligne 142 : Ligne 150 :
*Articles en accès libre/ouvert
*Articles en accès libre/ouvert


=== Semaine 16 — Bases de données ouvertes ===
== Semaine 16 — Bases de données ouvertes ==


* Wikidata
* Wikidata
* OpenStreetMap, Overpass, JOSM
* OpenStreetMap, Overpass, JOSM


== Autres sujets ==
= Autres sujets =


Différence entre terminal, command prompt et shell
Différence entre terminal, command prompt et shell

Version du 3 juin 2023 à 08:46

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 les philosophies Unix (Do One Thing and Do It Well, Everything is a File)

Activités

  • Une présentation
  • Défis dans un conteneur Linux préparé à l’avance pour démontrer le potentiel de la ligne de commande
    • Système de fichiers
      • Trouver et afficher un fichier situé quelque part dans le système de fichiers
      • Identifier les fichiers doublon (qui ont le même contenu) dans un répertoire
      • Renommer tous les fichiers d’un répertoire selon un motif spécifique
    • Pipes
      • Lister les utilisateurs les plus souvent connectés sur la machine
      • Compter le nombre de mots uniques dans un texte
    • Everything is a File
      • Lister les fichiers ouverts dans un processus
  • É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

Objectifs pédagogiques

  • Savoir distinguer formats de travail et formats de sortie
  • Comprendre l’intérêt des langages de balisage (représentation de la structure des documents)
  • Comprendre les enjeux liés à l’accessibilité des documents
  • Comprendre les enjeux liés à la portabilité des fichiers
  • Connaître la différence entre WYSIWYG et non-WYSIWYG
  • Être capable de composer un document de base avec Markdown
  • Être capable de composer un document de base avec LaTeX
  • Développer une familiarité avec l’éditeur collaboratif Overleaf

Activités

  • Présentation principale
  • Présentations secondaires
    • Présentation sur la production graphique (SVG, TikZ)
    • Présentation sur les présentations (meta) (Beamer, LibreOffice)
  • Atelier LaTeX sur Overleaf
  • Atelier avec Pandoc
    • Conversion de documents entre langages de balisage (Markdown, HTML, LaTeX)
    • Génération de documents dans un format de sortie (ODF, PDF, ePUB)

Semaine 4 — Gestion de versions (Git)

  • Présentation principale
    • Explication de comment utiliser Git avec la ligne de commande, GitHub/GitLab, applications graphiques

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 — Éditeurs de texte

Objectifs pédagogiques

  • Connaître les philosophies des différents éditeurs de texte
    • Simple vs batteries-included (extensibilité, IDE)
    • Interaction au clavier et/ou à la souris
    • Graphique ou terminal
    • Modal ou non-modal
  • Être capable de faire un choix informé de l’éditeur de texte utilisé

Activités

  • Présentation principale
    • État des lieux et généalogie des éditeurs de texte
      • Emacs
      • Ed/Vi/Vim/NeoVim
      • Nano/Micro
      • VSCodium/VSCode
      • Acme
  • Atelier Emacs
  • Atelier Vim

Semaine 7 — Licences de logiciel et droits d’auteur

  • Présentation principale
    • GNU, GPL, licence permissive vs restrictive, LiLiQ, par défaut copyright appartient à l'auteur

Semaine 8 — Réseau et sécurité

  • Présentation principale
    • bluetooth, wifi direct, wireshark, ssh, intro dhcp/dns, netcat, ftp, sftp, scp, rsync
  • Sécurité: gestion de clés SSH, mots de passe
  • Cryptographie: chiffrement symétrique, asymétrique

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
  • Articles en accès libre/ouvert

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
  • 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
  • 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