\documentclass[a4paper]{article}

\usepackage[utf8]{inputenc}

\usepackage[francais]{babel}

\newcommand{\vtitle}[0]{Zapping informatique : présentation rapide de concepts fondamentaux}


\usepackage{anysize}

\marginsize{2cm}{2cm}{1cm}{2cm}


\sloppy


\title{\vtitle}

\author{Antoine AMARILLI}

\date{}


\usepackage{fancyhdr}

\fancypagestyle{plain}{

\fancyhf{}

\fancyhead[L]{\vtitle}

\fancyfoot[L]{AMARILLI Antoine}

\fancyfoot[R]{\thepage}

\renewcommand{\headrulewidth}{0.4pt}

\renewcommand{\footrulewidth}{0.4pt}

}

\pagestyle{plain}



\begin{document}

\maketitle



\section{Système de contrôle de versions : travail collaboratif et documents versionnés}
\label{scv}

Problème : suivi des modifications et travail collaboratif.

\begin{itemize}
\item Architecture : dépôt (à voir comme une abstraction) et copies de
  travail, commits versionnés.
\item Accès au dépôt : sur la même machine (décentralisés), par
  Internet, voire par le WWW (lien avec Wikipédia).
\item Conflits et verrous.
\item Usage disque (cheap copies, diffs).
\end{itemize}



\section{Différences entre deux fichiers et sommes de contrôle}
\label{diff}

Problème : vérifier si deux fichiers sont différents, et trouver les
différences. (Pas la taille.)

\begin{itemize}
\item Sommes de contrôle : exemple du bit de parité, lien avec la
  transmission Internet et limites. Permet une comparaison rapide.
\item Hachage cryptographique MD5 : somme non réversible. Utilisation
  pour signer (pantoufle de Cendrillon).
\item Diff.
\item Patch. (F.C.)
\item Lien avec les SCV.
\end{itemize}



\section{Cryptographie}
\label{crypto}

Problème : Internet, les e-mails, les données sur les disques, sont en
clair.

\begin{itemize}
\item Crypto symétrique : même clé pour coder et décoder.
\item Principe de la crypto asymétrique (et aspect paradoxal). Lien
  avec les nombres premiers.
\item Signature sécurisée.
\item Signature de clés et réseaux de confiance.
\end{itemize}



\section{Texte marqué et séparation forme/contenu}
\label{fc}

Problème : Difficile de mettre en page de gros documents de manière
cohérente et propre (support des équations, par exemple...).

\begin{itemize}
\item Principe du WYSIWYM et avantages (meilleur contrôle sur la mise
  en page (tout sous les yeux), ne pas interrompre la
  rédaction, pas de souris, pas besoin d'un logiciel spécifique (juste
  un bon éditeur de texte) ou d'un ordinateur puissant).
\item Divers langages : HTML, \LaTeX, etc.
\item Séparation forme-contenu (pas vraiment liée à l'aspect précédent
  mais...) : marquage sémantique et feuille de
  style. Meilleure homogénéité et permet d'avoir plusieurs feuilles de
  style (différents médias, différents styles).
\item Meilleure accessibilité.
\item \LaTeX : commandes (héritage, structure (plusieurs paramètres)),
  HTML : sélecteurs (détection de l'imbrication, "ou" logique, before
  et after (sémantique perdue, mais DTD ?)).
\end{itemize}



\section{XML, DTD et XSLT}
\label{xml}

Problème : formats de fichier incompatibles. (Exemple : HTML et \LaTeX)

\begin{itemize}
\item XML : métaformat (définit le format des formats).
\item Différents dialectes : SVG, XHTML, ODF, DocBook, le
  vôtre... Exemple : pour un cours de mathématiques.
\item Langage de description de format de document : DTD (pas XML) et
  XML Schema. Vérifie que le document est valide (suit les règles de
  formation), à différencier de ``bien formé''. Exemple : identifier
  que les éléments ``démonstration'', ``corollaire'' sont dans le désordre.
\item Langage de transformation : XSLT (lien avec les feuilles de
  style). Permet de transformer le document en autre chose. Exemple :
  page web, \LaTeX... (Lui-même du XML, comme Schema !)
\end{itemize}



\section{Scripts make et compilation}
\label{make}

Problème : Comment gérer plusieurs formats d'un même document de
manière intelligente ?

\begin{itemize}
\item Gérer les sources en un seul exemplaire et décrire comment les
  transformer en différents formats compilés. (Pas de copier-coller !)
