\documentclass[aspectratio=43,10pt]{beamer}

\usetheme{Madrid}
\usecolortheme{default}
\usefonttheme{professionalfonts}
\setbeamertemplate{navigation symbols}{}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[french]{babel}
\usepackage{lmodern}
\usepackage{microtype}

\usepackage{tikz}
\usetikzlibrary{positioning,fit,calc,arrows.meta}

\title{}
\subtitle{}
\author{}
\institute{}
\date{}

\begin{document}

\begin{frame}{Install Party Linux}
  \framesubtitle{Luminy - 18 fevrier 2026}
  \centering
      \includegraphics[width=\linewidth,height=0.34\textheight,keepaspectratio]{imgs/logo-6011e.png}
\end{frame}

\begin{frame}{Architecture d'un système d'exploitation}

  Un OS c'est :
  \begin{itemize}
    \item Un Noyau (Kernel) : Ordonnancement, gestion de la mémoire, intéraction entre les composants physiques.
    \item Des Bibliothèques (Drivers) : UN driver est UNE interface avec un composant physique. (Carte Graphique, carte réseau, imprimante, \dots)
    \item Une Interface Graphique : Comment sont agenceés et gérées les fenetres
    \item Des Application : Les logiciels à utiliser
  \end{itemize}

\end{frame}

\begin{frame}{Architecture d'un système d'exploitation}

  Un OS c'est :

  \vspace{1em}

  \centering
  \begin{tikzpicture}[
    box/.style={draw, rounded corners, align=center, minimum width=6cm, minimum height=0.9cm},
    arrow/.style={-{Latex[length=3mm,width=2mm]}, thick}
  ]
    \pause
    \node[box] at (0, 5) (Noyau) {Noyau \\ (XNU, Windows NT, Linux, BSD, \dots)};
    \pause
    \node[box] at (0, 4) (Drivers) {Drivers \\ (Carte Graphique, disques durs, carte réseau, \dots)};
    \node[box, red] at (0, 3) (Drivers) {Materiel};
    \pause
    \node[box] at (0, 6) (GUI) {GUI \\ (DWM, Quartz Compositor + WindowServer, X11 + Gnome, Wayland + Swayne)};
    \pause
    \node[box] at (0, 7) (Apps) {Applications};
  \end{tikzpicture}

\end{frame}

