[bootlin/training-materials updates] master: French version of the online kernel course agenda (e5de0937)

Michael Opdenacker michael.opdenacker at bootlin.com
Mon May 11 16:22:24 CEST 2020


Repository : https://github.com/bootlin/training-materials
On branch  : master
Link       : https://github.com/bootlin/training-materials/commit/e5de093709aa0096690ce0674b8642a415e27cb6

>---------------------------------------------------------------

commit e5de093709aa0096690ce0674b8642a415e27cb6
Author: Michael Opdenacker <michael.opdenacker at bootlin.com>
Date:   Mon May 11 16:22:24 2020 +0200

    French version of the online kernel course agenda
    
    - Plus fixing day limits (4th half day twice!)
    - Minor improvements in other agendas
    
    Signed-off-by: Michael Opdenacker <michael.opdenacker at bootlin.com>


>---------------------------------------------------------------

e5de093709aa0096690ce0674b8642a415e27cb6
 agenda/buildroot-fr-agenda.tex           |   2 +-
 agenda/embedded-linux-4d-fr-agenda.tex   |   2 +-
 agenda/embedded-linux-fr-agenda.tex      |   2 +-
 agenda/linux-kernel-fr-agenda.tex        |   4 +-
 agenda/linux-kernel-online-agenda.tex    |  11 +-
 agenda/linux-kernel-online-fr-agenda.tex | 531 +++++++++++++++++++++++++++++++
 agenda/yocto-fr-agenda.tex               |   2 +-
 7 files changed, 541 insertions(+), 13 deletions(-)

diff --git a/agenda/buildroot-fr-agenda.tex b/agenda/buildroot-fr-agenda.tex
index cdecc78e..7162d765 100644
--- a/agenda/buildroot-fr-agenda.tex
+++ b/agenda/buildroot-fr-agenda.tex
@@ -77,7 +77,7 @@ Session de 3 jours
     \newline {\bf Connaissance et pratique des commandes UNIX ou
     GNU/Linux}
     \newline Les personnes n'ayant pas ces connaissances doivent