\item Gestion de cibles.
\item Dépendances.
\item Règles d'inférence.
\item Lien avec bitmap vs. vectoriel.
\end{itemize}



\section{Système de gestion de paquets : dépendances et
  automatisation}
\label{pack}

Problème : Il est long d'installer beaucoup de logiciels.

\begin{itemize}
\item Dépôts de paquets centralisés (rien à voir avec les
  SCV). Téléchargement et installation automatisés.
\item Permet la mise à jour automatique.
\item Gestion des dépendances (pour les bibliothèques notamment).
\item Permet une sauvegarde facile de la liste des applications
  installées. Réplication sur un réseau.
\end{itemize}



\section{Répertoire utilisateur et droits d'accès}
\label{home}

Problème : Les données des utilisateurs ne sont pas regroupées et
certaines sont partagées (exemple pour Windows, backup).

\begin{itemize}
\item Il suffit de les centraliser dans un répertoire pour
  chacun. Interdiction aux applications d'écrire ailleurs : chacun a
  ses paramètres. (Schéma.)
\item Comment installer de nouvelles applications ? Droits
  d'administration. Permet une meilleure sécurité (un utilisateur ne
  peut pas mettre en danger les autres).
\item Gestion plus fine des droits de chacun : système de permissions.
\end{itemize}



\section{Bases de sécurité informatique}
\label{secu}

Problème : Les ordinateurs ne sont pas sécurisés.

\begin{itemize}
\item Aspect déterministe de la sécurité (par opposition aux idées préconçues) : un programme obéit à son code (sur un matériel parfait, pas de sécurité matérielle).
\item Description haut niveau du programme. Conflit avec le comportement du programme (avec le code) si auteur malicieux, bug ou faille de sécurité.
\item Sécurité par l'obscurité ? Cas limite : pas besoin de cacher le code s'il n'y a pas de bogues.
\item Attaques sur un système : confidentialité (keyloggers, spyware), intégrité (destruction ou falsification : bulletins), ou disponibilité (stockage, vers qui se répliquent, botnets et backdoors). Attaques dues à un programme, éventuellement avec intervention humaine synchronisée (cracking).
\item Compartimentation : l'OS a tous les droits, les programmes-fils ont des droits plus petits ou égaux, gestion des accès à différents types de ressource (bande passante, mémoire disque, puissance de calcul). Pour accéder à des données : élévation des privilèges. Nécessité de cloisonner par rapport à la description haut niveau. Ce qui se passe quand on exécute un virus.
\item Authentification (mots de passe et autres), social engineering, shoulder surfing (exemple).
\item Antivirus : base de signatures de programmes malveillants (mais définition ? [RJL software], collisions ? pas exhaustif), analyse heuristique (en fait gestion des droits palliant un manque de l'OS ou de l'utilisateur [mais bonne idée de surveiller les couches-filles), et corrige l'OS (pas son boulot : et s'il se fait compromettre).
\item Pare-feu : gestion des accès réseaux (entrants et sortants).
\item Conclusion : antivirus et pare-feu sont en fait une gestion des droits des programmes (et utilisateurs).
\end{itemize}



\section{SSH}
\label{ssh}

Problème : On veut pouvoir accéder à son ordinateur à distance.

\begin{itemize}
\item La console est une interface moins gourmande en ressources.
\item SSH permet d'ouvrir une session à distance. (Pas un outil de
  cracker en soi !)
\item Cryptage.
\item Administration de serveurs à distance.
\item Idée de tunnels, sur connexion non sécurisée (exemple).
\end{itemize}



\section*{Conclusion}

\begin{itemize}
\item Espère que ce fut enrichissant.
\item Questions (s'il y a le temps) ou renvoi au repas de classe.
\end{itemize}


\section*{Ordre de passage}

\subsection*{Groupe 1}

\begin{enumerate}
\item --- \ref{fc} [10 min]
\item --- \ref{scv} [10 min]
\item --- \ref{diff} [10 min]
\item --- \ref{crypto} [5 min]
\item --- \ref{secu} [5 min]
\item --- \ref{ssh} [5 min]
\end{enumerate}

\subsection*{Groupe 2}

\begin{enumerate}
\item --- \ref{pack} [5 min]
\item --- \ref{home} [5 min]
\item --- \ref{secu} [10 min]
\item --- \ref{fc} [10 min]
\item --- \ref{xml} [7 min]
\item --- \ref{make} [7 min]
\end{enumerate}

\end{document}