\begin{frame}{Architecture d'un système d'exploitation}
  
  Dans le cas de Windows, une version de windows = un package Noyau/GUI/Drivers définit et immuable + quelques applications par defaut

  \vspace{1em}

  \centering
  \begin{tikzpicture}[
    box/.style={draw, rounded corners, align=center, minimum width=6cm, minimum height=0.9cm},
    arrow/.style={-{Latex[length=3mm,width=2mm]}, thick}
  ]
    \node[box] at (0, 5) (Noyau) {Noyau \\ Windows NT};
    \node[box] at (0, 4) (Drivers) {Drivers};
    \node[box] at (0, 3) (Drivers) {Materiel};
    \node[box] at (0, 6) (GUI) {GUI \\ DWM};
    \node[box] at (0, 7) (Apps) {Applications \\ Microsoft Edge, Outlook, Skype, \dots};
  \end{tikzpicture}

  \pause

  \textcolor{red}{Une distribution Linux c'est pareil !} \\
  \pause
  Une distribution = un package Noyau/GUI/Drivers définit + quelques applications par defaut

\end{frame}

\begin{frame}{Allons un peu plus en détail - L'interface graphique}

  D'un point de vue de "à quoi ca ressemble", une distribution linux peut jouer sur 3 facteurs :
  \begin{itemize}
    \item Le serveur d'affichage (Xorg ou Weston principalement)
    \item Le gestionnaire de fenetres (flottant ou tiling)
    \item L'interface graphique (Gnome, KDE)
  \end{itemize}
  
  \begin{center}
  \resizebox{0.8\width}{!}{
    \begin{tikzpicture}[
      box/.style={draw, rounded corners, align=center, minimum width=6cm, minimum height=0.9cm},
      arrow/.style={-{Latex[length=3mm,width=2mm]}, thick}
    ]
      \node[box] at (0, 5) (Noyau) {Noyau \\ Linux};
      \node[box] at (0, 4) (Drivers) {Drivers};
      \node[box] at (0, 3) (Drivers) {Materiel};
      \node[box] at (0, 6) (GUI) {Serveur d'affichage \\ Xorg, Weston};
      \node[box] at (6, 6) (GUI) {Windows Manager \\ Compiz, KWin, Awesome, I3};
      \node[box] at (0, 7) (GUI) {Interface Graphique \\ Gnome, KDE};
      \node[box] at (0, 8) (Apps) {Applications};
    \end{tikzpicture}
    }
  \end{center}

\end{frame}

\begin{frame}{Allons un peu plus en détail - L'interface graphique}

  
  
  \begin{center}
    \begin{minipage}{0.49\textwidth}
    \centering
    \includegraphics[width=\linewidth,height=0.34\textheight,keepaspectratio]{imgs/canonical.png}
    \par\smallskip
    \small GNOME
    \end{minipage}
    \hfill
    \begin{minipage}{0.49\textwidth}
    \centering
    \includegraphics[width=\linewidth,height=0.34\textheight,keepaspectratio]{imgs/xfce.jpg}
    \par\smallskip
    \small Xfce
    \end{minipage}

    \vspace{4mm}

    \begin{minipage}{0.49\textwidth}
    \centering
    \includegraphics[width=\linewidth,height=0.34\textheight,keepaspectratio]{imgs/plasma.png}
    \par\smallskip
    \small KDE Plasma
    \end{minipage}
    \hfill
    \begin{minipage}{0.49\textwidth}
    \centering
    \includegraphics[width=\linewidth,height=0.34\textheight,keepaspectratio]{imgs/i3.png}
    \par\smallskip
    \small i3 (tiling)
    \end{minipage}
  \end{center}

\end{frame}

\begin{frame}{Allons un peu plus en détail - La gestion des paquets}
  Pour installer une applications sous windows :
  \pause
  \begin{itemize}
    \item On execute un installeur (.msi ou .exe)
    \item On execute une version "portable" (.exe)
  \end{itemize}
  \pause
  \vspace{1em}
  Sous linux c'est pareil :
  \begin{itemize}
    \item On execute un installeur (.dnf ou .deb)
    \item On execute une version portable (Snap, Appimage, Flatpak, \dots)
  \end{itemize}

  \pause
  \vspace{1em}
  Le support des format d'installer dependent des distribution. \\
  Les version portable (ou conteneurisé) sont a priori universel.
\end{frame}

\begin{frame}{Allons un peu plus en détail - La gestion des paquets}
  On distingue donc deux grandes familles (en vrai y'en a plus que ca) \\
  RPM Package Manager et dpkg.

  \pause

  \begin{center}
    \begin{tikzpicture}[
      font=\small,
      n/.style={draw, rounded corners, align=center, minimum height=8mm, inner sep=3pt},
      a/.style={-{Latex[length=3mm,width=2mm]}, thick},
      node distance=10mm and 14mm
    ]

    \node[n] (rpm) {RPM\\DNF};
    \node[n, below=5mm of rpm] (dpkg) {DPKG\\APT};

    \node[n, right=10mm of rpm] (redhat) {Red Hat};
    \node[n, right=10mm of redhat] (fedora) {Fedora};
    \node[n, right=10mm of fedora] (nobara) {Nobara};

    \node[n, right=10mm of dpkg] (debian) {Debian};
    \node[n, right=10mm of debian] (ubuntu) {Ubuntu};
    \node[n, right=10mm of ubuntu] (mint) {Linux Mint};

    \draw[a] (rpm) -- (redhat);
    \draw[a] (redhat) -- (fedora);
    \draw[a] (fedora) -- (nobara);

    \draw[a] (dpkg) -- (debian);
    \draw[a] (debian) -- (ubuntu);
    \draw[a] (ubuntu) -- (mint);

    \pause
    \node[n, below=5mm of dpkg] (tar) {tar.xx \\ PacMan};

    \node[n, right=10mm of tar] (arch) {Arch Linux};
    \node[n, right=10mm of arch] (manjaro) {Manjaro};

    \draw[a] (tar) -- (arch);
    \draw[a] (arch) -- (manjaro);

    \end{tikzpicture}
  \end{center}

\end{frame}

\begin{frame}{Allons un peu plus en détail - La gestion des paquets}
  Les grosses différences de chaque gestionnaire sont plutot philosophique :
  \begin{itemize}
    \pause
    \item APT : Image de stabilité et de grand publique. 
    \begin{itemize}
      \item + : Très stable, grosse communauté donc beaucoup de ressources dont en francais.
      \item - : Souvent plus en retard sur des versions très recentes de certains logiciels.
    \end{itemize}
    \pause

    \item DNF : Image de robustesse avec une image plus d'usage professionel
    \begin{itemize}
      \item + : Très robuste, moins de chance de casser le système même pour des configurations exotiques
      \item - : Le processus de mise à jour peut être plus lent, et plus compliqué à prendre en main que APT.
    \end{itemize}
    \pause

    \item PacMan : Minimaliste et ultra à jour.
    \begin{itemize}
      \item + : Systeme de "Rolling Release" qui permet d'avoir les mise à jour en continu.
      \item - : Necessite un plus grand travail de veille sur les mise à jour.
    \end{itemize}
  \end{itemize}

\end{frame}

\begin{frame}{Quelques autres trucs à savoir}
  \begin{itemize}
    \item /bin (binaries): Exécutables essentiels au système, utilisables par tous les utilisateurs
    \pause
    \item /boot: fichiers permettant à Linux de démarrer
    \pause
    \item /dev (device): Fichiers spéciaux représentant les point d'entrées de tous les périphériques (fichiers spéciaux des disques durs, écrans, partitions, consoles TTY, webcam, clavier, ...)
    \pause
    \item /etc (editing text config): Contient les fichiers de configuration du système et des setvices (*.conf, passwd, inittab, fstab)
    \pause
    \item /home: Répertoire personnel des utilisateurs
    \pause
    \item /mnt (mount) /media: Là où les ressources peuvent être montées de manière permanente (/media) ou temporaire (/mnt)
    \pause
    \item /root: Répertoire personnel du super utilisateur
    \pause
    \item /sbin (super binaries): Contient les programmes système essentiels utilisables par l'admin uniquement.
    \pause
    \item /tmp (temporary): Répertoire fichier temporaires
    \pause
    \item /usr (Unix System Resources): Contient des programmes, des librairies et des données utilisés par tous les utilisateurs du système
    \pause
    \item /var (variable): contient les données variables qui varient en fonction de l'utilisation du système. (logs, bdd, mails)
  \end{itemize}
\end{frame}

\begin{frame}{Comment ca s'installe}
  \begin{itemize}
    \item Faire un backup
    \item Avoir une clé usb bootable
    \item Rentrer dans la selection du disque de boot en trouvant le bon FX
    \item Tester en execution "live" que tout fonctionne bien
    \item Choisir si on veut du mono ou dual-boot
    \item Allouer ses partitions en fonction des ses usages
  \end{itemize}
\end{frame}

\end{document}