-    s'autoformer, par exemple en utilisant nos supports de formations
+    s'autoformer, par exemple en utilisant nos supports de formation
     disponibles en ligne :
     \newline (\url{https://bootlin.com/blog/command-line/}) \\
     \hline
diff --git a/agenda/embedded-linux-4d-fr-agenda.tex b/agenda/embedded-linux-4d-fr-agenda.tex
index fec4270c..013fcd70 100644
--- a/agenda/embedded-linux-4d-fr-agenda.tex
+++ b/agenda/embedded-linux-4d-fr-agenda.tex
@@ -70,7 +70,7 @@ Travaux pratiques sur carte ARM STM32MP157A-DK1 Discovery Board. \\
     {\bf Connaissance et pratique des commandes UNIX ou
     GNU/Linux}
     \newline Les personnes n'ayant pas ces connaissances doivent
-    s'autoformer, par exemple en utilisant nos supports de formations
+    s'autoformer, par exemple en utilisant nos supports de formation
     disponibles en ligne :
     \newline \url{https://bootlin.com/blog/command-line/} \vspace{1em}
     \\
diff --git a/agenda/embedded-linux-fr-agenda.tex b/agenda/embedded-linux-fr-agenda.tex
index d1e3c527..2fee75ba 100644
--- a/agenda/embedded-linux-fr-agenda.tex
+++ b/agenda/embedded-linux-fr-agenda.tex
@@ -72,7 +72,7 @@ Travaux pratiques avec une carte ARM. \\
     {\bf Connaissance et pratique des commandes UNIX ou
     GNU/Linux}
     \newline Les personnes n'ayant pas ces connaissances doivent
-    s'autoformer, par exemple en utilisant nos supports de formations
+    s'autoformer, par exemple en utilisant nos supports de formation
     disponibles en ligne :
     \newline \url{https://bootlin.com/blog/command-line/} \vspace{1em}
     \\
diff --git a/agenda/linux-kernel-fr-agenda.tex b/agenda/linux-kernel-fr-agenda.tex
index b6046bcd..a8c367cc 100644
--- a/agenda/linux-kernel-fr-agenda.tex
+++ b/agenda/linux-kernel-fr-agenda.tex
@@ -74,7 +74,7 @@ Session de 5 jours
     \newline {\bf Connaissance et pratique des commandes UNIX ou
     GNU/Linux}
     \newline Les personnes n'ayant pas ces connaissances doivent
-    s'autoformer, par exemple en utilisant nos supports de formations
+    s'autoformer, par exemple en utilisant nos supports de formation
     disponibles en ligne :
     \newline (\url{https://bootlin.com/blog/command-line/} \vspace{1em}
     \newline {\bf Expérience en développement Linux embarqué}.
@@ -210,7 +210,7 @@ Session de 5 jours
  \end{itemize}
 }
 
-\section{1\textsuperscript{er} Jour - Après-midi}
+\section{1\textsuperscript{er} jour - Après-midi}
 \feagendatwocolumn
 {Cours – Configuration, compilation et démarrage du noyau Linux}
 {
diff --git a/agenda/linux-kernel-online-agenda.tex b/agenda/linux-kernel-online-agenda.tex
index 5101bd05..62bb0abd 100644
--- a/agenda/linux-kernel-online-agenda.tex
+++ b/agenda/linux-kernel-online-agenda.tex
@@ -332,8 +332,6 @@ On-line seminar
   \end{itemize}
 }
 
-\section{Half day 4}
-
 \feagendaonecolumn
 {Lecture - I/O memory and ports}
 {
@@ -358,6 +356,8 @@ On-line seminar
   \end{itemize}
 }
 
+\section{Half day 5}
+
 \feagendatwocolumn
 {Lecture - The misc kernel subsystem}
 {
@@ -379,8 +379,6 @@ On-line seminar
   \end{itemize}
 }
 
-\section{Half day 5}
-
 \feagendatwocolumn
 {Lecture - Processes, scheduling, sleeping and interrupts}
 {
@@ -403,6 +401,8 @@ On-line seminar
   \end{itemize}
 }
 
+\section{Half day 6}
+
 \feagendatwocolumn
 {Lecture - Locking}
 {
@@ -423,9 +423,6 @@ On-line seminar
   \end{itemize}
 }
 
-
-\section{Half day 6}
-
 \feagendatwocolumn
 {Lecture - Driver debugging techniques}
 {
diff --git a/agenda/linux-kernel-online-fr-agenda.tex b/agenda/linux-kernel-online-fr-agenda.tex
new file mode 100644
index 00000000..eec46ed5
--- /dev/null
+++ b/agenda/linux-kernel-online-fr-agenda.tex
@@ -0,0 +1,531 @@
+\documentclass[a4paper,12pt,obeyspaces,spaces,hyphens]{article}
+
+\usepackage{agenda}
+\usepackage{colortbl}
+\usepackage{xcolor}
+\usepackage{calc}
+
+\hypersetup{pdftitle={Formation développement noyau et pilotes Linux},
+  pdfauthor={Bootlin}}
+
+\renewcommand{\arraystretch}{2.0}
+
+\begin{document}
+
+\thispagestyle{fancy}
+
+\setlength{\arrayrulewidth}{0.8pt}
+
+\begin{center}
+\LARGE
+Formation développement noyau et pilotes Linux\\
+\large
+Séminaire de formation en ligne
+\end{center}
+\vspace{1cm}
+
+\small
+\newcolumntype{g}{>{\columncolor{fedarkblue}}m{4cm}}
+\newcolumntype{h}{>{\columncolor{felightblue}}X}
+
+\arrayrulecolor{lightgray} {
+  \setlist[1]{itemsep=-5pt}
+  \begin{tabularx}{\textwidth}{|g|h|}
+    {\bf Titre} & {\bf Formation développement noyau et pilotes Linux} \\
+    \hline
+
+    {\bf Aperçu} &
+    Comprendre le noyau Linux \par
+    Développer des pilotes de périphérique pour le noyau Linux \par
+    Débogage du noyau Linux \par
+    Portage du noyau Linux sur un nouveau matériel \par
+    Travailler avec la communauté de développeurs du noyau Linux \par
+    Travaux pratiques sur carte électronique ARM BeagleBone Black (ou
+    sa variante "Wireless"). \\
+    \hline
+    {\bf Supports} &
+    Vérifiez que le contenu de la formation correspond à vos besoins :
+    \newline \url{https://bootlin.com/doc/training/linux-kernel}. \\
+    \hline
+
+    {\bf Durée} & {\bf Sept} demi-journées - 28 h (4 h par demi-journée)
+    \newline 80\% de présentations et 20\% de démonstrations. \\
+    \hline
+
+    {\bf Formateur} & Un des ingénieurs mentionnés sur :
+    \newline \url{https://bootlin.com/training/trainers/}\\
+    \hline
+
+    {\bf Langue} & Présentations : Français
+    \newline Supports : Anglais\\
+    \hline
+
+    {\bf Public ciblé} & Ingénieurs développant des systèmes reposant sur le noyau Linux.
+    \newline Ingénieurs supportant des développeurs Linux embarqué.\\
+    \hline
+
+    {\bf Pré-requis} &
+
+    {\bf Connaissances en programmation en langage C}
+    \newline En particulier, les participants devront comprendre
+    la création et la gestion de types et de structures de données
+    complexes, de pointeurs vers de tels symboles, et de pointeurs de
+    fonctions. \vspace{1em}
+    \newline {\bf Connaissance des commandes UNIX ou
+    GNU/Linux}
+    \newline Les personnes n'ayant pas ces connaissances peuvent
+    s'autoformer, par exemple en utilisant nos supports de formation
+    disponibles en ligne :
+    \newline (\url{https://bootlin.com/blog/command-line/}) \vspace{1em}
+    \newline {\bf Connaissances en développement Linux embarqué}.
+    \newline Suivre au préalable notre Formation Linux Embarqué
+    \newline (\url{https://bootlin.com/fr/formation/linux-embarque/})
+    \newline n'est pas un pré-requis, mais sera très utile pour mieux
+    comprendre l'environnement de développement et les manipulations\
+    avec le matériel embarqué, pour pouvoir se concentrer sur la programmation
+    du code du noyau Linux.
+    \\
+    \hline
+  \end{tabularx}
+
+  \begin{tabularx}{\textwidth}{|g|h|}
+    {\bf Équipement nécessaire} &
+    \begin{itemize}
+    \item Ordinateur avec le système d'exploitation de votre choix, équipé du
+          navigateur Google Chrome ou Chromium pour la conférence vidéo.
+    \item Une webcam et un micro (de préférence un casque avec micro)
+    \item Une connexion à Internet à haut débit
+    \end{itemize}\\
+    \hline
+
+    {\bf Supports} & Version électronique des présentations, des instructions
+   et des données pour les démos.\\
+    \hline
+
+\end{tabularx}}
+\normalsize
+
+\feagendatwocolumn
+{Matériel}
+{
+  La plateforme matérielle utilisée pendant les démonstrations de
+  cette formation est la carte {\bf BeagleBone Black}, dont voici les
+  caractéristiques :
+
+  \begin{itemize}
+  \item Un processeur ARM AM335x de Texas Instruments (à base de
+    Cortex-A8), avec accélération 3D, etc.
+  \item 512 Mo de RAM
+  \item 2 Go de stockage eMMC embarqué sur la carte
+	\newline(4 Go avec la révision C)
+  \item USB hôte et device
+  \item Sortie HDMI
+  \item Connecteurs à 2 x 46 broches, pour accéder aux UARTs, aux
+        bus SPI, aux bus I2C, et à d'autres entrées/sorties du
+        processeur.
+  \end{itemize}
+}
+{}
+{
+  \begin{center}
+    \includegraphics[height=5cm]{../slides/beagleboneblack-board/beagleboneblack.png}
+  \end{center}
+}
+
+\feagendaonecolumn
+{Démos}
+{
+  Les travaux pratiques de cette formation font appel aux périphériques
+  matériels suivants, pour illustrer le développement de pilotes de
+  périphériques pour Linux :
+
+  \begin{itemize}
+  \item Une manette Nunchuk pour console Wii, qui est connectée à la
+    BeagleBone Black via le bus I2C. Son pilote utilisera le
+    sous-système {\em input} du noyau Linux.
+  \item Un port série (UART) supplémentaire, dont les registres sont
+    mappés en mémoire, et pour lequel on utilisera le sous-système {\em
+    misc} de Linux.
+  \end{itemize}
+
+  Bien que nos explications cibleront spécifiquement les sous-systèmes
+  de Linux utilisés pour réaliser ces pilotes, celles-ci seront toujours
+  suffisamment génériques pour faire comprendre la philosophie
+  d'ensemble de la conception du noyau Linux. Un tel apprentissage
+  sera donc applicable bien au delà des périphériques I2C, d'entrée ou
+  mappés en mémoire.
+}
+
+
+\section{1\textsuperscript{ère} demi-journée}
+
+\feagendaonecolumn
+{Cours - Introduction au noyau Linux}
+{
+  \begin{itemize}
+  \item Fonctionnalités et rôle du noyau.
+  \item Comprendre le processus de développement du noyau.
+  \item Contraintes juridiques liées aux pilotes de périphériques.
+  \item L'interface noyau / espace utilisateur (/proc et /sys).
+  \item Pilotes de périphériques en espace utilisateur.
+  \end{itemize}
+}
+\\
+\feagendatwocolumn
+{Cours - Les sources du noyau}
+{
+  \begin{itemize}
+  \item Spécificités du développement noyau
+  \item Conventions de codage
+  \item Récupération des sources du noyau
+  \item Aperçu des sources du noyau
+  \item Outils de navigation dans les sources : cscope, Elixir
+  \end{itemize}
+}
+{Démo - Code source du noyau}
+{
+  \begin{itemize}
+  \item Récupération des sources du noyau
+  \item Effectuer des recherches dans les sources du noyau Linux :
+    recherche de définitions C, de paramètres de configuration et d'autres
+    informations.
+  \item En utilisant la ligne de commande Unix et des outils de
+    navigation dans le code.
+ \end{itemize}
+}
+
+\feagendaonecolumn
+{Cours – Configuration, compilation et démarrage du noyau Linux}
+{
+  \begin{itemize}
+  \item Configuration du noyau.
+  \item Compilation native et croisée. Fichiers générés.
+  \item Démarrage du noyau. Paramètres de démarrage.
+  \item Montage du système de fichiers racine par NFS.
+  \end{itemize}
+}
+
+\section{2\textsuperscript{ème} demi-journée}
+
+\feagendaonecolumn
+{Démo – Configuration, compilation croisée et démarrage sur NFS}
+{
+  {\em En utilisant la carte BeagleBone Black}
+  \begin{itemize}
+  \item Configuration, compilation croisée et démarrage du noyau Linux
+    avec support de NFS.
+  \end{itemize}
+}
+
+\feagendatwocolumn
+{Cours – Modules noyau Linux}
+{
+  \begin{itemize}
+  \item Pilotes de périphériques Linux
+  \item Un module simple
+  \item Contraintes de programmation
+  \item Chargement et déchargement de modules
+  \item Dépendances entre modules
+  \item Ajouter du code source à l'arbre du noyau
+  \end{itemize}
+}
+{Démo - Développement de module}
+{
+  {\em En utilisant la carte BeagleBone Black}
+  \begin{itemize}
+  \item Écriture d'un module noyau offrant quelques fonctionnalités
+  \item Accès aux informations internes du noyau depuis le module
+  \item Mise en place de l'environnement de compilation
+  \end{itemize}
+}
+
+\feagendaonecolumn
+{Lecture - Le "device model" de Linux}
+{
+  \begin{itemize}
+  \item Comprendre comment le noyau est conçu pour supporter les pilotes
+    de périphériques
+  \item Le "device model"
+  \item Connexion entre périphériques et pilotes.
+  \item Périphériques "platform", le "Device Tree"
+  \item Interface en espace utilisateur avec \code{/sys}
+  \end{itemize}
+}
+
+\section{3\textsuperscript{ème} demi-journée}
+
+\feagendaonecolumn
+{Démo - Device model de Linux pour un pilote I2C}
+{
+  {\em En utilisant la carte BeagleBone Black}
+  \begin{itemize}
+  \item Réalisation d'un pilote qui s'enregistre comme
+     un pilote I2C.
+  \item Modification du Device Tree pour déclarer un
+     périphérique I2C.
+  \item Faire en sorte que le pilote soit appelé quand le
+     périphérique I2C est énuméré au démarrage.
+  \end{itemize}
+}
+
+\feagendatwocolumn
+{Cours - Introduction à l'API I2C}
+{
+  \begin{itemize}
+  \item Le sous-système I2C du noyau
+  \item Détails sur l'API fournie aux pilotes du noyau pour interagir
+    avec les périphériques I2C.
+  \end{itemize}
+}
+{Cours - "Pin muxing" (multiplexage d'entrées-sorties)}
+{
+  \begin{itemize}
+  \item Comprendre l'infrastructure {\em pinctrl} du noyau.
+  \item Comprendre comment configurer le multiplexage des
+    entrées/sorties.
+  \end{itemize}
+}
+
+\feagendaonecolumn
+{Démo - Communiquer avec le Nunchuk via I2C}
+{
+  {\em En utilisant la carte BeagleBone Black}
+  \begin{itemize}
+  \item Configurer le pin muxing pour le bus I2C utilisé pour
+    communiquer avec le Nunchuk
+  \item Étendre le pilote I2C commencé à la démo précédente pour
+    communiquer avec le Nunchuk à travers le bus I2C.
+  \end{itemize}
+}
+
+\section{4\textsuperscript{ème} demi-journée}
+
+\feagendaonecolumn
+{Cours - Infrastructures du noyau}
+{
+  \begin{itemize}
+  \item Périphériques de type bloc et caractère
+  \item Interaction entre applications en espace utilisateur et le noyau
+  \item Détails sur les pilotes caractère,  \code{file_operations},
+    \code{ioctl()}, etc.
+  \item Échange de données vers ou depuis l'espace utilisateur
+  \item Le principe des infrastructures du noyau
+  \end{itemize}
+}
+
+\feagendatwocolumn
+{Cours - Le sous-système input}
+{
+  \begin{itemize}
+  \item Principe du sous-système {\em input} du noyau
+  \item API offerte aux pilotes du noyau pour exposer
+    des fonctionnalités de périphériques d'entrée aux
+    applications en espace utilisateur.
+  \item API en espace utilisateur offerte par le
+    sous-système {\em input}
+  \end{itemize}
+}
+{Démo - Exposer la fonctionnalité du Nunchuk en espace utilisateur}
+{
+  {\em En utilisant la carte BeagleBone Black}
+  \begin{itemize}
+  \item Extension du pilote du Nunchuk pour exposer les fonctionnalités
+    du Nunchuk aux applications en espace utilisateur, comme
+    un périphérique d'entrée.
+  \item S'assurer du bon fonctionnement du Nunchuk via \code{evtest}
+  \end{itemize}
+}
+
+\feagendatwocolumn
+{Cours - Gestion de la mémoire}
+{
+  \begin{itemize}
+  \item Linux : gestion de la mémoire. Espaces d'adressages physique et
+     virtuel, séparation noyau et espace utilisateur.
+  \item Implémentation de la gestion de la mémoire dans Linux.
+  \item Allocation avec \code{kmalloc()}.
+  \item Allocation par pages.
+  \item Allocation avec \code{vmalloc()}.
+  \end{itemize}
+}
+{Cours - Entrées-sorties avec le matériel}
+{
+  \begin{itemize}
+  \item Enregistrement des plages de ports d'E/S et de mémoire d'E/S.
+  \item Accès aux plages de ports d'E/S et de mémoire d'E/S.
+  \item Barrières mémoire.
+  \end{itemize}
+}
+
+\feagendaonecolumn
+{Démo - Pilote "platform" minimal et accès à la mémoire d'E/S}
+{
+  {\em En utilisant la carte BeagleBone Black}
+  \begin{itemize}
+  \item Réalisation d'un pilote "platform" minimal
+  \item Modification du Device Tree pour ajouter un nouveau
+    port série.
+  \item Réservation des adresses d'E/S utilisées par le port série.
+  \item Lecture et écriture des registres du périphérique, pour
+    envoyer des caractères sur le port série.
+  \end{itemize}
+}
+
+\section{5\textsuperscript{ème} demi-journée}
+
+\feagendatwocolumn
+{Cours - Le sous-système misc}
+{
+  \begin{itemize}
+  \item Utilité du sous-système {\em misc} du noyau
+  \item API du sous-système {\em misc}, à la fois du côté du noyau, et
+    du côté de l'espace utilisateur.
+  \end{itemize}
+}
+{Démo - Pilote de port série en écriture seule}
+{
+  {\em En utilisant la carte BeagleBone Black}
+  \begin{itemize}
+  \item Extension du pilote commencé dans la démo précédente, en
+    enregistrant celui-ci dans le sous-système {\em misc}
+  \item Implémentation de l'écriture vers le port série en
+    utilisant le sous-système {\em misc}
+  \item Tests d'écriture depuis l'espace utilisateur
+  \end{itemize}
+}
+
+\feagendatwocolumn
+{Cours - Processus, ordonnancement, sommeil et interruptions}
+{
+  \begin{itemize}
+  \item Gestion des processus dans le noyau Linux.
+  \item L'ordonnanceur du noyau Linux et la mise en sommeil des processus.
+  \item Gestion des interruptions dans les pilotes de périphérique :
+    enregistrement et développement des gestionnaires d'interruption,
+    exécution différée de tâches.
+  \end{itemize}
+}
+{Démo - Mise en sommeil et gestion d'interruptions dans un pilote de périphérique}
+{
+  {\em En utilisant la carte BeagleBone Black}
+  \begin{itemize}
+  \item Ajout de la fonctionnalité de lecture au pilote caractère développé
+    précédemment.
+  \item Enregistrement d'un gestionnaire d'interruption.
+  \item Attente de la disponibilité de données dans l'opération \code{read()}
+  \item Réveil lorsque les données deviennent disponibles.
+  \end{itemize}
+}
+
+\section{6\textsuperscript{ème} demi-journée}
+
+\feagendatwocolumn
+{Cours - Verrouillage}
+{
+  \begin{itemize}
+  \item Problématique de l'accès concurrent à des ressources partagées
+  \item Primitives de verrouillage : mutexes, sémaphores, spinlocks.
+  \item Opérations atomiques.
+  \item Problèmes typiques de verrouillage.
+  \item Utilisation du validateur de verrouillage pour identifier les
+    sources de problèmes.
+  \end{itemize}
+}
+{Démo - Verrouillage}
+{
+  {\em En utilisant la carte BeagleBone Black}
+  \begin{itemize}
+  \item Ajout de mécanismes de verrouillage au pilote en cours
+  \end{itemize}
+}
+
+\feagendatwocolumn
+{Cours - Techniques de débogage noyau}
+{
+  \begin{itemize}
+  \item Débogage avec printk
+  \item Utilisation de debugfs
+  \item Analyse d'un oops noyau
+  \item Utilisation de kgdb, un débogueur noyau
+  \item Utilisation des commandes SysRq
+  \item Débogage en utilisant une sonde JTAG
+  \end{itemize}
+}
+{Démo - Investigation de bugs noyau}
+{
+  {\em En utilisant la carte BeagleBone Black}
+  \begin{itemize}
+  \item Étude d'un pilote incorrect.
+  \item Analyse du message d'erreur et recherche du problème dans le code
+    source.
+  \end{itemize}
+}
+
+\feagendaonecolumn
+{Cours - Support de cartes et de SoC ARM}
+{
+  \begin{itemize}
+  \item Comprendre l'organisation du code supportant la plateforme ARM
+  \item Comprendre comment le noyau peut être porté vers un nouveau
+    matériel
+  \end{itemize}
+}
+
+\section{7\textsuperscript{ème} demi-journée}
+
+\feagendaonecolumn
+{Cours - Gestion de l'énergie}
+{
+  \begin{itemize}
+  \item Vue d'ensemble des fonctionnalités de gestion d'énergie du noyau
+    Linux.
+  \item Sujets abordés : horloges, mise en veille et réveil, ajustement
+    automatique de la fréquence, économie d'énergie dans la boucle idle,
+    "runtime power management", régulateurs, etc.
+  \end{itemize}
+}
+
+\feagendaonecolumn
+{Cours - Le processus de développement du noyau Linux}
+{
+  \begin{itemize}
+  \item Organisation de la communauté du noyau Linux
+  \item Le processus de développement : versions bêta, versions stables,
+    versions long-terme, etc.
+  \item Licences et aspects légaux.
+  \item Comment soumettre des contributions de code à la communauté.
+  \item Ressources pour le développement noyau: livres, sites Internet, conférences
+  \end{itemize}
+}
+
+% If we don't put this, strangely, the page overflows !?
+\newpage
+
+\feagendatwocolumn
+{Cours - S'il reste du temps}
+{
+  \begin{itemize}
+  \item DMA
+  \item mmap
+  \item Introduction à Git
+  \end{itemize}
+}
+{Démo - S'il reste du temps}
+{
+  \begin{itemize}
+  \item Se familiariser avec git en contribuant à un vrai projet: le noyau Linux
+  \item Envoyez vos patches aux mainteneurs et aux listes de discussion.
+  \end{itemize}
+}
+
+\feagendaonecolumn
+{Questions / réponses}
+{
+  \begin{itemize}
+  \item Questions / réponses avec les participants autour du noyau Linux
+  \item Des présentations supplémentaires s'il reste du temps, selon les sujets
+	qui intéressent le plus les participants.
+  \end{itemize}
+}
+
+\end{document}
diff --git a/agenda/yocto-fr-agenda.tex b/agenda/yocto-fr-agenda.tex
index 5b7f54bd..d5829cb3 100644
--- a/agenda/yocto-fr-agenda.tex
+++ b/agenda/yocto-fr-agenda.tex
@@ -66,7 +66,7 @@ Session de 3 jours
     \newline {\bf Connaissance et pratique des commandes UNIX ou
     GNU/Linux}
     \newline Les personnes n'ayant pas ces connaissances doivent
-    s'autoformer, par exemple en utilisant nos supports de formations
+    s'autoformer, par exemple en utilisant nos supports de formation
     disponibles en ligne :
     (\url{https://bootlin.com/blog/command-line/} \\
     \hline




More information about the training-materials-updates mailing list