[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
02/02: talks: Add BlueHats 2019 talk.
From: |
Ludovic Courtčs |
Subject: |
02/02: talks: Add BlueHats 2019 talk. |
Date: |
Wed, 15 Jan 2020 17:03:39 -0500 (EST) |
civodul pushed a commit to branch master
in repository maintenance.
commit 885e217618340c2e6402080e344f50825e9c9be0
Author: zimoun <address@hidden>
AuthorDate: Fri Dec 20 20:15:16 2019 +0100
talks: Add BlueHats 2019 talk.
* talks/bluehats-2019: New directory.
Signed-off-by: Ludovic Courtès <address@hidden>
---
.gitignore | 8 +
talks/bluehats-2019/images/Guix-white.pdf | 1 +
talks/bluehats-2019/images/big-picture-3.pdf | 1 +
talks/bluehats-2019/images/diderot_u-paris.png | Bin 0 -> 2260 bytes
talks/bluehats-2019/images/diderot_u-paris_bis.png | Bin 0 -> 2130 bytes
talks/bluehats-2019/images/guix-refcard.pdf | 1 +
.../images/guixhpc-logo-transparent.pdf | 1 +
.../images/software-heritage-logo-title-white.pdf | 1 +
talks/bluehats-2019/outline | 62 +++
talks/bluehats-2019/talk.20191211.pdf | Bin 0 -> 468454 bytes
talks/bluehats-2019/talk.tex | 440 +++++++++++++++++++++
11 files changed, 515 insertions(+)
diff --git a/.gitignore b/.gitignore
index 07b7f65..d290e5f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -186,3 +186,11 @@
/talks/jcad-2019/talk.snm
/talks/jcad-2019/talk.toc
/talks/jcad-2019/talk.vrb
+/talks/bluehats-2019/talk.aux
+/talks/bluehats-2019/talk.log
+/talks/bluehats-2019/talk.nav
+/talks/bluehats-2019/talk.out
+/talks/bluehats-2019/talk.pdf
+/talks/bluehats-2019/talk.snm
+/talks/bluehats-2019/talk.toc
+/talks/bluehats-2019/talk.vrb
diff --git a/talks/bluehats-2019/images/Guix-white.pdf
b/talks/bluehats-2019/images/Guix-white.pdf
new file mode 120000
index 0000000..288a029
--- /dev/null
+++ b/talks/bluehats-2019/images/Guix-white.pdf
@@ -0,0 +1 @@
+../../fosdem-2019/minimalist/images/Guix-white.pdf
\ No newline at end of file
diff --git a/talks/bluehats-2019/images/big-picture-3.pdf
b/talks/bluehats-2019/images/big-picture-3.pdf
new file mode 120000
index 0000000..b8d0c4f
--- /dev/null
+++ b/talks/bluehats-2019/images/big-picture-3.pdf
@@ -0,0 +1 @@
+../../fosdem-2018/hpc/images/big-picture-3.pdf
\ No newline at end of file
diff --git a/talks/bluehats-2019/images/diderot_u-paris.png
b/talks/bluehats-2019/images/diderot_u-paris.png
new file mode 100644
index 0000000..3eaf755
Binary files /dev/null and b/talks/bluehats-2019/images/diderot_u-paris.png
differ
diff --git a/talks/bluehats-2019/images/diderot_u-paris_bis.png
b/talks/bluehats-2019/images/diderot_u-paris_bis.png
new file mode 100644
index 0000000..841d735
Binary files /dev/null and b/talks/bluehats-2019/images/diderot_u-paris_bis.png
differ
diff --git a/talks/bluehats-2019/images/guix-refcard.pdf
b/talks/bluehats-2019/images/guix-refcard.pdf
new file mode 120000
index 0000000..560fc1a
--- /dev/null
+++ b/talks/bluehats-2019/images/guix-refcard.pdf
@@ -0,0 +1 @@
+../../fosdem-2019/minimalist/images/guix-refcard.pdf
\ No newline at end of file
diff --git a/talks/bluehats-2019/images/guixhpc-logo-transparent.pdf
b/talks/bluehats-2019/images/guixhpc-logo-transparent.pdf
new file mode 120000
index 0000000..9976a7f
--- /dev/null
+++ b/talks/bluehats-2019/images/guixhpc-logo-transparent.pdf
@@ -0,0 +1 @@
+../../fosdem-2018/hpc/images/guixhpc-logo-transparent.pdf
\ No newline at end of file
diff --git a/talks/bluehats-2019/images/software-heritage-logo-title-white.pdf
b/talks/bluehats-2019/images/software-heritage-logo-title-white.pdf
new file mode 120000
index 0000000..0c5148d
--- /dev/null
+++ b/talks/bluehats-2019/images/software-heritage-logo-title-white.pdf
@@ -0,0 +1 @@
+../../aramis-2019/images/software-heritage-logo-title-white.pdf
\ No newline at end of file
diff --git a/talks/bluehats-2019/outline b/talks/bluehats-2019/outline
new file mode 100644
index 0000000..dea487d
--- /dev/null
+++ b/talks/bluehats-2019/outline
@@ -0,0 +1,62 @@
+-*- mode: org -*-
+
+This talk was in French with a slot of 5-7 minutes, questions included. It was
+taken in a full day satellite to Paris Open Source Summit. The initiative was
+lead by Bastien Guerry from https://www.etalab.gouv.fr/. More information of
+the programme
[[https://forum.etalab.gouv.fr/t/journee-bluehats-lors-du-paris-open-source-summit-le-11-decembre-2019/4614][here]].
+
+The slot was very short and the audience very heterogeneous; especially about
+the day-to-day concerns. As an engineer working in an institute doing research
+in biology, I have tried to explain what is the Reproducible Science challenge
+in the modern age of data.
+
+In short, today a scientific result is an experiment producing data *and* a
+numerical processing. From what I am seeing, the experimental part is more or
+less well described, or let say that people in labs are aware of its importance
+because they have already several decades (even more) of collective learning.
+
+However, not enough people take care about the numerical processing. Mainly,
in
+my opinion, because we are living a scientific paradigm shift. From what I am
+seeing, more than often, it is not understood that more scientific value is in
+the numerical process than really in the data itself (or how they are
produced).
+Even if I am fully biased because computing is my job and I understand nothing
+about labs.
+
+To guarantee Reproducible Science in the modern age of data, we need to
+guarantee several items, especially:
+ 1. Open Articles
+ 2. Open Data
+ 3. Open Source
+ 4. Controlled computing environment (open, too)
+Today, initiatives have been starting, to name some, about 1.
[[http://rescience.github.io/][ReScience journal]]
+or french specific [[https://hal.archives-ouvertes.fr/][HAL]], 2.
[[https://zenodo.org/][Zenodo]] and 3.
[[https://www.softwareheritage.org/][Software Heritage]].
+
+However, what about the point 4.?
+
+To fix the ideas, let consider some examples I encounter everyday.
+ + Alice use the tool foo-1.2, bar-3.4 and baz-5.6
+ + Carole works with Alice but works for another project with the tools
foo-7.8
+ and bar-9.0
+ + Charlie upgrades their system and then nothing is working
+ + Bob uses the same versions than Alice but he hits different results
+ + Dan wants to replay the same numerical processing several months (or years)
+ later but he is not able to reinstall the same versions of the tools
because
+ the tools have been updated breaking the backward compatibility.
+With these scenarii, the idea is to spot concrete issues of the daily life of
+researchers.
+
+Each issue is fixable separately:
+ * package managers fix the dependency hell
+ * virtual environments fix the coexistence of several versions
+ * containers fix the exact same version (and the coexistence).
+But now the nightmare is to work with all these layers. Wait, Guix already
+provides all we need.
+
+Guix allows to control with a fine grain the toolchain and this control is the
+masterpiece of Reproducible Science. At in least in my opinion.
+
+The two keys are the binary transparency which allows to track what should be
+wrong and the bootstrapping which is the root ingredient of the former.
+
+Then, it is how Guix works, firstly as an end-user for each scenario and
+secondly some plumbing presented in length elsewhere (FOSDEM, etc.)
diff --git a/talks/bluehats-2019/talk.20191211.pdf
b/talks/bluehats-2019/talk.20191211.pdf
new file mode 100644
index 0000000..01dd5b6
Binary files /dev/null and b/talks/bluehats-2019/talk.20191211.pdf differ
diff --git a/talks/bluehats-2019/talk.tex b/talks/bluehats-2019/talk.tex
new file mode 100644
index 0000000..9aea272
--- /dev/null
+++ b/talks/bluehats-2019/talk.tex
@@ -0,0 +1,440 @@
+\documentclass[aspectratio=169]{beamer}
+
+\usetheme{default}
+
+\usefonttheme{structurebold}
+\usepackage{helvet}
+\usepackage{multimedia} % movie
+\usecolortheme{seagull} % white on black
+
+\usepackage[utf8]{inputenc}
+\PassOptionsToPackage{hyphens}{url}\usepackage{hyperref,xspace,multicol}
+\usepackage[absolute,overlay]{textpos}
+\usepackage{tikz}
+\usetikzlibrary{arrows,shapes,trees,shadows,positioning,
decorations.pathreplacing}
+\usepackage{fancyvrb} % for \Verb
+
+\usepackage[french]{babel}
+
+% Remember the position of every picture.
+\tikzstyle{every picture}+=[remember picture]
+
+\tikzset{onslide/.code args={<#1>#2}{%
+ \only<#1>{\pgfkeysalso{#2}} % \pgfkeysalso doesn't change the path
+}}
+
+% Colors.
+\definecolor{guixred1}{RGB}{226,0,38} % red P
+\definecolor{guixorange1}{RGB}{243,154,38} % guixorange P
+\definecolor{guixyellow}{RGB}{254,205,27} % guixyellow P
+\definecolor{guixred2}{RGB}{230,68,57} % red S
+\definecolor{guixred3}{RGB}{115,34,27} % dark red
+\definecolor{guixorange2}{RGB}{236,117,40} % guixorange S
+\definecolor{guixtaupe}{RGB}{134,113,127} % guixtaupe S
+\definecolor{guixgrey}{RGB}{91,94,111} % guixgrey S
+\definecolor{guixdarkgrey}{RGB}{46,47,55} % guixdarkgrey S
+\definecolor{guixblue1}{RGB}{38,109,131} % guixblue S
+\definecolor{guixblue2}{RGB}{10,50,80} % guixblue S
+\definecolor{guixgreen1}{RGB}{133,146,66} % guixgreen S
+\definecolor{guixgreen2}{RGB}{157,193,7} % guixgreen S
+
+\setbeamerfont{title}{size=\huge}
+\setbeamerfont{frametitle}{size=\huge}
+\setbeamerfont{normal text}{size=\Large}
+
+% White-on-black color theme.
+\setbeamercolor{structure}{fg=guixorange1,bg=black}
+\setbeamercolor{title}{fg=white,bg=black}
+\setbeamercolor{date}{fg=guixorange1,bg=black}
+\setbeamercolor{frametitle}{fg=white,bg=black}
+\setbeamercolor{titlelike}{fg=white,bg=black}
+\setbeamercolor{normal text}{fg=white,bg=black}
+\setbeamercolor{alerted text}{fg=guixyellow,bg=black}
+\setbeamercolor{section in toc}{fg=white,bg=black}
+\setbeamercolor{section in toc shaded}{fg=white,bg=black}
+\setbeamercolor{subsection in toc}{fg=guixorange1,bg=black}
+\setbeamercolor{subsection in toc shaded}{fg=white,bg=black}
+\setbeamercolor{subsubsection in toc}{fg=guixorange1,bg=black}
+\setbeamercolor{subsubsection in toc shaded}{fg=white,bg=black}
+\setbeamercolor{frametitle in toc}{fg=white,bg=black}
+\setbeamercolor{local structure}{fg=guixorange1,bg=black}
+
+\newcommand{\highlight}[1]{\alert{\textbf{#1}}}
+\newcommand{\orange}[1]{\textcolor{guixorange1}{\textbf{#1}}}
+\newcommand{\comment}[1]{\textcolor{guixgreen2}{#1}}
+\newcommand{\red}[1]{\textcolor{guixred2}{#1}}
+
+
+\title{GNU Guix: vers la reproductibilité computationnelle}
+
+\author{Simon Tournier}
+\date{BlueHats, Paris, 11 DĂ©cembre 2019}
+\institute{\texttt{address@hidden}}
+
+\setbeamertemplate{navigation symbols}{} % remove the navigation bar
+
+\AtBeginSection[]{
+ \begin{frame}
+ \frametitle{}
+ \tableofcontents[currentsection]
+ \end{frame}
+}
+
+
+\newcommand{\screenshot}[1]{
+ \begin{frame}[plain]
+ \begin{tikzpicture}[remember picture, overlay]
+ \node [at=(current page.center), inner sep=0pt]
+ {\includegraphics[width=\paperwidth]{#1}};
+ \end{tikzpicture}
+ \end{frame}
+}
+
+
+\begin{document}
+
+\begin{frame}[plain, fragile]
+ \vspace{10mm}
+ \titlepage
+
+ \vfill{}
+ Ing. Rech. Calcul Sci. \scriptsize{(+un peu adminsys)}
+
+ \normalsize
+
+ Analyses avec biologistes/médecins
+
+ \tiny{(avant)} \scriptsize{Simul. num. (fem, bem, sys. lin.)}
+ \normalsize
+ \hfill{%
+ \begin{minipage}{0.2\paperwidth}
+ \begin{tabular}{c|c}
+ \includegraphics[width=0.1\paperwidth]{images/diderot_u-paris}
+ &
+ \includegraphics[width=0.04\paperwidth]{images/diderot_u-paris_bis}
+ \end{tabular}
+ \end{minipage}
+ }
+\end{frame}
+
+
+\begin{frame}[plain]
+ \begin{center}
+ \textcolor{guixgreen1}{Résultat scientifique = expérience + traitement
numérique}
+ \end{center}
+ \begin{tabular}{cclll}
+ \orange{$\rhd$} & expérience &:& comment produire la donnée &
$\approx$décrit
+ \\
+ \orange{$\rhd$} & trait. num. &:& quels logiciels, paramètres, versions,
etc. & \alert{?}
+ \end{tabular}
+
+ \vfill{}
+
+ \begin{center}
+ \highlight{Reproductibilité scientifique à l'ére numérique :}
+ \end{center}
+
+ \begin{tabular}{cll}
+ \orange{1.} & Articles accessibles & HAL, ReScience
+ \\
+ \orange{2.} & Données ouvertes & Zenodo
+ \\
+ \orange{3.} & Code source ouvert & Forges, Software Heritage
+ \\
+ \orange{4.} & Environnement d'exécution & \alert{?}
+ \end{tabular}
+
+ \begin{center}
+ {et comment lier tout ca ?}
+ \end{center}
+
+ \vfill{}
+
+ $\left(
+ \begin{tabular}{lcl}
+ reproductibilité &=& vérification\\
+ réplicabilité &=& validation
+ \end{tabular}
+ \right)$
+
+ \vspace{-0.75cm}
+
+ \begin{flushright}
+ \href{https://scibian.org/up/201609/Software_Heritage.pdf}%
+ {\small{R. Di Cosmo@Scibian2016 (lien)}}\\
+
\href{https://aramis.resinfo.org/wiki/lib/exe/fetch.php?media=pleniaires:aramis_keynote_enjeux-et-defis-recherche-reproductible_konrad_hinsen.pdf}%
+ {\small{K. Hinsen@Aramis2019 (lien)}}
+ \end{flushright}
+\end{frame}
+
+\begin{frame}{Scenarii concrets}
+ \begin{itemize}
+ \item Alice a utilisé les outils numériques \emph{foo-1.2}, \emph{bar-3.4}
et \emph{baz-5.6}.
+ \item Carole travaille avec Alice \dots \\
+ \hfill{mais utilise aussi les versions \emph{foo-7.8}, \emph{bar-9.0}.}
+ \item Charlie a mis à jour son système et plus rien ne fonctionne.
+ \item Bob utilise les mĂŞmes versions qu'Alice \dots \\
+ \hfill{mais n'obtient pas les mêmes résultats.}
+ \item Dan veut refaire l'analyse des mois (années?) plus tard \dots\\
+ \hfill{mais rencontre le \emph{dependencies hell}\footnote{au mieux}.}
+ \end{itemize}
+ \begin{center}
+ \highlight{Solution(s)}
+ \end{center}
+
+ \vspace{-0.6cm}
+
+ \begin{tikzpicture}[decoration=brace]
+ \node[text width=0.6\paperwidth] (box)
+ {
+ \begin{enumerate}
+ \item \textbf{gestionnaire de paquets}: \texttt{apt}, \texttt{yum}, etc.
+ \item \textbf{environnement virtuel}: \texttt{conda},
\texttt{modulefiles}, etc.
+ \item \textbf{conteneur}: Docker, Singularity, etc.
+ \end{enumerate}
+ };
+ \draw [decorate] (box.north east) --node[right=10pt]{\alert{Guix}}
(box.south east);
+ \end{tikzpicture}
+
+
+
+\end{frame}
+
+
+\begin{frame}{Guix en résumé}
+ \begin{enumerate}
+ \item outil de gestion de paquets: paradigme fonctionnel et transactionnel
+ \item gestionnaire d'environnements
+ \item permet générer des conteneurs
+ \item fournit des outils (biblio. Scheme) pour adapter Ă ses propres
spécificités
+ \end{enumerate}
+
+ \vfill{}
+ \begin{center}
+ \highlight{Contrôle (fin) sur la chaîne de dépendances}
+ \end{center}
+
+ \vfill{}
+
+ \begin{tabular}{cll}
+ \alert{$\star\star$} & Reproductibilité binaire &
+ \scriptsize{(du moins permet de la tracer)}\normalsize \\
+ \alert{$\star\star$} & \emph{Bootstrap} &
+ \scriptsize{(binaire${}_{n}$ $\leftarrow$ source +
binaire${}_{n-1}$)}\normalsize
+ \end{tabular}
+\end{frame}
+
+\begin{frame}[fragile]
+ \begin{semiverbatim}
+ \small{
+ \comment{\# Alice}
+ guix \alert{install} foo@1.2 bar@3.4 baz@5.6 \comment{\# -m
manifest.scm}
+ guix \alert{describe} -f channels > \red{alice-conf.scm}
+
+ \comment{\# Carole}
+ guix install \alert{--profile}=./avec-alice foo@1.2 bar@3.4 baz@5.6
+ guix install foo@7.8 bar@9.0
+
+ \comment{\# Charlie}
+ guix package \alert{--roll-back} \comment{\#
generations}
+
+ \comment{\# Bob}
+ guix \alert{pull --channels}=\red{alice-conf.scm}
+ guix \alert{pack} -f docker ... \comment{# -f
squashfs}
+
+ \comment{\# Dan}
+ guix \alert{time-machine} -C \red{alice-conf.scm} -- install foo@1.2
bar@3.4 baz@5.6
+ }
+ \end{semiverbatim}
+\end{frame}
+
+\setbeamercolor{normal text}{fg=black,bg=white}
+\begin{frame}[fragile]
+ \vspace{2.5cm}
+ \begin{tikzpicture}[remember picture, overlay]
+ \node [at=(current page.center), inner sep=0pt, rotate=-90,
+ drop shadow={opacity=0.5}, draw, color=guixgrey, line width=1pt]
+ {\includegraphics[height=1.4\paperheight]{images/guix-refcard}};
+ \end{tikzpicture}
+\end{frame}
+\setbeamercolor{normal text}{fg=white,bg=black}
+
+\begin{frame}{DĂ©ploiement sur Clusters}
+ \large{
+ \begin{tabular}{lcrl}
+ \highlight{Max DelbrĂĽck Center} &(DE):& 250-node &+ workstations \\
+ \highlight{UMC Utrecht} &(NL):& 68-node &(1,000+ cores)\\
+ \highlight{University of Queensland} &(AU):& 20-node &(900 cores)\\
+ \highlight{PlaFRIM Inria Bordeaux} &(FR):& 120-node &(3000+ cores)\\
+ \highlight{GriCAD Grenoble} &(FR):& 72-node &(1000+ cores)\\
+ \highlight{CCIPL Nantes} &(FR):& 230-node &(4000+ cores)\\
+ \quad (le votre ?)\\
+ \end{tabular}
+ }
+ \begin{center}
+ \includegraphics[height=0.3\paperheight]{images/guixhpc-logo-transparent}
+
+ \url{https://guix-hpc.bordeaux.inria.fr}
+ \end{center}
+\end{frame}
+
+\setbeamercolor{normal text}{bg=black}
+\begin{frame}[fragile]{Survol technique}
+
+ \begin{semiverbatim}
+ \Large{
+guix build pastix \only<2>{\alert{--with-source=}./my-pastix.tar.gz}
\only<3>{\alert{--with-input=}lapack=my-lapack}
+\uncover<4->{/gnu/store/\tikz[baseline]{\node[anchor=base](nixhash){\alert<4>{h2g4sf72\textrm{...}}}}-pastix-6.0.2}
+
+\uncover<5->{{guix \alert<5>{gc --references}
/gnu/store/\textrm{...}-pastix-6.0.2}
+/gnu/store/3fa68b5\textrm{...}-glibc-2.24
+/gnu/store/bd9c330\textrm{...}-gcc-4.9.3-lib
+/gnu/store/ca175fd\textrm{...}-pastix-6.0.2
+}}
+ \end{semiverbatim}
+
+ \begin{tikzpicture}[overlay]
+ \node<1-3>(labelnixhash) [fill=white, text=black, inner sep=0.5cm,
+ rounded corners] at (current page.center) {%
+ \Large{\textbf{isolated build}: chroot, separate name spaces, etc.}
+ };
+
+ \node<4>(labelnixhash) [fill=white, text=black] at (4cm, 2cm) {%
+ hash de \textbf{toutes} les dépendances};
+ \path[->]<4>(labelnixhash.north) edge [bend left, in=180, out=-45]
(nixhash.south);
+
+ \draw<6-> (-10pt, 105pt) [very thick, color=guixorange2, rounded
corners=8pt]
+ arc (10:-50:-50pt and 110pt);
+ \node<6->[fill=white, text=black, text opacity=1, opacity=.7,
+ rounded corners=2mm, inner sep=5mm]
+ at (7, 2) {\textbf{\Large{(presque) bit-identique pour tout le monde}}};
+ \end{tikzpicture}
+
+ \begin{semiverbatim}
+ \Large{
+ }
+ \end{semiverbatim}
+
+\end{frame}
+
+
+\setbeamercolor{normal text}{bg=guixgrey}
+\begin{frame}[fragile]
+ \begin{semiverbatim}
+(define pastix
+ (\alert{package}
+ (name "pastix")
+ (home-page "https://gitlab.inria.fr/solverstack/pastix")
+ (\alert{source} (origin
+ (method git-fetch)
+ (uri (git-reference
+ (\alert{url} home-page)
+ (\alert{commit} "2f30ff07a")\tikz{\node(commit){};}
+ (recursive? #t)))
+ (sha256
+ (base32
+ "106rf402cvfdhc2yf\textrm{...}"))))
+ \textrm{...}))
+ \end{semiverbatim}
+
+ \begin{tikzpicture}[overlay]
+ \node(swh) [inner sep=3mm, rounded corners, fill=black,
+ opacity=.3, text opacity=1] at (12,5) {
+ % https://annex.softwareheritage.org/public/logo/
+
\includegraphics[width=0.33\textwidth]{images/software-heritage-logo-title-white}
+ };
+ \node [at=(current page.south), anchor=south,
+ inner sep=2mm, rounded corners, fill=black, text
width=11.75cm,
+ opacity=.3, text opacity=1] {
+
\href{https://www.softwareheritage.org/2019/04/18/software-heritage-and-gnu-guix-join-forces-to-enable-long-term-reproducibility/}%
+ {SWH and Guix join forces to enable long term
reproductibility (lien)}
+ };
+
+ \path[very thick, draw=guixorange1]
+ (swh) edge [out=-90, in=0, ->] (commit);
+ \end{tikzpicture}
+\end{frame}
+\setbeamercolor{normal text}{fg=white,bg=black}
+
+\setbeamercolor{normal text}{fg=black,bg=white}
+\begin{frame}[plain]{Dans un monde \emph{idéal}}
+ \vspace{-0.9cm}
+ \includegraphics[width=\textwidth]{images/big-picture-3}
+\end{frame}
+\setbeamercolor{normal text}{fg=white,bg=black}
+
+\begin{frame}{(Venez (partager (les (parenthèses !))))}
+ \Large{
+ \begin{itemize}
+ \item \textbf{installez}
+ \begin{center}
+
\href{https://git.savannah.gnu.org/cgit/guix.git/plain/etc/guix-install.sh}{\texttt{https://.../guix-install.sh}}
+ \end{center}
+ \vspace{0.5cm}
+ \item \textbf{utilisez}, rapportez des problèmes, empaquetez
+ \begin{center}
+ \url{https://issues.guix.gnu.org/}
+ \end{center}
+ \vspace{0.5cm}
+ \item \textbf{partagez} vos \highlight{idées} !
+ \begin{center}
+ \texttt{address@hidden}
+
+ \vspace{0.5cm}
+
+ \texttt{\#guix} \small{(irc.freenode.net)}
+ \end{center}
+ \end{itemize}
+ }
+\end{frame}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\begin{frame}[plain]
+ \vfill{
+ \vspace{1.5cm}
+ \center{\includegraphics[width=0.3\textwidth]{images/Guix-white}}\\[1.0cm]
+ \texttt{address@hidden}\hfill{\alert{\url{https://guix.gnu.org}}}
+ }
+\end{frame}
+
+\begin{frame}{}
+
+ \begin{textblock}{12}(2, 8)
+ \tiny{
+ Copyright \copyright{} 2019 Simon Tournier
\texttt{address@hidden}.\\[3.0mm]
+ GNU Guix logo, CC-BY-SA 4.0, \url{https://gnu.org/s/guix/graphics}
+
+ GNU~Guix Reference Card under GFDL~1.3+.
+
+ Copyright of other images included in this document is held by
+ their respective owners; especially from Ludovic Courtès.
+ \\[3.0mm]
+ This work is licensed under the \alert{Creative Commons
+ Attribution-Share Alike 3.0} License. To view a copy of this
+ license, visit
+ \url{http://creativecommons.org/licenses/by-sa/3.0/} or send a
+ letter to Creative Commons, 171 Second Street, Suite 300, San
+ Francisco, California, 94105, USA.
+ \\[2.0mm]
+ At your option, you may instead copy, distribute and/or modify
+ this document under the terms of the \alert{GNU Free Documentation
+ License, Version 1.3 or any later version} published by the Free
+ Software Foundation; with no Invariant Sections, no Front-Cover
+ Texts, and no Back-Cover Texts. A copy of the license is
+ available at \url{https://www.gnu.org/licenses/gfdl.html}.
+ \\[2.0mm]
+ % Give a link to the 'Transparent Copy', as per Section 3 of the GFDL.
+ The source of this document is available from
+ \url{https://git.sv.gnu.org/cgit/guix/maintenance.git}.
+ }
+ \end{textblock}
+\end{frame}
+
+\end{document}
+
+% Local Variables:
+% coding: utf-8
+% comment-start: "%"
+% comment-end: ""
+% ispell-local-dictionary: "french"
+% End: