diff --git a/content/commun/questions.tex b/content/commun/questions.tex new file mode 100644 index 0000000..80624c4 --- /dev/null +++ b/content/commun/questions.tex @@ -0,0 +1,5 @@ +\begin{frame} +\begin{exampleblock}{} +Des questions ? +\end{exampleblock} +\end{frame} diff --git a/content/licences/license-cc-by-sa-2.0.tex b/content/licences/license-cc-by-sa-2.0.tex new file mode 100644 index 0000000..a2a59b7 --- /dev/null +++ b/content/licences/license-cc-by-sa-2.0.tex @@ -0,0 +1,11 @@ +\section{Licence} + Cette œuvre est mise à disposition sous licence \href{http://creativecommons.org/licenses/by-nc-sa/2.0/fr/}{\textsc{cc-by-sa-2.0}} + \begin{itemize} + \item Attribution + \item Partage dans les Mêmes Conditions 2.0 + \item France + \end{itemize} + Pour voir une copie de cette licence, visitez + \href{http://creativecommons.org/licenses/by-sa/2.0/fr/}{http://creativecommons.org/licenses/by-sa/2.0/fr/} + ou écrivez à Creative Commons, 444 Castro Street, Suite 900, + Mountain View, California, 94041, USA. diff --git a/content/modules_eole_envole/scribe/annuaire.tex b/content/modules_eole_envole/scribe/annuaire.tex new file mode 100644 index 0000000..6a3e4fd --- /dev/null +++ b/content/modules_eole_envole/scribe/annuaire.tex @@ -0,0 +1,18 @@ +\skbheading{L’annuaire de module Scribe} +L’annuaire du module Scribe est opéré à l’aide du logiciel OpenLDAP. +Les schémas mis en place sont définis selon les règles métiers de l’Éducation nationale. +Les schémas mis en place sont les suivants : +\begin{itemize} +\item core.schema +\item cosine.schema +\item inetorgperson.schema +\item nis.schema +\item samba.schema +\item eole.schema +\item eoleshare.schema +\item radius.schema +\item ent.schema +\end{itemize} + +Les schémas \emph{core.schema}, \emph{cosine.schema} et \emph{nis.schema} sont des schémas classiques pour les annuaires décrivant des personnes. +Les autres schémas, placés dans le sous-répertoire \emph{eole}, décrivent les objets nécessaires pour Samba (\emph{samba.schema}), les objets précisant les types de personnes (\emph{eole.schema}) et les partages (\emph{eoleshare.schema}), les attributs pour l’utilisation de Radius (\emph{radius.schema}) et, enfin, les objets et attributs pour l’implémentation du schéma directeur des espaces numériques de travail (\emph{ent.schema}). diff --git a/content/modules_eole_envole/scribe/annuaire/objets.tex b/content/modules_eole_envole/scribe/annuaire/objets.tex new file mode 100644 index 0000000..d329f61 --- /dev/null +++ b/content/modules_eole_envole/scribe/annuaire/objets.tex @@ -0,0 +1,33 @@ +\skbheading{Les classes d’objets métiers de l’annuaire du module Scribe} +Les classe d’objets métiers de l’annuaire du module Scribe sont celles décrites dans les schémas de plus haut niveau. +Ces classes d’objets décrivent des utilisateurs, des groupes d’utilisateurs et des ressources comme les partages. +Plusieurs classes d’objets peuvent être utilisées conjointement pour préciser le type de la ressource décrite : les classes d’objects sont complémentaires et ne sont pas organisées de manière hiérarchique. +Les classes dont le nom débute par \emph{ENT} sont issues du schéma directeur des espaces numériques de travail. + +Les classes d’objets susceptibles d’être utilisées pour les personnes sont les suivantes : +\begin{itemize} +\item Eleves +\item administrateur +\item responsable +\item administratif +\item ENTPerson +\item ENTEleve +\item ENTAuxPersRelEleve +\item ENTAuxEnseignant +\item ENTAuxNonEnsServAc +\item ENTAuxNonEnsCollLoc +\item ENTAuxNonEnsEtab +\item ENTAuxPersExt +\item ENTAuxTuteurStage +\item ENTAuxRespEntrp +\item eolemail +\item autre +\end{itemize} + +Les classes d’objets susceptibles d’être utilisées pour les groupes sont les suivantes : +\begin{itemize} +\item eolegroupe +\item classe +\item ENTGroupe +\item ENTClasse +\end{itemize} diff --git a/content/modules_eole_envole/scribe/annuaire/objets/administratif.tex b/content/modules_eole_envole/scribe/annuaire/objets/administratif.tex new file mode 100644 index 0000000..a73d64a --- /dev/null +++ b/content/modules_eole_envole/scribe/annuaire/objets/administratif.tex @@ -0,0 +1,79 @@ +\skbheading{La fiche du personnel administratif dans l’annuaire du module Scribe} +Le personnel administratif, dans l’annuaire du module Scribe, est la conjonction de plusieurs classes d’objets : +\begin{itemize} +\item top +\item person +\item organizationalPerson +\item posixAccount +\item shadowAccount +\item inetOrgPerson +\item sambaSamAccount +\item administratif +\item ENTPerson +\item ENTAuxNonEnsEtab +\item radiusprofile +\end{itemize} + +La partie métier est portée par les classes \emph{administratif}, \emph{ENTPerson} et \emph{ENTAuxNonEnsEtab}. +Les attributs susceptibles d’être associés à un personnel administratif sont les suivants : +\begin{itemize} +\item les attributs issus de la classe administratif : +\begin{itemize} +\item dont les attributs obligatoires : +\begin{itemize} + \item typeadmin + \item codecivilite +\end{itemize} +\item et les attributs optionnels : +\begin{itemize} + \item dateNaissance + \item mailDir + \item mailHost + \item intid + \item FederationKey + \item Divcod + \item ManagedGroup + \item LastUpdate + \item mailAlternateAddress +\end{itemize} +\end{itemize} + +\item les attributs issus de la classe ENTPerson : +\begin{itemize} +\item dont les attributs obligatoires : +\begin{itemize} +\item ENTPersonLogin +\item ENTPersonJointure +\end{itemize} +\item et les attributs optionnels : +\begin{itemize} +\item ENTPersonAutresPrenoms +\item ENTPersonNomPatro +\item ENTPersonSexe +\item ENTPersonCentresInteret +\item ENTPersonAdresse +\item ENTPersonCodePostal +\item ENTPersonVille +\item ENTPersonPays +\item ENTPersonAlias +\item ENTPersonStructRattach +\item ENTPersonFonctions +\item ENTPersonProfils +\item ENTPersonDateNaissance +\item personalTitle +\end{itemize} +\end{itemize} + +\item les attributs issus de la classe ENTAuxNonEnsEtab : +\begin{itemize} +\item dont les attributs obligatoires : +\begin{itemize} +\item aucun attribut obligatoire +\end{itemize} +\item et les attributs optionnels : +\begin{itemize} + \item ENTAuxNonEnsEtabService +\end{itemize} +\end{itemize} +\end{itemize} + diff --git a/content/modules_eole_envole/scribe/annuaire/objets/eleve.tex b/content/modules_eole_envole/scribe/annuaire/objets/eleve.tex new file mode 100644 index 0000000..e0715c7 --- /dev/null +++ b/content/modules_eole_envole/scribe/annuaire/objets/eleve.tex @@ -0,0 +1,97 @@ +\skbheading{La fiche de l’élève dans l’annuaire du module Scribe} +L’élève, dans l’annuaire du module Scribe, est la conjonction de plusieurs classes d’objets : +\begin{itemize} +\item top +\item person +\item organizationalPerson +\item posixAccount +\item shadowAccount +\item inetOrgPerson +\item sambaSamAccount +\item Eleves +\item ENTPerson +\item ENTEleve +\item radiusprofile +\end{itemize} + +La partie métier est portée par les classes \emph{Eleves} et \emph{ENTEleve}. +Les attributs susceptibles d’être associés à un élève sont les suivants : +\begin{itemize} +\item les attributs issus de la classe Eleves : +\begin{itemize} +\item dont les attributs obligatoires : +\begin{itemize} +\item givenName +\item codecivilite +\item mail +\item mailHost +\item userPassword +\item employeeNumber +\item dateNaissance +\item Meflcf +\item Divcod +\item uid +\end{itemize} +\item et les attributs optionnels : +\begin{itemize} +\item mailDir +\item telephoneNumber +\item mailForwardingAddress +\item mailAlternateAddress +\item textelibre +\item photo +\item diffusion +\item dermaj +\item Meflcm +\item Divcodmso +\item mailparent +\item FederationKey +\item Ine +\item postalAddress +\item rne +\item LastUpdate +\item intid +\end{itemize} +\end{itemize} +\item les attributs issus de la classe ENTEleve : +\begin{itemize} +\item dont les attributs obligatoires : +\begin{itemize} +\item ENTEleveStatutEleve +\item ENTEleveMEF +\item ENTEleveLibelleMEF +\item ENTEleveNivFormation +\item ENTEleveFiliere +\item ENTEleveEnseignements +\item ENTEleveClasses +\item ENTEleveMajeur +\end{itemize} +\item et les attributs optionnels : +\begin{itemize} +\item ENTEleveVilleNaissance +\item ENTEleveDeptNaissance +\item ENTElevePaysNaissance +\item ENTEleveParents +\item ENTEleveAutoriteParentale +\item ENTElevePersRelEleve1 +\item ENTEleveQualitePersRelEleve1 +\item ENTElevePersRelEleve2 +\item ENTEleveQualitePersRelEleve2 +\item ENTEleveBoursier +\item ENTEleveRegime +\item ENTEleveTransport +\item ENTEleveMEFRattach +\item ENTEleveNivFormationDiplome +\item ENTEleveSpecialite +\item ENTEleveGroupes +\item ENTEleveEnsRespStage +\item ENTEleveEnsTutStage +\item ENTEleveEntrTutStage +\item ENTEleveEntrAutres +\item ENTEleveDelegClasse +\item ENTEleveDelegAutres +\item ENTEleveMajeurAnticipe +\item ENTEleveStructRattachId +\end{itemize} +\end{itemize} +\end{itemize} diff --git a/content/modules_eole_envole/scribe/annuaire/objets/enseignant.tex b/content/modules_eole_envole/scribe/annuaire/objets/enseignant.tex new file mode 100644 index 0000000..fa18123 --- /dev/null +++ b/content/modules_eole_envole/scribe/annuaire/objets/enseignant.tex @@ -0,0 +1,89 @@ +\skbheading{La fiche de l’enseignant dans l’annuaire du module Scribe} +L’enseignant, dans l’annuaire du module Scribe, est la conjonction de plusieurs classes d’objets : +\begin{itemize} +\item top +\item person +\item organizationalPerson +\item posixAccount +\item shadowAccount +\item inetOrgPerson +\item sambaSamAccount +\item administrateur +\item ENTPerson +\item ENTAuxEnseignant +\item radiusprofile +\end{itemize} + +La partie métier est portée par les classes \emph{administrateur}, \emph{ENTPerson} et \emph{ENTAuxEnseignant}. +Les attributs susceptibles d’être associés à un enseignant sont les suivants : + +\begin{itemize} +\item les attributs issus de la classe administrateur : +\begin{itemize} +\item dont les attributs obligatoires : +\begin{itemize} +\item typeadmin +\item codecivilite +\end{itemize} +\item et les attributs optionnels : +\begin{itemize} +\item dateNaissance +\item mailDir +\item mailHost +\item mailForwardingAddress +\item mailAlternateAddress +\item Meflcf +\item Divcod +\item FederationKey +\item ManagedGroup +\item LastUpdate +\item intid +\end{itemize} +\end{itemize} + +\item les attributs issus de la classe ENTPerson : +\begin{itemize} +\item dont les attributs obligatoires : +\begin{itemize} +\item ENTPersonLogin +\item ENTPersonJointure +\end{itemize} +\item et les attributs optionnels : +\begin{itemize} +\item ENTPersonAutresPrenoms +\item ENTPersonNomPatro +\item ENTPersonSexe +\item ENTPersonCentresInteret +\item ENTPersonAdresse +\item ENTPersonCodePostal +\item ENTPersonVille +\item ENTPersonPays +\item ENTPersonAlias +\item ENTPersonStructRattach +\item ENTPersonFonctions +\item ENTPersonProfils +\item ENTPersonDateNaissance +\item personalTitle +\end{itemize} +\end{itemize} + +\item les attributs issus de la classe ENTAuxEnseignant : +\begin{itemize} +\item dont les attributs obligatoires : +\begin{itemize} +\item aucun attribut obligatoire +\end{itemize} +\item et les attributs optionnels : +\begin{itemize} +\item ENTAuxsEnsMEF +\item ENTAuxEnsCategoDiscipline +\item ENTAuxEnsMatiereEnseignEtab +\item ENTAuxEnsClasses +\item ENTAuxEnsGroupes +\item ENTAuxEnsClassePrincipal +\item ENTAuxEnsRespStage +\item ENTAuxEnsTutStage +\end{itemize} +\end{itemize} +\end{itemize} + diff --git a/content/modules_eole_envole/scribe/annuaire/objets/responsable.tex b/content/modules_eole_envole/scribe/annuaire/objets/responsable.tex new file mode 100644 index 0000000..5c9d9c2 --- /dev/null +++ b/content/modules_eole_envole/scribe/annuaire/objets/responsable.tex @@ -0,0 +1,73 @@ +\skbheading{La fiche du responsable d’élève dans l’annuaire du module Scribe} +Le responsable d’élève, dans l’annuaire du module Scribe, est la conjonction de plusieurs classes d’objets : +\begin{itemize} + \item inetOrgPerson + \item responsable + \item ENTPerson + \item ENTAuxPersRelEleve +\end{itemize} + +La partie métier est portée par les classes \emph{responsable}, \emph{ENTPerson} et \emph{ENTAuxPersRelEleve}. +Les attributs susceptibles d’être associés à un responsable d’élève sont les suivants : +\begin{itemize} +\item les attributs issus de la classe responsable  : +\begin{itemize} +\item dont les attributs obligatoires : +\begin{itemize} +\item aucun attribut obligatoire +\end{itemize} +\item et les attributs optionnels : +\begin{itemize} + \item mailDir + \item mailHost + \item sambaLMPassword + \item sambaNTPassword + \item codecivilite + \item LastUpdate + \item gecos + \item eleve + \item intid + \item dateNaissance + \item mailPerso +\end{itemize} +\end{itemize} +\item les attributs issus de la classe ENTPerson : +\begin{itemize} +\item dont les attributs obligatoires : +\begin{itemize} +\item ENTPersonLogin +\item ENTPersonJointure +\end{itemize} +\item et les attributs optionnels : +\begin{itemize} +\item ENTPersonAutresPrenoms +\item ENTPersonNomPatro +\item ENTPersonSexe +\item ENTPersonCentresInteret +\item ENTPersonAdresse +\item ENTPersonCodePostal +\item ENTPersonVille +\item ENTPersonPays +\item ENTPersonAlias +\item ENTPersonStructRattach +\item ENTPersonFonctions +\item ENTPersonProfils +\item ENTPersonDateNaissance +\item personalTitle +\end{itemize} +\end{itemize} + + +\item les attributs issus de la classe ENTAuxPersRelEleve : +\begin{itemize} +\item dont les attributs obligatoires : +\begin{itemize} +\item ENTAuxPersRelEleveEleve +\end{itemize} +\item et les attributs optionnels : +\begin{itemize} + \item ENTAuxPersRelEleveRepresentant +\end{itemize} +\end{itemize} +\end{itemize} + diff --git a/content/modules_eole_envole/scribe/annuaire/schemas.tex b/content/modules_eole_envole/scribe/annuaire/schemas.tex new file mode 100644 index 0000000..9c6729f --- /dev/null +++ b/content/modules_eole_envole/scribe/annuaire/schemas.tex @@ -0,0 +1,2 @@ +\skbheading{schemas.tex} +fichier content/modules\_eole\_envole/scribe/annuaire/schemas.tex à éditer \ No newline at end of file diff --git a/content/modules_eole_envole/scribe/backend.tex b/content/modules_eole_envole/scribe/backend.tex new file mode 100644 index 0000000..614a8d4 --- /dev/null +++ b/content/modules_eole_envole/scribe/backend.tex @@ -0,0 +1,29 @@ +\skbheading{Les outils du backend Scribe} +Le module Scribe amène des scripts pour la gestion des utilisateurs et des fonctions liées. +Ces fonctions utilisent les mêmes bibliothèques que l’EAD2 pour la gestion des utilisateurs et groupes et sont donc une façon équivalente de manipuler l’annuaire. + +La liste des scripts disponibles est la suivante : +\begin{itemize} +\item ajout\_partage.py +\item change-classe.py +\item config-controle-vnc.py +\item creation-administratif.py +\item creation-eleve.py +\item creation-groupe.py +\item creation-prof.py +\item desinscription.py +\item droits\_partage.sh +\item droits\_user.py +\item inscription.py +\item mailsync.py +\item maj\_regle\_esu.sh +\item manage\_special\_shares.py +\item migre-domaine-messagerie.sh +\item modifie\_profil.py +\item regenalias.sh +\item regen\_maillist.py +\item suppression\_groupe.py +\item suppression\_utilisateur.py +\item zenity\_console.py +\end{itemize} + diff --git a/content/modules_eole_envole/scribe/backend/creation-administratif.tex b/content/modules_eole_envole/scribe/backend/creation-administratif.tex new file mode 100644 index 0000000..60a8e45 --- /dev/null +++ b/content/modules_eole_envole/scribe/backend/creation-administratif.tex @@ -0,0 +1,2 @@ +\skbheading{creation-administratif.tex} +fichier content/modules\_eole\_envole/scribe/backend/creation-administratif.tex à éditer \ No newline at end of file diff --git a/content/modules_eole_envole/scribe/backend/creation-eleve.tex b/content/modules_eole_envole/scribe/backend/creation-eleve.tex new file mode 100644 index 0000000..fd6b2e7 --- /dev/null +++ b/content/modules_eole_envole/scribe/backend/creation-eleve.tex @@ -0,0 +1,28 @@ +\skbheading{creation-eleve.py} +Le script \emph{creation-eleve.py} est utilisé pour créer un nouvel utilisateur du type élève dans l’annuaire du module Scribe. +La fiche d’un élève dans l’annuaire du scribe contient obligatoirement : +\begin{itemize} +\item un identifiant de connexion ; +\item la classe de rattachement ; +\item un mot de passe ; +\item le prénom de l’élève ; +\item le nom de famille de l’élève ; +\item la date de naissance de l’élève ; +\item le numéro de l’élève ; +\item la civilité de l’élève. +\end{itemize} +En complément, il est possible de renseigner les éléments suivants : +\begin{itemize} +\item le niveau de l’élève ; +\item le type de domaine pour le courriel de l’élève ; +\item un quota disque à assigner à l’élève ; +\item le type de profil pour l’utilisation d’un poste client Windows ; +\item l’activation du shell pour permettre la connexion sur un poste client GNU/Linux. +\end{itemize} + +\begin{description} +\item[emplacement] /usr/share/eole/backend +\item[aide] creation-eleve.py +\end{description} + + diff --git a/content/modules_eole_envole/scribe/backend/creation-groupe.tex b/content/modules_eole_envole/scribe/backend/creation-groupe.tex new file mode 100644 index 0000000..1695aa5 --- /dev/null +++ b/content/modules_eole_envole/scribe/backend/creation-groupe.tex @@ -0,0 +1,2 @@ +\skbheading{creation-groupe.tex} +fichier content/modules\_eole\_envole/scribe/backend/creation-groupe.tex à éditer \ No newline at end of file diff --git a/content/modules_eole_envole/scribe/backend/creation-prof.tex b/content/modules_eole_envole/scribe/backend/creation-prof.tex new file mode 100644 index 0000000..8d63027 --- /dev/null +++ b/content/modules_eole_envole/scribe/backend/creation-prof.tex @@ -0,0 +1,2 @@ +\skbheading{creation-prof.tex} +fichier content/modules\_eole\_envole/scribe/backend/creation-prof.tex à éditer \ No newline at end of file diff --git a/content/outils/scm/definition.tex b/content/outils/scm/definition.tex new file mode 100644 index 0000000..10f963d --- /dev/null +++ b/content/outils/scm/definition.tex @@ -0,0 +1,9 @@ +\begin{frame} +\frametitle{Source Code Management} +\begin{description} + \item[SCM] Système de gestion du code source +\end{description} +\begin{exampleblock}{} +Outil permettant le développement de code informatique en conservant les étapes de création. +\end{exampleblock} +\end{frame} diff --git a/content/outils/scm/fonctionnalites_attendues.tex b/content/outils/scm/fonctionnalites_attendues.tex new file mode 100644 index 0000000..89f9a53 --- /dev/null +++ b/content/outils/scm/fonctionnalites_attendues.tex @@ -0,0 +1,11 @@ +\begin{frame} +\frametitle{Fonctionnalités d'un SCM} +\framesubtitle{Que peut faire un SCM pour vous ?} +Avec un SCM : +\begin{itemize} + \item produisez des bugs en toute quiétude + \item déterminez qui est responsable du bug bloquant + \item corrigez facilement ce bug + \item identifiez cet état du code comme stable +\end{itemize} +\end{frame} diff --git a/content/outils/scm/git/commandes.tex b/content/outils/scm/git/commandes.tex new file mode 100644 index 0000000..762a027 --- /dev/null +++ b/content/outils/scm/git/commandes.tex @@ -0,0 +1,47 @@ +\begin{frame} + \frametitle{Commandes git} + \framesubtitle{Récapitulatif} + \tiny{ + \begin{columns} + \begin{column}{.3\textwidth} + Faire le point : + \begin{itemize} + \item status + \item ls-files + \item diff + \item log + \item grep + \item cherry + \item show + \item bisect + \item blame + \end{itemize} + \end{column} + \begin{column}{.3\textwidth} + Modifier le contenu : + \begin{itemize} + \item checkout + \item pull + \item fetch + \item merge + \item rebase + \item add + \item reset + \item clean + \item commit + \item cherry-pick + \item revert + \item push + \item filter-branch + \end{itemize} + \end{column} + \begin{column}{.3\textwidth} + Organiser le développement : + \begin{itemize} + \item branch + \item tag + \end{itemize} + \end{column} + \end{columns} + } +\end{frame} diff --git a/content/outils/scm/git/commandes/add.tex b/content/outils/scm/git/commandes/add.tex new file mode 100644 index 0000000..02e4c1b --- /dev/null +++ b/content/outils/scm/git/commandes/add.tex @@ -0,0 +1,14 @@ +\begin{frame} + \frametitle{Commandes git} + \framesubtitle{add} + \begin{description} + \item[\commande{git add}] Ajouter le contenu d'un fichier à l'index. + \end{description} + \skbinput[from=fig]{apps/git_commande_add} + \begin{exampleblock}{Options à retenir} + \begin{description} + \item[\commande{-u}] ajout des modifications des fichiers déjà connus de git + \item[\commande{-i}] ajout interactif + \end{description} + \end{exampleblock} +\end{frame} diff --git a/content/outils/scm/git/commandes/bisect.tex b/content/outils/scm/git/commandes/bisect.tex new file mode 100644 index 0000000..59bf1e4 --- /dev/null +++ b/content/outils/scm/git/commandes/bisect.tex @@ -0,0 +1,7 @@ +\begin{frame} + \frametitle{Commandes git} + \framesubtitle{bisect} + \begin{description} + \item[\commande{git bisect start}] Démarrer une session de recherche du commit problématique par division binaire + \end{description} +\end{frame} diff --git a/content/outils/scm/git/commandes/blame.tex b/content/outils/scm/git/commandes/blame.tex new file mode 100644 index 0000000..372f93a --- /dev/null +++ b/content/outils/scm/git/commandes/blame.tex @@ -0,0 +1,7 @@ +\begin{frame} + \frametitle{Commandes git} + \framesubtitle{blame} + \begin{description} + \item[\commande{git blame}] Afficher l'auteur et la référence de la dernière modification pour chaque ligne d'un fichier + \end{description} +\end{frame} diff --git a/content/outils/scm/git/commandes/branch.tex b/content/outils/scm/git/commandes/branch.tex new file mode 100644 index 0000000..6376131 --- /dev/null +++ b/content/outils/scm/git/commandes/branch.tex @@ -0,0 +1,14 @@ +\begin{frame} + \frametitle{Commandes git} + \framesubtitle{branch} + \begin{description} + \item[git branch] Gérer les branches + \end{description} + + \begin{exampleblock}{Options à retenir} + \begin{description} + \item[\commande{--list}] Lister les branches (\commande{-a} les branches locales et distantes, \commande{-r} les branches distantes uniquement) + \item[\commande{-d}] Supprimer une branche + \end{description} + \end{exampleblock} +\end{frame} diff --git a/content/outils/scm/git/commandes/branch/track.tex b/content/outils/scm/git/commandes/branch/track.tex new file mode 100644 index 0000000..e69de29 diff --git a/content/outils/scm/git/commandes/checkout.tex b/content/outils/scm/git/commandes/checkout.tex new file mode 100644 index 0000000..a2cc433 --- /dev/null +++ b/content/outils/scm/git/commandes/checkout.tex @@ -0,0 +1,14 @@ +\begin{frame} + \frametitle{Commandes git} + \framesubtitle{checkout} + \begin{description} + \item[\commande{git checkout}] Synchroniser le répertoire de travail avec une version + \end{description} + \skbinput[from=fig]{apps/git_commande_checkout} + \begin{exampleblock}{Options à retenir} + \begin{description} + \item[\commande{-b}] Créer une nouvelle branche et déplacer HEAD dessus + \item[\commande{--ours --theirs}] Conserver des modifications explicitement + \end{description} + \end{exampleblock} +\end{frame} diff --git a/content/outils/scm/git/commandes/cherry-pick.tex b/content/outils/scm/git/commandes/cherry-pick.tex new file mode 100644 index 0000000..566455b --- /dev/null +++ b/content/outils/scm/git/commandes/cherry-pick.tex @@ -0,0 +1,12 @@ +\begin{frame} + \frametitle{Commandes git} + \framesubtitle{cherry-pick} + \begin{description} + \item[\commande{git cherry-pick}] Appliquer les changements introduits dans un commit donné + \end{description} + \begin{exampleblock}{Options à retenir} + \begin{description} + \item[\commande{--abort}] Interrompre le processus + \end{description} + \end{exampleblock} +\end{frame} diff --git a/content/outils/scm/git/commandes/cherry.tex b/content/outils/scm/git/commandes/cherry.tex new file mode 100644 index 0000000..8980fbb --- /dev/null +++ b/content/outils/scm/git/commandes/cherry.tex @@ -0,0 +1,7 @@ +\begin{frame} + \frametitle{Commandes git} + \framesubtitle{cherry} + \begin{description} + \item[\commande{git cherry}] Trouver les commit qui ne sont pas encore appliqués dans le dépôt distant + \end{description} +\end{frame} diff --git a/content/outils/scm/git/commandes/clean.tex b/content/outils/scm/git/commandes/clean.tex new file mode 100644 index 0000000..40d2c0c --- /dev/null +++ b/content/outils/scm/git/commandes/clean.tex @@ -0,0 +1,13 @@ +\begin{frame} + \frametitle{Commandes git} + \framesubtitle{clean} + \begin{description} + \item[\commande{git clean}] Supprime les fichiers non suivis du répertoire de travail + \end{description} + \begin{exampleblock}{Options à retenir} + \begin{description} + \item[\commande{-xdf}] Combinaison pour supprimer du répertoire de travail les dossiers et fichiers non suivis + \end{description} + \end{exampleblock} + % contenu (pas trop long) de la diapositive +\end{frame} diff --git a/content/outils/scm/git/commandes/clone.tex b/content/outils/scm/git/commandes/clone.tex new file mode 100644 index 0000000..e860fec --- /dev/null +++ b/content/outils/scm/git/commandes/clone.tex @@ -0,0 +1,8 @@ +\begin{frame} + \frametitle{Commandes git} + \framesubtitle{clone} + \begin{description} + \item[\commande{git clone }] Récupérer un dépôt git depuis une source distante + \end{description} + % contenu (pas trop long) de la diapositive +\end{frame} diff --git a/content/outils/scm/git/commandes/commit.tex b/content/outils/scm/git/commandes/commit.tex new file mode 100644 index 0000000..31ac682 --- /dev/null +++ b/content/outils/scm/git/commandes/commit.tex @@ -0,0 +1,15 @@ +\begin{frame} + \frametitle{Commandes git} + \framesubtitle{commit} + \begin{description} + \item[\commande{git commit}] Créer un commit à partir du contenu de l'index + \end{description} + \skbinput[from=fig]{apps/git_commande_commit} + \begin{exampleblock}{Options à retenir} + \begin{description} + \item[\commande{-a}] Court-circuiter l'index en intégrant au commit les modifications des fichiers suivis dans le répertoire de travail + \item[\commande{--amend}] Modifier le dernier commit + \end{description} + \end{exampleblock} + % contenu (pas trop long) de la diapositive +\end{frame} diff --git a/content/outils/scm/git/commandes/diff.tex b/content/outils/scm/git/commandes/diff.tex new file mode 100644 index 0000000..34259b0 --- /dev/null +++ b/content/outils/scm/git/commandes/diff.tex @@ -0,0 +1,8 @@ +\begin{frame} + \frametitle{Commandes git} + \framesubtitle{diff} + \begin{description} + \item[\commande{git diff}] Afficher la différence entre deux états (entre le répertoire de travail ou l'index et la branche par exemple) + \end{description} + % contenu (pas trop long) de la diapositive +\end{frame} diff --git a/content/outils/scm/git/commandes/fetch.tex b/content/outils/scm/git/commandes/fetch.tex new file mode 100644 index 0000000..513c754 --- /dev/null +++ b/content/outils/scm/git/commandes/fetch.tex @@ -0,0 +1,13 @@ +\begin{frame} + \frametitle{Commandes git} + \framesubtitle{checkout} + \begin{description} + \item[git fetch] Mettre à jour la copie locale d'un dépôt distant + \end{description} + \skbinput[from=fig]{apps/git_commande_fetch} + \begin{exampleblock}{Options à retenir} + \begin{description} + \item[-all] Mettre à jour les copies locales de tous les dépôts distants configurés + \end{description} + \end{exampleblock} +\end{frame} diff --git a/content/outils/scm/git/commandes/filter-branch.tex b/content/outils/scm/git/commandes/filter-branch.tex new file mode 100644 index 0000000..da33536 --- /dev/null +++ b/content/outils/scm/git/commandes/filter-branch.tex @@ -0,0 +1,13 @@ +\begin{frame} + \frametitle{Commandes git} + \framesubtitle{filter-branch} + \begin{description} + \item[\commande{git filter-branch}] Exécuter une commande sur un ensemble de commit + \end{description} + \begin{exampleblock}{Options à retenir} + \begin{description} + \item[\commande{--tree-filter}] Modifier le contenu de l'arborescence pour chaque version du projet + \item[\commande{--env-filter}] Modifier la teneur des variables d'environnement pour chaque commit + \end{description} + \end{exampleblock} +\end{frame} diff --git a/content/outils/scm/git/commandes/grep.tex b/content/outils/scm/git/commandes/grep.tex new file mode 100644 index 0000000..7bc0deb --- /dev/null +++ b/content/outils/scm/git/commandes/grep.tex @@ -0,0 +1,14 @@ +\begin{frame} + \frametitle{Commandes git} + \framesubtitle{grep} + \begin{description} + \item[\commande{git grep}] Rechercher dans chaque fichier d'un arbre quelconque + \end{description} + \begin{exampleblock}{Options à retenir} + \begin{description} + \item[\commande{--break}] Sépare les résultats pour une meilleure lisibilité + \item[\commande{--heading}] Donne le contexte du résultat + \end{description} + \end{exampleblock} + % contenu (pas trop long) de la diapositive +\end{frame} diff --git a/content/outils/scm/git/commandes/init.tex b/content/outils/scm/git/commandes/init.tex new file mode 100644 index 0000000..6e67682 --- /dev/null +++ b/content/outils/scm/git/commandes/init.tex @@ -0,0 +1,8 @@ +\begin{frame} + \frametitle{Commandes git} + \framesubtitle{init} + \begin{description} + \item[\commande{git init}] Convertir le dossier courant en dépôt git + \end{description} + % contenu (pas trop long) de la diapositive +\end{frame} diff --git a/content/outils/scm/git/commandes/log.tex b/content/outils/scm/git/commandes/log.tex new file mode 100644 index 0000000..a7e22bd --- /dev/null +++ b/content/outils/scm/git/commandes/log.tex @@ -0,0 +1,15 @@ +\begin{frame} + \frametitle{Commandes git} + \framesubtitle{log} + \begin{description} + \item[\commande{git log}] Afficher une liste de commit + \end{description} + \begin{exampleblock}{Options à retenir} + \begin{description} + \item[\commande{-L}] Retracer l'historique d'un morceau de code + \item[\commande{..}] Lister les commit accessibles depuis c2 mais pas c1 + \item[\commande{...<2>}] Lister les commit accessibles depuis l'un ou l'autre mais pas des deux à la fois + \item[\commande{--not Ref}] Lister les commit qui ne sont pas accessibles depuis Ref + \end{description} + \end{exampleblock} +\end{frame} diff --git a/content/outils/scm/git/commandes/ls-files.tex b/content/outils/scm/git/commandes/ls-files.tex new file mode 100644 index 0000000..508b752 --- /dev/null +++ b/content/outils/scm/git/commandes/ls-files.tex @@ -0,0 +1,7 @@ +\begin{frame} + \frametitle{Commandes git} + \framesubtitle{ls-files} + \begin{description} + \item[\commande{git ls-files}] Afficher les informations sur les fichiers de l'index et du répertoire de travail. + \end{description} +\end{frame} diff --git a/content/outils/scm/git/commandes/merge.tex b/content/outils/scm/git/commandes/merge.tex new file mode 100644 index 0000000..411d0ee --- /dev/null +++ b/content/outils/scm/git/commandes/merge.tex @@ -0,0 +1,14 @@ +\begin{frame} + \frametitle{Commandes git} + \framesubtitle{merge} + \begin{description} + \item[\commande{git merge}] Intégrer les commit d'une branche à une autre + \end{description} + %\skbinput[from=fig]{apps/git_commande_merge} + \begin{exampleblock}{Options à retenir} + \begin{description} + \item[\commande{--abort}] Pour faire machine arrière lors d'un merge manuel + \end{description} + \end{exampleblock} + % contenu (pas trop long) de la diapositive +\end{frame} diff --git a/content/outils/scm/git/commandes/pull.tex b/content/outils/scm/git/commandes/pull.tex new file mode 100644 index 0000000..68bf458 --- /dev/null +++ b/content/outils/scm/git/commandes/pull.tex @@ -0,0 +1,14 @@ +\begin{frame} + \frametitle{Commandes git} + \framesubtitle{pull} + \begin{description} + \item[\commande{git pull}] Synchroniser une branche locale avec la branche distante + \end{description} + \skbinput[from=fig]{apps/git_commande_pull} + \begin{exampleblock}{Options à retenir} + \begin{description} + \item[\commande{--rebase}] Choisir la stratégie rebase pour incorporer les changements (équivalent à la succession des commandes \commande{fetch} et \commande{rebase}) + \end{description} + \end{exampleblock} + % contenu (pas trop long) de la diapositive +\end{frame} diff --git a/content/outils/scm/git/commandes/push.tex b/content/outils/scm/git/commandes/push.tex new file mode 100644 index 0000000..c8e7df1 --- /dev/null +++ b/content/outils/scm/git/commandes/push.tex @@ -0,0 +1,15 @@ +\begin{frame} + \frametitle{Commandes git} + \framesubtitle{push} + \begin{description} + \item[\commande{git push}] Synchroniser une branche distante avec une branche locale + \end{description} + \skbinput[from=fig]{apps/git_commande_push} + \begin{exampleblock}{Options à retenir} + \begin{description} + \item[\commande{--tags}] Pousser les tags locaux sur le dépôt distant + \item[\commande{--all}] Pousser toutes les branches + \end{description} + \end{exampleblock} + % contenu (pas trop long) de la diapositive +\end{frame} diff --git a/content/outils/scm/git/commandes/rebase.tex b/content/outils/scm/git/commandes/rebase.tex new file mode 100644 index 0000000..d6190f4 --- /dev/null +++ b/content/outils/scm/git/commandes/rebase.tex @@ -0,0 +1,14 @@ +\begin{frame} + \frametitle{Commandes git} + \framesubtitle{rebase} + \begin{description} + \item[\commande{git rebase}] Rejouer les modifications après mise à jour de la branche + \end{description} + %\skbinput[from=fig]{apps/git_commande_rebase} + \begin{exampleblock}{Options à retenir} + \begin{description} + \item[\commande{-i}] Réordonner les modifications manuellement + \end{description} + \end{exampleblock} + % contenu (pas trop long) de la diapositive +\end{frame} diff --git a/content/outils/scm/git/commandes/remote/add.tex b/content/outils/scm/git/commandes/remote/add.tex new file mode 100644 index 0000000..e69de29 diff --git a/content/outils/scm/git/commandes/reset.tex b/content/outils/scm/git/commandes/reset.tex new file mode 100644 index 0000000..5cb42d7 --- /dev/null +++ b/content/outils/scm/git/commandes/reset.tex @@ -0,0 +1,14 @@ +\begin{frame} + \frametitle{Commandes git} + \framesubtitle{reset} + \begin{description} + \item[\commande{git reset}] Revenir à une version antérieure + \end{description} + %\skbinput[from=fig]{apps/git_commande_reset} + \begin{exampleblock}{Options à retenir} + \begin{description} + \item[\commande{--hard}] Écraser le contenu du répertoire de travail et de l'index + \end{description} + \end{exampleblock} + % contenu (pas trop long) de la diapositive +\end{frame} diff --git a/content/outils/scm/git/commandes/revert.tex b/content/outils/scm/git/commandes/revert.tex new file mode 100644 index 0000000..4aad399 --- /dev/null +++ b/content/outils/scm/git/commandes/revert.tex @@ -0,0 +1,14 @@ +\begin{frame} + \frametitle{Commandes git} + \framesubtitle{revert} + \begin{description} + \item[\commande{git revert}] Créer le commit annulant un autre commit + \end{description} + %\skbinput[from=fig]{apps/git_commande_revert} + \begin{exampleblock}{Options à retenir} + \begin{description} + \item[\commande{--abort}] Interrompre le traitement + \end{description} + \end{exampleblock} + % contenu (pas trop long) de la diapositive +\end{frame} diff --git a/content/outils/scm/git/commandes/show.tex b/content/outils/scm/git/commandes/show.tex new file mode 100644 index 0000000..b248510 --- /dev/null +++ b/content/outils/scm/git/commandes/show.tex @@ -0,0 +1,8 @@ +\begin{frame} + \frametitle{Commandes git} + \framesubtitle{show} + \begin{description} + \item[\commande{git show}] Afficher la description d'un commit + \end{description} + % contenu (pas trop long) de la diapositive +\end{frame} diff --git a/content/outils/scm/git/commandes/status.tex b/content/outils/scm/git/commandes/status.tex new file mode 100644 index 0000000..ba6c75a --- /dev/null +++ b/content/outils/scm/git/commandes/status.tex @@ -0,0 +1,8 @@ +\begin{frame} + \frametitle{Commandes git} + \framesubtitle{status} + \begin{description} + \item[\commande{git status}] Afficher le statut du répertoire de travail, et de l'index relativement à la branche + \end{description} + % contenu (pas trop long) de la diapositive +\end{frame} diff --git a/content/outils/scm/git/commandes/tag.tex b/content/outils/scm/git/commandes/tag.tex new file mode 100644 index 0000000..fe5c42b --- /dev/null +++ b/content/outils/scm/git/commandes/tag.tex @@ -0,0 +1,15 @@ +\begin{frame} + \frametitle{Commandes git} + \framesubtitle{tag} + \begin{description} + \item[\commande{git tag}] Gérer les étiquettes attachées à un commit + \end{description} + \begin{exampleblock}{Options à retenir} + \begin{description} + \item[\commande{-l}] Lister les étiquettes (éventuellement correpondant à un motif) + \item[\commande{-a}] Annoter l'étiquette + \item[\commande{-s}] Signer l'étiquette + \end{description} + \end{exampleblock} + % contenu (pas trop long) de la diapositive +\end{frame} diff --git a/content/outils/scm/git/configuration/alias.tex b/content/outils/scm/git/configuration/alias.tex new file mode 100644 index 0000000..7c40551 --- /dev/null +++ b/content/outils/scm/git/configuration/alias.tex @@ -0,0 +1,33 @@ +\begin{frame} +\frametitle{Ergonomie} +\framesubtitle{alias} +Les alias sont des raccourcis gérés pas git. + +\commande{git config alias. ""} + +\begin{exampleblock}{Nature des commandes} +Les commandes peuvent aussi bien être des options et sous-commandes de git que des commandes externes accessibles au shell. +\end{exampleblock} +\end{frame} + +\begin{frame}[fragile] +\frametitle {Ergonomie} +\framesubtitle{Exemples d'alias} +\begin{minted}[fontsize=\tiny]{ini} +[alias] + co = checkout + st = status + fe = fetch + lo = log --oneline + re = reset --hard HEAD~1 + br = branch + mnf = merge --no-ff + sw = checkout @{-1} + lu = log ..@{upstream} + luo = log --oneline ..@{upstream} + ul=log @{upstream}..HEAD + ulo=log --oneline @{upstream}..HEAD + cslt = !git describe --long --first-parent | awk -F'/' '{print $NF}' | awk -F'-' '{print $(NF-1)}' + clf = !git lo --no-merges $(git lo -1 --pretty=format:"%h" debian/changelog).. +\end{minted} +\end{frame} diff --git a/content/outils/scm/git/configuration/editeur.tex b/content/outils/scm/git/configuration/editeur.tex new file mode 100644 index 0000000..11b5c28 --- /dev/null +++ b/content/outils/scm/git/configuration/editeur.tex @@ -0,0 +1,10 @@ +\begin{frame} + \frametitle{Ergonomie} + \framesubtitle{Interface} + \begin{itemize} + \item \commande{git config --global core.editor "vim"} + \item \commande{git config --global core.pager "less"} + \item \commande{git config --global color.ui auto} + \end{itemize} + % contenu (pas trop long) de la diapositive +\end{frame} diff --git a/content/outils/scm/git/configuration/gitignore.tex b/content/outils/scm/git/configuration/gitignore.tex new file mode 100644 index 0000000..e69de29 diff --git a/content/outils/scm/git/configuration/hooks.tex b/content/outils/scm/git/configuration/hooks.tex new file mode 100644 index 0000000..e29a674 --- /dev/null +++ b/content/outils/scm/git/configuration/hooks.tex @@ -0,0 +1,47 @@ +\begin{frame} + \frametitle{Ergonomie} + \framesubtitle{Hooks} + Les hooks sont des actions déclenchées par des évènements concernant le dépôt git. + \begin{exampleblock}{} + Les hooks sont des scripts exécutables (pas de langage imposé) posés dans le dossier .git/hooks. + \end{exampleblock} + +\end{frame} +\begin{frame} + \frametitle{Ergonomie} + \framesubtitle{Hooks pour le client} + \begin{columns} + \begin{column}{0.5\textwidth} + \begin{itemize} + \item pre-commit + \item prepare-commit-msg + \item commit-msg + \item post-commit + + \item applypatch-msg + \item preapply-patch + \item postapply-patch + \end{itemize} + +\end{column} +\begin{column}{0.5\textwidth} + \begin{itemize} + \item pre-rebase + \item post-rewrite + \item post-checkout + \item post-merge + \item pre-push + \end{itemize} +\end{column} +\end{columns} +\end{frame} + +\begin{frame} + \frametitle{Ergonomie} + \framesubtitle{Hooks pour le serveur} + \begin{itemize} + \item pre-receive + \item update + \item post-receive + \end{itemize} +\end{frame} diff --git a/content/outils/scm/git/configuration/presentation.tex b/content/outils/scm/git/configuration/presentation.tex new file mode 100644 index 0000000..0b97b90 --- /dev/null +++ b/content/outils/scm/git/configuration/presentation.tex @@ -0,0 +1,8 @@ +\begin{frame} +\frametitle{Configurer git} +\framesubtitle{Une configuration souple} +\begin{itemize} +\item configuration globale +\item configuration par dépôt +\end{itemize} +\end{frame} diff --git a/content/outils/scm/git/configuration/shell.tex b/content/outils/scm/git/configuration/shell.tex new file mode 100644 index 0000000..b3d6db4 --- /dev/null +++ b/content/outils/scm/git/configuration/shell.tex @@ -0,0 +1,16 @@ +\begin{frame}[fragile] + \frametitle{Ergonomie} + \framesubtitle{bash} + \begin{minted}{bash} + source ~/.git-prompt.sh + GIT_PS1_SHOWDIRTYSTATE=1 + GIT_PS1_SHOWSTASHSTATE=1 + GIT_PS1_SHOWUNTRACKEDFILES=1 + GIT_PS1_SHOWUPSTREAM="auto" + PS1='[\u@\h \W$(__git_ps1 " (%s)")]\$ ' + \end{minted} + \begin{exampleblock}{git-prompt} + git-prompt.sh est un script définissant la fonction \_\_git\_ps1 permettant d'afficher des informations pertinentes sur l'état du dépôt git dans l'invite de commande. + \end{exampleblock} + % contenu (pas trop long) de la diapositive +\end{frame} diff --git a/content/outils/scm/git/configuration/user.tex b/content/outils/scm/git/configuration/user.tex new file mode 100644 index 0000000..354aaee --- /dev/null +++ b/content/outils/scm/git/configuration/user.tex @@ -0,0 +1,9 @@ +\begin{frame} +\frametitle{Configurer git} +\framesubtitle{Identifier l'utilisateur} +git associe à chaque commit des informations sur la personne ayant commité et sur la personne ayant mergé le commit. +\begin{itemize} + \item \commande{git config --global user.name ""} + \item \commande{git config --global user.email ""} +\end{itemize} +\end{frame} diff --git a/content/outils/scm/git/decentralise.tex b/content/outils/scm/git/decentralise.tex new file mode 100644 index 0000000..ce5e790 --- /dev/null +++ b/content/outils/scm/git/decentralise.tex @@ -0,0 +1,6 @@ +\begin{frame} +\frametitle{Décentralisé} +\begin{description} + \item[DVCS] Système de gestion de version décentralisé +\end{description} +\end{frame} diff --git a/content/outils/scm/git/etats_fichier.tex b/content/outils/scm/git/etats_fichier.tex new file mode 100644 index 0000000..da0fc55 --- /dev/null +++ b/content/outils/scm/git/etats_fichier.tex @@ -0,0 +1,12 @@ +\begin{frame} +\frametitle{Les trois états des fichiers} +\begin{itemize} +\item non-suivi (avec la variante ignoré) +\item suivi : +\begin{itemize} + \item non modifié (par rapport au dernier état archivé) + \item modifié (par rapport au dernier état archivé) + \item sélectionné pour être archivé +\end{itemize} +\end{itemize} +\end{frame} diff --git a/content/outils/scm/git/exercices/exercice_01.tex b/content/outils/scm/git/exercices/exercice_01.tex new file mode 100644 index 0000000..4611964 --- /dev/null +++ b/content/outils/scm/git/exercices/exercice_01.tex @@ -0,0 +1,10 @@ +\begin{frame} +\frametitle{Exercices} +\framesubtitle{Configuration globale de git} +Les paramètres de l'application git peuvent être globaux ou propres à un dépôt. + +L'ergonomie, l'identité, les alias sont souvent les mêmes pour tous les dépôts. +La première étape consiste généralement à renseigner ces paramètres. + +Le premier exercice consiste donc à renseigner un minimum de ces variables globales. +\end{frame} diff --git a/content/outils/scm/git/exercices/exercice_01/steps.tex b/content/outils/scm/git/exercices/exercice_01/steps.tex new file mode 100644 index 0000000..730c502 --- /dev/null +++ b/content/outils/scm/git/exercices/exercice_01/steps.tex @@ -0,0 +1,38 @@ +\begin{frame} + \frametitle{Mise en place} + \framesubtitle{Identité de l'utilisateur} + \begin{itemize} + \item \commande{git config --global user.name ""} + \item \commande{git config --global user.email ""} + \end{itemize} + \begin{exampleblock}{En cas d'oubli} + \commande{git} émet un avertissement lors du premier commit si ces variables ne sont pas renseignées. + Il est possible de corriger cet oubli facilement si les commit n'ont pas encore été partagés. + \end{exampleblock} +\end{frame} + +\begin{frame} + \frametitle{Mise en place} + \framesubtitle{Ergonomie} + \begin{itemize} + \item \commande{git config --global color.ui auto} + \item \commande{git config --global core.editor "<éditeur de texte à utiliser>"} + \item \commande{git config --global core.pager ""} + \end{itemize} +\end{frame} + +\begin{frame}[fragile] + \frametitle{Mise en place} + \framesubtitle{Ergonomie (GNU/Linux)} + \begin{minted}{bash} + source ~/.git-prompt.sh + GIT_PS1_SHOWDIRTYSTATE=1 + GIT_PS1_SHOWSTASHSTATE=1 + GIT_PS1_SHOWUNTRACKEDFILES=1 + GIT_PS1_SHOWUPSTREAM="auto" + PS1='[\u@\h \W$(__git_ps1 " (%s)")]\$ ' + \end{minted} + \begin{exampleblock}{git-prompt} + git-prompt.sh est un script définissant la fonction \_\_git\_ps1 permettant d'afficher des informations pertinentes sur l'état du dépôt git dans l'invite de commande. + \end{exampleblock} +\end{frame} diff --git a/content/outils/scm/git/exercices/exercice_01_synopsis.tex b/content/outils/scm/git/exercices/exercice_01_synopsis.tex new file mode 100644 index 0000000..e69de29 diff --git a/content/outils/scm/git/exercices/exercice_02.tex b/content/outils/scm/git/exercices/exercice_02.tex new file mode 100644 index 0000000..58fcb8e --- /dev/null +++ b/content/outils/scm/git/exercices/exercice_02.tex @@ -0,0 +1,14 @@ +\begin{frame} + \frametitle{Exercices} + \framesubtitle{Initialiser un dépôt} + Un dépôt git peut être amorcé de différentes façons selon le contexte. + \begin{itemize} + \item le dépôt existe déjà en \emph{distant} : + \begin{itemize} + \item le dépôt distant est déjà au format git ; + \item le dépôt distant est géré par un autre scm ; + \end{itemize} + \item un répertoire local doit être converti en dépôt git ; + \end{itemize} + L'exercice propose la création d'un dépôt suivant ces différents contextes. +\end{frame} diff --git a/content/outils/scm/git/exercices/exercice_02/steps.tex b/content/outils/scm/git/exercices/exercice_02/steps.tex new file mode 100644 index 0000000..72d5a7a --- /dev/null +++ b/content/outils/scm/git/exercices/exercice_02/steps.tex @@ -0,0 +1,21 @@ +\begin{frame} + \frametitle{Initialiser le dépôt} + \framesubtitle{Récupérer le dépôt git distant en ssh} + Le serveur de dépôt de test propose un dépôt par groupe. + + \commande{git clone ssh://gogs@/formation/} +\end{frame} +\begin{frame} + \frametitle{Initialiser le dépôt} + \framesubtitle{Récupérer le dépôt git distant en https} + L'accès au serveur est aussi permis en http(s) + + \commande{git clone http://:3000/formation/} +\end{frame} +\begin{frame} + \frametitle{Initialiser le dépôt} + \framesubtitle{Convertir le dossier local en dépôt git} + N'importe quelle répertoire peut être converti en dépôt git. + + \commande{git init} +\end{frame} diff --git a/content/outils/scm/git/exercices/exercice_03.tex b/content/outils/scm/git/exercices/exercice_03.tex new file mode 100644 index 0000000..3400ac1 --- /dev/null +++ b/content/outils/scm/git/exercices/exercice_03.tex @@ -0,0 +1,9 @@ +\begin{frame} + \frametitle{Exercice} + \framesubtitle{Avoir des dépôts distants en référence} + Les dépôts distants sont un aspect important du fonctionnement d'un SCM décentralisé. + + git permet d'associer plusieurs dépôts distants à un dépôt local et de renseigner à quelle branche de quel dépôt distant une branche locale doit se référer. + + Le présent exercice aborde la mise en place de tels liens entre branches locales et branches distantes. +\end{frame} diff --git a/content/outils/scm/git/exercices/exercice_03/steps.tex b/content/outils/scm/git/exercices/exercice_03/steps.tex new file mode 100644 index 0000000..64b2b66 --- /dev/null +++ b/content/outils/scm/git/exercices/exercice_03/steps.tex @@ -0,0 +1,31 @@ +\begin{frame} + \frametitle{Associer les dépôts distants} + \framesubtitle{Ajouter un dépôt distant} + \commande{git remote add ://[@][:port]/} + + Exemples : + \begin{itemize} + \item \commande{git remote add formation ssh://gogs@localhost:3000/formation/exercices.git} + \item \commande{git remote add formation http://gogs@localhost:3000/formation/exercices.git} + \end{itemize} + \begin{exampleblock}{Vérification} + Les dépôts distants configurés peuvent être listés avec : + \begin{itemize} + \item \commande{git remote} pour la version sobre ou + \item \commande{git remote -v} pour plus de détails. + \end{itemize} + \end{exampleblock} +\end{frame} + +\begin{frame} + \frametitle{Associer les dépôts distants} + \framesubtitle{Observer une branche distante} + Pour une branche distante existante : + \begin{itemize} + \item \commande{git branch --set-upstream-to=/} + \end{itemize} + Pour une branche distante inexistante : + \begin{itemize} + \item \commande{git push --set-upstream } + \end{itemize} +\end{frame} diff --git a/content/outils/scm/git/exercices/exercice_04.tex b/content/outils/scm/git/exercices/exercice_04.tex new file mode 100644 index 0000000..8e15875 --- /dev/null +++ b/content/outils/scm/git/exercices/exercice_04.tex @@ -0,0 +1,7 @@ +\begin{frame} + \frametitle{Exercice} + \framesubtitle{Premier commit} + Le premier commit est toujours le plus facile. Pas de conflit à attendre, pas de stress… + + Cet exercice permet de revoir le fonctionnement des \emph{arbres} de git avec l'ajout d'un simple fichier dans un dossier. +\end{frame} diff --git a/content/outils/scm/git/exercices/exercice_04/steps.tex b/content/outils/scm/git/exercices/exercice_04/steps.tex new file mode 100644 index 0000000..0ed1537 --- /dev/null +++ b/content/outils/scm/git/exercices/exercice_04/steps.tex @@ -0,0 +1,138 @@ +\begin{frame}[fragile] + \frametitle{Premier pas} + \framesubtitle{Dépôt vide} + Au démarrage, est un dépôt vide : + + \begin{minted}[fontsize=\tiny]{bash} + Sur la branche master + + Validation initiale + + rien à valider (créez/copiez des fichiers et utilisez "git add" pour les suivre) + \end{minted} +\end{frame} +\begin{frame}[fragile] + \frametitle{Premier pas} + \framesubtitle{Et pourtant…} +\begin{columns} +\begin{column}{0.5\textwidth} + L'initialisation consiste en la création du dossier .git : +\end{column} +\begin{column}{0.5\textwidth} + \begin{minted}[fontsize=\tiny]{bash} +. +└── .git + ├── branches + ├── config + ├── description + ├── HEAD + ├── hooks + │   ├── applypatch-msg.sample + │   ├── commit-msg.sample + │   ├── post-update.sample + │   ├── pre-applypatch.sample + │   ├── pre-commit.sample + │   ├── prepare-commit-msg.sample + │   ├── pre-push.sample + │   ├── pre-rebase.sample + │   └── update.sample + ├── info + │   └── exclude + ├── objects + │   ├── info + │   └── pack + └── refs + ├── heads + └── tags +\end{minted} +\end{column} +\end{columns} +\end{frame} + +\begin{frame} +\frametitle{Premier pas} +\framesubtitle{Création d'un dossier} +\commande{mkdir doc} +\end{frame} + +\begin{frame}[fragile] +\frametitle{Premier pas} +\framesubtitle{Création d'un dossier} +\commande{git status} +\begin{minted}[fontsize=\tiny]{bash} +Sur la branche master + +Validation initiale + +rien à valider (créez/copiez des fichiers et utilisez "git add" pour les suivre) +\end{minted} +\begin{exampleblock}{} + git ne prend en considération que le contenu des fichiers. +\end{exampleblock} +\end{frame} + +\begin{frame} +\frametitle{Premier pas} +\framesubtitle{Création d'un fichier} +\commande{touch doc/README} +\end{frame} + +\begin{frame}[fragile] +\frametitle{Premier pas} +\framesubtitle{Création d'un fichier} +\commande{git status} +\begin{minted}[fontsize=\tiny]{bash} +Sur la branche master + +Validation initiale + +Fichiers non suivis: + (utilisez "git add ..." pour inclure dans ce qui sera validé) + + doc/ + +aucune modification ajoutée à la validation mais des fichiers non suivis sont présents +(utilisez "git add" pour les suivre) +\end{minted} +\end{frame} + +\begin{frame} +\frametitle{Premier pas} +\framesubtitle{Création d'un fichier} +\commande{git add .} +\skbinput[from=fig]{apps/git_commande_add} +\end{frame} + +\begin{frame}[fragile] +\frametitle{Premier pas} +\framesubtitle{Création d'un fichier} +\commande{git status} +\begin{minted}[fontsize=\tiny]{bash} +Sur la branche master + +Validation initiale + +Modifications qui seront validées : + (utilisez "git rm --cached ..." pour désindexer) + + nouveau fichier : doc/README + +\end{minted} +\end{frame} + +\begin{frame} + \frametitle{Premier pas} + \framesubtitle{Création d'un fichier} +\commande{git commit -m "Ajout du premier fichier."} +\skbinput[from=fig]{apps/git_commande_commit} +\end{frame} + +\begin{frame}[fragile] + \frametitle{Premier pas} + \framesubtitle{Création d'un fichier} +\commande{git status} +\begin{minted}[fontsize=\tiny]{bash} +Sur la branche master +rien à valider, la copie de travail est propre +\end{minted} +\end{frame} diff --git a/content/outils/scm/git/exercices/exercice_05.tex b/content/outils/scm/git/exercices/exercice_05.tex new file mode 100644 index 0000000..9ae1b9a --- /dev/null +++ b/content/outils/scm/git/exercices/exercice_05.tex @@ -0,0 +1,8 @@ +\begin{frame} + \frametitle{Exercice} + \framesubtitle{Gérer son répertoire de travail} + Le répertoire de travail est la vue du dépôt la plus facile à prendre en main dans un dépôt git. + + Cet exercice a pour but de bien maîtriser les quatre états des fichiers dans un dépôt git : non-suivi, suivi et identique au contenu de l'index, suivi et différent et enfin, suivi, différent et selectionné pour archivage. + La difficulté majeure, à ce stade, est de toujours contrôler les passages d'état pour ne pas archiver un fichier indésirable par exemple. +\end{frame} diff --git a/content/outils/scm/git/exercices/exercice_05/steps.tex b/content/outils/scm/git/exercices/exercice_05/steps.tex new file mode 100644 index 0000000..0052ff0 --- /dev/null +++ b/content/outils/scm/git/exercices/exercice_05/steps.tex @@ -0,0 +1,115 @@ +\begin{frame} + \frametitle{Gérer son répertoire de travail} + \framesubtitle{Créer un fichier} + \commande{echo "userA userApwd" > password} +\end{frame} + +\begin{frame} + \frametitle{Gérer son répertoire de travail} + \framesubtitle{Modifier un fichier} + Ajouter du texte au fichier doc/README +\end{frame} + +\begin{frame}[fragile] + \frametitle{Gérer son répertoire de travail} + \framesubtitle{Admirer la complexité de la situation} + \commande{git status} + \begin{minted}[fontsize=\tiny]{console} +Sur la branche master +Modifications qui seront validées : + (utilisez "git reset HEAD ..." pour désindexer) + + modifié : doc/README + +Fichiers non suivis: + (utilisez "git add ..." pour inclure dans ce qui sera validé) + + password + \end{minted} +\end{frame} + +\begin{frame}[fragile] + \frametitle{Gérer son répertoire de travail} + \framesubtitle{À la croisée des chemins} + Associer les commandes suivantes : + \begin{columns} + \begin{column}{.3\textwidth} + \tiny{\commande{git add .}} + + \tiny{\commande{git commit -m "Tout de go"}} + \end{column} + \begin{column}{.3\textwidth} + \tiny{\commande{git commit -am "Implicite"}} + \end{column} + \begin{column}{.3\textwidth} + \tiny{\commande{git add doc/README}} + + \tiny{\commande{git commit -m "Explicite"}} + \end{column} + \end{columns} +aux résultats suivants : + \begin{columns} + \begin{column}{.3\textwidth} + \begin{minted}[fontsize=\tiny,breaklines,frame=single]{console} +Sur la branche master +Fichiers non suivis: + (utilisez "git add ..." pour inclure dans ce qui sera validé) + + password + +aucune modification ajoutée à la validation mais des fichiers non suivis sont présents (utilisez "git add" pour les suivre) + \end{minted} + \end{column} + \begin{column}{.3\textwidth} + \begin{minted}[fontsize=\tiny,breaklines,frame=single]{console} +Sur la branche master +rien à valider, la copie de travail est propre + \end{minted} + \end{column} + \begin{column}{.3\textwidth} + \begin{minted}[fontsize=\tiny,breaklines,frame=single]{console} +Sur la branche master +Fichiers non suivis: + (utilisez "git add ..." pour inclure dans ce qui sera validé) + + password + +aucune modification ajoutée à la validation mais des fichiers non suivis sont présents (utilisez "git add" pour les suivre) + \end{minted} + \end{column} + \end{columns} +\end{frame} + +\begin{frame} + \frametitle{Gérer son répertoire de travail} + \framesubtitle{Parer les erreurs prévisibles} + \commande{echo "password" > .gitignore} + + \commande{git add .gitignore} + + \commande{git commit -m "Filtre de fichier à ne pas suivre"} +\end{frame} + +\begin{frame}[fragile] + \frametitle{Gérer son répertoire de travail} + \framesubtitle{Laisser sur le côté de la route} + \commande{git status} + \begin{minted}[fontsize=\tiny]{console} +Sur la branche master +rien à valider, la copie de travail est propre + \end{minted} +\end{frame} + +\begin{frame} + \frametitle{Gérer son répertoire de travail} + \framesubtitle{Et s'il est trop tard ?} + \commande{git reset HEAD\~{}1} +\end{frame} + +\begin{frame} + \frametitle{Gérer son répertoire de travail} + \framesubtitle{Recueil de .gitignore} + Des .gitignore adaptés à différents contextes sont faciles à obtenir sur l'Internet. + + \url{https://github.com/github/gitignore} +\end{frame} diff --git a/content/outils/scm/git/exercices/exercice_06.tex b/content/outils/scm/git/exercices/exercice_06.tex new file mode 100644 index 0000000..55c0312 --- /dev/null +++ b/content/outils/scm/git/exercices/exercice_06.tex @@ -0,0 +1,8 @@ +\begin{frame} + \frametitle{Exercice} + \framesubtitle{Utiliser les branches} + Les branches sont faciles à créer et détruire dans un dépôt git. + Cela en fait un outil de choix pour l'organisation du développement. + + L'exercice suivant aborde les manipulations de base avec les branches. +\end{frame} diff --git a/content/outils/scm/git/exercices/exercice_06/steps.tex b/content/outils/scm/git/exercices/exercice_06/steps.tex new file mode 100644 index 0000000..5cbf1de --- /dev/null +++ b/content/outils/scm/git/exercices/exercice_06/steps.tex @@ -0,0 +1,219 @@ +\begin{frame} + \frametitle{Utiliser les branches} + \framesubtitle{Créer une branche} + On créé une branche qui contiendra le fichier password. + + \commande{git checkout -b branche\_indiscrete} + + équivalent de la succession de commandes : + \begin{enumerate} + \item \commande{git branch branche\_indiscrete} + \item \commande{git checkout branche\_indiscrete} + \end{enumerate} + \begin{tikzpicture} + \gitDAG[grow right sep = 1em]{ + A -- B}; + \gitbranch{master}{above=of B}{B} + \gitHEAD{above=of master}{master} + \end{tikzpicture} + \begin{tikzpicture} + \gitDAG[grow right sep = 1em]{ + A -- B}; + \gitbranch{master}{above=of B}{B} + \gitHEAD{above=of master}{master} + \gitbranch[brindis]{brancheindiscrete}{below=of B}{B} + \end{tikzpicture} + \begin{tikzpicture} + \gitDAG[grow right sep = 1em]{ + A -- B}; + \gitbranch{master}{above=of B}{B} + \gitbranch[brindis]{brancheindiscrete}{below=of B}{B} + \gitHEAD{below=of brindis}{brindis} + \end{tikzpicture} +\end{frame} +\begin{frame} + \frametitle{Utiliser les branches} + \frametitle{Aparté} + \commande{git add password} + + \commande{git commit -m "le fichier indésirable"} +\end{frame} +\begin{frame} + \frametitle{Utiliser les branches} + \frametitle{Aparté} + \commande{git log master..branche\_indiscrete} + + \commande{git log master..} + + \commande{git reflog} + +\end{frame} + +\begin{frame} + \frametitle{Utiliser les branches} + \framesubtitle{Merge} + \commande{git checkout master} + + \commande{git branch merge/automatique} + + \commande{git branch merge/conflit} + + \commande{git branch merge/rebase} + % \begin{tikzpicture} + % \gitDAG[grow down sep = 1em]{ + % A -- B}; + % \gitbranch{master}{left=of B}{B} + % \gitHEAD{left=of master}{master} + % \gitbranch[auto]{merge/automatique}{right=of master}{B} + % \gitbranch[conflit]{merge/conflit}{right=of auto}{B} + % \gitbranch[rebase]{merge/rebase}{right=of conflit}{B} + % \end{tikzpicture} +\end{frame} +\begin{frame} + \frametitle{Utiliser les branches} + \framesubtitle{Merge} + \commande{git checkout merge/automatique} + + \commande{cp doc/README\{,.md\}} + + \commande{git add doc/} + + \commande{git commit -m "Copie du fichier"} + % \begin{tikzpicture} + % \gitDAG[grow down sep = 1em]{ + % A -- B --{C}}; + % \gitbranch{master}{right=of B}{B} + % \gitHEAD{left=of auto}{auto} + % \gitbranch[auto]{merge/automatique}{left=of C}{C} + % \gitbranch[conflit]{merge/conflit}{right=of master}{B} + % \gitbranch[rebase]{merge/rebase}{right=of conflit}{B} + % \end{tikzpicture} +\end{frame} +\begin{frame} + \frametitle{Utiliser les branches} + \framesubtitle{Merge} + \commande{git checkout merge/conflit} + + Édition du fichier doc/README + + \commande{git commit -am "Des ennuis en perspective"} + + % \begin{tikzpicture} + % \gitDAG[grow down sep = 1em]{ + % A -- B --{C, D}}; + % \gitbranch{master}{right=of B}{B} + % \gitHEAD{left=of conflit}{conflit} + % \gitbranch[auto]{merge/automatique}{right=of C}{C} + % \gitbranch[conflit]{merge/conflit}{left=of D}{D} + % \gitbranch[rebase]{merge/rebase}{right=of master}{B} + % \end{tikzpicture} +\end{frame} +\begin{frame} + \frametitle{Utiliser les branches} + \framesubtitle{Merge} + \commande{git checkout merge/rebase} + + Édition du fichier doc/README + + \commande{git commit -am "Des ennuis en perspective"} + + % \begin{tikzpicture} + % \gitDAG[grow right sep = 1em]{ + % A -- B --{C, D, E}}; + % \gitbranch{master}{above=of B}{B} + % \gitHEAD{above=of rebase}{rebase} + % \gitbranch[auto]{merge/automatique}{above=of C}{C} + % \gitbranch[conflit]{merge/conflit}{above=of D}{D} + % \gitbranch[rebase]{merge/rebase}{above=of E}{E} + % \end{tikzpicture} +\end{frame} +\begin{frame} + \frametitle{Utiliser les branches} + \framesubtitle{Merge} + + \commande{git checkout master} + + Édition du fichier doc/README pour ajouter des alias + + \commande{git commit -am "Des ennuis en perspective"} + + Pour chaque branche merge/*, tenter la commande : + \commande{git merge merge/} +\end{frame} +\begin{frame} + \frametitle{Utiliser les branches} + \framesubtitle{Rebase} + \commande{git checkout merge/rebase} + + \commande{git rebase master} + % \begin{tikzpicture} + % \gitDAG[grow down sep = 1em]{ + % A -- B --{C, D, E'}}; + % \gitbranch{master}{right=of B}{B} + % \gitHEAD{left=of rebase}{rebase} + % \gitbranch[auto]{merge/automatique}{right=of C}{C} + % \gitbranch[conflit]{merge/conflit}{right=of D}{D} + % \gitbranch[rebase]{merge/rebase}{left=of E'}{E'} + % \end{tikzpicture} + +\end{frame} +% \begin{tikzpicture} +% % Commit DAG +% \gitDAG[grow right sep = 2em]{ +% A -- B -- { +% C, +% D -- E, +% } +% }; +% % Tag reference +% \gittag +% [v0p1] % node name +% {v0.1} % node text +% {above=of A} % node placement +% {A} % target +% % Remote branch +% \gitremotebranch +% [origmaster] % node name +% {origin/master} % node text +% {above=of C} % node placement +% {C} % target +% % Branch +% \gitbranch +% {master} % node name and text +% {above=of E} % node placement +% {E} % target +% % HEAD reference +% \gitHEAD +% {above=of master} % node placement +% {master} % target +% \end{tikzpicture} +% \begin{tikzpicture} +% \gitDAG[grow right sep = 2em]{ +% A -- B -- { +% C -- D' -- E', +% {[nodes=unreachable] D -- E }, +% } +% }; +% % Tag reference +% \gittag +% [v0p1] % node name +% {v0.1} % node text +% {above=of A} % node placement +% {A} % target +% % Remote branch +% \gitremotebranch +% [origmaster] % node name +% {origin/master} % node text +% {above=of C} % node placement +% {C} % target +% % Branch +% \gitbranch +% {master} % node name and text +% {above=of E'} % node placement +% {E'} % target +% % HEAD reference +% \gitHEAD +% {above=of master} % node placement +% {master} % target +% \SAandWT +% \end{tikzpicture} diff --git a/content/outils/scm/git/exercices/exercice_07.tex b/content/outils/scm/git/exercices/exercice_07.tex new file mode 100644 index 0000000..5897dc3 --- /dev/null +++ b/content/outils/scm/git/exercices/exercice_07.tex @@ -0,0 +1,11 @@ +\begin{frame} + \frametitle{Exercice} + \framesubtitle{Inspection générale} + Un historique de code n'a d'intérêt que si le besoin de connaître les actions + qui ont mené à un état se fait sentir. + + git met à disposition divers outils pour inspecter l'historique. + Cet exercice se propose de présenter certains de ces outils. + + Cet exercice s'appuie sur le contenu du dépôt git \emph{exercices} fourni. +\end{frame} diff --git a/content/outils/scm/git/exercices/exercice_07/steps.tex b/content/outils/scm/git/exercices/exercice_07/steps.tex new file mode 100644 index 0000000..92258be --- /dev/null +++ b/content/outils/scm/git/exercices/exercice_07/steps.tex @@ -0,0 +1,132 @@ +\begin{frame} + \frametitle{Inspection} + \framesubtitle{log} + Comparer les branches du dépôt \emph{exercices} en explorant les différentes options de git log (--graph, --all, --decorate, .., ...) + + \commande{git log} + % contenu (pas trop long) de la diapositive +\end{frame} + +\begin{frame} + \frametitle{Inspection} + \framesubtitle{log} + \begin{tikzpicture} + \begin{pgflowlevelscope}{\pgftransformscale{0.5}} + \gitDAG[grow right sep=1em]{ + fcacc8a -- a3a980c -- {6d7f839 -- {d221665 -- 841f693 -- f5965df -- a12f94b -- 5464ee7, fe0c2b7 -- 6212e29 -- 0f13577 -- a60f3ed, f81ca5c, 7e54de0}, + 30a5821, b13bcf2, 902ae87} + }; + \gitbranch + {master} + {above=of 6d7f839} + {6d7f839} + \gitbranch + {brancheindiscrete} + {right=of 902ae87} + {902ae87} + \gitbranch + {merge/conflit} + {right=of 30a5821} + {30a5821} + \gitbranch + {merge/automatique} + {right=of b13bcf2} + {b13bcf2} + \gitbranch + {merge/rebase} + {right=of 7e54de0} + {7e54de0} + \gitbranch + {branche/perdue} + {right=of f81ca5c} + {f81ca5c} + \gitbranch + {branche/minee} + {above=of 5464ee7} + {5464ee7} + \gitbranch + {histoire/confuse} + {right=of a60f3ed} + {a60f3ed} + \end{pgflowlevelscope} + \end{tikzpicture} +\end{frame} + +\begin{frame} + \frametitle{Inspection} + \framesubtitle{bisect} + \begin{minipage}{\textwidth} + \begin{tikzpicture} + %\begin{pgflowlevelscope}{\pgftransformscale{0.5}} + \begin{pgflowlevel}{\pgftransformscale{0.6}} + \gitDAG[grow right sep=1em]{ + fcacc8a -- a3a980c -- {6d7f839 -- {d221665 -- 841f693 -- f5965df -- a12f94b -- 5464ee7}} + }; + \gitbranch + {master} + {above=of 6d7f839} + {6d7f839} + \gitbranch + {branche/minee} + {above=of 5464ee7} + {5464ee7} + %\end{pgflowlevelscope} + \end{pgflowlevel} + \end{tikzpicture} + \end{minipage} + + La branche minee schématise une situation dans laquelle un dysfonctionnement a été introduit mais pas détecté + aussitôt. + Un script \emph{test.sh} a été ajouté pour simuler le test du code. + Il retourne \emph{0} lorsque le code est bon, \emph{1} lorsque le code est mauvais. + + L'exercice consiste donc à utiliser la commande \commande{git bisect} pour repérer le commit ayant introduit l'erreur, c'est-à-dire à partir duquel le script retourne \emph{1}. + +\end{frame} +\begin{frame} + \frametitle{Inspection} + \framesubtitle{bisect} + Conditions de départ : + \begin{itemize} + \item dernier \emph{commit} de la branche \emph{branche/minee} + \item dernier état du code fonctionnel : dernier \emph{commit} de la branche \emph{master}. + \end{itemize} + \begin{enumerate}[<+->] + \item \commande{git checkout branche/minee} + \item \commande{git bisect start} \# démarrage de la session de recherche + \item \commande{git bisect bad} \# déclaration de l'état du dernier \emph{commit} + \item \commande{git bisect good \$(git log --oneline -1 --format=\%h master)} \# déclaration du dernier état fonctionnel connu + \end{enumerate} + % contenu (pas trop long) de la diapositive +\end{frame} + +\begin{frame} + \frametitle{Inspection} + \framesubtitle{bisect} + À chaque déplacement contrôlé par \commande{git bisect}, exécuter \emph{test.sh} et indiquer si l'état est fonctionnel : + + \commande{./test.sh; [[ \$? -eq 0 ]] \&\& git bisect good || git bisect bad} +\end{frame} +\begin{frame} + \frametitle{Inspection} + \framesubtitle{bisect} + \commande{a12f94b62f617417f4b1f8c5317bc2f033c92f5a is the first bad commit} + + Terminer la session de recherche : + \commande{git bisect reset} +\end{frame} + +\begin{frame} + \frametitle{Inspection} + \framesubtitle{blame} + La conclusion précédente, vu la simplicité du code en cause, aurait pu être tirée grâce à \commande{git blame} et \commande{git log}. + % contenu (pas trop long) de la diapositive +\end{frame} +\begin{frame} + \frametitle{Inspection} + \framesubtitle{blame} + \begin{itemize} + \item \commande{git blame test.sh} + \item \commande{git log -S"exit 1" test.sh} + \end{itemize} +\end{frame} diff --git a/content/outils/scm/git/exercices/exercice_08.tex b/content/outils/scm/git/exercices/exercice_08.tex new file mode 100644 index 0000000..1e464fc --- /dev/null +++ b/content/outils/scm/git/exercices/exercice_08.tex @@ -0,0 +1,8 @@ +\begin{frame} + \frametitle{Exercice} + \framesubtitle{Travail collaboratif} + En fait de travail collaboratif, chacun peut facilement personnifier l'enfer pour ses collègues. + + L'exercice suivant propose de nettoyer son dépôt personnel avant de le rendre public. + % contenu (pas trop long) de la diapositive +\end{frame} diff --git a/content/outils/scm/git/exercices/exercice_08/steps.tex b/content/outils/scm/git/exercices/exercice_08/steps.tex new file mode 100644 index 0000000..2f12a42 --- /dev/null +++ b/content/outils/scm/git/exercices/exercice_08/steps.tex @@ -0,0 +1,156 @@ +\begin{frame} + \frametitle{Travail collaboratif} + \framesubtitle{Nettoyage} + \begin{minipage}{\textwidth} + \begin{tikzpicture} + %\begin{pgflowlevelscope}{\pgftransformscale{0.5}} + \begin{pgflowlevel}{\pgftransformscale{0.6}} + \gitDAG[grow right sep=1em]{ + fcacc8a -- a3a980c -- {6d7f839 -- {fe0c2b7 -- 6212e29 -- 0f13577 -- a60f3ed}} + }; + \gitbranch + {master} + {above=of 6d7f839} + {6d7f839} + \gitbranch + {histoire/confuse} + {above=of a60f3ed} + {a60f3ed} + %\end{pgflowlevelscope} + \end{pgflowlevel} + \end{tikzpicture} + \end{minipage} + + Le scénario proposé pour le nettoyage s'appuie sur la branche \emph{histoire/confuse}. + + Les \emph{commit} n'y sont pas cohérents : mélange de corrections syntaxiques, orthographiques et grammaticales. + Le but est de redonner de la lisibilité à l'historique du dépôt en le réécrivant à l'aide de \commande{git rebase -i} et \commande{git add -i}. +\end{frame} +\begin{frame} + \frametitle{Travail collaboratif} + \framesubtitle{Nettoyage} + \begin{enumerate}[<+->] + \item \commande{git checkout histoire/confuse} + \item \commande{git show master..} \# aperçu des modifications à réorganiser + \item \commande{git rebase -i \$(git merge-base --fork-point master)} \# rebase de tous les commits depuis la divergence avec la branche \emph{master} + \end{enumerate} +\end{frame} +\begin{frame}[fragile] + \frametitle{Travail collaboratif} + \framesubtitle{Nettoyage} + À l'origine : + \begin{minted}[fontsize=\tiny]{console} +pick fe0c2b7 Commit un peu rapide. +pick 6212e29 Premier commit de correction +pick 0f13577 Deuxième commit de correction +pick a60f3ed Troisième et dernier (on espère) commit de correction + \end{minted} + Ce qu'on veut faire : + \begin{itemize} + \item un \emph{commit} pour les espaces superflues (0f13577 et 6212e29) + \item un \emph{commit} pour l'orthographe et la grammaire (0f13577, a60f3ed et 6212e29) + \item un \emph{commit} pour le contresens + \end{itemize} +\end{frame} +\begin{frame}[fragile] + \frametitle{Travail collaboratif} + \framesubtitle{Nettoyage} + \begin{enumerate}[<+->] + \item s'arrêter sur le \emph{commit} 6212e29 et répartir les modifications sur trois \emph{commit} + \item s'arrèter sur le \emph{commit} 0f13577 et répartir les modifications sur deux \emph{commit} + \item reformuler le message du \emph{commit} a60f3ed + \end{enumerate} + \begin{minted}[fontsize=\tiny]{console} +pick fe0c2b7 Commit un peu rapide. +e 6212e29 Premier commit de correction +e 0f13577 Deuxième commit de correction +r a60f3ed Troisième et dernier (on espère) commit de correction + \end{minted} +\end{frame} +\begin{frame}[fragile] + \frametitle{Travail collaboratif} + \framesubtitle{Nettoyage} + Pour chaque \emph{commit} édité : + \begin{enumerate}[<+->] + \item \commande{git reset HEAD\~{}1} + \item \commande{git add -i} + \item \commande{patch} et sélection du fichier à éditer + \item validation, refus ou édition du fragment de patch + \item sortie du mode patch + \item \commande{git add doc/README} suivi de \commande{git commit} + \item si il n'y a plus de modifications, \commande{git rebase --continue}, sinon, retour à l'étape 2 + \end{enumerate} +\end{frame} +\begin{frame}[fragile] + \frametitle{Travail collaboratif} + \framesubtitle{Nettoyage} + \begin{minted}[fontsize=\tiny]{console} +f500056 Corrections orthographiques et grammaticales +a11256a Suppression des espaces superflues +1a03003 Corrections orthographiques et grammaticales +f48a802 Corrections orthographiques et grammaticales +9ed1adb Suppression des espaces superflues +7236369 Correction du contresens +fe0c2b7 Commit un peu rapide. + \end{minted} +\end{frame} +\begin{frame}[fragile] + \frametitle{Travail collaboratif} + \framesubtitle{Nettoyage} + Prêt pour la seconde passe. + \begin{minted}[fontsize=\tiny]{console} +pick fe0c2b7 Commit un peu rapide. +pick 7236369 Correction du contresens +pick 9ed1adb Suppression des espaces superflues +s a11256a Suppression des espaces superflues +pick f48a802 Corrections orthographiques et grammaticales +s 1a03003 Corrections orthographiques et grammaticales +s f500056 Corrections orthographiques et grammaticales + \end{minted} +\end{frame} +\begin{frame}[fragile] + \frametitle{Travail collaboratif} + \framesubtitle{Nettoyage} + Prêt pour la seconde passe. + \begin{minted}[fontsize=\tiny]{console} +f7caf4b Corrections orthographiques et grammaticales +cdcf39e Suppression des espaces superflues +7236369 Correction du contresens +fe0c2b7 Commit un peu rapide. + \end{minted} +\end{frame} +\begin{frame} + \frametitle{Travail collaboratif} + \framesubtitle{Nettoyage} + Évidemment, dans la situation décrite, peu de modifications mais imbriquées, un résultat équivalent mais plus rapidement obtenu avec : + \begin{enumerate}[<+->] + \item \commande{git reset \$(git merge-base --fork-point master)} + \item \commande{git add -i} + \end{enumerate} +\end{frame} +\begin{frame} + \frametitle{Travail collaboratif} + \framesubtitle{Nettoyage} + \begin{minipage}{\textwidth} + \begin{tikzpicture} + %\begin{pgflowlevelscope}{\pgftransformscale{0.5}} + \begin{pgflowlevel}{\pgftransformscale{0.6}} + \gitDAG[grow right sep=1em]{ + fcacc8a -- a3a980c -- {902ae87} + }; + \gitbranch + {brancheindiscrete} + {above=of 902ae87} + {902ae87} + %\end{pgflowlevelscope} + \end{pgflowlevel} + \end{tikzpicture} + \end{minipage} + + Il ne reste plus qu'à purger les \emph{commit} de tous les fichiers embarrassants, ajoutés par inadvertance. + \begin{enumerate}[<+->] + \item \commande{git checkout branche\_indiscrete} + \item \commande{git filter-branch --tree-filter "git rm password" master..} + \end{enumerate} + % contenu (pas trop long) de la diapositive +\end{frame} diff --git a/content/outils/scm/git/exercices/exercice_09.tex b/content/outils/scm/git/exercices/exercice_09.tex new file mode 100644 index 0000000..1c569b4 --- /dev/null +++ b/content/outils/scm/git/exercices/exercice_09.tex @@ -0,0 +1,8 @@ +\begin{frame} + \frametitle{Travail collaboratif} + \framesubtitle{Partager} + Reprendre les exercices en incluant les commandes push, pull et fetch. + + Côté serveur, tester les hooks. + % contenu (pas trop long) de la diapositive +\end{frame} diff --git a/content/outils/scm/git/exercices/exercice_09/steps.tex b/content/outils/scm/git/exercices/exercice_09/steps.tex new file mode 100644 index 0000000..2f5d5f8 --- /dev/null +++ b/content/outils/scm/git/exercices/exercice_09/steps.tex @@ -0,0 +1,4 @@ +\begin{frame} + \frametitle{} + % contenu (pas trop long) de la diapositive +\end{frame} \ No newline at end of file diff --git a/content/outils/scm/git/exercices/exercice_10.tex b/content/outils/scm/git/exercices/exercice_10.tex new file mode 100644 index 0000000..55894db --- /dev/null +++ b/content/outils/scm/git/exercices/exercice_10.tex @@ -0,0 +1,9 @@ +\begin{frame} + \frametitle{Exercice} + \framesubtitle{Intégration dans les processus} + + git est intégré dans divers processus, notamment les processus de packaging. + + Cet exercice donne un aperçu d'une telle intégration dans le cas du packaging debian. + % contenu (pas trop long) de la diapositive +\end{frame} diff --git a/content/outils/scm/git/exercices/exercice_10/steps.tex b/content/outils/scm/git/exercices/exercice_10/steps.tex new file mode 100644 index 0000000..52404ee --- /dev/null +++ b/content/outils/scm/git/exercices/exercice_10/steps.tex @@ -0,0 +1,35 @@ +\begin{frame} + \frametitle{Packaging debian} + \framesubtitle{buildpackage} + buildpackage regroupe les outils simplifiant le packaging debian basé sur des sources maintenues en dépôts git. + + \commande{apt-get install git-buildpackage} + % contenu (pas trop long) de la diapositive +\end{frame} +\begin{frame} + \frametitle{Packaging debian} + \framesubtitle{patchs} + gbp-pq est la commande permettant de faire correspondre les commit d'une branche aux patchs d'un paquet. + + Depuis la branche de packaging : + \commande{gbp-pq import} + + Après modification du code et organisation en commit : + \commande{gbp-pq export} + % contenu (pas trop long) de la diapositive +\end{frame} +\begin{frame} + \frametitle{Packaging debian} + \framesubtitle{changelog} + git dch permet d'automatiser l'écriture du changelog en se basant sur les commit. + + \commande{git dch} + % contenu (pas trop long) de la diapositive +\end{frame} +\begin{frame} + \frametitle{Packaging debian} + \framesubtitle{description du paquet} + Finalement, git buildpackage produit les fichiers nécessaires à la construction du paquet : .dsc, archive des sources, etc. + \commande{apt-get install git-buildpackage} + % contenu (pas trop long) de la diapositive +\end{frame} diff --git a/content/outils/scm/git/installation/linux.tex b/content/outils/scm/git/installation/linux.tex new file mode 100644 index 0000000..af09ce3 --- /dev/null +++ b/content/outils/scm/git/installation/linux.tex @@ -0,0 +1,7 @@ +\begin{frame} +\frametitle{Installer git} +\framesubtitle{sur les systèmes d'exploitation GNU/Linux} +\begin{itemize} +\item apt-get, dnf, emerge, pacman, zypper, \ldots{} +\end{itemize} +\end{frame} diff --git a/content/outils/scm/git/installation/macos.tex b/content/outils/scm/git/installation/macos.tex new file mode 100644 index 0000000..8b91ddc --- /dev/null +++ b/content/outils/scm/git/installation/macos.tex @@ -0,0 +1,8 @@ +\begin{frame} +\frametitle{Installer git} +\framesubtitle{sur les systèmes d'exploitation Apple} +\begin{itemize} +\item \url{http://git-scm.com/download/mac} +\item \url{https://mac.github.com/} +\end{itemize} +\end{frame} diff --git a/content/outils/scm/git/installation/windows.tex b/content/outils/scm/git/installation/windows.tex new file mode 100644 index 0000000..ed314eb --- /dev/null +++ b/content/outils/scm/git/installation/windows.tex @@ -0,0 +1,8 @@ +\begin{frame} +\frametitle{Installer git} +\framesubtitle{sur les systèmes d'exploitation Microsoft©} +\begin{itemize} +\item \url{http://git-scm.com/download/win} +\item \url{https://windows.github.com/} +\end{itemize} +\end{frame} diff --git a/content/outils/scm/git/presentation.tex b/content/outils/scm/git/presentation.tex new file mode 100644 index 0000000..fe5b6eb --- /dev/null +++ b/content/outils/scm/git/presentation.tex @@ -0,0 +1,9 @@ +\begin{frame} +\frametitle{Git en un mot} +\begin{itemize} +\item projet créé en 2005 +\item sous licence GPLv2 +\item gère le code source du noyau linux +\item est multiplateforme +\end{itemize} +\end{frame} diff --git a/content/outils/scm/git/references/references.tex b/content/outils/scm/git/references/references.tex new file mode 100644 index 0000000..dfc47e9 --- /dev/null +++ b/content/outils/scm/git/references/references.tex @@ -0,0 +1,8 @@ +\begin{frame} +\frametitle{Références} +\begin{itemize} +\item \url{http://www.git-scm.com/docs} +\item Pro-git, S. Chacon et B. Straub, Apress, 2014 +\item les pages de man : gitcore-tutorial, gitworkflows, gitcvs-migration +\end{itemize} +\end{frame} diff --git a/content/outils/scm/git/stockage.tex b/content/outils/scm/git/stockage.tex new file mode 100644 index 0000000..40f71eb --- /dev/null +++ b/content/outils/scm/git/stockage.tex @@ -0,0 +1,11 @@ +\begin{frame} +\frametitle{Ce que cache le dépôt git} +\begin{description}[répertoire de travail] + \item[.git]<1-> Les objets et la configuration locale du dépôt git + \item[répertoire de travail]<2-> Une arborescence de fichiers accessible à l'édition, le bac à sable + \item[index]<3-> Les changements candidats à l'archivage + \item[HEAD]<4-> Le dernier état archivé + \item[stash]<5-> Une zone tampon pour les modifications à mettre momentanément de côté + \end{description} + \skbinput[from=fig]{apps/git_trees} +\end{frame} diff --git a/content/outils/scm/git/web/basicssh.tex b/content/outils/scm/git/web/basicssh.tex new file mode 100644 index 0000000..ea6bab8 --- /dev/null +++ b/content/outils/scm/git/web/basicssh.tex @@ -0,0 +1,7 @@ +\begin{frame} + \frametitle{Serveur de dépôts git} + \framesubtitle{Serveur basique ssh} + Ajout des clés des utilisateurs au fichier ~/.ssh/authorized\_keys de l'utilisateur administrant les dépôts. + + Préciser l'utilisation d'un shell restreint, git-shell, pour limiter les droits (\commande{chsh git /usr/bin/git-shell}). +\end{frame} diff --git a/content/outils/scm/git/web/gitlab.tex b/content/outils/scm/git/web/gitlab.tex new file mode 100644 index 0000000..2475f2e --- /dev/null +++ b/content/outils/scm/git/web/gitlab.tex @@ -0,0 +1,10 @@ +\begin{frame} + \frametitle{Serveur de dépôts git} + \framesubtitle{GitLab} + Application combinant un serveur de dépôts git avec une interface web conviviale. + \begin{itemize} + \item Gestion des utilisateurs + \item Navigation dans les dépôts + \item Gestion des évènements git et web + \end{itemize} +\end{frame} diff --git a/content/outils/scm/git/web/gitolite.tex b/content/outils/scm/git/web/gitolite.tex new file mode 100644 index 0000000..e15331f --- /dev/null +++ b/content/outils/scm/git/web/gitolite.tex @@ -0,0 +1,11 @@ +\begin{frame} + \frametitle{Serveur de dépôts git} + \framesubtitle{gitolite} + Application de gestion de dépôts git sans interface graphique + \begin{itemize} + \item Gestion des utilisateurs + \item Accès par ssh + \item Gestion fine des droits + \item Gestion sous la forme d'un dépôt git + \end{itemize} +\end{frame} diff --git a/content/outils/scm/git/web/gogs.tex b/content/outils/scm/git/web/gogs.tex new file mode 100644 index 0000000..90405d7 --- /dev/null +++ b/content/outils/scm/git/web/gogs.tex @@ -0,0 +1,10 @@ +\begin{frame} + \frametitle{Serveur de dépôts git} + \framesubtitle{Gogs} + Application combinant un serveur de dépôts git avec une interface web conviviale. + \begin{itemize} + \item Gestion des utilisateurs + \item Navigation dans les dépôts + \item Gestion des évènements git et web + \end{itemize} +\end{frame} diff --git a/content/outils/scm/workflow/branching.tex b/content/outils/scm/workflow/branching.tex new file mode 100644 index 0000000..03cce08 --- /dev/null +++ b/content/outils/scm/workflow/branching.tex @@ -0,0 +1,8 @@ +\begin{frame} + \frametitle{Des branches pour étayer le tronc} + \begin{itemize} + \item maintenir l'histoire du code lisible + \item faciliter les divergences + \item éphémères ou pérennes + \end{itemize} +\end{frame} diff --git a/content/outils/scm/workflow/driessen.tex b/content/outils/scm/workflow/driessen.tex new file mode 100644 index 0000000..9fc9dcc --- /dev/null +++ b/content/outils/scm/workflow/driessen.tex @@ -0,0 +1,9 @@ +\begin{frame} +\frametitle{Un processus bien documenté} +\begin{description} + \item[git-flow] une démarche de développement tirant parti des capacités de git. +\end{description} +\begin{exampleblock}{} + \small{\url{http://nvie.com/posts/a-successful-git-branching-model/}} +\end{exampleblock} +\end{frame} diff --git a/content/outils/scm/workflow/driessen/schema.tex b/content/outils/scm/workflow/driessen/schema.tex new file mode 100644 index 0000000..48353c0 --- /dev/null +++ b/content/outils/scm/workflow/driessen/schema.tex @@ -0,0 +1,15 @@ +\begin{frame} + \frametitle{Processus de Vincent Driessen} + \begin{columns} + \begin{column}{0.5\textwidth} + \begin{itemize} + \item Des branches \emph{master} et \emph{develop} pour le code fonctionnel + \item Des branches pour les développements en cours + \item Un circuit entre les branches bien fléché + \end{itemize} + \end{column} + \begin{column}{0.5\textwidth} + \skbfigure[center, figure, caption=Vincent Driessen CC-by-sa, height=0.5\textheight]{scm/git-model@2x.png} + \end{column} + \end{columns} +\end{frame} diff --git a/content/questions/equipement/equipement_personnel_utilises.tex b/content/questions/equipement/equipement_personnel_utilises.tex new file mode 100644 index 0000000..d74b12d --- /dev/null +++ b/content/questions/equipement/equipement_personnel_utilises.tex @@ -0,0 +1,12 @@ +\skbheading{Équipements personnels utilisés} + +Utilisez-vous des équipements personnels (smartphone, ordinateur) ? + +\ChoiceMenu[radio,radiosymbol=\ding{52},name=utilisation_equipement_personnel]{}{oui} +\ChoiceMenu[radio,radiosymbol=\ding{52},name=utilisation_equipement_personnel]{}{non} + +Si vous avez répondu oui à la question précédente, pourquoi utilisez-vous un équipement personnel ? + +\ChoiceMenu[bordercolor=CadolesBlue,radio,radiosymbol=\ding{52},name=pourquoi_equipement_personnel]{}{par commodité} +\ChoiceMenu[bordercolor=CadolesBlue,radio,radiosymbol=\ding{52},name=pourquoi_equipement_personnel]{}{par obligation} +\ChoiceMenu[bordercolor=CadolesBlue,radio,radiosymbol=\ding{52},name=pourquoi_equipement_personnel]{}{par nécessité} diff --git a/content/questions/equipement/equipement_personnel_utilises_oui_non.tex b/content/questions/equipement/equipement_personnel_utilises_oui_non.tex new file mode 100644 index 0000000..2a9a7ec --- /dev/null +++ b/content/questions/equipement/equipement_personnel_utilises_oui_non.tex @@ -0,0 +1,2 @@ +\skbheading{equipement\_personnel\_utilises\_oui\_non.tex} +fichier content/questions/equipement/equipement\_personnel\_utilises\_oui\_non.tex à éditer \ No newline at end of file diff --git a/content/questions/equipement/equipement_utilises.tex b/content/questions/equipement/equipement_utilises.tex new file mode 100644 index 0000000..fe33e87 --- /dev/null +++ b/content/questions/equipement/equipement_utilises.tex @@ -0,0 +1,12 @@ +\skbheading{Équipements utilisés} + +Utilisez-vous plusieurs équipements (smartphone, ordinateur) ? + +\ChoiceMenu[radio,radiosymbol=\ding{52},name=utilisation_equipement_personnel]{}{oui} +\ChoiceMenu[radio,radiosymbol=\ding{52},name=utilisation_equipement_personnel]{}{non} + +Si vous avez répondu oui à la question précédente, pourquoi utilisez-vous plusieurs équipements ? + +\ChoiceMenu[bordercolor=CadolesBlue,radio,radiosymbol=\ding{52},name=pourquoi_equipement_personnel]{}{par commodité} +\ChoiceMenu[bordercolor=CadolesBlue,radio,radiosymbol=\ding{52},name=pourquoi_equipement_personnel]{}{par obligation} +\ChoiceMenu[bordercolor=CadolesBlue,radio,radiosymbol=\ding{52},name=pourquoi_equipement_personnel]{}{par nécessité} diff --git a/content/questions/services/acces_service_depuis_ou.tex b/content/questions/services/acces_service_depuis_ou.tex new file mode 100644 index 0000000..2879045 --- /dev/null +++ b/content/questions/services/acces_service_depuis_ou.tex @@ -0,0 +1,9 @@ +\skbheading{Type d’accès aux services numériques} + +Depuis quel endroit avez-vous accès aux services numériques ? + +\begin{center} +\ChoiceMenu[radio,radiosymbol=\ding{52},name=ou_service]{}{depuis mon établissement} +\ChoiceMenu[radio,radiosymbol=\ding{52},name=ou_service]{}{depuis mon domicile} +\ChoiceMenu[radio,radiosymbol=\ding{52},name=ou_service]{}{depuis les deux} +\end{center} diff --git a/content/questions/services/attentes_ameliorations.tex b/content/questions/services/attentes_ameliorations.tex new file mode 100644 index 0000000..710f524 --- /dev/null +++ b/content/questions/services/attentes_ameliorations.tex @@ -0,0 +1,2 @@ +\skbheading{attentes\_ameliorations.tex} +fichier content/questions/services/attentes\_ameliorations.tex à éditer \ No newline at end of file diff --git a/content/questions/services/authentification_services.tex b/content/questions/services/authentification_services.tex new file mode 100644 index 0000000..60e4110 --- /dev/null +++ b/content/questions/services/authentification_services.tex @@ -0,0 +1,8 @@ +\skbheading{Méthodes d’authentification aux services numériques} + +Disposez-vous d’un compte unique pour tous les services numériques ? + +\begin{center} +\ChoiceMenu[radio, radiosymbol=\ding{52}, name=auth_service]{}{oui} +\ChoiceMenu[radio, radiosymbol=\ding{52}, name=auth_service]{}{non} +\end{center} diff --git a/content/questions/services/degre_satisfaction.tex b/content/questions/services/degre_satisfaction.tex new file mode 100644 index 0000000..6737d1a --- /dev/null +++ b/content/questions/services/degre_satisfaction.tex @@ -0,0 +1,12 @@ +\skbheading{Satisfaction donnée par les services numériques} + +Quel est le degré de satisfaction que vous donne les services numériques proposés ? + +\ChoiceMenu[bordercolor=CadolesBlue,radio,radiosymbol=\ding{52},name=satisfaction_menu]{}{totalement satisfait} +\ChoiceMenu[bordercolor=CadolesBlue,radio,radiosymbol=\ding{52},name=satisfaction_menu]{}{partiellement satisfait} +\ChoiceMenu[bordercolor=CadolesBlue,radio,radiosymbol=\ding{52},name=satisfaction_menu]{}{peu satisfait} +\ChoiceMenu[bordercolor=CadolesBlue,radio,radiosymbol=\ding{52},name=satisfaction_menu]{}{pas du tout satisfait} + +Si vous avez répondu autre chose que totalement satisfait à la précedent question, en quoi les services numériques proposés ne répondent pas à vos attentes ? + +\TextField[height=10em,width=\textwidth,multiline]{} diff --git a/content/questions/services/liste_service_utilises.tex b/content/questions/services/liste_service_utilises.tex new file mode 100644 index 0000000..6af62cd --- /dev/null +++ b/content/questions/services/liste_service_utilises.tex @@ -0,0 +1,5 @@ +\skbheading{Liste des services numériques utilisés} + +Lister les services numérique utilisés : + +\TextField[height=10em,width=\textwidth,multiline]{} diff --git a/content/style/00-Coordonnees.tex b/content/style/00-Coordonnees.tex new file mode 100644 index 0000000..8fbaba4 --- /dev/null +++ b/content/style/00-Coordonnees.tex @@ -0,0 +1,6 @@ +\textbf{\cadoles} \\ +\adresse \\ +\codepostal \ville \\ +\telephone \\ +\fax \\ +\siteweb \\ diff --git a/content/style/00-entete-pied-de-page.tex b/content/style/00-entete-pied-de-page.tex new file mode 100644 index 0000000..a6b4199 --- /dev/null +++ b/content/style/00-entete-pied-de-page.tex @@ -0,0 +1,11 @@ +\pagestyle{fancy} +\fancyhf{} +\renewcommand{\headrulewidth}{0pt} +\renewcommand{\footrulewidth}{0pt} +%\fancyhead[L]{ } +%\fancyhead[R]{ } + +\fancyfoot[L]{{\tiny \@title \\ \numeroversion}} +\fancyfoot[C]{{\tiny {\scriptsize \textbf{\cadoles}} \\ {\adresse \codepostal \ville} }} +\fancyfoot[R]{{\tiny \thepage / \pageref{LastPage} \\ \telephone }} + diff --git a/content/style/license-cc-by-sa-2.0.tex b/content/style/license-cc-by-sa-2.0.tex new file mode 100644 index 0000000..98d07d4 --- /dev/null +++ b/content/style/license-cc-by-sa-2.0.tex @@ -0,0 +1,11 @@ +\skbheading{Licence} + Cette œuvre est mise à disposition sous licence \href{http://creativecommons.org/licenses/by-nc-sa/2.0/fr/}{\textsc{cc-by-sa-2.0}} + \begin{itemize} + \item Attribution + \item Partage dans les Mêmes Conditions 2.0 + \item France + \end{itemize} + Pour voir une copie de cette licence, visitez + \href{http://creativecommons.org/licenses/by-sa/2.0/fr/}{http://creativecommons.org/licenses/by-sa/2.0/fr/} + ou écrivez à Creative Commons, 444 Castro Street, Suite 900, + Mountain View, California, 94041, USA. diff --git a/content/style/preambule-article.tex b/content/style/preambule-article.tex new file mode 100644 index 0000000..a677af6 --- /dev/null +++ b/content/style/preambule-article.tex @@ -0,0 +1,203 @@ +\usepackage{ifxetex} +\ifxetex + \usepackage{fontspec} + %\usepackage{microtype} + %\usepackage{xunicode} + \usepackage{polyglossia} + \usepackage{xltxtra} + \setdefaultlanguage{french} + \setotherlanguage{english} + \defaultfontfeatures{Mapping=tex-text} % To support LaTeX quoting style + %\setmainfont{Caviar Dreams} + \newfontfamily\headingfont[]{Caviar Dreams} + \usepackage{titlesec} + \defaultfontfeatures{Ligatures=TeX} + % Set sans serif font to Calibri + \setsansfont{LiberationSans} + % Set serifed font to Cambria + \setmainfont{LiberationSans} +\else + \usepackage[utf8]{inputenc} + \usepackage[T1]{fontenc} + \usepackage{amsfonts} + \usepackage[english, francais]{babel} +\fi +\usepackage{pifont} +\usepackage{geometry} +\usepackage{fancybox} +\usepackage{verbatim} +\usepackage{eurosym} +%\usepackage{color} +\usepackage[svgnames,table]{xcolor} +\usepackage{listings} +\usepackage{graphicx} +\usepackage{hyperref} +\usepackage{titlesec} +\usepackage{fancyhdr} +\usepackage{lastpage} +%\usepackage{enumitem} +\usepackage{makeidx} +\usepackage{tocbibind} +\usepackage[backend=biber,hyperref=true,backref=true]{biblatex} +\addbibresource{biblio.bib} +\usepackage{url} +\renewcommand{\baselinestretch}{1.3} +\addto\captionsfrench{\renewcommand{\contentsname}{Sommaire}} +\usepackage{graphicx} +\usepackage{pdfpages} +\usepackage{menukeys} +\makeindex + +% +% Tableaux +% +\usepackage{array} +\usepackage{booktabs} +\usepackage{colortbl} + +% Default +\newcolumntype{1}{l} +\newcolumntype{2}{l} +\newcolumntype{3}{l} +\newcolumntype{4}{l} +\newcolumntype{5}{l} +\newcolumntype{6}{l} +\newcolumntype{7}{l} +\newcolumntype{8}{l} +\newcommand*\heading{} +\newcommand*\beforeheading{} +\newcommand*\afterheading{} +\newcommand*\normalline{} +\newcommand*\lastline{} + +%\renewcommand*\toprule{\arrayrulecolor{red}{\hline}} + +% Nice looking rules, centered cells +\newcolumntype{1}{c} +\newcolumntype{2}{c} +\newcolumntype{3}{c} +\newcolumntype{4}{c} +\newcolumntype{5}{c} +\newcolumntype{6}{c} +\newcolumntype{7}{c} +\newcolumntype{8}{c} +\renewcommand*\heading[1]{\chapterfont\MakeUppercase{#1}} +\renewcommand*\beforeheading{\arrayrulecolor{CadolesBlue}\toprule} +\renewcommand*\afterheading{\midrule} +\renewcommand*\normalline{} +\renewcommand*\lastline{\bottomrule} + +\definecolor{CadolesBlue}{rgb}{.16,.50,.69} +\definecolor{CadolesLightBlue}{rgb}{.31,.506,.741} +\newfontfamily\cadolesfont{Caviar Dreams} +\newfontfamily\chapterfont[Color=CadolesBlue]{Caviar Dreams} +\newfontfamily\sectionfont[Color=CadolesBlue]{Caviar Dreams} +\newfontfamily\subsectionfont[Color=CadolesLightBlue]{Caviar Dreams} +\newfontfamily\subsubsectionfont[Color=CadolesLightBlue]{Caviar Dreams} + +\newcommand{\tickYes}{\color{Green}\checkmark} +\newcommand{\tickNo}{\color{red}{\hspace{1pt}\ding{55}}} +\newcommand{\wlink}[1]{\textcolor{CadolesBlue}{\underline{#1}}} +\newcommand{\classname}[1]{\texttt{\textbf{#1}}} +%\newcommand{\cadoles}{\chapterfont{Cadoles}} +\newcommand{\cadoles}{\cadolesfont\textcolor{black}{Cad}\textcolor{CadolesBlue}{ole}\textcolor{black}{s}} +\newcommand{\TitleRule}{\rule[0.5ex]{12cm}{0.5mm}} +\newcommand\espace{\vrule height 20pt width 0pt} +\newcommand{\titre}[1]{{\color{DarkBlue}\normalfont\LARGE\bfseries #1\smallskip\hrule height 1pt}\bigskip} +\renewcommand*\abstractname{Summary} +%\renewcommand{\FrenchLabelItem}{\color{DarkBlue}{\ding{68}}} +\let\oldfootnoterule\footnoterule +\renewcommand\footnoterule{\vspace*{-3pt}% +\noindent\rule{3in}{0.4pt}\vspace*{2.6pt}}% -3 + 0.4 + 2.6 = 0 + +%\pagestyle{headings} +\makeatletter +\renewcommand{\thesection}{} +\titleformat{\chapter}{\LARGE\chapterfont}{\thesection}{0ex}{}[\color{CadolesBlue}\hrule height 1pt] +\titleformat{\section}{\Large\sectionfont}{\thesection}{0ex}{}[\color{CadolesBlue}\hrule height 1pt] +\titleformat{\subsection}{\large\subsectionfont}{\thesection}{0ex}{} +\titleformat{\subsubsection}{\itshape\subsubsectionfont}{\thesection}{0ex}{} + +\skbinput[from=rep]{style/00-entete-pied-de-page} + +\def\maketitle{ +\skbfigure[center]{cadoles/logo_01} + \vspace{4.5cm} + + \begin{flushleft} + \textbf{\Huge \cadolesfont\textcolor{CadolesBlue}{\@title}} + \end{flushleft} + \begin{center} + \color{CadolesBlue}\TitleRule + \end{center} + \begin{flushright} + \vspace{-1.5ex} + \textbf{\huge \cadolesfont\textcolor{DarkGrey}{\departement}} + \end{flushright} + \vspace{2.5cm} + \pagebreak +} + +\def\destinataire{ + \vspace{2cm} + \begin{flushright} + \begin{minipage}[r]{8cm} + \skbinput[from=rep]{style/Destinataire} + \end{minipage} + \end{flushright} + +} + +\def\origine{ + \vspace{1.5cm} + \begin{flushleft} + \begin{minipage}[l]{8cm} + \skbinput{style/00-Coordonnees} + \end{minipage} + \end{flushleft} +} +% +% Box pour citations +% +\newsavebox{\fmbox} +\newenvironment{fmpage}[1] + {\begin{lrbox}{\fmbox}\begin{minipage}{#1}} + {\end{minipage}\end{lrbox}\fbox{\usebox{\fmbox}}} + +\hypersetup{ + backref=true, % Permet d'ajouter des liens dans + pagebackref=true, % les bibliographies + hyperindex=true, % Ajoute des liens dans les index. + colorlinks=true, % Colorise les liens. + breaklinks=true, % Permet le retour à la ligne dans les liens trop longs. + urlcolor= CadolesBlue, % Couleur des hyperliens. + linkcolor= CadolesBlue, % Couleur des liens internes. + bookmarks=true, % Créé des signets pour Acrobat. + bookmarksopen=true, % Si les signets Acrobat sont créés, + % les afficher complètement. + pdftitle={\@title}, % Titre du document. + % Informations apparaissant dans + pdfauthor={Cadoles}, % dans les informations du document + pdfsubject={Proposition Commerciale} % sous Acrobat. +} + + + +%\topmargin 0in +%\leftmargin 2.5cm +%\rightmargin 2.5cm + +\setlength{\hoffset}{-18pt} +\setlength{\oddsidemargin}{0pt} % Marge gauche sur pages impaires +\setlength{\evensidemargin}{9pt} % Marge gauche sur pages paires +\setlength{\marginparwidth}{54pt} % Largeur de note dans la marge +%\setlength{\textwidth}{481pt} % Largeur de la zone de texte (17cm) +\setlength{\voffset}{-18pt} % Bon pour DOS +\setlength{\marginparsep}{7pt} % Séparation de la marge +\setlength{\topmargin}{0pt} % Pas de marge en haut +\setlength{\headheight}{13pt} % Haut de page +\setlength{\headsep}{10pt} % Entre le haut de page et le texte +\setlength{\footskip}{27pt} % Bas de page + séparation +\setlength{\textheight}{660pt} % Hauteur de la zone de texte (25cm) + + diff --git a/content/style/preambule-questionnaire.tex b/content/style/preambule-questionnaire.tex new file mode 100644 index 0000000..3f03c3c --- /dev/null +++ b/content/style/preambule-questionnaire.tex @@ -0,0 +1,203 @@ +\usepackage{ifxetex} +\ifxetex + \usepackage{fontspec} + %\usepackage{microtype} + %\usepackage{xunicode} + \usepackage{polyglossia} + \usepackage{xltxtra} + \setdefaultlanguage{french} + \setotherlanguage{english} + \defaultfontfeatures{Mapping=tex-text} % To support LaTeX quoting style + %\setmainfont{Caviar Dreams} + \newfontfamily\headingfont[]{Caviar Dreams} + \usepackage{titlesec} + \defaultfontfeatures{Ligatures=TeX} + % Set sans serif font to Calibri + \setsansfont{LiberationSans} + % Set serifed font to Cambria + \setmainfont{LiberationSans} +\else + \usepackage[utf8]{inputenc} + \usepackage[T1]{fontenc} + \usepackage{amsfonts} + \usepackage[english, francais]{babel} +\fi +\usepackage{pifont} +\usepackage{geometry} +\usepackage{fancybox} +\usepackage{verbatim} +\usepackage{eurosym} +%\usepackage{color} +\usepackage[svgnames,table]{xcolor} +\usepackage{listings} +\usepackage{graphicx} +\usepackage{hyperref} +\usepackage{titlesec} +\usepackage{fancyhdr} +\usepackage{lastpage} +%\usepackage{enumitem} +\usepackage{makeidx} +\usepackage{tocbibind} +\usepackage[backend=biber,hyperref=true,backref=true]{biblatex} +\addbibresource{biblio.bib} +\usepackage{url} +\renewcommand{\baselinestretch}{1.3} +\addto\captionsfrench{\renewcommand{\contentsname}{Sommaire}} +\usepackage{graphicx} +\usepackage{pdfpages} +\makeindex + +% +% Tableaux +% +\usepackage{array} +\usepackage{booktabs} +\usepackage{colortbl} + +% Default +\newcolumntype{1}{l} +\newcolumntype{2}{l} +\newcolumntype{3}{l} +\newcolumntype{4}{l} +\newcolumntype{5}{l} +\newcolumntype{6}{l} +\newcolumntype{7}{l} +\newcolumntype{8}{l} +\newcommand*\heading{} +\newcommand*\beforeheading{} +\newcommand*\afterheading{} +\newcommand*\normalline{} +\newcommand*\lastline{} + +%\renewcommand*\toprule{\arrayrulecolor{red}{\hline}} + +% Nice looking rules, centered cells +\newcolumntype{1}{c} +\newcolumntype{2}{c} +\newcolumntype{3}{c} +\newcolumntype{4}{c} +\newcolumntype{5}{c} +\newcolumntype{6}{c} +\newcolumntype{7}{c} +\newcolumntype{8}{c} +\renewcommand*\heading[1]{\chapterfont\MakeUppercase{#1}} +\renewcommand*\beforeheading{\arrayrulecolor{CadolesBlue}\toprule} +\renewcommand*\afterheading{\midrule} +\renewcommand*\normalline{} +\renewcommand*\lastline{\bottomrule} + +\definecolor{CadolesBlue}{rgb}{.16,.50,.69} +\definecolor{CadolesLightBlue}{rgb}{.31,.506,.741} +\newfontfamily\cadolesfont{Caviar Dreams} +\newfontfamily\chapterfont[Color=CadolesBlue]{Caviar Dreams} +\newfontfamily\sectionfont[Color=CadolesBlue]{Caviar Dreams} +\newfontfamily\subsectionfont[Color=CadolesLightBlue]{Caviar Dreams} +\newfontfamily\subsubsectionfont[Color=CadolesLightBlue]{Caviar Dreams} + +\newcommand{\tickYes}{\color{Green}\checkmark} +\newcommand{\tickNo}{\color{red}{\hspace{1pt}\ding{55}}} +\newcommand{\wlink}[1]{\textcolor{CadolesBlue}{\underline{#1}}} +\newcommand{\classname}[1]{\texttt{\textbf{#1}}} +%\newcommand{\cadoles}{\chapterfont{Cadoles}} +\newcommand{\cadoles}{\cadolesfont\textcolor{black}{Cad}\textcolor{CadolesBlue}{ole}\textcolor{black}{s}} +\newcommand{\TitleRule}{\rule[0.5ex]{12cm}{0.5mm}} +\newcommand\espace{\vrule height 20pt width 0pt} +\newcommand{\titre}[1]{{\color{DarkBlue}\normalfont\LARGE\bfseries #1\smallskip\hrule height 1pt}\bigskip} +\renewcommand*\abstractname{Summary} +%\renewcommand{\FrenchLabelItem}{\color{DarkBlue}{\ding{68}}} +\let\oldfootnoterule\footnoterule +\renewcommand\footnoterule{\vspace*{-3pt}% +\noindent\rule{3in}{0.4pt}\vspace*{2.6pt}}% -3 + 0.4 + 2.6 = 0 + +%\pagestyle{headings} +\makeatletter +\renewcommand{\thesection}{} +\titleformat{\chapter}{\LARGE\chapterfont}{\thesection}{0ex}{}[\color{CadolesBlue}\hrule height 1pt] +\titleformat{\section}{\Large\sectionfont}{\thesection}{0ex}{}[\color{CadolesBlue}\hrule height 1pt] +\titleformat{\subsection}{\large\subsectionfont}{\thesection}{0ex}{} +\titleformat{\subsubsection}{\itshape\subsubsectionfont}{\thesection}{0ex}{} + +\skbinput[from=rep]{style/00-entete-pied-de-page} + +\def\maketitle{ +\skbfigure[center]{cadoles/logo_01} + \vspace{4.5cm} + + \begin{flushleft} + \textbf{\Huge \cadolesfont\textcolor{CadolesBlue}{\@title}} + \end{flushleft} + \begin{center} + \color{CadolesBlue}\TitleRule + \end{center} + \begin{flushright} + \vspace{-1.5ex} + \textbf{\huge \cadolesfont\textcolor{DarkGrey}{\departement}} + \end{flushright} + \vspace{2.5cm} + \pagebreak +} + +\def\destinataire{ + \vspace{2cm} + \begin{flushright} + \begin{minipage}[r]{8cm} + \skbinput[from=rep]{style/Destinataire} + \end{minipage} + \end{flushright} + +} + +\def\origine{ + \vspace{1.5cm} + \begin{flushleft} + \begin{minipage}[l]{8cm} + \skbinput{style/00-Coordonnees} + \end{minipage} + \end{flushleft} +} +% +% Box pour citations +% +\newsavebox{\fmbox} +\newenvironment{fmpage}[1] + {\begin{lrbox}{\fmbox}\begin{minipage}{#1}} + {\end{minipage}\end{lrbox}\fbox{\usebox{\fmbox}}} + +\hypersetup{ + backref=true, % Permet d'ajouter des liens dans + pagebackref=true, % les bibliographies + hyperindex=true, % Ajoute des liens dans les index. + colorlinks=true, % Colorise les liens. + breaklinks=true, % Permet le retour à la ligne dans les liens trop longs. + urlcolor= CadolesBlue, % Couleur des hyperliens. + linkcolor= CadolesBlue, % Couleur des liens internes. + bookmarks=true, % Créé des signets pour Acrobat. + bookmarksopen=true, % Si les signets Acrobat sont créés, + % les afficher complètement. + pdftitle={\@title}, % Titre du document. + % Informations apparaissant dans + pdfauthor={Cadoles}, % dans les informations du document + pdfsubject={Proposition Commerciale} % sous Acrobat. +} + +\def\DefaultHeightofTextMultiline{10\baselineskip} + + +%\topmargin 0in +%\leftmargin 2.5cm +%\rightmargin 2.5cm + +\setlength{\hoffset}{-18pt} +\setlength{\oddsidemargin}{0pt} % Marge gauche sur pages impaires +\setlength{\evensidemargin}{9pt} % Marge gauche sur pages paires +\setlength{\marginparwidth}{54pt} % Largeur de note dans la marge +%\setlength{\textwidth}{481pt} % Largeur de la zone de texte (17cm) +\setlength{\voffset}{-18pt} % Bon pour DOS +\setlength{\marginparsep}{7pt} % Séparation de la marge +\setlength{\topmargin}{0pt} % Pas de marge en haut +\setlength{\headheight}{13pt} % Haut de page +\setlength{\headsep}{10pt} % Entre le haut de page et le texte +\setlength{\footskip}{27pt} % Bas de page + séparation +\setlength{\textheight}{708pt} % Hauteur de la zone de texte (25cm) + + diff --git a/content/style/preambule_slides.tex b/content/style/preambule_slides.tex new file mode 100644 index 0000000..ad0bdb4 --- /dev/null +++ b/content/style/preambule_slides.tex @@ -0,0 +1,51 @@ + +%\usertheme{Madrid} +\setbeamercovered{transparent} +\setcounter{tocdepth}{2} +\usepackage[french]{babel} +%\usepackage[utf8,utf8x]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{xunicode} %Unicode extras! +\usepackage{xltxtra} %Fixes +\setmainfont{CaviarDreams} +\usepackage{multicol} +%\usepackage{colortbtl} +\usepackage{graphicx} +\usepackage{verbatim} % Pour l'insertion de fichier en mode verbatim +\usepackage{ucs} +\usepackage{tabto} +\usepackage{xcolor} +\usepackage{hyperref} +\usepackage{hyperxmp} + +\hypersetup{% + colorlinks=true,linkcolor=blue,urlcolor=blue,pdfpagemode=UseNone, + pdftitle={Formation Git}, + pdfkeywords={SCM, Git}, + pdfauthor={Benjamin Bohard}, + pdflang={fr-FR}, + pdfcopyright={Copyright © 2015 Cadoles}, % Nécessite XeTeX + pdflicenseurl={http://creativecommons.org/licenses/by-nc-sa/2.0/fr/}, +} +%\usecolortheme{crane} +\definecolor{UniBlue}{RGB}{83,121,180} +\definecolor{CleanWhite}{RGB}{255,255,255} +\setbeamercolor{title}{fg=UniBlue} +\setbeamercolor{frametitle}{fg=CleanWhite} +\setbeamercolor{structure}{fg=UniBlue} + +\author[Equipe Auteur]{Auteur} + +\institute[Cadoles]{\skbfigure[width=2cm]{cadoles/logo-01.png}} + +\date{{\small \today}} + +\subject{Talks} + +\AtBeginSubsection[] +{ + \begin{frame} + \frametitle{} + \tableofcontents[currentsection,currentsubsection] + \end{frame} +} diff --git a/content/style/title.tex b/content/style/title.tex new file mode 100644 index 0000000..30fcaa9 --- /dev/null +++ b/content/style/title.tex @@ -0,0 +1,3 @@ +% Page de titre +\titlepage + diff --git a/figures/apps/Git-Logo-2Color.eps b/figures/apps/Git-Logo-2Color.eps new file mode 100644 index 0000000..47500ce Binary files /dev/null and b/figures/apps/Git-Logo-2Color.eps differ diff --git a/figures/apps/Git-Logo-White.eps b/figures/apps/Git-Logo-White.eps new file mode 100644 index 0000000..f7d7058 Binary files /dev/null and b/figures/apps/Git-Logo-White.eps differ diff --git a/figures/apps/bareos_webui_onglet_dashboard.png b/figures/apps/bareos_webui_onglet_dashboard.png new file mode 100644 index 0000000..8510439 Binary files /dev/null and b/figures/apps/bareos_webui_onglet_dashboard.png differ diff --git a/figures/apps/bareos_webui_onglet_jobs.png b/figures/apps/bareos_webui_onglet_jobs.png new file mode 100644 index 0000000..cf154c7 Binary files /dev/null and b/figures/apps/bareos_webui_onglet_jobs.png differ diff --git a/figures/apps/bareos_webui_onglet_restauration.png b/figures/apps/bareos_webui_onglet_restauration.png new file mode 100644 index 0000000..38a2cc6 Binary files /dev/null and b/figures/apps/bareos_webui_onglet_restauration.png differ diff --git a/figures/apps/bareos_webui_onglet_restauration_bis.png b/figures/apps/bareos_webui_onglet_restauration_bis.png new file mode 100644 index 0000000..57f7d82 Binary files /dev/null and b/figures/apps/bareos_webui_onglet_restauration_bis.png differ diff --git a/figures/apps/bareos_webui_onglet_status.png b/figures/apps/bareos_webui_onglet_status.png new file mode 100644 index 0000000..b20043c Binary files /dev/null and b/figures/apps/bareos_webui_onglet_status.png differ diff --git a/figures/apps/git_commande_add.tex b/figures/apps/git_commande_add.tex new file mode 100644 index 0000000..349af5b --- /dev/null +++ b/figures/apps/git_commande_add.tex @@ -0,0 +1,60 @@ + +\definecolor{stashcolor}{RGB}{248,249,156} +\definecolor{wdcolor}{RGB}{21,222,103} +\definecolor{indexcolor}{RGB}{19,206,204} +\definecolor{headcolor}{RGB}{29,162,232} +\definecolor{remote1color}{RGB}{222,208,212} +\definecolor{remote2color}{RGB}{217,151,175} +\definecolor{remote3color}{RGB}{220,98,143} +\definecolor{remote4color}{RGB}{229,20,96} + + +\begin{tikzpicture}[y=1pt, x=1pt, yscale=-1.000000, xscale=1.000000, inner sep=0pt, outer sep=0pt] +\path[color=black,draw=black,fill=stashcolor,line join=round,line cap=round,miter + limit=4.00,line width=1.440pt,rounded corners=0.2000cm] + (65,0) node[below=3pt] {Stash} + -- ++(25,0) + -- ++(0,75) + -- ++(-50,0) + -- ++(0,-75) + --cycle; +\path[color=black,draw=black,fill=wdcolor,line join=round,line cap=round,miter + limit=4.00,line width=1.440pt,rounded corners=0.2000cm] + (125,0) node[below=3pt] {WD} + -- ++(25,0) + -- ++(0,75) + -- ++(-50,0) + -- ++(0,-75) + --cycle; +\path[color=black,draw=black,fill=indexcolor,line join=round,line cap=round,miter + limit=4.00,line width=1.440pt,rounded corners=0.2000cm] + (185,0) node[below=3pt] {Index} + -- ++(25,0) + -- ++(0,75) + -- ++(-50,0) + -- ++(0,-75) + --cycle; +\path[color=black,draw=black,fill=headcolor,line join=round,line cap=round,miter + limit=4.00,line width=1.440pt,rounded corners=0.2000cm] + (245,0) node[below=3pt] {HEAD} + -- ++(25,0) + -- ++(0,75) + -- ++(-50,0) + -- ++(0,-75) + --cycle; +\path + (325,50) node[anchor=base,fill=remote1color,shape=rectangle,draw,minimum width=50pt,minimum height=20pt,rounded corners=0.2cm] {} + ++(-5,-10) node[anchor=base,fill=remote2color,shape=rectangle,draw,minimum width=50pt,minimum height=20pt,rounded corners=0.2cm] {} + ++(-5,-10) node[anchor=base,fill=remote3color,shape=rectangle,draw,minimum width=50pt,minimum height=20pt,rounded corners=0.2cm] {} + ++(-5,-10) node[anchor=base,fill=remote4color,shape=rectangle,draw,minimum width=50pt,minimum height=20pt,rounded corners=0.2cm] {Remote}; +\path[color=black,draw=black,fill=black] + (155,37.5) node[white] {add} + (130,37.5) + -- (125,32) + -- (180,32) + -- (185,37.5) + -- (180,43) + -- (125,43) + -- cycle; + +\end{tikzpicture} diff --git a/figures/apps/git_commande_checkout.tex b/figures/apps/git_commande_checkout.tex new file mode 100644 index 0000000..fdceb66 --- /dev/null +++ b/figures/apps/git_commande_checkout.tex @@ -0,0 +1,60 @@ + +\definecolor{stashcolor}{RGB}{248,249,156} +\definecolor{wdcolor}{RGB}{21,222,103} +\definecolor{indexcolor}{RGB}{19,206,204} +\definecolor{headcolor}{RGB}{29,162,232} +\definecolor{remote1color}{RGB}{222,208,212} +\definecolor{remote2color}{RGB}{217,151,175} +\definecolor{remote3color}{RGB}{220,98,143} +\definecolor{remote4color}{RGB}{229,20,96} + + +\begin{tikzpicture}[y=1pt, x=1pt, yscale=-1.000000, xscale=1.000000, inner sep=0pt, outer sep=0pt] +\path[color=black,draw=black,fill=stashcolor,line join=round,line cap=round,miter + limit=4.00,line width=1.440pt,rounded corners=0.2000cm] + (65,0) node[below=3pt] {Stash} + -- ++(25,0) + -- ++(0,75) + -- ++(-50,0) + -- ++(0,-75) + --cycle; +\path[color=black,draw=black,fill=wdcolor,line join=round,line cap=round,miter + limit=4.00,line width=1.440pt,rounded corners=0.2000cm] + (125,0) node[below=3pt] {WD} + -- ++(25,0) + -- ++(0,75) + -- ++(-50,0) + -- ++(0,-75) + --cycle; +\path[color=black,draw=black,fill=indexcolor,line join=round,line cap=round,miter + limit=4.00,line width=1.440pt,rounded corners=0.2000cm] + (185,0) node[below=3pt] {Index} + -- ++(25,0) + -- ++(0,75) + -- ++(-50,0) + -- ++(0,-75) + --cycle; +\path[color=black,draw=black,fill=headcolor,line join=round,line cap=round,miter + limit=4.00,line width=1.440pt,rounded corners=0.2000cm] + (245,0) node[below=3pt] {HEAD} + -- ++(25,0) + -- ++(0,75) + -- ++(-50,0) + -- ++(0,-75) + --cycle; +\path + (325,50) node[anchor=base,fill=remote1color,shape=rectangle,draw,minimum width=50pt,minimum height=20pt,rounded corners=0.2cm] {} + ++(-5,-10) node[anchor=base,fill=remote2color,shape=rectangle,draw,minimum width=50pt,minimum height=20pt,rounded corners=0.2cm] {} + ++(-5,-10) node[anchor=base,fill=remote3color,shape=rectangle,draw,minimum width=50pt,minimum height=20pt,rounded corners=0.2cm] {} + ++(-5,-10) node[anchor=base,fill=remote4color,shape=rectangle,draw,minimum width=50pt,minimum height=20pt,rounded corners=0.2cm] {Remote}; +\path[color=black,draw=black,fill=black] + (185,37.5) node[white] {checkout} + (240,37.5) % creux + -- (245,32) + -- (130,32) + -- (125,37.5) + -- (130,43) + -- (245,43) + -- cycle; + +\end{tikzpicture} diff --git a/figures/apps/git_commande_cherry-pick.tex b/figures/apps/git_commande_cherry-pick.tex new file mode 100644 index 0000000..4325046 --- /dev/null +++ b/figures/apps/git_commande_cherry-pick.tex @@ -0,0 +1,51 @@ + +\definecolor{stashcolor}{RGB}{248,249,156} +\definecolor{wdcolor}{RGB}{21,222,103} +\definecolor{indexcolor}{RGB}{19,206,204} +\definecolor{headcolor}{RGB}{29,162,232} +\definecolor{remote1color}{RGB}{222,208,212} +\definecolor{remote2color}{RGB}{217,151,175} +\definecolor{remote3color}{RGB}{220,98,143} +\definecolor{remote4color}{RGB}{229,20,96} + + +\begin{tikzpicture}[y=1pt, x=1pt, yscale=-1.000000, xscale=1.000000, inner sep=0pt, outer sep=0pt] +\path[color=black,draw=black,fill=stashcolor,line join=round,line cap=round,miter + limit=4.00,line width=1.440pt,rounded corners=0.2000cm] + (65,0) node[below=3pt] {Stash} + -- ++(25,0) + -- ++(0,75) + -- ++(-50,0) + -- ++(0,-75) + --cycle; +\path[color=black,draw=black,fill=wdcolor,line join=round,line cap=round,miter + limit=4.00,line width=1.440pt,rounded corners=0.2000cm] + (125,0) node[below=3pt] {WD} + -- ++(25,0) + -- ++(0,75) + -- ++(-50,0) + -- ++(0,-75) + --cycle; +\path[color=black,draw=black,fill=indexcolor,line join=round,line cap=round,miter + limit=4.00,line width=1.440pt,rounded corners=0.2000cm] + (185,0) node[below=3pt] {Index} + -- ++(25,0) + -- ++(0,75) + -- ++(-50,0) + -- ++(0,-75) + --cycle; +\path[color=black,draw=black,fill=headcolor,line join=round,line cap=round,miter + limit=4.00,line width=1.440pt,rounded corners=0.2000cm] + (245,0) node[below=3pt] {HEAD} + -- ++(25,0) + -- ++(0,75) + -- ++(-50,0) + -- ++(0,-75) + --cycle; +\path + (325,50) node[anchor=base,fill=remote1color,shape=rectangle,draw,minimum width=50pt,minimum height=20pt,rounded corners=0.2cm] {} + ++(-5,-10) node[anchor=base,fill=remote2color,shape=rectangle,draw,minimum width=50pt,minimum height=20pt,rounded corners=0.2cm] {} + ++(-5,-10) node[anchor=base,fill=remote3color,shape=rectangle,draw,minimum width=50pt,minimum height=20pt,rounded corners=0.2cm] {} + ++(-5,-10) node[anchor=base,fill=remote4color,shape=rectangle,draw,minimum width=50pt,minimum height=20pt,rounded corners=0.2cm] {Remote}; + +\end{tikzpicture} diff --git a/figures/apps/git_commande_clean.tex b/figures/apps/git_commande_clean.tex new file mode 100644 index 0000000..4325046 --- /dev/null +++ b/figures/apps/git_commande_clean.tex @@ -0,0 +1,51 @@ + +\definecolor{stashcolor}{RGB}{248,249,156} +\definecolor{wdcolor}{RGB}{21,222,103} +\definecolor{indexcolor}{RGB}{19,206,204} +\definecolor{headcolor}{RGB}{29,162,232} +\definecolor{remote1color}{RGB}{222,208,212} +\definecolor{remote2color}{RGB}{217,151,175} +\definecolor{remote3color}{RGB}{220,98,143} +\definecolor{remote4color}{RGB}{229,20,96} + + +\begin{tikzpicture}[y=1pt, x=1pt, yscale=-1.000000, xscale=1.000000, inner sep=0pt, outer sep=0pt] +\path[color=black,draw=black,fill=stashcolor,line join=round,line cap=round,miter + limit=4.00,line width=1.440pt,rounded corners=0.2000cm] + (65,0) node[below=3pt] {Stash} + -- ++(25,0) + -- ++(0,75) + -- ++(-50,0) + -- ++(0,-75) + --cycle; +\path[color=black,draw=black,fill=wdcolor,line join=round,line cap=round,miter + limit=4.00,line width=1.440pt,rounded corners=0.2000cm] + (125,0) node[below=3pt] {WD} + -- ++(25,0) + -- ++(0,75) + -- ++(-50,0) + -- ++(0,-75) + --cycle; +\path[color=black,draw=black,fill=indexcolor,line join=round,line cap=round,miter + limit=4.00,line width=1.440pt,rounded corners=0.2000cm] + (185,0) node[below=3pt] {Index} + -- ++(25,0) + -- ++(0,75) + -- ++(-50,0) + -- ++(0,-75) + --cycle; +\path[color=black,draw=black,fill=headcolor,line join=round,line cap=round,miter + limit=4.00,line width=1.440pt,rounded corners=0.2000cm] + (245,0) node[below=3pt] {HEAD} + -- ++(25,0) + -- ++(0,75) + -- ++(-50,0) + -- ++(0,-75) + --cycle; +\path + (325,50) node[anchor=base,fill=remote1color,shape=rectangle,draw,minimum width=50pt,minimum height=20pt,rounded corners=0.2cm] {} + ++(-5,-10) node[anchor=base,fill=remote2color,shape=rectangle,draw,minimum width=50pt,minimum height=20pt,rounded corners=0.2cm] {} + ++(-5,-10) node[anchor=base,fill=remote3color,shape=rectangle,draw,minimum width=50pt,minimum height=20pt,rounded corners=0.2cm] {} + ++(-5,-10) node[anchor=base,fill=remote4color,shape=rectangle,draw,minimum width=50pt,minimum height=20pt,rounded corners=0.2cm] {Remote}; + +\end{tikzpicture} diff --git a/figures/apps/git_commande_commit.tex b/figures/apps/git_commande_commit.tex new file mode 100644 index 0000000..44743ca --- /dev/null +++ b/figures/apps/git_commande_commit.tex @@ -0,0 +1,61 @@ + +\definecolor{stashcolor}{RGB}{248,249,156} +\definecolor{wdcolor}{RGB}{21,222,103} +\definecolor{indexcolor}{RGB}{19,206,204} +\definecolor{headcolor}{RGB}{29,162,232} +\definecolor{remote1color}{RGB}{222,208,212} +\definecolor{remote2color}{RGB}{217,151,175} +\definecolor{remote3color}{RGB}{220,98,143} +\definecolor{remote4color}{RGB}{229,20,96} + + +\begin{tikzpicture}[y=1pt, x=1pt, yscale=-1.000000, xscale=1.000000, inner sep=0pt, outer sep=0pt] +\path[color=black,draw=black,fill=stashcolor,line join=round,line cap=round,miter + limit=4.00,line width=1.440pt,rounded corners=0.2000cm] + (65,0) node[below=3pt] {Stash} + -- ++(25,0) + -- ++(0,75) + -- ++(-50,0) + -- ++(0,-75) + --cycle; +\path[color=black,draw=black,fill=wdcolor,line join=round,line cap=round,miter + limit=4.00,line width=1.440pt,rounded corners=0.2000cm] + (125,0) node[below=3pt] {WD} + -- ++(25,0) + -- ++(0,75) + -- ++(-50,0) + -- ++(0,-75) + --cycle; +\path[color=black,draw=black,fill=indexcolor,line join=round,line cap=round,miter + limit=4.00,line width=1.440pt,rounded corners=0.2000cm] + (185,0) node[below=3pt] {Index} + -- ++(25,0) + -- ++(0,75) + -- ++(-50,0) + -- ++(0,-75) + --cycle; +\path[color=black,draw=black,fill=headcolor,line join=round,line cap=round,miter + limit=4.00,line width=1.440pt,rounded corners=0.2000cm] + (245,0) node[below=3pt] {HEAD} + -- ++(25,0) + -- ++(0,75) + -- ++(-50,0) + -- ++(0,-75) + --cycle; +\path + (325,50) node[anchor=base,fill=remote1color,shape=rectangle,draw,minimum width=50pt,minimum height=20pt,rounded corners=0.2cm] {} + ++(-5,-10) node[anchor=base,fill=remote2color,shape=rectangle,draw,minimum width=50pt,minimum height=20pt,rounded corners=0.2cm] {} + ++(-5,-10) node[anchor=base,fill=remote3color,shape=rectangle,draw,minimum width=50pt,minimum height=20pt,rounded corners=0.2cm] {} + ++(-5,-10) node[anchor=base,fill=remote4color,shape=rectangle,draw,minimum width=50pt,minimum height=20pt,rounded corners=0.2cm] {Remote}; +\path[color=black,draw=black,fill=black] + (215,37.5) node[white] {commit} + ++(30,0) % creux + -- ++(-5,5) + -- ++(-50,0) + -- ++(5,-5) + -- ++(-5,-5) + -- ++(50,0) + -- ++(5,5) + -- cycle; + +\end{tikzpicture} diff --git a/figures/apps/git_commande_fetch.tex b/figures/apps/git_commande_fetch.tex new file mode 100644 index 0000000..b0f6116 --- /dev/null +++ b/figures/apps/git_commande_fetch.tex @@ -0,0 +1,61 @@ + +\definecolor{stashcolor}{RGB}{248,249,156} +\definecolor{wdcolor}{RGB}{21,222,103} +\definecolor{indexcolor}{RGB}{19,206,204} +\definecolor{headcolor}{RGB}{29,162,232} +\definecolor{remote1color}{RGB}{222,208,212} +\definecolor{remote2color}{RGB}{217,151,175} +\definecolor{remote3color}{RGB}{220,98,143} +\definecolor{remote4color}{RGB}{229,20,96} + + +\begin{tikzpicture}[y=1pt, x=1pt, yscale=-1.000000, xscale=1.000000, inner sep=0pt, outer sep=0pt] +\path[color=black,draw=black,fill=stashcolor,line join=round,line cap=round,miter + limit=4.00,line width=1.440pt,rounded corners=0.2000cm] + (65,0) node[below=3pt] {Stash} + -- ++(25,0) + -- ++(0,75) + -- ++(-50,0) + -- ++(0,-75) + --cycle; +\path[color=black,draw=black,fill=wdcolor,line join=round,line cap=round,miter + limit=4.00,line width=1.440pt,rounded corners=0.2000cm] + (125,0) node[below=3pt] {WD} + -- ++(25,0) + -- ++(0,75) + -- ++(-50,0) + -- ++(0,-75) + --cycle; +\path[color=black,draw=black,fill=indexcolor,line join=round,line cap=round,miter + limit=4.00,line width=1.440pt,rounded corners=0.2000cm] + (185,0) node[below=3pt] {Index} + -- ++(25,0) + -- ++(0,75) + -- ++(-50,0) + -- ++(0,-75) + --cycle; +\path[color=black,draw=black,fill=headcolor,line join=round,line cap=round,miter + limit=4.00,line width=1.440pt,rounded corners=0.2000cm] + (245,0) node[below=3pt] {HEAD} + -- ++(25,0) + -- ++(0,75) + -- ++(-50,0) + -- ++(0,-75) + --cycle; +\path + (325,50) node[anchor=base,fill=remote1color,shape=rectangle,draw,minimum width=50pt,minimum height=20pt,rounded corners=0.2cm] {} + ++(-5,-10) node[anchor=base,fill=remote2color,shape=rectangle,draw,minimum width=50pt,minimum height=20pt,rounded corners=0.2cm] {} + ++(-5,-10) node[anchor=base,fill=remote3color,shape=rectangle,draw,minimum width=50pt,minimum height=20pt,rounded corners=0.2cm] {} + ++(-5,-10) node[anchor=base,fill=remote4color,shape=rectangle,draw,minimum width=50pt,minimum height=20pt,rounded corners=0.2cm] {Remote}; +\path[color=black,draw=black,fill=black] + (345,37.5) node[white] {fetch} + ++(-30,0) % creux + -- ++(5,5) + -- ++(50,0) + -- ++(-5,-5) + -- ++(5,-5) + -- ++(-50,0) + -- ++(-5,5) + -- cycle; + +\end{tikzpicture} diff --git a/figures/apps/git_commande_merge.tex b/figures/apps/git_commande_merge.tex new file mode 100644 index 0000000..fdceb66 --- /dev/null +++ b/figures/apps/git_commande_merge.tex @@ -0,0 +1,60 @@ + +\definecolor{stashcolor}{RGB}{248,249,156} +\definecolor{wdcolor}{RGB}{21,222,103} +\definecolor{indexcolor}{RGB}{19,206,204} +\definecolor{headcolor}{RGB}{29,162,232} +\definecolor{remote1color}{RGB}{222,208,212} +\definecolor{remote2color}{RGB}{217,151,175} +\definecolor{remote3color}{RGB}{220,98,143} +\definecolor{remote4color}{RGB}{229,20,96} + + +\begin{tikzpicture}[y=1pt, x=1pt, yscale=-1.000000, xscale=1.000000, inner sep=0pt, outer sep=0pt] +\path[color=black,draw=black,fill=stashcolor,line join=round,line cap=round,miter + limit=4.00,line width=1.440pt,rounded corners=0.2000cm] + (65,0) node[below=3pt] {Stash} + -- ++(25,0) + -- ++(0,75) + -- ++(-50,0) + -- ++(0,-75) + --cycle; +\path[color=black,draw=black,fill=wdcolor,line join=round,line cap=round,miter + limit=4.00,line width=1.440pt,rounded corners=0.2000cm] + (125,0) node[below=3pt] {WD} + -- ++(25,0) + -- ++(0,75) + -- ++(-50,0) + -- ++(0,-75) + --cycle; +\path[color=black,draw=black,fill=indexcolor,line join=round,line cap=round,miter + limit=4.00,line width=1.440pt,rounded corners=0.2000cm] + (185,0) node[below=3pt] {Index} + -- ++(25,0) + -- ++(0,75) + -- ++(-50,0) + -- ++(0,-75) + --cycle; +\path[color=black,draw=black,fill=headcolor,line join=round,line cap=round,miter + limit=4.00,line width=1.440pt,rounded corners=0.2000cm] + (245,0) node[below=3pt] {HEAD} + -- ++(25,0) + -- ++(0,75) + -- ++(-50,0) + -- ++(0,-75) + --cycle; +\path + (325,50) node[anchor=base,fill=remote1color,shape=rectangle,draw,minimum width=50pt,minimum height=20pt,rounded corners=0.2cm] {} + ++(-5,-10) node[anchor=base,fill=remote2color,shape=rectangle,draw,minimum width=50pt,minimum height=20pt,rounded corners=0.2cm] {} + ++(-5,-10) node[anchor=base,fill=remote3color,shape=rectangle,draw,minimum width=50pt,minimum height=20pt,rounded corners=0.2cm] {} + ++(-5,-10) node[anchor=base,fill=remote4color,shape=rectangle,draw,minimum width=50pt,minimum height=20pt,rounded corners=0.2cm] {Remote}; +\path[color=black,draw=black,fill=black] + (185,37.5) node[white] {checkout} + (240,37.5) % creux + -- (245,32) + -- (130,32) + -- (125,37.5) + -- (130,43) + -- (245,43) + -- cycle; + +\end{tikzpicture} diff --git a/figures/apps/git_commande_pull.tex b/figures/apps/git_commande_pull.tex new file mode 100644 index 0000000..972d0dc --- /dev/null +++ b/figures/apps/git_commande_pull.tex @@ -0,0 +1,61 @@ + +\definecolor{stashcolor}{RGB}{248,249,156} +\definecolor{wdcolor}{RGB}{21,222,103} +\definecolor{indexcolor}{RGB}{19,206,204} +\definecolor{headcolor}{RGB}{29,162,232} +\definecolor{remote1color}{RGB}{222,208,212} +\definecolor{remote2color}{RGB}{217,151,175} +\definecolor{remote3color}{RGB}{220,98,143} +\definecolor{remote4color}{RGB}{229,20,96} + + +\begin{tikzpicture}[y=1pt, x=1pt, yscale=-1.000000, xscale=1.000000, inner sep=0pt, outer sep=0pt] +\path[color=black,draw=black,fill=stashcolor,line join=round,line cap=round,miter + limit=4.00,line width=1.440pt,rounded corners=0.2000cm] + (65,0) node[below=3pt] {Stash} + -- ++(25,0) + -- ++(0,75) + -- ++(-50,0) + -- ++(0,-75) + --cycle; +\path[color=black,draw=black,fill=wdcolor,line join=round,line cap=round,miter + limit=4.00,line width=1.440pt,rounded corners=0.2000cm] + (125,0) node[below=3pt] {WD} + -- ++(25,0) + -- ++(0,75) + -- ++(-50,0) + -- ++(0,-75) + --cycle; +\path[color=black,draw=black,fill=indexcolor,line join=round,line cap=round,miter + limit=4.00,line width=1.440pt,rounded corners=0.2000cm] + (185,0) node[below=3pt] {Index} + -- ++(25,0) + -- ++(0,75) + -- ++(-50,0) + -- ++(0,-75) + --cycle; +\path[color=black,draw=black,fill=headcolor,line join=round,line cap=round,miter + limit=4.00,line width=1.440pt,rounded corners=0.2000cm] + (245,0) node[below=3pt] {HEAD} + -- ++(25,0) + -- ++(0,75) + -- ++(-50,0) + -- ++(0,-75) + --cycle; +\path + (325,50) node[anchor=base,fill=remote1color,shape=rectangle,draw,minimum width=50pt,minimum height=20pt,rounded corners=0.2cm] {} + ++(-5,-10) node[anchor=base,fill=remote2color,shape=rectangle,draw,minimum width=50pt,minimum height=20pt,rounded corners=0.2cm] {} + ++(-5,-10) node[anchor=base,fill=remote3color,shape=rectangle,draw,minimum width=50pt,minimum height=20pt,rounded corners=0.2cm] {} + ++(-5,-10) node[anchor=base,fill=remote4color,shape=rectangle,draw,minimum width=50pt,minimum height=20pt,rounded corners=0.2cm] {Remote}; +\path[color=black,draw=black,fill=black] + (295,37.5) node[white] {pull} + ++(50,0) % creux + -- ++(5,5) + -- ++(-90,0) + -- ++(-5,-5) + -- ++(5,-5) + -- ++(90,0) + -- ++(-5,5) + -- cycle; + +\end{tikzpicture} diff --git a/figures/apps/git_commande_push.tex b/figures/apps/git_commande_push.tex new file mode 100644 index 0000000..4ac366f --- /dev/null +++ b/figures/apps/git_commande_push.tex @@ -0,0 +1,61 @@ + +\definecolor{stashcolor}{RGB}{248,249,156} +\definecolor{wdcolor}{RGB}{21,222,103} +\definecolor{indexcolor}{RGB}{19,206,204} +\definecolor{headcolor}{RGB}{29,162,232} +\definecolor{remote1color}{RGB}{222,208,212} +\definecolor{remote2color}{RGB}{217,151,175} +\definecolor{remote3color}{RGB}{220,98,143} +\definecolor{remote4color}{RGB}{229,20,96} + + +\begin{tikzpicture}[y=1pt, x=1pt, yscale=-1.000000, xscale=1.000000, inner sep=0pt, outer sep=0pt] +\path[color=black,draw=black,fill=stashcolor,line join=round,line cap=round,miter + limit=4.00,line width=1.440pt,rounded corners=0.2000cm] + (65,0) node[below=3pt] {Stash} + -- ++(25,0) + -- ++(0,75) + -- ++(-50,0) + -- ++(0,-75) + --cycle; +\path[color=black,draw=black,fill=wdcolor,line join=round,line cap=round,miter + limit=4.00,line width=1.440pt,rounded corners=0.2000cm] + (125,0) node[below=3pt] {WD} + -- ++(25,0) + -- ++(0,75) + -- ++(-50,0) + -- ++(0,-75) + --cycle; +\path[color=black,draw=black,fill=indexcolor,line join=round,line cap=round,miter + limit=4.00,line width=1.440pt,rounded corners=0.2000cm] + (185,0) node[below=3pt] {Index} + -- ++(25,0) + -- ++(0,75) + -- ++(-50,0) + -- ++(0,-75) + --cycle; +\path[color=black,draw=black,fill=headcolor,line join=round,line cap=round,miter + limit=4.00,line width=1.440pt,rounded corners=0.2000cm] + (245,0) node[below=3pt] {HEAD} + -- ++(25,0) + -- ++(0,75) + -- ++(-50,0) + -- ++(0,-75) + --cycle; +\path + (325,50) node[anchor=base,fill=remote1color,shape=rectangle,draw,minimum width=50pt,minimum height=20pt,rounded corners=0.2cm] {} + ++(-5,-10) node[anchor=base,fill=remote2color,shape=rectangle,draw,minimum width=50pt,minimum height=20pt,rounded corners=0.2cm] {} + ++(-5,-10) node[anchor=base,fill=remote3color,shape=rectangle,draw,minimum width=50pt,minimum height=20pt,rounded corners=0.2cm] {} + ++(-5,-10) node[anchor=base,fill=remote4color,shape=rectangle,draw,minimum width=50pt,minimum height=20pt,rounded corners=0.2cm] {Remote}; +\path[color=black,draw=black,fill=black] + (295,37.5) node[white] {push} + ++(60,0) % creux + -- ++(-5,5) + -- ++(-100,0) + -- ++(5,-5) + -- ++(-5,-5) + -- ++(100,0) + -- ++(5,5) + -- cycle; + +\end{tikzpicture} diff --git a/figures/apps/git_commande_rebase.tex b/figures/apps/git_commande_rebase.tex new file mode 100644 index 0000000..fdceb66 --- /dev/null +++ b/figures/apps/git_commande_rebase.tex @@ -0,0 +1,60 @@ + +\definecolor{stashcolor}{RGB}{248,249,156} +\definecolor{wdcolor}{RGB}{21,222,103} +\definecolor{indexcolor}{RGB}{19,206,204} +\definecolor{headcolor}{RGB}{29,162,232} +\definecolor{remote1color}{RGB}{222,208,212} +\definecolor{remote2color}{RGB}{217,151,175} +\definecolor{remote3color}{RGB}{220,98,143} +\definecolor{remote4color}{RGB}{229,20,96} + + +\begin{tikzpicture}[y=1pt, x=1pt, yscale=-1.000000, xscale=1.000000, inner sep=0pt, outer sep=0pt] +\path[color=black,draw=black,fill=stashcolor,line join=round,line cap=round,miter + limit=4.00,line width=1.440pt,rounded corners=0.2000cm] + (65,0) node[below=3pt] {Stash} + -- ++(25,0) + -- ++(0,75) + -- ++(-50,0) + -- ++(0,-75) + --cycle; +\path[color=black,draw=black,fill=wdcolor,line join=round,line cap=round,miter + limit=4.00,line width=1.440pt,rounded corners=0.2000cm] + (125,0) node[below=3pt] {WD} + -- ++(25,0) + -- ++(0,75) + -- ++(-50,0) + -- ++(0,-75) + --cycle; +\path[color=black,draw=black,fill=indexcolor,line join=round,line cap=round,miter + limit=4.00,line width=1.440pt,rounded corners=0.2000cm] + (185,0) node[below=3pt] {Index} + -- ++(25,0) + -- ++(0,75) + -- ++(-50,0) + -- ++(0,-75) + --cycle; +\path[color=black,draw=black,fill=headcolor,line join=round,line cap=round,miter + limit=4.00,line width=1.440pt,rounded corners=0.2000cm] + (245,0) node[below=3pt] {HEAD} + -- ++(25,0) + -- ++(0,75) + -- ++(-50,0) + -- ++(0,-75) + --cycle; +\path + (325,50) node[anchor=base,fill=remote1color,shape=rectangle,draw,minimum width=50pt,minimum height=20pt,rounded corners=0.2cm] {} + ++(-5,-10) node[anchor=base,fill=remote2color,shape=rectangle,draw,minimum width=50pt,minimum height=20pt,rounded corners=0.2cm] {} + ++(-5,-10) node[anchor=base,fill=remote3color,shape=rectangle,draw,minimum width=50pt,minimum height=20pt,rounded corners=0.2cm] {} + ++(-5,-10) node[anchor=base,fill=remote4color,shape=rectangle,draw,minimum width=50pt,minimum height=20pt,rounded corners=0.2cm] {Remote}; +\path[color=black,draw=black,fill=black] + (185,37.5) node[white] {checkout} + (240,37.5) % creux + -- (245,32) + -- (130,32) + -- (125,37.5) + -- (130,43) + -- (245,43) + -- cycle; + +\end{tikzpicture} diff --git a/figures/apps/git_commande_reset.tex b/figures/apps/git_commande_reset.tex new file mode 100644 index 0000000..fdceb66 --- /dev/null +++ b/figures/apps/git_commande_reset.tex @@ -0,0 +1,60 @@ + +\definecolor{stashcolor}{RGB}{248,249,156} +\definecolor{wdcolor}{RGB}{21,222,103} +\definecolor{indexcolor}{RGB}{19,206,204} +\definecolor{headcolor}{RGB}{29,162,232} +\definecolor{remote1color}{RGB}{222,208,212} +\definecolor{remote2color}{RGB}{217,151,175} +\definecolor{remote3color}{RGB}{220,98,143} +\definecolor{remote4color}{RGB}{229,20,96} + + +\begin{tikzpicture}[y=1pt, x=1pt, yscale=-1.000000, xscale=1.000000, inner sep=0pt, outer sep=0pt] +\path[color=black,draw=black,fill=stashcolor,line join=round,line cap=round,miter + limit=4.00,line width=1.440pt,rounded corners=0.2000cm] + (65,0) node[below=3pt] {Stash} + -- ++(25,0) + -- ++(0,75) + -- ++(-50,0) + -- ++(0,-75) + --cycle; +\path[color=black,draw=black,fill=wdcolor,line join=round,line cap=round,miter + limit=4.00,line width=1.440pt,rounded corners=0.2000cm] + (125,0) node[below=3pt] {WD} + -- ++(25,0) + -- ++(0,75) + -- ++(-50,0) + -- ++(0,-75) + --cycle; +\path[color=black,draw=black,fill=indexcolor,line join=round,line cap=round,miter + limit=4.00,line width=1.440pt,rounded corners=0.2000cm] + (185,0) node[below=3pt] {Index} + -- ++(25,0) + -- ++(0,75) + -- ++(-50,0) + -- ++(0,-75) + --cycle; +\path[color=black,draw=black,fill=headcolor,line join=round,line cap=round,miter + limit=4.00,line width=1.440pt,rounded corners=0.2000cm] + (245,0) node[below=3pt] {HEAD} + -- ++(25,0) + -- ++(0,75) + -- ++(-50,0) + -- ++(0,-75) + --cycle; +\path + (325,50) node[anchor=base,fill=remote1color,shape=rectangle,draw,minimum width=50pt,minimum height=20pt,rounded corners=0.2cm] {} + ++(-5,-10) node[anchor=base,fill=remote2color,shape=rectangle,draw,minimum width=50pt,minimum height=20pt,rounded corners=0.2cm] {} + ++(-5,-10) node[anchor=base,fill=remote3color,shape=rectangle,draw,minimum width=50pt,minimum height=20pt,rounded corners=0.2cm] {} + ++(-5,-10) node[anchor=base,fill=remote4color,shape=rectangle,draw,minimum width=50pt,minimum height=20pt,rounded corners=0.2cm] {Remote}; +\path[color=black,draw=black,fill=black] + (185,37.5) node[white] {checkout} + (240,37.5) % creux + -- (245,32) + -- (130,32) + -- (125,37.5) + -- (130,43) + -- (245,43) + -- cycle; + +\end{tikzpicture} diff --git a/figures/apps/git_commande_revert.tex b/figures/apps/git_commande_revert.tex new file mode 100644 index 0000000..fdceb66 --- /dev/null +++ b/figures/apps/git_commande_revert.tex @@ -0,0 +1,60 @@ + +\definecolor{stashcolor}{RGB}{248,249,156} +\definecolor{wdcolor}{RGB}{21,222,103} +\definecolor{indexcolor}{RGB}{19,206,204} +\definecolor{headcolor}{RGB}{29,162,232} +\definecolor{remote1color}{RGB}{222,208,212} +\definecolor{remote2color}{RGB}{217,151,175} +\definecolor{remote3color}{RGB}{220,98,143} +\definecolor{remote4color}{RGB}{229,20,96} + + +\begin{tikzpicture}[y=1pt, x=1pt, yscale=-1.000000, xscale=1.000000, inner sep=0pt, outer sep=0pt] +\path[color=black,draw=black,fill=stashcolor,line join=round,line cap=round,miter + limit=4.00,line width=1.440pt,rounded corners=0.2000cm] + (65,0) node[below=3pt] {Stash} + -- ++(25,0) + -- ++(0,75) + -- ++(-50,0) + -- ++(0,-75) + --cycle; +\path[color=black,draw=black,fill=wdcolor,line join=round,line cap=round,miter + limit=4.00,line width=1.440pt,rounded corners=0.2000cm] + (125,0) node[below=3pt] {WD} + -- ++(25,0) + -- ++(0,75) + -- ++(-50,0) + -- ++(0,-75) + --cycle; +\path[color=black,draw=black,fill=indexcolor,line join=round,line cap=round,miter + limit=4.00,line width=1.440pt,rounded corners=0.2000cm] + (185,0) node[below=3pt] {Index} + -- ++(25,0) + -- ++(0,75) + -- ++(-50,0) + -- ++(0,-75) + --cycle; +\path[color=black,draw=black,fill=headcolor,line join=round,line cap=round,miter + limit=4.00,line width=1.440pt,rounded corners=0.2000cm] + (245,0) node[below=3pt] {HEAD} + -- ++(25,0) + -- ++(0,75) + -- ++(-50,0) + -- ++(0,-75) + --cycle; +\path + (325,50) node[anchor=base,fill=remote1color,shape=rectangle,draw,minimum width=50pt,minimum height=20pt,rounded corners=0.2cm] {} + ++(-5,-10) node[anchor=base,fill=remote2color,shape=rectangle,draw,minimum width=50pt,minimum height=20pt,rounded corners=0.2cm] {} + ++(-5,-10) node[anchor=base,fill=remote3color,shape=rectangle,draw,minimum width=50pt,minimum height=20pt,rounded corners=0.2cm] {} + ++(-5,-10) node[anchor=base,fill=remote4color,shape=rectangle,draw,minimum width=50pt,minimum height=20pt,rounded corners=0.2cm] {Remote}; +\path[color=black,draw=black,fill=black] + (185,37.5) node[white] {checkout} + (240,37.5) % creux + -- (245,32) + -- (130,32) + -- (125,37.5) + -- (130,43) + -- (245,43) + -- cycle; + +\end{tikzpicture} diff --git a/figures/apps/git_trees.svg b/figures/apps/git_trees.svg new file mode 100644 index 0000000..9092c19 --- /dev/null +++ b/figures/apps/git_trees.svg @@ -0,0 +1,275 @@ + + + + + + + + + + image/svg+xml + + + + + + + + + + + HEAD + Index + WD + Pile + + + + + + + + + Remote + + + add + * + + + < + > + = + % + + diff --git a/figures/apps/git_trees.tex b/figures/apps/git_trees.tex new file mode 100644 index 0000000..e6de6e5 --- /dev/null +++ b/figures/apps/git_trees.tex @@ -0,0 +1,51 @@ + +\definecolor{stashcolor}{RGB}{248,249,156} +\definecolor{wdcolor}{RGB}{21,222,103} +\definecolor{indexcolor}{RGB}{19,206,204} +\definecolor{headcolor}{RGB}{29,162,232} +\definecolor{remote1color}{RGB}{222,208,212} +\definecolor{remote2color}{RGB}{217,151,175} +\definecolor{remote3color}{RGB}{220,98,143} +\definecolor{remote4color}{RGB}{229,20,96} + + +\begin{tikzpicture}[y=1pt, x=1pt, yscale=-0.500000, xscale=1.000000, inner sep=0pt, outer sep=0pt] +\path<5->[color=black,draw=black,fill=stashcolor,line join=round,line cap=round,miter + limit=4.00,line width=1.440pt,rounded corners=0.2000cm] + (65,0) node[below=3pt] {Stash} + -- ++(25,0) + -- ++(0,75) + -- ++(-50,0) + -- ++(0,-75) + --cycle; +\path<2->[color=black,draw=black,fill=wdcolor,line join=round,line cap=round,miter + limit=4.00,line width=1.440pt,rounded corners=0.2000cm] + (125,0) node[below=3pt] {WD} + -- ++(25,0) + -- ++(0,75) + -- ++(-50,0) + -- ++(0,-75) + --cycle; +\path<3->[color=black,draw=black,fill=indexcolor,line join=round,line cap=round,miter + limit=4.00,line width=1.440pt,rounded corners=0.2000cm] + (185,0) node[below=3pt] {Index} + -- ++(25,0) + -- ++(0,75) + -- ++(-50,0) + -- ++(0,-75) + --cycle; +\path<4->[color=black,draw=black,fill=headcolor,line join=round,line cap=round,miter + limit=4.00,line width=1.440pt,rounded corners=0.2000cm] + (245,0) node[below=3pt] {HEAD} + -- ++(25,0) + -- ++(0,75) + -- ++(-50,0) + -- ++(0,-75) + --cycle; +\path<6> + (325,50) node[anchor=base,fill=remote1color,shape=rectangle,draw,minimum width=50pt,minimum height=20pt,rounded corners=0.2cm] {} + ++(-5,-10) node[anchor=base,fill=remote2color,shape=rectangle,draw,minimum width=50pt,minimum height=20pt,rounded corners=0.2cm] {} + ++(-5,-10) node[anchor=base,fill=remote3color,shape=rectangle,draw,minimum width=50pt,minimum height=20pt,rounded corners=0.2cm] {} + ++(-5,-10) node[anchor=base,fill=remote4color,shape=rectangle,draw,minimum width=50pt,minimum height=20pt,rounded corners=0.2cm] {Remote}; + +\end{tikzpicture} diff --git a/figures/apps/roundcube.png b/figures/apps/roundcube.png new file mode 100644 index 0000000..260d414 Binary files /dev/null and b/figures/apps/roundcube.png differ diff --git a/figures/apps/squirelmail.png b/figures/apps/squirelmail.png new file mode 100644 index 0000000..90f1146 Binary files /dev/null and b/figures/apps/squirelmail.png differ diff --git a/figures/apps/webcalendar.png b/figures/apps/webcalendar.png new file mode 100644 index 0000000..5cf37a6 Binary files /dev/null and b/figures/apps/webcalendar.png differ diff --git a/figures/cadoles/banner_01.png b/figures/cadoles/banner_01.png new file mode 100644 index 0000000..b806396 Binary files /dev/null and b/figures/cadoles/banner_01.png differ diff --git a/figures/cadoles/banner_02.png b/figures/cadoles/banner_02.png new file mode 100644 index 0000000..1bdd60a Binary files /dev/null and b/figures/cadoles/banner_02.png differ diff --git a/figures/cadoles/gray_frame_background.png b/figures/cadoles/gray_frame_background.png new file mode 100644 index 0000000..cbd7aed Binary files /dev/null and b/figures/cadoles/gray_frame_background.png differ diff --git a/figures/cadoles/gray_frame_background.tex b/figures/cadoles/gray_frame_background.tex new file mode 100644 index 0000000..92ca47e --- /dev/null +++ b/figures/cadoles/gray_frame_background.tex @@ -0,0 +1,255 @@ +\definecolor{ca3a3a3}{RGB}{163,163,163} +\definecolor{cffffff}{RGB}{255,255,255} +\definecolor{c138cce}{RGB}{19,140,206} +\hspace*{-33pt}% +\begin{tikzpicture}[y=0.80pt, x=0.80pt, yscale=-0.648000, xscale=0.610000, inner sep=0pt, outer sep=0pt] +\begin{scope}[shift={(0,-527.95276)}] + \path[shift={(0,527.95276)},color=black,draw=black,fill=ca3a3a3,line + join=round,line cap=round,miter limit=4.00,line width=1.440pt] (0.0000,0.0000) + -- (0.0000,63.5586) .. controls (0.0000,71.1135) and (6.0819,77.2270) .. + (13.6367,77.1953) -- (490.0000,77.1953) -- (490.0000,93.4863) .. controls + (490.0000,101.0413) and (496.0818,107.1231) .. (503.6367,107.1231) -- + (603.5059,107.1231) .. controls (611.0608,107.1231) and (617.1426,101.0413) .. + (617.1426,93.4863) -- (617.1426,77.1953) -- (730.4570,77.1953) .. controls + (738.0120,77.1953) and (744.0937,71.1135) .. (744.0937,63.5586) -- + (744.0945,0.0000) -- cycle; + \begin{scope}[cm={{0.5855,0.0,0.0,-0.5855,(611.06673,591.65217)}}] + \begin{scope}[scale=0.100] + \path[fill=cffffff,nonzero rule] (1308.7300,601.6520) .. controls + (1260.8500,601.6520) and (1225.1900,578.1410) .. (1225.1900,521.5590) .. + controls (1225.1900,478.9260) and (1248.6900,449.3320) .. (1306.1500,449.3320) + .. controls (1354.8500,449.3320) and (1387.9300,478.0270) .. + (1387.9300,523.3200) .. controls (1387.9300,574.6480) and (1358.3300,601.6520) + .. (1308.7300,601.6520) -- cycle(1213.0000,202.1330) .. controls + (1201.6700,188.2270) and (1190.3800,173.4530) .. (1190.3800,156.0160) .. + controls (1190.3800,121.2300) and (1234.7400,110.7620) .. (1295.6800,110.7620) + .. controls (1346.1600,110.7620) and (1414.9200,114.2970) .. + (1414.9200,161.2300) .. controls (1414.9200,189.1250) and (1381.8400,190.8520) + .. (1340.0400,193.4730) -- (1213.0000,202.1330) -- cycle(1470.6100,599.0230) + .. controls (1486.2500,579.0000) and (1502.8100,551.1450) .. + (1502.8100,511.1130) .. controls (1502.8100,414.5120) and (1427.0900,357.9490) + .. (1317.4600,357.9490) .. controls (1289.5800,357.9490) and + (1264.3400,361.4220) .. (1248.6900,365.7660) -- (1219.9600,319.6480) -- + (1305.2400,314.4380) .. controls (1455.8200,304.8440) and (1544.5600,300.4840) + .. (1544.5600,184.7770) .. controls (1544.5600,84.6680) and + (1456.6800,28.1250) .. (1305.2400,28.1250) .. controls (1147.7200,28.1250) and + (1087.6700,68.1641) .. (1087.6700,136.9060) .. controls (1087.6700,176.0860) + and (1105.0800,196.9260) .. (1135.5400,225.6880) .. controls + (1106.8100,237.8320) and (1097.2500,259.5780) .. (1097.2500,283.0860) .. + controls (1097.2500,302.2460) and (1106.8100,319.6480) .. (1122.5000,336.1950) + .. controls (1138.1600,352.7150) and (1155.5600,369.2730) .. + (1176.4500,388.4140) .. controls (1133.8100,409.2970) and (1101.6000,454.5550) + .. (1101.6000,518.9690) .. controls (1101.6000,619.0430) and + (1167.7500,687.7730) .. (1300.8800,687.7730) .. controls (1338.3100,687.7730) + and (1360.9500,684.3280) .. (1380.9700,679.0740) -- (1550.6900,679.0740) -- + (1550.6900,605.1170) -- (1470.6100,599.0230); + \path[fill=cffffff,nonzero rule] (1703.8000,757.1680) .. controls + (1654.1800,757.1680) and (1625.4700,785.9140) .. (1625.4700,835.5390) .. + controls (1625.4700,885.1020) and (1654.1800,912.1020) .. (1703.8000,912.1020) + .. controls (1754.2800,912.1020) and (1783.0000,885.1020) .. + (1783.0000,835.5390) .. controls (1783.0000,785.9140) and (1754.2800,757.1680) + .. (1703.8000,757.1680) -- cycle(1591.5100,234.1560) -- (1591.5100,302.8750) + -- (1635.9100,308.9490) .. controls (1648.1000,310.7150) and + (1649.8300,313.3050) .. (1649.8300,326.3910) -- (1649.8300,582.2580) .. + controls (1649.8300,591.8130) and (1647.2300,597.9300) .. (1638.5000,600.5200) + -- (1591.5100,617.0700) -- (1601.0800,687.5390) -- (1781.2500,687.5390) -- + (1781.2500,326.3910) .. controls (1781.2500,312.4410) and (1782.0900,310.7150) + .. (1795.1800,308.9490) -- (1839.5700,302.8750) -- (1839.5700,234.1560) -- + (1591.5100,234.1560); + \path[fill=cffffff,nonzero rule] (2183.7300,267.8950) .. controls + (2146.2900,249.6410) and (2091.4700,233.1020) .. (2041.8400,233.1020) .. + controls (1938.2800,233.1020) and (1899.1300,274.8360) .. (1899.1300,373.2230) + -- (1899.1300,601.2270) .. controls (1899.1300,606.4380) and + (1899.1300,609.9340) .. (1892.1400,609.9340) -- (1831.2300,609.9340) -- + (1831.2300,687.3870) .. controls (1907.8400,696.1130) and (1938.2800,734.4140) + .. (1947.8500,829.2730) -- (2030.5400,829.2730) -- (2030.5400,705.6480) .. + controls (2030.5400,699.5780) and (2030.5400,696.9490) .. (2037.5100,696.9490) + -- (2160.2100,696.9490) -- (2160.2100,609.9340) -- (2030.5400,609.9340) -- + (2030.5400,401.9450) .. controls (2030.5400,350.5900) and (2042.7400,330.5900) + .. (2089.7100,330.5900) .. controls (2114.1100,330.5900) and + (2139.3200,336.6640) .. (2160.2100,344.5040) -- (2183.7300,267.8950); + \path[fill=cffffff,nonzero rule] (894.2150,496.2850) -- (496.2770,894.1950) .. + controls (473.3790,917.1130) and (436.2110,917.1130) .. (413.2810,894.1950) -- + (330.6520,811.5590) -- (435.4690,706.7380) .. controls (459.8360,714.9650) and + (487.7660,709.4490) .. (507.1800,690.0310) .. controls (526.6950,670.4920) and + (532.1720,642.3240) .. (523.7380,617.8750) -- (624.7620,516.8550) .. controls + (649.2030,525.2770) and (677.4020,519.8360) .. (696.9180,500.2850) .. controls + (724.2030,473.0080) and (724.2030,428.8090) .. (696.9180,401.5230) .. controls + (669.6290,374.2300) and (625.4300,374.2300) .. (598.1290,401.5230) .. controls + (577.6130,422.0550) and (572.5390,452.1990) .. (582.9300,477.4770) -- + (488.7150,571.6950) -- (488.7070,323.7660) .. controls (495.3590,320.4730) and + (501.6370,316.0780) .. (507.1800,310.5590) .. controls (534.4570,283.2850) and + (534.4570,239.0940) .. (507.1800,211.7770) .. controls (479.8950,184.5040) and + (435.6760,184.5040) .. (408.4180,211.7770) .. controls (381.1370,239.0940) and + (381.1370,283.2850) .. (408.4180,310.5590) .. controls (415.1600,317.2890) and + (422.9610,322.3830) .. (431.2850,325.7970) -- (431.2850,576.0270) .. controls + (422.9610,579.4300) and (415.1720,584.4880) .. (408.4180,591.2660) .. controls + (387.7540,611.9140) and (382.7770,642.2420) .. (393.3750,667.6170) -- + (290.0510,770.9610) -- (17.1992,498.1250) .. controls (-5.7266,475.1880) and + (-5.7266,438.0200) .. (17.1992,415.0980) -- (415.1330,17.1875) .. controls + (438.0430,-5.7305) and (475.1990,-5.7305) .. (498.1410,17.1875) -- + (894.2150,413.2540) .. controls (917.1330,436.1840) and (917.1330,473.3630) .. + (894.2150,496.2850); + \end{scope} + \end{scope} + \begin{scope}[cm={{0.22351,0.0,0.0,0.22351,(468.02458,415.34098)}}] + \path[shift={(0,527.95276)},fill=c138cce] (443.4863,349.8496) .. controls + (436.2763,349.8750) and (431.5340,351.0438) .. (424.6074,354.5059) .. controls + (409.4498,362.0820) and (398.1744,379.7907) .. (396.1113,399.2598) -- + (395.7168,402.9805) -- (398.7520,402.9805) -- (401.7852,402.9805) -- + (401.7852,415.1289) -- (401.7852,427.2754) -- (404.8848,430.0606) .. controls + (406.5888,431.5926) and (409.1995,433.4629) .. (410.6875,434.2168) .. controls + (414.6692,436.2343) and (422.7668,438.6064) .. (428.8691,439.5430) .. controls + (436.0804,440.6498) and (451.8575,440.6892) .. (458.9277,439.6172) .. controls + (469.3304,438.0398) and (477.6136,434.7470) .. (482.4902,430.2519) -- + (485.1191,427.8301) -- (485.1191,415.4043) -- (485.1191,402.9805) -- + (488.1797,402.9805) -- (491.2422,402.9805) -- (490.9043,398.3672) .. controls + (490.4994,392.8203) and (488.2112,384.6524) .. (485.3711,378.6172) -- + (483.2910,374.1953) -- (480.0371,377.4062) -- (476.7852,380.6191) -- + (476.8028,388.6738) .. controls (476.8193,396.6758) and (476.8307,396.7459) .. + (478.5879,399.0683) .. controls (479.5609,400.3543) and (480.3574,401.6032) .. + (480.3574,401.8418) .. controls (480.3574,402.0804) and (479.0014,403.4110) .. + (477.3438,404.7988) -- (474.3301,407.3222) -- (471.6895,404.7305) .. controls + (470.2370,403.3049) and (469.0590,401.8586) .. (469.0723,401.5176) .. controls + (469.0856,401.1765) and (469.8886,399.9694) .. (470.8574,398.8359) -- + (472.6192,396.7754) -- (472.6192,387.8359) -- (472.6192,378.8945) -- + (476.9043,374.9746) -- (481.1895,371.0547) -- (478.4512,367.4961) .. controls + (474.0337,361.7552) and (474.6782,361.7096) .. (468.5235,368.2129) -- + (463.0957,373.9492) -- (463.0957,381.6719) -- (463.0957,389.3926) -- + (464.9922,392.0351) -- (466.8906,394.6777) -- (463.9649,397.6465) -- + (461.0411,400.6152) -- (458.1094,397.6816) -- (455.1758,394.7500) -- + (457.0528,392.3808) -- (458.9278,390.0117) -- (458.9278,381.2304) -- + (458.9278,372.4492) -- (464.8750,366.0547) -- (470.8203,359.6601) -- + (468.8926,358.2011) .. controls (467.8321,357.3983) and (465.8125,356.0950) .. + (464.4043,355.3066) -- (461.8438,353.8730) -- (455.6485,360.4219) -- + (449.4532,366.9687) -- (449.4298,374.8379) -- (449.4044,382.7070) -- + (451.3086,385.4101) -- (453.2129,388.1113) -- (450.5899,390.7832) .. controls + (449.1470,392.2534) and (447.6771,393.4570) .. (447.3223,393.4570) .. controls + (446.6687,393.4570) and (441.6661,388.6393) .. (441.6661,388.0098) .. controls + (441.6661,387.8216) and (442.4710,386.6577) .. (443.4532,385.4219) -- + (445.2383,383.1738) -- (445.2383,374.1680) -- (445.2383,365.1621) -- + (451.4883,358.9336) .. controls (454.9258,355.5078) and (457.7383,352.5286) .. + (457.7383,352.3125) .. controls (457.7383,351.3613) and (448.8822,349.8306) .. + (443.4864,349.8496) -- cycle(432.7383,409.5293) -- (443.1543,409.5293) -- + (453.5723,409.5293) -- (453.5723,421.7305) -- (453.5723,433.9336) -- + (443.1543,433.9336) -- (432.7383,433.9336) -- (432.7383,421.7305) -- + (432.7383,409.5293) -- cycle; + \path[fill=black] (261.8691,888.9684) .. controls (256.1416,888.9684) and + (253.8997,889.2301) .. (250.5586,890.2887) .. controls (239.0465,893.9362) and + (229.0970,903.5899) .. (225.2285,914.8629) .. controls (223.5821,919.6609) and + (222.9902,929.8021) .. (224.0371,935.2535) .. controls (224.9491,940.0023) and + (228.6345,947.6212) .. (231.9258,951.5621) .. controls (238.3114,959.2080) and + (246.5804,964.0245) .. (255.8496,965.4957) .. controls (260.3436,966.2090) and + (268.7669,965.5830) .. (273.3359,964.1969) .. controls (278.9657,962.4890) and + (284.6766,958.9540) .. (289.2266,954.3590) -- (293.1191,950.4274) -- + (293.1191,957.0504) -- (293.1191,963.6715) -- (296.3926,963.6715) -- + (299.6660,963.6715) -- (299.6660,929.4450) -- (299.6660,895.2184) -- + (296.3926,895.2184) -- (293.1191,895.2184) -- (293.1191,899.6637) -- + (293.1191,904.1071) -- (289.0859,900.1090) .. controls (284.3844,895.4484) and + (279.0301,892.1430) .. (273.1777,890.2887) .. controls (269.8367,889.2301) and + (267.5967,888.9684) .. (261.8691,888.9684) -- cycle(261.8691,895.2399) .. + controls (273.5014,895.2399) and (285.2012,902.6531) .. (290.5059,913.3863) -- + (292.8223,918.0738) -- (292.8223,927.3629) -- (292.8223,936.6500) -- + (290.5723,941.2028) .. controls (286.9644,948.5028) and (280.5551,954.2631) .. + (272.7363,957.2340) .. controls (266.5071,959.6009) and (256.4195,959.5506) .. + (250.2598,957.1227) .. controls (228.7378,948.6395) and (223.0668,920.8860) .. + (239.5430,904.6735) .. controls (245.4710,898.8403) and (253.9912,895.2399) .. + (261.8691,895.2399) -- cycle; + \path[shift={(0,527.95276)},fill=black] (380.9531,323.8145) -- + (380.9531,350.1231) -- (380.9531,376.4316) -- (376.9336,372.4434) .. controls + (370.4006,365.9577) and (365.1899,363.0750) .. (357.2441,361.5547) .. controls + (343.9495,359.0110) and (331.7923,362.7424) .. (322.3145,372.2754) .. controls + (314.2156,380.4214) and (311.0856,388.1096) .. (311.1465,399.7070) .. controls + (311.1748,405.0891) and (311.4601,407.1254) .. (312.7520,411.1445) .. controls + (317.1262,424.7537) and (329.5513,435.4320) .. (343.3750,437.4629) .. controls + (356.0481,439.3247) and (367.4544,435.6242) .. (376.3398,426.7695) -- + (380.9531,422.1719) -- (380.9531,428.9453) -- (380.9531,435.7188) -- + (383.9277,435.7188) -- (386.9043,435.7188) -- (386.9043,379.7656) -- + (386.9043,323.8145) -- (383.9277,323.8145) -- (380.9531,323.8145) -- + cycle(349.0293,367.4727) .. controls (362.6302,367.3586) and + (375.4311,376.1981) .. (379.7793,389.2891) .. controls (380.8820,392.6091) and + (381.0352,394.2094) .. (380.8594,400.5977) .. controls (380.6623,407.7584) and + (380.5711,408.2144) .. (378.4473,412.6621) .. controls (374.6386,420.6383) and + (367.1009,427.2908) .. (359.0566,429.7754) .. controls (353.9825,431.3426) and + (344.6092,431.3591) .. (339.7598,429.8086) .. controls (330.1727,426.7432) and + (321.9704,418.5113) .. (319.0020,408.9766) .. controls (317.3237,403.5860) and + (317.3218,395.1890) .. (318.9960,389.8418) .. controls (322.5358,378.5368) and + (333.0801,369.5265) .. (344.7909,367.8008) .. controls (346.2065,367.5922) and + (347.6222,367.4845) .. (349.0292,367.4727) -- cycle; + \path[fill=black] (166.9762,964.8326) .. controls (145.2181,962.1936) and + (125.6012,945.6172) .. (119.4630,924.6836) .. controls (110.4936,894.0946) and + (127.1980,862.2314) .. (157.1548,852.7874) .. controls (174.7263,847.2479) and + (194.5306,850.6538) .. (209.1032,861.7215) -- (213.4326,865.0096) -- + (211.1865,866.9944) .. controls (209.9512,868.0861) and (208.7317,868.9904) .. + (208.4765,869.0041) .. controls (208.2214,869.0177) and (206.6142,867.9150) .. + (204.9051,866.5538) .. controls (201.0292,863.4667) and (192.2790,859.2542) .. + (187.1942,858.0275) .. controls (181.7479,856.7135) and (172.2567,856.2507) .. + (167.1518,857.0502) .. controls (156.4842,858.7208) and (147.4293,863.1378) .. + (139.7834,870.4007) .. controls (132.3623,877.4500) and (127.5013,885.3814) .. + (124.9373,894.6241) .. controls (123.4154,900.1103) and (123.4154,915.3283) .. + (124.9373,920.8145) .. controls (127.4445,929.8526) and (132.3300,937.9190) .. + (139.3801,944.6606) .. controls (146.2514,951.2314) and (153.2392,955.2065) .. + (161.9167,957.4808) .. controls (168.3153,959.1578) and (181.7797,959.0339) .. + (188.0337,957.2404) .. controls (193.9760,955.5363) and (200.2043,952.4979) .. + (204.7621,949.0796) .. controls (206.7199,947.6112) and (208.4610,946.4209) .. + (208.6311,946.4346) .. controls (208.8013,946.4482) and (209.9444,947.3466) .. + (211.1713,948.4311) -- (213.4022,950.4028) -- (209.8106,953.2245) .. controls + (204.3878,957.4850) and (195.8668,961.7226) .. (189.4494,963.3505) .. controls + (182.9646,964.9955) and (173.4777,965.6211) .. (166.9762,964.8326) -- cycle; + \path[fill=c138cce] (554.6504,889.1813) .. controls (547.7311,889.1484) and + (543.5072,890.0803) .. (537.4746,892.9664) .. controls (530.7427,896.1871) and + (523.3345,903.4575) .. (520.0156,910.1012) .. controls (516.1989,917.7416) and + (515.0587,927.1755) .. (516.9004,935.8668) .. controls (519.7087,949.1201) and + (531.4841,961.1505) .. (544.9746,964.5485) .. controls (547.3739,965.1528) and + (550.6956,965.3657) .. (555.6074,965.2321) .. controls (563.5562,965.0159) and + (567.8209,963.8167) .. (574.1152,960.0270) .. controls (577.5994,957.9292) and + (585.3505,950.6568) .. (584.7461,950.0524) .. controls (584.5546,949.8609) and + (583.2759,949.2794) .. (581.9062,948.7614) -- (579.4160,947.8200) -- + (575.8711,951.0660) .. controls (565.4842,960.5767) and (548.8319,962.1678) .. + (537.5000,954.7340) .. controls (531.6597,950.9027) and (529.3531,954.2189) .. + (557.3789,926.1871) -- (582.3301,901.2282) -- (581.1719,899.9391) .. controls + (579.0970,897.6319) and (572.7234,893.4121) .. (569.0742,891.9293) .. controls + (563.9939,889.8650) and (560.5545,889.2094) .. (554.6504,889.1813) -- + cycle(553.9180,895.2184) .. controls (559.4827,895.2184) and + (563.6640,896.1151) .. (568.1074,898.2575) .. controls (575.1736,901.6643) and + (576.9346,898.8845) .. (551.7246,924.1012) .. controls (539.4585,936.3705) and + (529.1425,946.4098) .. (528.8008,946.4098) .. controls (527.8347,946.4098) and + (524.5536,940.5206) .. (523.4941,936.8863) .. controls (520.0930,925.2192) and + (523.0986,913.0820) .. (531.4453,904.7789) .. controls (537.8738,898.3841) and + (545.3121,895.2184) .. (553.9180,895.2184) -- cycle; + \path[fill=black] (608.8333,964.9347) .. controls (601.6362,962.5736) and + (595.5434,955.7719) .. (594.3050,948.7159) .. controls (593.9281,946.5685) and + (593.9394,946.5544) .. (596.5838,945.8885) .. controls (600.2842,944.9567) and + (600.4983,945.0094) .. (600.5131,946.8562) .. controls (600.5434,950.6546) and + (604.4026,956.0158) .. (608.5093,957.9645) .. controls (613.6872,960.4216) and + (620.0502,959.4029) .. (624.1052,955.4676) .. controls (627.3075,952.3599) and + (628.5952,949.3995) .. (628.5952,945.1452) .. controls (628.5952,938.2745) and + (625.2670,934.3348) .. (613.5721,927.3622) .. controls (603.0453,921.0860) and + (599.7512,916.8619) .. (599.7089,909.5850) .. controls (599.6566,900.6074) and + (605.8283,893.6811) .. (614.5003,892.9850) .. controls (619.5868,892.5767) and + (623.0909,893.6277) .. (626.4237,896.5613) .. controls (629.6032,899.3600) and + (631.4524,902.6853) .. (631.4524,905.6043) .. controls (631.4524,907.4541) and + (631.1963,907.8103) .. (629.2963,908.6042) .. controls (628.1105,909.0996) and + (626.9607,909.5050) .. (626.7412,909.5050) .. controls (626.5217,909.5050) and + (626.0349,908.3564) .. (625.6594,906.9525) .. controls (624.3363,902.0056) and + (620.8710,899.2486) .. (615.9762,899.2486) .. controls (610.1777,899.2486) and + (605.8571,903.5255) .. (605.8571,909.2653) .. controls (605.8571,914.1290) and + (608.7083,917.3568) .. (617.8266,922.8156) .. controls (628.7158,929.3347) and + (632.2425,932.9805) .. (634.2115,939.7537) .. controls (636.8725,948.9071) and + (632.0411,959.5003) .. (623.2927,963.6941) .. controls (620.2226,965.1658) and + (611.7530,965.8925) .. (608.8333,964.9347) -- cycle; + \path[fill=c138cce] (498.8095,907.7193) -- (498.8095,851.7669) -- + (501.4881,851.7669) -- (504.1666,851.7669) -- (504.1666,907.7193) -- + (504.1666,963.6717) -- (501.4881,963.6717) -- (498.8095,963.6717) -- + (498.8095,907.7193) -- cycle; + \end{scope} + \path[shift={(0,527.95276)},color=black,draw=black,fill=c138cce,line + join=round,line cap=round,miter limit=4.00,line width=1.440pt] + (0.0000,476.5527) -- (0.0000,524.4102) -- (744.0938,524.4102) -- + (744.0938,476.5527) -- (743.8379,476.5527) .. controls (742.6525,482.4346) and + (737.4796,486.8379) .. (731.2383,486.8379) -- (12.8574,486.8379) .. controls + (6.6161,486.8379) and (1.4412,482.4346) .. (0.2559,476.5527) -- + (0.0000,476.5527) -- cycle; +\end{scope} + +\end{tikzpicture} diff --git a/figures/cadoles/gray_frame_header.svg b/figures/cadoles/gray_frame_header.svg new file mode 100644 index 0000000..a15b0ce --- /dev/null +++ b/figures/cadoles/gray_frame_header.svg @@ -0,0 +1,168 @@ + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/figures/cadoles/gray_frame_header.tex b/figures/cadoles/gray_frame_header.tex new file mode 100644 index 0000000..e8e56c2 --- /dev/null +++ b/figures/cadoles/gray_frame_header.tex @@ -0,0 +1,209 @@ +%LaTeX with PSTricks extensions +%%Creator: inkscape 0.91 +%%Please note this file requires PSTricks extensions +\psset{xunit=.1pt,yunit=.1pt,runit=.1pt} +\begin{pspicture}(744.09448819,524.40944882) +{ +\newrgbcolor{curcolor}{0.63921571 0.63921571 0.63921571} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(24.040242,509.35278882) +\curveto(20.682492,509.35278882)(17.979695,505.74969882)(17.979695,501.27270882) +\lineto(17.979695,406.00512882) +\curveto(17.979695,401.52813882)(20.682492,397.92504882)(24.040242,397.92504882) +\lineto(532.4836,397.92504882) +\curveto(532.3045,396.99909882)(532.19063,396.01497882)(532.19063,394.97191882) +\lineto(532.19063,391.59301882) +\curveto(532.19063,386.74980882)(534.29226,382.85082882)(536.90352,382.85082882) +\lineto(606.91133,382.85082882) +\curveto(609.52259,382.85082882)(611.62617,386.74980882)(611.62617,391.59301882) +\lineto(611.62617,394.97191882) +\curveto(611.62617,396.01497882)(611.5123,396.99909882)(611.33321,397.92504882) +\lineto(720.48946,397.92504882) +\curveto(723.84721,397.92504882)(726.55196,401.52813882)(726.55196,406.00512882) +\lineto(726.55196,501.27270882) +\curveto(726.55196,505.74969882)(723.84721,509.35278882)(720.48946,509.35278882) +\lineto(24.040242,509.35278882) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0 0 0} +\pscustom[linewidth=1.79999995,linecolor=curcolor] +{ +\newpath +\moveto(24.040242,509.35278882) +\curveto(20.682492,509.35278882)(17.979695,505.74969882)(17.979695,501.27270882) +\lineto(17.979695,406.00512882) +\curveto(17.979695,401.52813882)(20.682492,397.92504882)(24.040242,397.92504882) +\lineto(532.4836,397.92504882) +\curveto(532.3045,396.99909882)(532.19063,396.01497882)(532.19063,394.97191882) +\lineto(532.19063,391.59301882) +\curveto(532.19063,386.74980882)(534.29226,382.85082882)(536.90352,382.85082882) +\lineto(606.91133,382.85082882) +\curveto(609.52259,382.85082882)(611.62617,386.74980882)(611.62617,391.59301882) +\lineto(611.62617,394.97191882) +\curveto(611.62617,396.01497882)(611.5123,396.99909882)(611.33321,397.92504882) +\lineto(720.48946,397.92504882) +\curveto(723.84721,397.92504882)(726.55196,401.52813882)(726.55196,406.00512882) +\lineto(726.55196,501.27270882) +\curveto(726.55196,505.74969882)(723.84721,509.35278882)(720.48946,509.35278882) +\lineto(24.040242,509.35278882) +\closepath +} +} +{ +\newrgbcolor{curcolor}{1 1 1} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(678.87088519,430.528038) +\curveto(676.52297453,430.528038)(674.77430088,429.37511971)(674.77430088,426.6004856) +\curveto(674.77430088,424.50987417)(675.92667976,423.05866139)(678.7443687,423.05866139) +\curveto(681.13249004,423.05866139)(682.75464719,424.46578955)(682.75464719,426.68684046) +\curveto(682.75464719,429.20383208)(681.30314018,430.528038)(678.87088519,430.528038) +\closepath +\moveto(674.17653499,410.93666539) +\curveto(673.62094126,410.25475132)(673.06730902,409.53027279)(673.06730902,408.67520766) +\curveto(673.06730902,406.9693927)(675.24260804,406.45606921)(678.23094714,406.45606921) +\curveto(680.70635504,406.45606921)(684.07816659,406.62941641)(684.07816659,408.93088866) +\curveto(684.07816659,410.2987869)(682.45600943,410.38347449)(680.40624616,410.51200152) +\lineto(674.17653499,410.93666539) +\closepath +\moveto(686.80905934,430.39911868) +\curveto(687.57600426,429.41724284)(688.38806359,428.05130609)(688.38806359,426.08824093) +\curveto(688.38806359,421.35117915)(684.67495174,418.57747675)(679.29898169,418.57747675) +\curveto(677.931819,418.57747675)(676.69411505,418.74778364)(675.92667976,418.9608021) +\lineto(674.51783528,416.69929533) +\lineto(678.69974467,416.44381049) +\curveto(686.08379621,415.97334568)(690.435375,415.75954262)(690.435375,410.08557229) +\curveto(690.435375,405.17648732)(686.12596838,402.40376567)(678.69974467,402.40376567) +\curveto(670.97537358,402.40376567)(668.03067777,404.36717899)(668.03067777,407.73810297) +\curveto(668.03067777,409.65938826)(668.88441889,410.68132765)(670.37809806,412.09174132) +\curveto(668.96925359,412.6872515)(668.50045605,413.75361878)(668.50045605,414.90638995) +\curveto(668.50045605,415.84594652)(668.96925359,416.69929533)(669.73865038,417.51071718) +\curveto(670.50657605,418.32081501)(671.35982679,419.13277626)(672.38421805,420.07140111) +\curveto(670.29326336,421.09544912)(668.71376874,423.31478372)(668.71376874,426.47347874) +\curveto(668.71376874,431.38084741)(671.95759268,434.75118784)(678.48594161,434.75118784) +\curveto(680.32141146,434.75118784)(681.43161817,434.582254)(682.4133469,434.32461151) +\lineto(690.73597426,434.32461151) +\lineto(690.73597426,430.69795259) +\lineto(686.80905934,430.39911868) +} +} +{ +\newrgbcolor{curcolor}{1 1 1} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(698.24409042,438.15413814) +\curveto(695.81085468,438.15413814)(694.40299095,439.56376722)(694.40299095,441.99724814) +\curveto(694.40299095,444.42768875)(695.81085468,445.75169852)(698.24409042,445.75169852) +\curveto(700.71949832,445.75169852)(702.12785242,444.42768875)(702.12785242,441.99724814) +\curveto(702.12785242,439.56376722)(700.71949832,438.15413814)(698.24409042,438.15413814) +\closepath +\moveto(692.73768088,412.50699002) +\lineto(692.73768088,415.87679104) +\lineto(694.9149414,416.1746442) +\curveto(695.51270729,416.26124425)(695.59754199,416.38825111)(695.59754199,417.02995452) +\lineto(695.59754199,429.57700669) +\curveto(695.59754199,430.04555903)(695.47004475,430.3455208)(695.04194826,430.47252767) +\lineto(692.73768088,431.28409662) +\lineto(693.20696879,434.73971309) +\lineto(702.04203697,434.73971309) +\lineto(702.04203697,417.02995452) +\curveto(702.04203697,416.3458828)(702.08322838,416.26124425)(702.72512794,416.1746442) +\lineto(704.90189808,415.87679104) +\lineto(704.90189808,412.50699002) +\lineto(692.73768088,412.50699002) +} +} +{ +\newrgbcolor{curcolor}{1 1 1} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(721.77860932,414.16146282) +\curveto(719.9426491,413.26633414)(717.25441889,412.4553046)(714.82069277,412.4553046) +\curveto(709.74237973,412.4553046)(707.82256556,414.50183141)(707.82256556,419.32647399) +\lineto(707.82256556,430.50719711) +\curveto(707.82256556,430.76273099)(707.82256556,430.93416574)(707.47979414,430.93416574) +\lineto(704.49292617,430.93416574) +\lineto(704.49292617,434.73225941) +\curveto(708.24968131,435.16015975)(709.74237973,437.03834117)(710.21166764,441.6899798) +\lineto(714.26657017,441.6899798) +\lineto(714.26657017,435.62773135) +\curveto(714.26657017,435.33007434)(714.26657017,435.20115501)(714.60836084,435.20115501) +\lineto(720.62524969,435.20115501) +\lineto(720.62524969,430.93416574) +\lineto(714.26657017,430.93416574) +\lineto(714.26657017,420.73492616) +\curveto(714.26657017,418.21661053)(714.86482643,417.23586255)(717.16811306,417.23586255) +\curveto(718.3646256,417.23586255)(719.60085843,417.53371572)(720.62524969,417.91816892) +\lineto(721.77860932,414.16146282) +} +} +{ +\newrgbcolor{curcolor}{1 1 1} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(658.54414775,425.36111438) +\lineto(639.03030326,444.87358582) +\curveto(637.9074449,445.99742493)(636.08482286,445.99742493)(634.9603953,444.87358582) +\lineto(630.90848405,440.82133131) +\lineto(636.04843711,435.68118211) +\curveto(637.24333141,436.08461279)(638.61294596,435.8141225)(639.56495802,434.86191429) +\curveto(640.52192287,433.90377255)(640.7905007,432.52248709)(640.37691928,431.32357173) +\lineto(645.33087347,426.36981368) +\curveto(646.52939654,426.78280665)(647.91220216,426.51599417)(648.86921604,425.55726398) +\curveto(650.20720147,424.21967085)(650.20720147,422.05226685)(648.86921604,420.71423238) +\curveto(647.53103445,419.37585465)(645.36363046,419.37585465)(644.02486043,420.71423238) +\curveto(643.01880915,421.72106825)(642.76999339,423.19925161)(643.279541,424.43881898) +\lineto(638.65948245,429.05902464) +\lineto(638.65909015,416.90123134) +\curveto(638.98528693,416.73975119)(639.29314372,416.52423182)(639.56495802,416.25359441) +\curveto(640.90255116,414.91614839)(640.90255116,412.7491367)(639.56495802,411.40958207) +\curveto(638.22697259,410.07218508)(636.05858785,410.07218508)(634.72192642,411.40958207) +\curveto(633.38413714,412.7491367)(633.38413714,414.91614839)(634.72192642,416.25359441) +\curveto(635.05253657,416.58361611)(635.43507732,416.83341262)(635.84326463,417.0008263) +\lineto(635.84326463,429.27145465) +\curveto(635.43507732,429.43832892)(635.05312502,429.68636009)(634.72192642,430.01873558) +\curveto(633.70861761,431.03125979)(633.46455848,432.51846603)(633.98425683,433.76279003) +\lineto(628.91751662,438.83051099) +\lineto(615.53757403,425.4513432) +\curveto(614.41335439,424.32657237)(614.41335439,422.50395033)(615.53757403,421.37991507) +\lineto(635.05121256,401.86741911) +\curveto(636.17465937,400.74358148)(637.99669297,400.74358148)(639.12170898,401.86741911) +\lineto(658.54414775,421.28949011) +\curveto(659.66798686,422.41391766)(659.66798686,424.23707912)(658.54414775,425.36111438) +} +} +{ +\newrgbcolor{curcolor}{0.63921571 0.63921571 0.63921571} +\pscustom[linestyle=none,fillstyle=solid,fillcolor=curcolor] +{ +\newpath +\moveto(704.07632446,207.58632991) +\curveto(704.07632446,106.88685159)(563.19712176,25.25379512)(389.41381836,25.25379512) +\curveto(215.63051496,25.25379512)(74.75131226,106.88685159)(74.75131226,207.58632991) +\curveto(74.75131226,308.28580824)(215.63051496,389.9188647)(389.41381836,389.9188647) +\curveto(563.19712176,389.9188647)(704.07632446,308.28580824)(704.07632446,207.58632991) +\closepath +} +} +{ +\newrgbcolor{curcolor}{0 0 0} +\pscustom[linewidth=1.79999995,linecolor=curcolor] +{ +\newpath +\moveto(704.07632446,207.58632991) +\curveto(704.07632446,106.88685159)(563.19712176,25.25379512)(389.41381836,25.25379512) +\curveto(215.63051496,25.25379512)(74.75131226,106.88685159)(74.75131226,207.58632991) +\curveto(74.75131226,308.28580824)(215.63051496,389.9188647)(389.41381836,389.9188647) +\curveto(563.19712176,389.9188647)(704.07632446,308.28580824)(704.07632446,207.58632991) +\closepath +} +} +\end{pspicture} diff --git a/figures/cadoles/logo_01.png b/figures/cadoles/logo_01.png new file mode 100644 index 0000000..81bb9ae Binary files /dev/null and b/figures/cadoles/logo_01.png differ diff --git a/figures/cadoles/simple_dash.tex b/figures/cadoles/simple_dash.tex new file mode 100644 index 0000000..b92f153 --- /dev/null +++ b/figures/cadoles/simple_dash.tex @@ -0,0 +1,8 @@ +\definecolor{ca3a3a3}{RGB}{163,163,163} +\definecolor{cffffff}{RGB}{255,255,255} +\definecolor{c138cce}{RGB}{19,140,206} +\hspace*{-33pt}% +\begin{tikzpicture}[overlay, y=0.80pt, x=0.80pt, yscale=1, xscale=1, inner sep=0pt, outer sep=0pt] + \draw (current page.center) -- ++(400, 200); +\end{tikzpicture} + diff --git a/figures/en/RSAT/ajout_GPO.png b/figures/en/RSAT/ajout_GPO.png new file mode 100644 index 0000000..e2133ad Binary files /dev/null and b/figures/en/RSAT/ajout_GPO.png differ diff --git a/figures/en/RSAT/ajout_politique.png b/figures/en/RSAT/ajout_politique.png new file mode 100644 index 0000000..b6479fb Binary files /dev/null and b/figures/en/RSAT/ajout_politique.png differ diff --git a/figures/en/RSAT/application_et_fonctionnalites.png b/figures/en/RSAT/application_et_fonctionnalites.png new file mode 100644 index 0000000..75bff3d Binary files /dev/null and b/figures/en/RSAT/application_et_fonctionnalites.png differ diff --git a/figures/en/RSAT/filtrage_gpo_par_wmi.png b/figures/en/RSAT/filtrage_gpo_par_wmi.png new file mode 100644 index 0000000..f009b1d Binary files /dev/null and b/figures/en/RSAT/filtrage_gpo_par_wmi.png differ diff --git a/figures/en/RSAT/filtres_wmi.png b/figures/en/RSAT/filtres_wmi.png new file mode 100644 index 0000000..3ba61b2 Binary files /dev/null and b/figures/en/RSAT/filtres_wmi.png differ diff --git a/figures/en/RSAT/fonctionnalite_facultative.png b/figures/en/RSAT/fonctionnalite_facultative.png new file mode 100644 index 0000000..2049b4f Binary files /dev/null and b/figures/en/RSAT/fonctionnalite_facultative.png differ diff --git a/figures/en/RSAT/gestion_strategie_groupe.png b/figures/en/RSAT/gestion_strategie_groupe.png new file mode 100644 index 0000000..125fcaa Binary files /dev/null and b/figures/en/RSAT/gestion_strategie_groupe.png differ diff --git a/figures/en/RSAT/modules_RSAT.png b/figures/en/RSAT/modules_RSAT.png new file mode 100644 index 0000000..7818abf Binary files /dev/null and b/figures/en/RSAT/modules_RSAT.png differ diff --git a/figures/en/RSAT/redirection_cible.png b/figures/en/RSAT/redirection_cible.png new file mode 100644 index 0000000..e7f5922 Binary files /dev/null and b/figures/en/RSAT/redirection_cible.png differ diff --git a/figures/en/RSAT/redirection_params.png b/figures/en/RSAT/redirection_params.png new file mode 100644 index 0000000..1671744 Binary files /dev/null and b/figures/en/RSAT/redirection_params.png differ diff --git a/figures/en/RSAT/requete_wmi.png b/figures/en/RSAT/requete_wmi.png new file mode 100644 index 0000000..64b2fca Binary files /dev/null and b/figures/en/RSAT/requete_wmi.png differ diff --git a/figures/en/Windows/w10_ajout_autorisation_dossier.png b/figures/en/Windows/w10_ajout_autorisation_dossier.png new file mode 100644 index 0000000..6b7380d Binary files /dev/null and b/figures/en/Windows/w10_ajout_autorisation_dossier.png differ diff --git a/figures/en/Windows/w10_autorisation_avancee_dossier.png b/figures/en/Windows/w10_autorisation_avancee_dossier.png new file mode 100644 index 0000000..43971b9 Binary files /dev/null and b/figures/en/Windows/w10_autorisation_avancee_dossier.png differ diff --git a/figures/en/Windows/w10_controle_total_dossier.png b/figures/en/Windows/w10_controle_total_dossier.png new file mode 100644 index 0000000..c0a4219 Binary files /dev/null and b/figures/en/Windows/w10_controle_total_dossier.png differ diff --git a/figures/en/Windows/w10_creation_utilisateur.png b/figures/en/Windows/w10_creation_utilisateur.png new file mode 100644 index 0000000..0b88207 Binary files /dev/null and b/figures/en/Windows/w10_creation_utilisateur.png differ diff --git a/figures/en/Windows/w10_principal_dossier.png b/figures/en/Windows/w10_principal_dossier.png new file mode 100644 index 0000000..bc1c375 Binary files /dev/null and b/figures/en/Windows/w10_principal_dossier.png differ diff --git a/figures/en/Windows/w10_props_dossier.png b/figures/en/Windows/w10_props_dossier.png new file mode 100644 index 0000000..431ceb2 Binary files /dev/null and b/figures/en/Windows/w10_props_dossier.png differ diff --git a/figures/en/Windows/w10_securite_dossier.png b/figures/en/Windows/w10_securite_dossier.png new file mode 100644 index 0000000..0429b3d Binary files /dev/null and b/figures/en/Windows/w10_securite_dossier.png differ diff --git a/figures/en/Windows/w10_selection_principal_dossier.png b/figures/en/Windows/w10_selection_principal_dossier.png new file mode 100644 index 0000000..4250ddb Binary files /dev/null and b/figures/en/Windows/w10_selection_principal_dossier.png differ diff --git a/figures/en/logo.png b/figures/en/logo.png new file mode 100644 index 0000000..9b1c3b3 Binary files /dev/null and b/figures/en/logo.png differ diff --git a/figures/en/logo_MENJ.jpg b/figures/en/logo_MENJ.jpg new file mode 100644 index 0000000..1daf582 Binary files /dev/null and b/figures/en/logo_MENJ.jpg differ diff --git a/figures/en/modules_EOLE_envole/common/bootscreen2.6.2.1.png b/figures/en/modules_EOLE_envole/common/bootscreen2.6.2.1.png new file mode 100644 index 0000000..652d4e6 Binary files /dev/null and b/figures/en/modules_EOLE_envole/common/bootscreen2.6.2.1.png differ diff --git a/figures/en/modules_EOLE_envole/common/ead2_configuration_sauvegarde.png b/figures/en/modules_EOLE_envole/common/ead2_configuration_sauvegarde.png new file mode 100644 index 0000000..1db618f Binary files /dev/null and b/figures/en/modules_EOLE_envole/common/ead2_configuration_sauvegarde.png differ diff --git a/figures/en/modules_EOLE_envole/common/ead2_derniere_sauvegarde.png b/figures/en/modules_EOLE_envole/common/ead2_derniere_sauvegarde.png new file mode 100644 index 0000000..51215ce Binary files /dev/null and b/figures/en/modules_EOLE_envole/common/ead2_derniere_sauvegarde.png differ diff --git a/figures/en/modules_EOLE_envole/common/ead2_programmation_sauvegarde.png b/figures/en/modules_EOLE_envole/common/ead2_programmation_sauvegarde.png new file mode 100644 index 0000000..11dc599 Binary files /dev/null and b/figures/en/modules_EOLE_envole/common/ead2_programmation_sauvegarde.png differ diff --git a/figures/en/modules_EOLE_envole/common/ead3_action_configuration_sauvegarde.png b/figures/en/modules_EOLE_envole/common/ead3_action_configuration_sauvegarde.png new file mode 100644 index 0000000..bdbc5ea Binary files /dev/null and b/figures/en/modules_EOLE_envole/common/ead3_action_configuration_sauvegarde.png differ diff --git a/figures/en/modules_EOLE_envole/common/ead3_action_execution_sauvegarde.png b/figures/en/modules_EOLE_envole/common/ead3_action_execution_sauvegarde.png new file mode 100644 index 0000000..8fab235 Binary files /dev/null and b/figures/en/modules_EOLE_envole/common/ead3_action_execution_sauvegarde.png differ diff --git a/figures/en/modules_EOLE_envole/common/ead3_action_fichiers_sauvegarde.png b/figures/en/modules_EOLE_envole/common/ead3_action_fichiers_sauvegarde.png new file mode 100644 index 0000000..139eafb Binary files /dev/null and b/figures/en/modules_EOLE_envole/common/ead3_action_fichiers_sauvegarde.png differ diff --git a/figures/en/modules_EOLE_envole/common/ead3_action_rapport_sauvegarde.png b/figures/en/modules_EOLE_envole/common/ead3_action_rapport_sauvegarde.png new file mode 100644 index 0000000..9419ac9 Binary files /dev/null and b/figures/en/modules_EOLE_envole/common/ead3_action_rapport_sauvegarde.png differ diff --git a/figures/en/modules_EOLE_envole/common/ead3_actions_sauvegarde.png b/figures/en/modules_EOLE_envole/common/ead3_actions_sauvegarde.png new file mode 100644 index 0000000..288cd78 Binary files /dev/null and b/figures/en/modules_EOLE_envole/common/ead3_actions_sauvegarde.png differ diff --git a/figures/en/modules_EOLE_envole/common/groupe_etablissement.epgz b/figures/en/modules_EOLE_envole/common/groupe_etablissement.epgz new file mode 100644 index 0000000..67caab4 Binary files /dev/null and b/figures/en/modules_EOLE_envole/common/groupe_etablissement.epgz differ diff --git a/figures/en/modules_EOLE_envole/common/groupe_etablissement.png b/figures/en/modules_EOLE_envole/common/groupe_etablissement.png new file mode 100644 index 0000000..9a51e22 Binary files /dev/null and b/figures/en/modules_EOLE_envole/common/groupe_etablissement.png differ diff --git a/figures/en/modules_EOLE_envole/common/manual-partitionning.png b/figures/en/modules_EOLE_envole/common/manual-partitionning.png new file mode 100644 index 0000000..57b9ba3 Binary files /dev/null and b/figures/en/modules_EOLE_envole/common/manual-partitionning.png differ diff --git a/figures/en/modules_EOLE_envole/common/reboot.png b/figures/en/modules_EOLE_envole/common/reboot.png new file mode 100644 index 0000000..55fc39f Binary files /dev/null and b/figures/en/modules_EOLE_envole/common/reboot.png differ diff --git a/figures/en/modules_EOLE_envole/common/zstats_etat_sauvegarde.png b/figures/en/modules_EOLE_envole/common/zstats_etat_sauvegarde.png new file mode 100644 index 0000000..dcc20d0 Binary files /dev/null and b/figures/en/modules_EOLE_envole/common/zstats_etat_sauvegarde.png differ diff --git a/figures/en/modules_EOLE_envole/dhcp/ead3-compatibilite.png b/figures/en/modules_EOLE_envole/dhcp/ead3-compatibilite.png new file mode 100644 index 0000000..7e06fb9 Binary files /dev/null and b/figures/en/modules_EOLE_envole/dhcp/ead3-compatibilite.png differ diff --git a/figures/en/modules_EOLE_envole/dhcp/ead3-reseau.png b/figures/en/modules_EOLE_envole/dhcp/ead3-reseau.png new file mode 100644 index 0000000..6b51eb6 Binary files /dev/null and b/figures/en/modules_EOLE_envole/dhcp/ead3-reseau.png differ diff --git a/figures/en/modules_EOLE_envole/dhcp/ead3-reservation.png b/figures/en/modules_EOLE_envole/dhcp/ead3-reservation.png new file mode 100644 index 0000000..b58304c Binary files /dev/null and b/figures/en/modules_EOLE_envole/dhcp/ead3-reservation.png differ diff --git a/figures/en/modules_EOLE_envole/dhcp/gen_config-plages.png b/figures/en/modules_EOLE_envole/dhcp/gen_config-plages.png new file mode 100644 index 0000000..cf6f49f Binary files /dev/null and b/figures/en/modules_EOLE_envole/dhcp/gen_config-plages.png differ diff --git a/figures/en/modules_EOLE_envole/etablissement_scolaire.diag b/figures/en/modules_EOLE_envole/etablissement_scolaire.diag new file mode 100644 index 0000000..9878448 --- /dev/null +++ b/figures/en/modules_EOLE_envole/etablissement_scolaire.diag @@ -0,0 +1,26 @@ +nwdiag { + inet [shape = cloud]; + inet -- Amon; + + network administratif { + address = "10.1.1.x/24"; + + Amon [address = "10.1.1.1"]; + HorusAD [address = "10.1.1.10, 10.1.1.11"]; + } + network pedago { + address = "10.1.2.x/24" + + Amon [address = "10.1.2.1"]; + ScribeAD [address = "10.1.2.10, 10.1.1.11"]; + client01; + client02; + client03; + + group Client { + client01; + client02; + client03; + } + } +} diff --git a/figures/en/modules_EOLE_envole/etablissement_scolaire.png b/figures/en/modules_EOLE_envole/etablissement_scolaire.png new file mode 100644 index 0000000..d1b84fa Binary files /dev/null and b/figures/en/modules_EOLE_envole/etablissement_scolaire.png differ diff --git a/figures/en/modules_EOLE_envole/sauvegarde.png b/figures/en/modules_EOLE_envole/sauvegarde.png new file mode 100644 index 0000000..49f6158 Binary files /dev/null and b/figures/en/modules_EOLE_envole/sauvegarde.png differ diff --git a/figures/en/modules_EOLE_envole/scribe/esu/esu_fenetre_principale.png b/figures/en/modules_EOLE_envole/scribe/esu/esu_fenetre_principale.png new file mode 100644 index 0000000..63b4dab Binary files /dev/null and b/figures/en/modules_EOLE_envole/scribe/esu/esu_fenetre_principale.png differ diff --git a/figures/en/modules_EOLE_envole/scribe/sauvegarde.png b/figures/en/modules_EOLE_envole/scribe/sauvegarde.png new file mode 100644 index 0000000..49f6158 Binary files /dev/null and b/figures/en/modules_EOLE_envole/scribe/sauvegarde.png differ diff --git a/figures/en/modules_EOLE_envole/scribe/utilisateurs.tikz b/figures/en/modules_EOLE_envole/scribe/utilisateurs.tikz new file mode 100644 index 0000000..b2c5ecc --- /dev/null +++ b/figures/en/modules_EOLE_envole/scribe/utilisateurs.tikz @@ -0,0 +1,28 @@ +\begin{tikzpicture} + \begin{pgfonlayer}{nodelayer} + \node [style=none] (4) at (0, 4) {}; + \node [style=none] (5) at (1, 4) {}; + \node [style=none] (6) at (2, 4) {}; + \node [style=none] (7) at (5, 4) {}; + \node [style=none] (8) at (5, 0) {}; + \node [style=none] (9) at (0, 0) {}; + \node [style=none] (10) at (6, 4) {}; + \node [style=none] (11) at (7, 4) {}; + \node [style=none] (12) at (8, 4) {}; + \node [style=none] (13) at (11, 4) {}; + \node [style=none] (14) at (11, 0) {}; + \node [style=none] (15) at (6, 0) {}; + \end{pgfonlayer} + \begin{pgfonlayer}{edgelayer} + \draw (6.center) to (7.center); + \draw (7.center) to (8.center); + \draw (8.center) to (9.center); + \draw (9.center) to (4.center); + \draw (4.center) to (5.center); + \draw (12.center) to (13.center); + \draw (13.center) to (14.center); + \draw (14.center) to (15.center); + \draw (15.center) to (10.center); + \draw (10.center) to (11.center); + \end{pgfonlayer} +\end{tikzpicture} diff --git a/figures/en/modules_EOLE_envole/sphynx/schema.png b/figures/en/modules_EOLE_envole/sphynx/schema.png new file mode 100644 index 0000000..c7b5baf Binary files /dev/null and b/figures/en/modules_EOLE_envole/sphynx/schema.png differ diff --git a/figures/mallette_pedagogique/admino.png b/figures/mallette_pedagogique/admino.png new file mode 100755 index 0000000..39c805e Binary files /dev/null and b/figures/mallette_pedagogique/admino.png differ diff --git a/figures/mallette_pedagogique/admino_création_groupes.png b/figures/mallette_pedagogique/admino_création_groupes.png new file mode 100755 index 0000000..9b44c30 Binary files /dev/null and b/figures/mallette_pedagogique/admino_création_groupes.png differ diff --git a/figures/mallette_pedagogique/admino_création_utilisateurs.png b/figures/mallette_pedagogique/admino_création_utilisateurs.png new file mode 100755 index 0000000..3ea077a Binary files /dev/null and b/figures/mallette_pedagogique/admino_création_utilisateurs.png differ diff --git a/figures/mallette_pedagogique/admino_liste_groupes.png b/figures/mallette_pedagogique/admino_liste_groupes.png new file mode 100755 index 0000000..adf0d75 Binary files /dev/null and b/figures/mallette_pedagogique/admino_liste_groupes.png differ diff --git a/figures/mallette_pedagogique/admino_liste_utilisateurs.png b/figures/mallette_pedagogique/admino_liste_utilisateurs.png new file mode 100755 index 0000000..1cde249 Binary files /dev/null and b/figures/mallette_pedagogique/admino_liste_utilisateurs.png differ diff --git a/figures/mallette_pedagogique/architecture.png b/figures/mallette_pedagogique/architecture.png new file mode 100644 index 0000000..1f26558 Binary files /dev/null and b/figures/mallette_pedagogique/architecture.png differ diff --git a/figures/medde/logo.png b/figures/medde/logo.png new file mode 100644 index 0000000..5545e86 Binary files /dev/null and b/figures/medde/logo.png differ diff --git a/figures/scm/git-model@2x.png b/figures/scm/git-model@2x.png new file mode 100644 index 0000000..5b96426 Binary files /dev/null and b/figures/scm/git-model@2x.png differ diff --git a/presentations/CD73/CD73.pdfpc b/presentations/CD73/CD73.pdfpc new file mode 100644 index 0000000..ee46401 --- /dev/null +++ b/presentations/CD73/CD73.pdfpc @@ -0,0 +1,7 @@ +[notes] +### 55 +Se faciliter la vie en désactivant la validation des mots de passe et le timeout +### 120 +copier la clef publique : scp root@:/etc/ssl/certs/ca\_local.crt /usr/local/share/ca-certificates/ update-ca-certificates +### 199 +test des notes standard diff --git a/presentations/CD73/CD73.tex b/presentations/CD73/CD73.tex new file mode 100644 index 0000000..70a7b06 --- /dev/null +++ b/presentations/CD73/CD73.tex @@ -0,0 +1,175 @@ +\documentclass{beamer} + +\usepackage{skb} + +\skbconfig[ + root = ../../, + rep = content, + pub = presentations, + fig = figures, + sli = slides, + acr = database/acr, + bib = database/bib +]{skblocal.tex} + +\skbinput[from=sli]{style/preambule} + +\title[]{Modules EOLE} +\subtitle{Formation personnalisée} + +\author[Equipe Auteur]{Cadoles} + +\institute[Cadoles]{\skbfigure[width=2cm]{cadoles/logo_01.png}} + +\date{{\small \today}} + +\subject{Talks} + +\begin{document} + +\skbinput[from=sli]{style/title} +%\skbinput[from=sli]{style/plan} + +% Corps de la formation +%\skbinput[from=sli]{} + +\section{Introduction} +\subsection{Présentations} +\skbinput[from=sli]{presentation/formateurs/bbohard} +\skbinput[from=sli]{presentation/stagiaires/etvous} +\begin{frame} + \frametitle{À propos de cette formation} + \framesubtitle{Contenu} + Cette formation est une formation personnalisée qui emprunte des éléments de contenu aux formations du PNF du ministère de l’Éducation nationale : + \begin{itemize} + \item élements de la formation tronc commun avec l’accent mis sur les bases de l’administration d’un système GNU/Linux ; + \item éléments de la formation Scribe ; + \item éléments de la formation Seth. + \end{itemize} + En complément, il a été demandé une présentation du logiciel Veyon (\url{https://veyon.io}) et du module Amon. +\end{frame} +\begin{frame} + \frametitle{À propos de cette formation} + \framesubtitle{Objectifs} + L’objectif de cette formation est de vous préparer à administrer les serveurs EOLE qui sont mis en place dans votre infrastructure. +\end{frame} +\begin{frame} + \frametitle{À propos de cette formation} + \framesubtitle{Objectifs} + Partagez-vous cet objectif ? + + Quels objectifs personnels souhaiteriez-vous atteindre en plus ? +\end{frame} +\subsection{EOLE} +\skbinput[from=sli]{modules_EOLE_envole/commun/00-intro} +\skbinput[from=sli]{modules_EOLE_envole/zephir/description} +\skbinput[from=sli]{modules_EOLE_envole/hapy/description} +\skbinput[from=sli]{modules_EOLE_envole/amon/description} +\skbinput[from=sli]{modules_EOLE_envole/sphynx/description} +\skbinput[from=sli]{modules_EOLE_envole/scribe/description} +\skbinput[from=sli]{modules_EOLE_envole/horus/description} +\skbinput[from=sli]{modules_EOLE_envole/seth/description} +\skbinput[from=sli]{modules_EOLE_envole/thot/description} +\skbinput[from=sli]{modules_EOLE_envole/amonecole/description} +\skbinput[from=sli]{modules_EOLE_envole/eclair/description} +\skbinput[from=sli]{modules_EOLE_envole/commun/nouveautes25} +\skbinput[from=sli]{modules_EOLE_envole/commun/nouveautes26} +\skbinput[from=sli]{modules_EOLE_envole/commun/nouveautes27} +\skbinput[from=sli]{modules_EOLE_envole/commun/ecosysteme} +\subsection{Infrastructure de formation} +{\setbeamercolor{background canvas}{bg=TravauxPratiques} +\begin{frame} + \frametitle{} + Logiciel de virtualisation utilisé : VirtualBox. + + Liste des images disques à copier : + \begin{itemize} + \item scribe-formation.vdi ; + \item zephir-formation.vdi ; + \item seth1-formation.vdi ; + \item seth2-formation.vdi ; + \item pc1-formation.vdi ; + \item amon-formation.vdi. + \end{itemize} +\end{frame} +\begin{frame} + \frametitle{VirtualBox} + \framesubtitle{Réseau privé hôte} + Les VM utiliseront un réseau privé hôte. +\end{frame} +} +\skbinput[from=sli]{modules_EOLE_envole/zephir/virtualbox} +\skbinput[from=sli]{modules_EOLE_envole/seth/virtualbox} +\skbinput[from=sli]{modules_EOLE_envole/scribe/virtualbox} +\skbinput[from=sli]{modules_EOLE_envole/client_windows/virtualbox} +\skbinput[from=sli]{modules_EOLE_envole/amon/virtualbox} + +%\skbinput[from=sli]{pauses/simple} + +\section{Tronc commun} +\subsection{Les quatre phases} +\skbinput[from=sli]{modules_EOLE_envole/commun/installation} +\skbinput[from=sli]{modules_EOLE_envole/commun/installation-pratique} +\skbinput[from=sli]{modules_EOLE_envole/commun/configuration} +\skbinput[from=sli]{modules_EOLE_envole/commun/02-gen_config} +\skbinput[from=sli]{modules_EOLE_envole/zephir/configuration-locale-pratique} +\skbinput[from=sli]{modules_EOLE_envole/commun/instance} +\skbinput[from=sli]{modules_EOLE_envole/zephir/instance-pratique} +\skbinput[from=sli]{modules_EOLE_envole/commun/administration} + +\subsection{Administration commune} +\skbinput[from=sli]{modules_EOLE_envole/commun/02-instance-reconfigure} +\skbinput[from=sli]{modules_EOLE_envole/commun/03-mise-a-jour} +\skbinput[from=sli]{modules_EOLE_envole/commun/04-diagnose} +\skbinput[from=sli]{modules_EOLE_envole/zephir/diagnose-pratique} +\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/06-firewall} +\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/06-schedule} +\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/06-zpratique} +%\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/07-onduleur} +%\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/07-onduleur-pratique} +\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/08-trouver} +\skbinput[from=sli]{modules_EOLE_envole/zephir/genrpt-pratique} + +\subsection{Interfaces d'administration EOLE} +\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/30-ead} +\skbinput[from=sli]{modules_EOLE_envole/zephir/ead-pratique} +\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/31-interface-semi-graphique} +\skbinput[from=sli]{modules_EOLE_envole/zephir/interface-semi-graphique-pratique} + +\subsection{Application Zéphir 1} +\skbinput[from=sli]{modules_EOLE_envole/zephir/concepts} +\skbinput[from=sli]{modules_EOLE_envole/zephir/utilisateurs} +\skbinput[from=sli]{modules_EOLE_envole/zephir/interface} +%\skbinput[from=sli]{modules_EOLE_envole/zephir/interface-parametre-utilisateur} +%\skbinput[from=sli]{modules_EOLE_envole/zephir/interface-etablissement} +\skbinput[from=sli]{modules_EOLE_envole/zephir/utilisateurs-locaux-pratique} + +\subsection{GNU/Linux} +\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/20-gnu_linux} +\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/20-tcpdump-tshark} +\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/21-lire-ecrire} +\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/22-commande-distance} %faire la configuration du Seth1 à ce moment +\skbinput[from=sli]{modules_EOLE_envole/seth/configuration-locale-pratique} +\skbinput[from=sli]{modules_EOLE_envole/seth/enregistrement-pratique} + +\subsection{Application Zéphir 2} +\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/11-application-zephir2} +\skbinput[from=sli]{modules_EOLE_envole/scribe/configuration-distante-pratique} +\skbinput[from=sli]{modules_EOLE_envole/scribe/enregistrement-pratique} + +\section{Scribe} +\skbinput[from=sli]{modules_EOLE_envole/scribe/01-utilisateur} +\skbinput[from=sli]{modules_EOLE_envole/scribe/31-scripts-user-scribe} +\skbinput[from=sli]{modules_EOLE_envole/scribe/12-machine-ead} +\skbinput[from=sli]{modules_EOLE_envole/scribe/17-corbeille} +\skbinput[from=sli]{modules_EOLE_envole/scribe/20-sauvegarde} +\skbinput[from=sli]{modules_EOLE_envole/scribe/devoirs} +\section{Seth} +\skbinput[from=sli]{modules_EOLE_envole/seth/administrateur} +\skbinput[from=sli]{modules_EOLE_envole/seth/role} +\skbinput[from=sli]{modules_EOLE_envole/seth/dns} +\skbinput[from=sli]{modules_EOLE_envole/seth/sauvegarde} +\skbinput[from=sli]{modules_EOLE_envole/seth/dhcp} + +\skbinput[from=sli]{licences/license-cc-by-sa-2.0} +\end{document} diff --git a/presentations/CD73/pdfpcnotes.sty b/presentations/CD73/pdfpcnotes.sty new file mode 100644 index 0000000..7e1c71f --- /dev/null +++ b/presentations/CD73/pdfpcnotes.sty @@ -0,0 +1,70 @@ +\ProvidesPackage{pdfpcnotes} + +% Handling of kv parameters. +% We have the following options, that all take time in the HH:MM format +\RequirePackage{kvoptions} +\SetupKeyvalOptions{ + family=PDFPC, + prefix=PDFPC@ +} +\DeclareStringOption{duration} +\DeclareStringOption{starttime} +\DeclareStringOption{endtime} +\DeclareStringOption{lastminutes} +\DeclareStringOption{fontsize} + +\ProcessKeyvalOptions* + +% Small macro to make inserting options easier. +\newcommand\PDFPC@option[2]{ + \ifx#2\@empty\else + \immediate\write\pdfpcnotesfile{[#1]}% + \immediate\write\pdfpcnotesfile{#2}% + \fi +} + +% create a new file handle +\newwrite\pdfpcnotesfile + +% open file on \begin{document} +\AtBeginDocument{% + \immediate\openout\pdfpcnotesfile\jobname.pdfpc\relax + \PDFPC@option{duration}{\PDFPC@duration} + \PDFPC@option{start_time}{\PDFPC@starttime} + \PDFPC@option{end_time}{\PDFPC@endtime} + \PDFPC@option{last_minutes}{\PDFPC@lastminutes} + \PDFPC@option{font_size}{\PDFPC@fontsize} + \immediate\write\pdfpcnotesfile{[notes]} +} +% define a # http://tex.stackexchange.com/a/37757/10327 +\begingroup + \catcode`\#=12 + \gdef\hashchar{#}% +\endgroup + + +\def\lastframenumber{0} + +% define command \pnote{} that works like note but +% additionally writes notes to file in pdfpc readable format +\newcommand{\pnote}[1]{% + % keep normal notes working + \note{#1}% + + % if frame changed - write a new header + \ifdim\theframenumber pt>\lastframenumber pt + \let\lastframenumber\theframenumber + \begingroup + \let\#\hashchar + \immediate\write\pdfpcnotesfile{\#\#\# \theframenumber}% + \endgroup + \fi + + % write note to file + \immediate\write\pdfpcnotesfile{\unexpanded{#1}}% +} +% close file on \end{document} +\AtEndDocument{% + \immediate\closeout\pdfpcnotesfile +} + diff --git a/presentations/MEN/scribeAD-horusAD/pdfpcnotes.sty b/presentations/MEN/scribeAD-horusAD/pdfpcnotes.sty new file mode 100644 index 0000000..7e1c71f --- /dev/null +++ b/presentations/MEN/scribeAD-horusAD/pdfpcnotes.sty @@ -0,0 +1,70 @@ +\ProvidesPackage{pdfpcnotes} + +% Handling of kv parameters. +% We have the following options, that all take time in the HH:MM format +\RequirePackage{kvoptions} +\SetupKeyvalOptions{ + family=PDFPC, + prefix=PDFPC@ +} +\DeclareStringOption{duration} +\DeclareStringOption{starttime} +\DeclareStringOption{endtime} +\DeclareStringOption{lastminutes} +\DeclareStringOption{fontsize} + +\ProcessKeyvalOptions* + +% Small macro to make inserting options easier. +\newcommand\PDFPC@option[2]{ + \ifx#2\@empty\else + \immediate\write\pdfpcnotesfile{[#1]}% + \immediate\write\pdfpcnotesfile{#2}% + \fi +} + +% create a new file handle +\newwrite\pdfpcnotesfile + +% open file on \begin{document} +\AtBeginDocument{% + \immediate\openout\pdfpcnotesfile\jobname.pdfpc\relax + \PDFPC@option{duration}{\PDFPC@duration} + \PDFPC@option{start_time}{\PDFPC@starttime} + \PDFPC@option{end_time}{\PDFPC@endtime} + \PDFPC@option{last_minutes}{\PDFPC@lastminutes} + \PDFPC@option{font_size}{\PDFPC@fontsize} + \immediate\write\pdfpcnotesfile{[notes]} +} +% define a # http://tex.stackexchange.com/a/37757/10327 +\begingroup + \catcode`\#=12 + \gdef\hashchar{#}% +\endgroup + + +\def\lastframenumber{0} + +% define command \pnote{} that works like note but +% additionally writes notes to file in pdfpc readable format +\newcommand{\pnote}[1]{% + % keep normal notes working + \note{#1}% + + % if frame changed - write a new header + \ifdim\theframenumber pt>\lastframenumber pt + \let\lastframenumber\theframenumber + \begingroup + \let\#\hashchar + \immediate\write\pdfpcnotesfile{\#\#\# \theframenumber}% + \endgroup + \fi + + % write note to file + \immediate\write\pdfpcnotesfile{\unexpanded{#1}}% +} +% close file on \end{document} +\AtEndDocument{% + \immediate\closeout\pdfpcnotesfile +} + diff --git a/presentations/MEN/scribeAD-horusAD/programme/contenu.tex b/presentations/MEN/scribeAD-horusAD/programme/contenu.tex new file mode 100644 index 0000000..96f7b59 --- /dev/null +++ b/presentations/MEN/scribeAD-horusAD/programme/contenu.tex @@ -0,0 +1,68 @@ +\begin{itemize} + \item Introduction + \begin{itemize} + \item EOLE + \item Spécificités 2.6 + \item Spécificités 2.7 + \item Description Scribe + \item Description Horus + \end{itemize} + \item Les quatre phases + \begin{itemize} + \item La phase d'installation + \item La phase de configuration + \item La phase d'instanciation + \item La phase d'administration + \end{itemize} + \item La gestion des utilisateurs + \begin{itemize} + \item Les types d'utilisateurs + \item Les quotas + \item Les groupes + \item Les listes de diffusion + \item L'importation des comptes utilisateur + \end{itemize} + \item La configuration du réseau + \item L'intégration des clients au domaine + \begin{itemize} + \item L'intégration au domaine + \item Le client Scribe + \end{itemize} + \item Les outils de diagnostic + \item L'interface d'administration EAD + \item La gestion des profils + \begin{itemize} + \item Profil local + \item Profil itinerant + \item Profil obligatoire + \end{itemize} + \item La configuration des postes clients + \item Les scripts de démarrage + \item La connexion à distance aux postes clients + \item La gestion des imprimantes + \begin{itemize} + \item L'interface de CUPS + \item L'interface simplifiée EAD + \end{itemize} + \item La gestion de la corbeille + \item La gestion des virus + \item La gestion de l'espace de stockage en réseau + \item La gestion des sauvegardes + \begin{itemize} + \item La configuration de la sauvegarde + \item Le mécanisme de restauration + \end{itemize} + \item Les outils de communication + \begin{itemize} + \item Les serveurs de courriel + \item Le serveur de listes de discussion + \item Le serveur de discussion instantanée + \end{itemize} + \item Les scripts administratifs Horus + \item Les services web + \begin{itemize} + \item L'ajout de services + \item Les applications intégrées + \item Envole + \end{itemize} +\end{itemize} diff --git a/presentations/MEN/scribeAD-horusAD/programme/duree.tex b/presentations/MEN/scribeAD-horusAD/programme/duree.tex new file mode 100644 index 0000000..8f1d0b2 --- /dev/null +++ b/presentations/MEN/scribeAD-horusAD/programme/duree.tex @@ -0,0 +1 @@ +3 jours. \ No newline at end of file diff --git a/presentations/MEN/scribeAD-horusAD/programme/evaluation.tex b/presentations/MEN/scribeAD-horusAD/programme/evaluation.tex new file mode 100644 index 0000000..aba3bbb --- /dev/null +++ b/presentations/MEN/scribeAD-horusAD/programme/evaluation.tex @@ -0,0 +1 @@ +L'appropriation des connaissances est contrôlée par des travaux pratiques durant la formation. \ No newline at end of file diff --git a/presentations/MEN/scribeAD-horusAD/programme/moyens.tex b/presentations/MEN/scribeAD-horusAD/programme/moyens.tex new file mode 100644 index 0000000..cca2045 --- /dev/null +++ b/presentations/MEN/scribeAD-horusAD/programme/moyens.tex @@ -0,0 +1,4 @@ +\begin{itemize} +\item une salle de formation équipée d'ordinateurs avec infrasctructure de démonstration pour les travaux pratiques ; +\item un formateur avec l'expérience de l'installation et de la maintenance des solutions présentées. +\end{itemize} \ No newline at end of file diff --git a/presentations/MEN/scribeAD-horusAD/programme/objectifs.tex b/presentations/MEN/scribeAD-horusAD/programme/objectifs.tex new file mode 100644 index 0000000..5bb9785 --- /dev/null +++ b/presentations/MEN/scribeAD-horusAD/programme/objectifs.tex @@ -0,0 +1 @@ +Le participant à la formation est autonome pour l'administration des serveurs et la recherche d'informations en vue de résoudre les incidents. \ No newline at end of file diff --git a/presentations/MEN/scribeAD-horusAD/programme/prerequis.tex b/presentations/MEN/scribeAD-horusAD/programme/prerequis.tex new file mode 100644 index 0000000..dbb8180 --- /dev/null +++ b/presentations/MEN/scribeAD-horusAD/programme/prerequis.tex @@ -0,0 +1 @@ +Avoir suivi la formation tronc commun. \ No newline at end of file diff --git a/presentations/MEN/scribeAD-horusAD/programme/public.tex b/presentations/MEN/scribeAD-horusAD/programme/public.tex new file mode 100644 index 0000000..742cbec --- /dev/null +++ b/presentations/MEN/scribeAD-horusAD/programme/public.tex @@ -0,0 +1 @@ +La formation vise toute personne ayant en charge des tâches d'administration sur des serveurs équipés des modules EOLE ScribeAD ou EOLE Horus. \ No newline at end of file diff --git a/presentations/MEN/scribeAD-horusAD/scribeAD-horusAD.pdfpc b/presentations/MEN/scribeAD-horusAD/scribeAD-horusAD.pdfpc new file mode 100644 index 0000000..74d61a9 --- /dev/null +++ b/presentations/MEN/scribeAD-horusAD/scribeAD-horusAD.pdfpc @@ -0,0 +1,3 @@ +[notes] +### 227 +test des notes standard diff --git a/presentations/MEN/scribeAD-horusAD/scribeAD-horusAD.tex b/presentations/MEN/scribeAD-horusAD/scribeAD-horusAD.tex new file mode 100644 index 0000000..a43584b --- /dev/null +++ b/presentations/MEN/scribeAD-horusAD/scribeAD-horusAD.tex @@ -0,0 +1,161 @@ +\documentclass{beamer} + +\usepackage{skb} + +\skbconfig[ + root = ../../../, + rep = content, + pub = presentations, + fig = figures, + sli = slides, + acr = database/acr, + bib = database/bib +]{skblocal.tex} + +\skbinput[from=sli]{style/preambule} + +\title[]{Scribe - Horus} +\subtitle{ministère de l’Éducation Nationale} + +\author[Equipe Auteur]{Cadoles} + +\institute[Cadoles]{\skbfigure[width=2cm]{cadoles/logo_01.png}} + + +\date{{\small \today}} + +\subject{Talks} + +\AtBeginSubsection[] +{ + \begin{frame} + \frametitle{} + %\tableofcontents[currentsection,currentsubsection] + \tableofcontents[current,subsectionstyle=show/shaded/hide] + \end{frame} +} + +\begin{document} + +\skbinput[from=sli]{style/title} + +% Corps de la formation +%\skbinput[from=sli]{} +%\skbinput[from=sli]{pauses/simple} + +\section{Introduction} +\subsection{La distribution EOLE} +\skbinput[from=sli]{modules_EOLE_envole/commun/00-intro} +\skbinput[from=sli]{modules_EOLE_envole/commun/ecosysteme} +\skbinput[from=sli]{modules_EOLE_envole/commun/01-nouveaute26} +\skbinput[from=sli]{modules_EOLE_envole/commun/01-nouveaute27} +\skbinput[from=sli]{modules_EOLE_envole/scribeAD/description} +\skbinput[from=sli]{modules_EOLE_envole/horusAD/description} + +\subsection{Scribe, Horus dans leur habitat naturel} +\skbinput[from=sli]{modules_EOLE_envole/commun/infrastructure-type-etablissement} + +\section{Tronc commun} +\subsection{Les quatre phases} +\skbinput[from=sli]{modules_EOLE_envole/commun/02-quatre_phases} +\skbinput[from=sli]{modules_EOLE_envole/commun/02-gen_config} +\skbinput[from=sli]{modules_EOLE_envole/commun/02-quatre_phases-pratique} + +\subsection{L’administration courante} +\skbinput[from=sli]{modules_EOLE_envole/commun/02-instance-reconfigure} +\skbinput[from=sli]{modules_EOLE_envole/commun/03-mise-a-jour} +\skbinput[from=sli]{modules_EOLE_envole/commun/04-diagnose} +\skbinput[from=sli]{modules_EOLE_envole/commun/04-diagnose-pratique} +%\skbinput[from=sli]{modules_EOLE_envole/commun/administration/firewall} +%\skbinput[from=sli]{modules_EOLE_envole/commun/administration/schedule} +%\skbinput[from=sli]{modules_EOLE_envole/commun/administration/onduleur} + +%\subsection{Les interfaces d’administration} +%\skbinput[from=sli]{modules_EOLE_envole/commun/administration/ncurse/description} +%\skbinput[from=sli]{modules_EOLE_envole/commun/administration/ead/description} +%\skbinput[from=sli]{modules_EOLE_envole/commun/administration/ead/connexion} +%\skbinput[from=sli]{modules_EOLE_envole/commun/administration/ead/fonctions-basiques} +%\skbinput[from=sli]{modules_EOLE_envole/commun/administration/ead/gestion-roles} + +\section{La gestion du domaine} +\subsection{La gestion des utilisateurs} +\skbinput[from=sli]{modules_EOLE_envole/scribeAD/utilisateurs} +\skbinput[from=sli]{modules_EOLE_envole/scribeAD/script-user-scribe} +\skbinput[from=sli]{modules_EOLE_envole/scribeAD/utilisateurs-pratique} +\skbinput[from=sli]{modules_EOLE_envole/scribeAD/edition-groupee-utilisateurs} +\skbinput[from=sli]{modules_EOLE_envole/scribeAD/edition-groupee-utilisateurs-pratique} +\skbinput[from=sli]{modules_EOLE_envole/scribeAD/importation-utilisateurs} +\skbinput[from=sli]{modules_EOLE_envole/scribeAD/importation-utilisateurs-pratique} + +%\skbinput[from=sli]{pauses/formalites_administratives} +\skbinput[from=sli]{pauses/simple} + +\skbinput[from=sli]{modules_EOLE_envole/scribeAD/purge-utilisateurs} +\skbinput[from=sli]{modules_EOLE_envole/scribeAD/purge-utilisateurs-pratique} + +\subsection{La gestion des machines et sessions} +\skbinput[from=sli]{modules_EOLE_envole/scribeAD/integration-poste-client} +\skbinput[from=sli]{modules_EOLE_envole/scribeAD/integration-poste-client-pratique} +\skbinput[from=sli]{modules_EOLE_envole/scribeAD/client-scribe-defunct} +\skbinput[from=sli]{modules_EOLE_envole/scribeAD/gestion-machines} +\skbinput[from=sli]{modules_EOLE_envole/scribeAD/machine-diagnostique} +\skbinput[from=sli]{modules_EOLE_envole/scribeAD/machine-diagnostique-pratique} +\skbinput[from=sli]{modules_EOLE_envole/scribeAD/machine-ead} +\skbinput[from=sli]{modules_EOLE_envole/scribeAD/machine-ead-pratique} +\skbinput[from=sli]{modules_EOLE_envole/scribeAD/machine-profils} + +\skbinput[from=sli]{modules_EOLE_envole/scribeAD/esu} +\skbinput[from=sli]{modules_EOLE_envole/scribeAD/esu-diagnostic} +\skbinput[from=sli]{modules_EOLE_envole/scribeAD/eop} +\skbinput[from=sli]{modules_EOLE_envole/scribeAD/eop-pratique} +\skbinput[from=sli]{modules_EOLE_envole/scribeAD/gpo} +\skbinput[from=sli]{modules_EOLE_envole/scribeAD/gpo-pratique} +\skbinput[from=sli]{modules_EOLE_envole/scribeAD/veyon} +\skbinput[from=sli]{modules_EOLE_envole/scribeAD/veyon-pratique} +\skbinput[from=sli]{modules_EOLE_envole/scribeAD/client-salt} +\skbinput[from=sli]{modules_EOLE_envole/scribeAD/client-salt-pratique} +\skbinput[from=sli]{modules_EOLE_envole/scribeAD/script-scribe} +\skbinput[from=sli]{modules_EOLE_envole/scribeAD/script-scribe-pratique} + +\section{La sauvegarde-restauration} +\subsection{La sauvegarde} +\skbinput[from=sli]{modules_EOLE_envole/commun/sauvegarde/description} +\skbinput[from=sli]{modules_EOLE_envole/commun/sauvegarde/configuration} +\skbinput[from=sli]{modules_EOLE_envole/commun/sauvegarde/resolution_problemes} +\skbinput[from=sli]{modules_EOLE_envole/commun/sauvegarde/sauvegarde-pratique} +\subsection{La restauration} +\skbinput[from=sli]{modules_EOLE_envole/commun/sauvegarde/restauration} +\skbinput[from=sli]{modules_EOLE_envole/commun/sauvegarde/restauration-pratique} +\subsection{Les interfaces utilisateurs} +\skbinput[from=sli]{modules_EOLE_envole/commun/sauvegarde/ead2} +\skbinput[from=sli]{modules_EOLE_envole/commun/sauvegarde/ead3} +\skbinput[from=sli]{modules_EOLE_envole/commun/sauvegarde/bconsole} +\skbinput[from=sli]{modules_EOLE_envole/commun/sauvegarde/webui} + +%\skbinput[from=sli]{pauses/formalites_administratives} +\skbinput[from=sli]{pauses/simple} + +\section{Les services} +\subsection{Les services du Scribe} +\skbinput[from=sli]{modules_EOLE_envole/scribeAD/imprimantes} +\skbinput[from=sli]{modules_EOLE_envole/scribeAD/corbeille} +\skbinput[from=sli]{modules_EOLE_envole/scribeAD/corbeille-pratique} +\skbinput[from=sli]{modules_EOLE_envole/scribeAD/virus} +\skbinput[from=sli]{modules_EOLE_envole/scribeAD/virus-pratique} +\skbinput[from=sli]{modules_EOLE_envole/scribeAD/ftp} +\skbinput[from=sli]{modules_EOLE_envole/scribeAD/ftp-pratique} +\skbinput[from=sli]{modules_EOLE_envole/scribeAD/communication} +\skbinput[from=sli]{modules_EOLE_envole/scribeAD/communication-pratique} + +\subsection{Les services de l’Horus} +\skbinput[from=sli]{modules_EOLE_envole/horusAD/script-horus} +\skbinput[from=sli]{modules_EOLE_envole/horusAD/script-horus-pratique} +\skbinput[from=sli]{modules_EOLE_envole/horusAD/scripts-administratifs} + +\subsection{Les services web} +\skbinput[from=sli]{modules_EOLE_envole/scribeAD/application-web} +\skbinput[from=sli]{modules_EOLE_envole/scribeAD/application-web-pratique} + +\skbinput[from=sli]{licences/license-cc-by-sa-2.0} + +\end{document} diff --git a/presentations/ProvinceSud/programme/contenu.tex b/presentations/ProvinceSud/programme/contenu.tex new file mode 100644 index 0000000..e69de29 diff --git a/presentations/ProvinceSud/programme/duree.tex b/presentations/ProvinceSud/programme/duree.tex new file mode 100644 index 0000000..8f1d0b2 --- /dev/null +++ b/presentations/ProvinceSud/programme/duree.tex @@ -0,0 +1 @@ +3 jours. \ No newline at end of file diff --git a/presentations/ProvinceSud/programme/evaluation.tex b/presentations/ProvinceSud/programme/evaluation.tex new file mode 100644 index 0000000..aba3bbb --- /dev/null +++ b/presentations/ProvinceSud/programme/evaluation.tex @@ -0,0 +1 @@ +L'appropriation des connaissances est contrôlée par des travaux pratiques durant la formation. \ No newline at end of file diff --git a/presentations/ProvinceSud/programme/moyens.tex b/presentations/ProvinceSud/programme/moyens.tex new file mode 100644 index 0000000..cca2045 --- /dev/null +++ b/presentations/ProvinceSud/programme/moyens.tex @@ -0,0 +1,4 @@ +\begin{itemize} +\item une salle de formation équipée d'ordinateurs avec infrasctructure de démonstration pour les travaux pratiques ; +\item un formateur avec l'expérience de l'installation et de la maintenance des solutions présentées. +\end{itemize} \ No newline at end of file diff --git a/presentations/ProvinceSud/programme/objectifs.tex b/presentations/ProvinceSud/programme/objectifs.tex new file mode 100644 index 0000000..5bb9785 --- /dev/null +++ b/presentations/ProvinceSud/programme/objectifs.tex @@ -0,0 +1 @@ +Le participant à la formation est autonome pour l'administration des serveurs et la recherche d'informations en vue de résoudre les incidents. \ No newline at end of file diff --git a/presentations/ProvinceSud/programme/prerequis.tex b/presentations/ProvinceSud/programme/prerequis.tex new file mode 100644 index 0000000..dbb8180 --- /dev/null +++ b/presentations/ProvinceSud/programme/prerequis.tex @@ -0,0 +1 @@ +Avoir suivi la formation tronc commun. \ No newline at end of file diff --git a/presentations/ProvinceSud/programme/public.tex b/presentations/ProvinceSud/programme/public.tex new file mode 100644 index 0000000..742cbec --- /dev/null +++ b/presentations/ProvinceSud/programme/public.tex @@ -0,0 +1 @@ +La formation vise toute personne ayant en charge des tâches d'administration sur des serveurs équipés des modules EOLE ScribeAD ou EOLE Horus. \ No newline at end of file diff --git a/presentations/ProvinceSud/questionnaire-professeurs.tex b/presentations/ProvinceSud/questionnaire-professeurs.tex new file mode 100644 index 0000000..8ecd537 --- /dev/null +++ b/presentations/ProvinceSud/questionnaire-professeurs.tex @@ -0,0 +1,57 @@ +\documentclass{article} + +\usepackage{skb} + +\skbconfig[ + root = ../../, + rep = content, + pub = presentations, + fig = figures, + sli = slides, + acr = database/acr, + bib = database/bib +]{skblocal.tex} + +\skbinput[from=rep]{style/preambule-questionnaire} +\newcommand{\departement}{Cadoles} +\newcommand{\numeroversion}{0.1} +\newcommand{\adresse}{29 bis, rue de l’Arquebuse} +\newcommand{\codepostal}{21000} +\newcommand{\ville}{Dijon} +\newcommand{\telephone}{03 73 27 02 86} + + +\begin{document} +\title{Questionnaire à l’attention du personnel éducatif} + +\author{Cadoles} + + + +\date{{\small \today}} +\maketitle + +\skbinput[from=rep]{style/title} + +% Corps du questionnaire +\begin{Form} +%\skbinput[from=rep]{} +Ce questionnaire fait partie d’une enquête plus large ayant pour but d’affiner la connaissance des rapports des différentes catégories d’utilisateurs aux outils numériques mis à leur disposition par la collectivité et les établissements scolaires. +Il est destiné au personnel éducatif. + \section{Les services numériques} +\skbinput[from=rep,level=subsection]{questions/services/liste_service_utilises} +\skbinput[from=rep,level=subsection]{questions/services/acces_service_depuis_ou} +\skbinput[from=rep,level=subsection]{questions/services/authentification_services} +\skbinput[from=rep,level=subsection]{questions/services/degre_satisfaction} +\skbinput[from=rep,level=subsection]{questions/equipement/equipement_utilises} +\skbinput[from=rep,level=subsection]{questions/equipement/equipement_personnel_utilises} +\skbinput[from=rep,level=subsection]{questions/enseignement/lieux_enseignement} +- dans combien d’établissements intervenez-vous, dans combien de matière, combien de classes +- menez-vous des activités inter-établissements +- transversalité des outils numériques entre établissements +- utilisation des imprimantes dans différents établissements +- est-ce que les élèves doivent rendre des devoirs sous une forme dématérialisée +- comment sont faits les échanges avec les responsables légaux +- comment sont faits les échanges avec les collègues (besoin d’outils collaboratifs) +\end{Form} +\end{document} diff --git a/presentations/SIG/collectivites/sig.tex b/presentations/SIG/collectivites/sig.tex new file mode 100644 index 0000000..645bef1 --- /dev/null +++ b/presentations/SIG/collectivites/sig.tex @@ -0,0 +1,52 @@ +\documentclass{beamer} + +\usepackage{skb} + +\skbconfig[ + root = ../../../, + rep = content, + pub = presentations, + fig = figures, + sli = slides, + acr = database/acr, + bib = database/bib +]{skblocal.tex} + +\skbinput[from=rep]{style/preambule} + +\title[]{SIG libres pour les collectivités} +\subtitle{XXX CLIENT XXX} + +\author[Equipe Auteur]{Cadoles} + +\institute[Cadoles]{\includegraphics[width=2cm]{beamer-skel/img/logo-cadoles-01.png}} + +\date{{\small \today}} + +\subject{Talks} + +\AtBeginSubsection[] +{ + \begin{frame} + \frametitle{} + \tableofcontents[currentsection,currentsubsection] + \end{frame} +} + +\logo{ + % \includegraphics[width=1cm]{beamer-skel/img/logo-ecologie.png}~ + \hspace{120pt} + \includegraphics[width=2cm]{beamer-skel/img/logo-cadoles-01.png}~ + \hspace{113pt} + \includegraphics[width=1cm]{beamer-skel/img/logo_en.jpg}~ +} + +\begin{document} + +\skbinput[from=rep]{style/title.tex} + +% Corps de la formation + +\skbinput[from=rep]{style/license.tex} + +\end{document} diff --git a/presentations/ent-envole/applications-mutualises.tex b/presentations/ent-envole/applications-mutualises.tex new file mode 100644 index 0000000..3eb58a6 --- /dev/null +++ b/presentations/ent-envole/applications-mutualises.tex @@ -0,0 +1,69 @@ +\documentclass{article} + +\usepackage{skb} + +\skbconfig[ + root = ../../, + rep = content, + pub = presentations, + fig = figures, + sli = slides, + acr = database/acr, + bib = database/bib +]{skblocal.tex} + +\skbinput[from=rep]{style/preambule-article} +\newcommand{\departement}{Cadoles Formations} +\newcommand{\numeroversion}{0.1} +\newcommand{\adresse}{29 bis, rue de l’Arquebuse} +\newcommand{\codepostal}{21000} +\newcommand{\ville}{Dijon} +\newcommand{\telephone}{03 73 27 02 86} + + +\begin{document} +\title{La procédure d’installation des applications mutualisées Envole} + +\author{Cadoles} + + + +\date{{\small \today}} +\maketitle + +% Corps de la formation +%\skbinput[from=rep]{} + +\skbinput[from=rep,level=section]{modules_eole_envole/envole/applications} +\skbinput[from=rep,level=section]{modules_eole_envole/envole/applications/moodle} +\skbinput[from=rep,level=section]{modules_eole_envole/envole/applications/balado} +\skbinput[from=rep,level=section]{modules_eole_envole/envole/applications/envole-connecteur} +\skbinput[from=rep,level=section]{modules_eole_envole/envole/applications/gepi} +\skbinput[from=rep,level=section]{modules_eole_envole/envole/applications/grr} +\skbinput[from=rep,level=section]{modules_eole_envole/envole/applications/sacoche} +\skbinput[from=rep,level=section]{modules_eole_envole/envole/applications/eop} +\skbinput[from=rep,level=section]{modules_eole_envole/envole/applications/eoe} +\skbinput[from=rep,level=section]{modules_eole_envole/envole/applications/cdt} +\skbinput[from=rep,level=section]{modules_eole_envole/envole/applications/wordpress} +\skbinput[from=rep,level=section]{modules_eole_envole/envole/applications/dokuwiki} +\skbinput[from=rep,level=section]{modules_eole_envole/envole/applications/fluxbb} +\skbinput[from=rep,level=section]{modules_eole_envole/envole/applications/piwigo} +\skbinput[from=rep,level=section]{modules_eole_envole/envole/applications/mahara} +\skbinput[from=rep,level=section]{modules_eole_envole/envole/applications/nextcloud} +\skbinput[from=rep,level=section]{modules_eole_envole/envole/applications/roundcube} +\skbinput[from=rep,level=section]{modules_eole_envole/envole/applications/etherhome} +\skbinput[from=rep,level=section]{modules_eole_envole/envole/applications/etherpad} +\skbinput[from=rep,level=section]{modules_eole_envole/envole/applications/ethercalc} +\skbinput[from=rep,level=section]{modules_eole_envole/envole/applications/etherdraw} +\skbinput[from=rep,level=section]{modules_eole_envole/envole/applications/pydio} +\skbinput[from=rep,level=section]{modules_eole_envole/envole/applications/limesurvey} +\skbinput[from=rep,level=section]{modules_eole_envole/envole/applications/opensondage} +\skbinput[from=rep,level=section]{modules_eole_envole/envole/applications/mindmaps} +\skbinput[from=rep,level=section]{modules_eole_envole/envole/applications/kanboard} +\skbinput[from=rep,level=section]{modules_eole_envole/envole/applications/scrumblr} +\skbinput[from=rep,level=section]{modules_eole_envole/envole/applications/piwik} +\skbinput[from=rep,level=section]{modules_eole_envole/envole/applications/phpldapadmin} +\skbinput[from=rep,level=section]{modules_eole_envole/envole/applications/glpi} +\skbinput[from=rep,level=section]{licences/license-cc-by-sa-2.0} + +\end{document} diff --git a/presentations/ent-envole/attributs-acalcules-eoleSSO.tex b/presentations/ent-envole/attributs-acalcules-eoleSSO.tex new file mode 100644 index 0000000..4dbfd9d --- /dev/null +++ b/presentations/ent-envole/attributs-acalcules-eoleSSO.tex @@ -0,0 +1,43 @@ +\documentclass{article} + +\usepackage{skb} + +\skbconfig[ + root = ../../, + rep = content, + pub = presentations, + fig = figures, + sli = slides, + acr = database/acr, + bib = database/bib +]{skblocal.tex} + +\skbinput[from=rep]{style/preambule-article} +\newcommand{\departement}{Cadoles Formations} +\newcommand{\numeroversion}{0.1} +\newcommand{\adresse}{29 bis, rue de l’Arquebuse} +\newcommand{\codepostal}{21000} +\newcommand{\ville}{Dijon} +\newcommand{\telephone}{03 73 27 02 86} + + +\begin{document} +\title{Les attributs calculés de eole-SSO} + +\author{Cadoles} + + + +\date{{\small \today}} +\maketitle + + +% Corps de la formation +%\skbinput[from=rep]{} + +\skbinput[from=rep,level=section]{modules_eole_envole/eolesso/attributs/attributs-calcules} +\skbinput[from=rep,level=section]{modules_eole_envole/eolesso/attributs/filtrage} +\skbinput[from=rep,level=section]{modules_eole_envole/eolesso/attributs/filtre-attributs} +\skbinput[from=rep,level=section]{licences/license-cc-by-sa-2.0} + +\end{document} diff --git a/presentations/ent-envole/cli-annuaire.tex b/presentations/ent-envole/cli-annuaire.tex new file mode 100644 index 0000000..66c6316 --- /dev/null +++ b/presentations/ent-envole/cli-annuaire.tex @@ -0,0 +1,44 @@ +\documentclass{article} + +\usepackage{skb} + +\skbconfig[ + root = ../../, + rep = content, + pub = presentations, + fig = figures, + sli = slides, + acr = database/acr, + bib = database/bib +]{skblocal.tex} + +\skbinput[from=rep]{style/preambule-article} +\newcommand{\departement}{Cadoles Formations} +\newcommand{\numeroversion}{0.1} +\newcommand{\adresse}{29 bis, rue de l’Arquebuse} +\newcommand{\codepostal}{21000} +\newcommand{\ville}{Dijon} +\newcommand{\telephone}{03 73 27 02 86} + + +\begin{document} +\title{L’alimentation de l’annuaire en ligne de commande} + +\author{Cadoles} + + + +\date{{\small \today}} +\maketitle + +% Corps de la formation +%\skbinput[from=rep]{} + +\skbinput[from=rep,level=section]{modules_eole_envole/scribe/backend} +\skbinput[from=rep,level=section]{modules_eole_envole/scribe/backend/creation-eleve} +\skbinput[from=rep,level=section]{modules_eole_envole/scribe/backend/creation-groupe} +\skbinput[from=rep,level=section]{modules_eole_envole/scribe/backend/creation-prof} +\skbinput[from=rep,level=section]{modules_eole_envole/scribe/backend/creation-administratif} +\skbinput[from=rep,level=section]{licences/license-cc-by-sa-2.0} + +\end{document} diff --git a/presentations/ent-envole/construction-ENT-Envole.tex b/presentations/ent-envole/construction-ENT-Envole.tex new file mode 100644 index 0000000..d58c873 --- /dev/null +++ b/presentations/ent-envole/construction-ENT-Envole.tex @@ -0,0 +1,44 @@ +\documentclass{article} + +\usepackage{skb} + +\skbconfig[ + root = ../../, + rep = content, + pub = presentations, + fig = figures, + sli = slides, + acr = database/acr, + bib = database/bib +]{skblocal.tex} + +\skbinput[from=rep]{style/preambule-article} +\newcommand{\departement}{Cadoles Formations} +\newcommand{\numeroversion}{0.1} +\newcommand{\adresse}{29 bis, rue de l’Arquebuse} +\newcommand{\codepostal}{21000} +\newcommand{\ville}{Dijon} +\newcommand{\telephone}{03 73 27 02 86} + + +\begin{document} +\title{Construire son ENT Envole} + +\author{Cadoles} + + + +\date{{\small \today}} +\maketitle + + +% Corps de la formation +%\skbinput[from=rep]{} + +\skbinput[from=rep,level=section]{modules_eole_envole/envole/eportail} +\skbinput[from=rep,level=section]{modules_eole_envole/envole/eportail/filtres} +\skbinput[from=rep,level=section]{modules_eole_envole/envole/eportail/type-ressources} +\skbinput[from=rep,level=section]{modules_eole_envole/envole/eportail/profils} +\skbinput[from=rep,level=section]{licences/license-cc-by-sa-2.0} + +\end{document} diff --git a/presentations/ent-envole/ead2-annuaire.tex b/presentations/ent-envole/ead2-annuaire.tex new file mode 100644 index 0000000..43a465f --- /dev/null +++ b/presentations/ent-envole/ead2-annuaire.tex @@ -0,0 +1,43 @@ +\documentclass{article} + +\usepackage{skb} + +\skbconfig[ + root = ../../, + rep = content, + pub = presentations, + fig = figures, + sli = slides, + acr = database/acr, + bib = database/bib +]{skblocal.tex} + +\skbinput[from=rep]{style/preambule-article} +\newcommand{\departement}{Cadoles Formations} +\newcommand{\numeroversion}{0.1} +\newcommand{\adresse}{29 bis, rue de l’Arquebuse} +\newcommand{\codepostal}{21000} +\newcommand{\ville}{Dijon} +\newcommand{\telephone}{03 73 27 02 86} + + +\begin{document} +\title{L’alimentation de l’annuaire via l’EAD2} + +\author{Cadoles} + + + +\date{{\small \today}} +\maketitle + + +% Corps de la formation +%\skbinput[from=rep]{} + +\skbinput[from=rep,level=section]{modules_eole_envole/scribe/ead2/gestion-annuaire} +\skbinput[from=rep,level=section]{modules_eole_envole/scribe/ead2/gestion-annuaire/eleve} +\skbinput[from=rep,level=section]{modules_eole_envole/scribe/ead2/gestion-annuaire/groupe} +\skbinput[from=rep,level=section]{licences/license-cc-by-sa-2.0} + +\end{document} diff --git a/presentations/ent-envole/import-annuaire.tex b/presentations/ent-envole/import-annuaire.tex new file mode 100644 index 0000000..4d64127 --- /dev/null +++ b/presentations/ent-envole/import-annuaire.tex @@ -0,0 +1,41 @@ +\documentclass{article} + +\usepackage{skb} + +\skbconfig[ + root = ../../, + rep = content, + pub = presentations, + fig = figures, + sli = slides, + acr = database/acr, + bib = database/bib +]{skblocal.tex} + +\skbinput[from=rep]{style/preambule-article} +\newcommand{\departement}{Cadoles Formations} +\newcommand{\numeroversion}{0.1} +\newcommand{\adresse}{29 bis, rue de l’Arquebuse} +\newcommand{\codepostal}{21000} +\newcommand{\ville}{Dijon} +\newcommand{\telephone}{03 73 27 02 86} + + +\begin{document} +\title{L’importation des comptes via l’EAD2} + +\author{Cadoles} + + + +\date{{\small \today}} +\maketitle + + +% Corps de la formation +%\skbinput[from=rep]{} + +\skbinput[from=rep,level=section]{modules_eole_envole/scribe/ead2/importation} +\skbinput[from=rep,level=section]{licences/license-cc-by-sa-2.0} + +\end{document} diff --git a/presentations/ent-envole/requetes-LDAP.tex b/presentations/ent-envole/requetes-LDAP.tex new file mode 100644 index 0000000..ede8f3d --- /dev/null +++ b/presentations/ent-envole/requetes-LDAP.tex @@ -0,0 +1,41 @@ +\documentclass{article} + +\usepackage{skb} + +\skbconfig[ + root = ../../, + rep = content, + pub = presentations, + fig = figures, + sli = slides, + acr = database/acr, + bib = database/bib +]{skblocal.tex} + +\skbinput[from=rep]{style/preambule-article} +\newcommand{\departement}{Cadoles Formations} +\newcommand{\numeroversion}{0.1} +\newcommand{\adresse}{29 bis, rue de l’Arquebuse} +\newcommand{\codepostal}{21000} +\newcommand{\ville}{Dijon} +\newcommand{\telephone}{03 73 27 02 86} + + +\begin{document} +\title{La syntaxe des requêtes LDAP} + +\author{Cadoles} + + + +\date{{\small \today}} +\maketitle + + +% Corps de la formation +%\skbinput[from=rep]{} + +\skbinput[from=rep,level=section]{outils/ldap/requetes} +\skbinput[from=rep,level=section]{licences/license-cc-by-sa-2.0} + +\end{document} diff --git a/presentations/ent-envole/schema-scribe.tex b/presentations/ent-envole/schema-scribe.tex new file mode 100644 index 0000000..061c371 --- /dev/null +++ b/presentations/ent-envole/schema-scribe.tex @@ -0,0 +1,43 @@ +\documentclass{article} + +\usepackage{skb} + +\skbconfig[ + root = ../../, + rep = content, + pub = presentations, + fig = figures, + sli = slides, + acr = database/acr, + bib = database/bib +]{skblocal.tex} + +\skbinput[from=rep]{style/preambule-article} +\newcommand{\departement}{Cadoles Formations} +\newcommand{\numeroversion}{0.1} +\newcommand{\adresse}{29 bis, rue de l’Arquebuse} +\newcommand{\codepostal}{21000} +\newcommand{\ville}{Dijon} +\newcommand{\telephone}{03 73 27 02 86} + +\begin{document} +\title{Le schéma LDAP du Scribe} + +\author{Cadoles} + + + +\date{{\small \today}} +\maketitle + +% Corps de la formation +%\skbinput[from=rep]{} +\skbinput[from=rep,level=section]{modules_eole_envole/scribe/annuaire} +\skbinput[from=rep,level=section]{modules_eole_envole/scribe/annuaire/objets} +\skbinput[from=rep,level=section]{modules_eole_envole/scribe/annuaire/objets/eleve} +\skbinput[from=rep,level=section]{modules_eole_envole/scribe/annuaire/objets/enseignant} +\skbinput[from=rep,level=section]{modules_eole_envole/scribe/annuaire/objets/administratif} +\skbinput[from=rep,level=section]{modules_eole_envole/scribe/annuaire/objets/responsable} +\skbinput[from=rep,level=section]{licences/license-cc-by-sa-2.0} + +\end{document} diff --git a/presentations/formation_interneTC1.tex b/presentations/formation_interneTC1.tex new file mode 100644 index 0000000..44a7122 --- /dev/null +++ b/presentations/formation_interneTC1.tex @@ -0,0 +1,213 @@ +\documentclass{beamer} + +%\usertheme{Madrid} +\setbeamercovered{transparent} +\setcounter{tocdepth}{2} +\usepackage[french]{babel} +%\usepackage[utf8,utf8x]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{xunicode} %Unicode extras! +\usepackage{xltxtra} %Fixes +\setmainfont{CaviarDreams} +\usepackage{multicol} +%\usepackage{colortbtl} +\usepackage{graphicx} +\usepackage{verbatim} % Pour l'insertion de fichier en mode verbatim +\usepackage{ucs} +\usepackage{tabto} +\usepackage{xcolor} +\usepackage{hyperref} +\usepackage{hyperxmp} +\hypersetup{% + colorlinks=true,linkcolor=blue,urlcolor=blue,pdfpagemode=UseNone, + pdftitle={Formation interne TC1}, + pdfkeywords={distribution, GNU, linux, eole, éducation, nationale, ubuntu}, + pdfauthor={Emmanuel Garette}, + pdflang={fr-FR}, + pdfcopyright={Copyright © 2011-2014 Cadoles}, % Nécessite XeTeX + pdflicenseurl={http://creativecommons.org/licenses/by-nc-sa/2.0/fr/}, +} +%\usecolortheme{crane} +\definecolor{UniBlue}{RGB}{83,121,180} +\definecolor{CleanWhite}{RGB}{255,255,255} +\setbeamercolor{title}{fg=UniBlue} +\setbeamercolor{frametitle}{fg=CleanWhite} +\setbeamercolor{structure}{fg=UniBlue} +\newcommand{\eolesmall}{ + \begin{minipage}[c]{0.10\textwidth} + \includegraphics[width=1cm]{beamer-skel/img/logo-eole.png} + \end{minipage} +} +\newcommand{\eolebig}{\includegraphics[width=2cm]{beamer-skel/img/logo-eole.png}} +\newcommand{\eolefull}{\includegraphics{beamer-skel/img/logo-eole.png}} +%\setmonofont[Scale=0.86]{Andale Mono} +%\usepackage{colortab} + +\setbeamertemplate{background}{\includegraphics[width=128mm]{beamer-skel/img/banner01.png}} + +\title[]{Formation interne tronc commun 1} +\subtitle{Formation interne} + +\author[Equipe Auteur]{Vincent FEBVRE} + +\institute[Cadoles]{\includegraphics[width=2cm]{beamer-skel/img/logo-cadoles-01.png}} + +\date{{\small \today}} + +\subject{Talks} + +\AtBeginSubsection[] +{ + \begin{frame} + \frametitle{} + \tableofcontents[currentsection,currentsubsection] + \end{frame} +} + +\logo{ + % \includegraphics[width=1cm]{beamer-skel/img/logo-ecologie.png}~ + \hspace{120pt} + \includegraphics[width=2cm]{beamer-skel/img/logo-cadoles-01.png}~ + \hspace{113pt} + \includegraphics[width=1cm]{beamer-skel/img/logo_en.jpg}~ +} + +\begin{document} + % Page de titre + \begin{frame} + \titlepage + \end{frame} + +\section{Introduction} +\begin{frame}{Plan} + \begin{columns}[t] + \begin{column}{5cm} + \tableofcontents[sections={1-6},currentsection, hideothersubsections] + \end{column} + \begin{column}{5cm} + \tableofcontents[sections={7-12},currentsection,hideothersubsections] + \end{column} + \end{columns} +\end{frame} +\include{modules_EOLE_envole/commun/00-intro} +\include{modules_EOLE_envole/commun/01-nouveaute23} +\include{modules_EOLE_envole/amon/00-description} +\include{modules_EOLE_envole/sphynx/00-description} +\include{modules_EOLE_envole/scribe/00-description} +\include{modules_EOLE_envole/horus/00-description} +\include{modules_EOLE_envole/tronc-commun-1/00-panorama-module} + +\section{Les quatre phases} +\begin{frame}{Plan} + \begin{columns}[t] + \begin{column}{5cm} + \tableofcontents[sections={1-6},currentsection, hideothersubsections] + \end{column} + \begin{column}{5cm} + \tableofcontents[sections={7-12},currentsection,hideothersubsections] + \end{column} + \end{columns} +\end{frame} +\include{modules_EOLE_envole/commun/02-quatre_phases} +\include{modules_EOLE_envole/scribe/00-virtualbox} +\include{modules_EOLE_envole/commun/02-quatre_phases-pratique} +\include{modules_EOLE_envole/tronc-commun-1/01-config-texte} + +\section{Administration commune} +\begin{frame}{Plan} + \begin{columns}[t] + \begin{column}{5cm} + \tableofcontents[sections={1-6},currentsection, hideothersubsections] + \end{column} + \begin{column}{5cm} + \tableofcontents[sections={7-12},currentsection,hideothersubsections] + \end{column} + \end{columns} +\end{frame} +\include{modules_EOLE_envole/commun/02-instance-reconfigure} +\include{modules_EOLE_envole/commun/03-mise-a-jour} +\include{modules_EOLE_envole/commun/04-diagnose} +\include{modules_EOLE_envole/commun/04-diagnose-pratique} +\include{modules_EOLE_envole/tronc-commun-1/05-conteneurs} +\include{modules_EOLE_envole/tronc-commun-1/05-conteneurs-pratique} +\include{modules_EOLE_envole/tronc-commun-1/06-firewall} +\include{modules_EOLE_envole/tronc-commun-1/06-schedule} +\include{modules_EOLE_envole/tronc-commun-1/06-zpratique} +\include{modules_EOLE_envole/tronc-commun-1/07-onduleur} +\include{modules_EOLE_envole/tronc-commun-1/07-onduleur-pratique} +\include{modules_EOLE_envole/tronc-commun-1/08-trouver} + +\section{Interfaces d'administration EOLE} +\begin{frame}{Plan} + \begin{columns}[t] + \begin{column}{5cm} + \tableofcontents[sections={1-6},currentsection, hideothersubsections] + \end{column} + \begin{column}{5cm} + \tableofcontents[sections={7-12},currentsection,hideothersubsections] + \end{column} + \end{columns} +\end{frame} +\include{modules_EOLE_envole/tronc-commun-1/30-ead} +\include{modules_EOLE_envole/tronc-commun-1/31-interface-semi-graphique} + +\section{GNU/Linux} +\begin{frame}{Plan} + \begin{columns}[t] + \begin{column}{5cm} + \tableofcontents[sections={1-6},currentsection, hideothersubsections] + \end{column} + \begin{column}{5cm} + \tableofcontents[sections={7-12},currentsection,hideothersubsections] + \end{column} + \end{columns} +\end{frame} +\include{modules_EOLE_envole/tronc-commun-1/20-gnu_linux} +\include{modules_EOLE_envole/tronc-commun-1/21-lire-ecrire} +\include{modules_EOLE_envole/tronc-commun-1/22-commande-distance} + +\section{Application Zéphir 1} +\begin{frame}{Plan} + \begin{columns}[t] + \begin{column}{5cm} + \tableofcontents[sections={1-6},currentsection, hideothersubsections] + \end{column} + \begin{column}{5cm} + \tableofcontents[sections={7-12},currentsection,hideothersubsections] + \end{column} + \end{columns} +\end{frame} +\include{modules_EOLE_envole/tronc-commun-1/10-application-zephir} + +\section{Application Zéphir 2} +\begin{frame}{Plan} + \begin{columns}[t] + \begin{column}{5cm} + \tableofcontents[sections={1-6},currentsection, hideothersubsections] + \end{column} + \begin{column}{5cm} + \tableofcontents[sections={7-12},currentsection,hideothersubsections] + \end{column} + \end{columns} +\end{frame} +\include{modules_EOLE_envole/tronc-commun-1/11-application-zephir2} + +\subject{Talks} +\begin{frame} + \frametitle{Licence} + Cette œuvre est mise à disposition sous licence \href{http://creativecommons.org/licenses/by-nc-sa/2.0/fr/}{\textsc{cc-by-nc-sa-2.0}} + \begin{itemize} + \item Attribution + \item Pas d’Utilisation Commerciale + \item Partage dans les Mêmes Conditions 2.0 + \item France + \end{itemize} + Pour voir une copie de cette licence, visitez + \href{http://creativecommons.org/licenses/by-nc-sa/2.0/fr/}{http://creativecommons.org/licenses/by-nc-sa/2.0/fr/} + ou écrivez à Creative Commons, 444 Castro Street, Suite 900, + Mountain View, California, 94041, USA. +\end{frame} + +\end{document} + + diff --git a/presentations/formation_martinique.tex b/presentations/formation_martinique.tex new file mode 100644 index 0000000..f73a1f4 --- /dev/null +++ b/presentations/formation_martinique.tex @@ -0,0 +1,220 @@ +\documentclass{beamer} + +%\usertheme{Madrid} +\setbeamercovered{transparent} +\setcounter{tocdepth}{2} +\usepackage[french]{babel} +%\usepackage[utf8,utf8x]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{xunicode} %Unicode extras! +\usepackage{xltxtra} %Fixes +\setmainfont{CaviarDreams} +\usepackage{multicol} +%\usepackage{colortbtl} +\usepackage{graphicx} +\usepackage{verbatim} % Pour l'insertion de fichier en mode verbatim +\usepackage{ucs} +\usepackage{tabto} +\usepackage{xcolor} +\usepackage{hyperref} +\usepackage{hyperxmp} +\hypersetup{% + colorlinks=true,linkcolor=blue,urlcolor=blue,pdfpagemode=UseNone, + pdftitle={Tronc commun 2}, + pdfkeywords={distribution, GNU, linux, eole, éducation, nationale, ubuntu}, + pdfauthor={Philippe Caseiro}, + pdflang={fr-FR}, + pdfcopyright={Copyright © 2013 Cadoles}, % Nécessite XeTeX + pdflicenseurl={http://creativecommons.org/licenses/by-nc-sa/2.0/fr/}, +} +%\usecolortheme{crane} +\definecolor{UniBlue}{RGB}{83,121,180} +\definecolor{CleanWhite}{RGB}{255,255,255} +\setbeamercolor{title}{fg=UniBlue} +\setbeamercolor{frametitle}{fg=CleanWhite} +\setbeamercolor{structure}{fg=UniBlue} +\newcommand{\eolesmall}{ + \begin{minipage}[c]{0.10\textwidth} + \includegraphics[width=1cm]{beamer-skel/img/logo-eole.png} + \end{minipage} +} +\newcommand{\eolebig}{\includegraphics[width=2cm]{beamer-skel/img/logo-eole.png}} +\newcommand{\eolefull}{\includegraphics{beamer-skel/img/logo-eole.png}} +%\setmonofont[Scale=0.86]{Andale Mono} +%\usepackage{colortab} + +\setbeamertemplate{background}{\includegraphics[width=128mm]{beamer-skel/img/banner01.png}} + +\title[]{Formation personnalisée} +\subtitle{Académie de la Martinique} + +\author[Equipe Auteur]{Philippe Caseiro} + +\institute[Cadoles]{\includegraphics[width=2cm]{beamer-skel/img/logo-cadoles-01.png}} + +\date{{\small \today}} + +\subject{Talks} + +\AtBeginSubsection[] +{ + \begin{frame} + \frametitle{} + \tableofcontents[currentsection,currentsubsection] + \end{frame} +} + +\logo{ + % \includegraphics[width=1cm]{beamer-skel/img/logo-ecologie.png}~ + \hspace{120pt} + \includegraphics[width=2cm]{beamer-skel/img/logo-cadoles-01.png}~ + \hspace{113pt} + \includegraphics[width=1cm]{beamer-skel/img/logo_en.jpg}~ +} + +\begin{document} + % Page de titre + \begin{frame} + \titlepage + \end{frame} + +\section{Introduction} +\begin{frame}{Plan} + \begin{columns}[t] + \begin{column}{5cm} + \tableofcontents[sections={1-6},currentsection, hideothersubsections] + \end{column} + \begin{column}{5cm} + \tableofcontents[sections={7-12},currentsection,hideothersubsections] + \end{column} + \end{columns} +\end{frame} + +%Intro +\include{modules_EOLE_envole/commun/00-intro} +\include{modules_EOLE_envole/commun/01-nouveaute23} +%méta-paquet EOLE description +\include{modules_EOLE_envole/amon/00-description} +\include{modules_EOLE_envole/sphynx/00-description} +\include{modules_EOLE_envole/scribe/00-description} +\include{modules_EOLE_envole/horus/00-description} +\include{modules_EOLE_envole/tronc-commun-1/00-panorama-module} +%méta-paquet EOLE install +\begin{frame} + \frametitle{Les différents méta-paquets EOLE} + \begin{itemize} + \item amon-pkg ; + \item scribe-pkg ; + \item amonecole-pkg ; + \item horus-pkg ; + \item seshat-pkg ; + \item sphynx-pkg ; + \item zephir-pkg. + \end{itemize} +\end{frame} +%Les conteneurs intro (voir suite dans personnalisation creole +\include{modules_EOLE_envole/tronc-commun-1/05-conteneurs} +\include{modules_EOLE_envole/tronc-commun-1/05-conteneurs-pratique} + + +\section{Personnalisation du serveur} +\begin{frame}{Plan} + \begin{columns}[t] + \begin{column}{5cm} + \tableofcontents[sections={1-6},currentsection, hideothersubsections] + \end{column} + \begin{column}{5cm} + \tableofcontents[sections={7-12},currentsection,hideothersubsections] + \end{column} + \end{columns} +\end{frame} +\include{modules_EOLE_envole/tronc-commun-2/01-personnalisation-creole} +\include{modules_EOLE_envole/tronc-commun-2/01-personnalisation-creole2} + +%\section{Application Zéphir} +%\begin{frame}{Plan} +% \begin{columns}[t] +% \begin{column}{5cm} +% \tableofcontents[sections={1-6},currentsection, hideothersubsections] +% \end{column} +% \begin{column}{5cm} +% \tableofcontents[sections={7-12},currentsection,hideothersubsections] +% \end{column} +% \end{columns} +%\end{frame} +%\include{modules_EOLE_envole/tronc-commun-2/02-zephir} +%\include{modules_EOLE_envole/tronc-commun-2/03-zephir_script} + +\section{API Python} +\begin{frame}{Plan} + \begin{columns}[t] + \begin{column}{5cm} + \tableofcontents[sections={1-6},currentsection, hideothersubsections] + \end{column} + \begin{column}{5cm} + \tableofcontents[sections={7-12},currentsection,hideothersubsections] + \end{column} + \end{columns} +\end{frame} +\include{modules_EOLE_envole/tronc-commun-2/20-api} + +\section{API Bash} +\begin{frame}{Plan} + \begin{columns}[t] + \begin{column}{5cm} + \tableofcontents[sections={1-6},currentsection, hideothersubsections] + \end{column} + \begin{column}{5cm} + \tableofcontents[sections={7-12},currentsection,hideothersubsections] + \end{column} + \end{columns} +\end{frame} +\include{modules_EOLE_envole/tronc-commun-2/30-api_bash} + +\section{Administration avancée} +\begin{frame}{Plan} + \begin{columns}[t] + \begin{column}{5cm} + \tableofcontents[sections={1-6},currentsection, hideothersubsections] + \end{column} + \begin{column}{5cm} + \tableofcontents[sections={7-12},currentsection,hideothersubsections] + \end{column} + \end{columns} +\end{frame} +\include{modules_EOLE_envole/tronc-commun-2/04-diagnose} +\include{modules_EOLE_envole/tronc-commun-2/05-script-instance-reconfigure} +\include{modules_EOLE_envole/tronc-commun-2/06-montage-conteneur} +\include{modules_EOLE_envole/tronc-commun-2/07-eole-firewall} +\include{modules_EOLE_envole/tronc-commun-2/08-schedule} +\include{modules_EOLE_envole/tronc-commun-2/09-host} +\include{modules_EOLE_envole/tronc-commun-2/11-mysql} +\include{modules_EOLE_envole/tronc-commun-2/12-interface} +\include{modules_EOLE_envole/tronc-commun-2/13-disknod} +\include{modules_EOLE_envole/tronc-commun-2/14-sso} +\include{modules_EOLE_envole/tronc-commun-2/15-script-ead} +\include{modules_EOLE_envole/tronc-commun-2/16-sauvegarde} +\include{modules_EOLE_envole/tronc-commun-2/17-conteneur_groupe_conteneur} +\include{modules_EOLE_envole/tronc-commun-2/18-cert} +\include{modules_EOLE_envole/scribe/31-scripts-user-scribe} + + +\subject{Talks} +\begin{frame} + \frametitle{Licence} + Cette œuvre est mise à disposition sous licence \href{http://creativecommons.org/licenses/by-nc-sa/2.0/fr/}{\textsc{cc-by-nc-sa-2.0}} + \begin{itemize} + \item Attribution + \item Pas d’Utilisation Commerciale + \item Partage dans les Mêmes Conditions 2.0 + \item France + \end{itemize} + Pour voir une copie de cette licence, visitez + \href{http://creativecommons.org/licenses/by-nc-sa/2.0/fr/}{http://creativecommons.org/licenses/by-nc-sa/2.0/fr/} + ou écrivez à Creative Commons, 444 Castro Street, Suite 900, + Mountain View, California, 94041, USA. +\end{frame} + +\end{document} + + diff --git a/presentations/formation_versailles.tex b/presentations/formation_versailles.tex new file mode 100644 index 0000000..4f36961 --- /dev/null +++ b/presentations/formation_versailles.tex @@ -0,0 +1,218 @@ +\documentclass{beamer} + +%\usertheme{Madrid} +\setbeamercovered{transparent} +\setcounter{tocdepth}{2} +\usepackage[french]{babel} +%\usepackage[utf8,utf8x]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{xunicode} %Unicode extras! +\usepackage{xltxtra} %Fixes +\setmainfont{CaviarDreams} +\usepackage{multicol} +%\usepackage{colortbtl} +\usepackage{graphicx} +\usepackage{verbatim} % Pour l'insertion de fichier en mode verbatim +\usepackage{ucs} +\usepackage{tabto} +\usepackage{xcolor} +\usepackage{hyperref} +\usepackage{hyperxmp} +\hypersetup{% + colorlinks=true,linkcolor=blue,urlcolor=blue,pdfpagemode=UseNone, + pdftitle={Amon Sphynx}, + pdfkeywords={distribution, GNU, linux, eole, éducation, nationale, ubuntu}, + pdfauthor={Emmanuel Garette}, + pdflang={fr-FR}, + pdfcopyright={Copyright © 2011-2014 Cadoles}, % Nécessite XeTeX + pdflicenseurl={http://creativecommons.org/licenses/by-nc-sa/2.0/fr/}, +} + +%\usecolortheme{crane} +\definecolor{UniBlue}{RGB}{83,121,180} +\definecolor{CleanWhite}{RGB}{255,255,255} +\setbeamercolor{title}{fg=UniBlue} +\setbeamercolor{frametitle}{fg=CleanWhite} +\setbeamercolor{structure}{fg=UniBlue} +\newcommand{\eolesmall}{ + \begin{minipage}[c]{0.10\textwidth} + \includegraphics[width=1cm]{beamer-skel/img/logo-eole.png} + \end{minipage} +} +\newcommand{\eolebig}{\includegraphics[width=2cm]{beamer-skel/img/logo-eole.png}} +\newcommand{\eolefull}{\includegraphics{beamer-skel/img/logo-eole.png}} +%\setmonofont[Scale=0.86]{Andale Mono} +%\usepackage{colortab} + +\setbeamertemplate{background}{\includegraphics[width=128mm]{beamer-skel/img/banner01.png}} + +\title[]{Formation EOLE} +\subtitle{Versailles} + +\author[Equipe Auteur]{Emmanuel Garette} + +\institute[Cadoles]{\includegraphics[width=2cm]{beamer-skel/img/logo-cadoles-01.png}} + +\date{{\small \today}} + +\subject{Talks} + +\AtBeginSubsection[] +{ + \begin{frame} + \frametitle{} + \tableofcontents[currentsection,currentsubsection] + \end{frame} +} + +\logo{ + % \includegraphics[width=1cm]{beamer-skel/img/logo-ecologie.png}~ + \hspace{120pt} + \includegraphics[width=2cm]{beamer-skel/img/logo-cadoles-01.png}~ + \hspace{113pt} + \includegraphics[width=1cm]{beamer-skel/img/logo_en.jpg}~ +} + +\begin{document} + +% Page de titre +\begin{frame} +\titlepage +\end{frame} + +\section{Introduction} +\begin{frame}{Plan} + \begin{columns}[t] + \begin{column}{5cm} + \tableofcontents[sections={1-6},currentsection, hideothersubsections] + \end{column} + \begin{column}{5cm} + \tableofcontents[sections={7-12},currentsection,hideothersubsections] + \end{column} + \end{columns} +\end{frame} +\include{modules_EOLE_envole/commun/00-intro} +\include{modules_EOLE_envole/commun/01-nouveaute23} +\include{modules_EOLE_envole/commun/01-nouveaute24} +\section{Panorama des modules} +\begin{frame}{Plan} + \begin{columns}[t] + \begin{column}{5cm} + \tableofcontents[sections={1-6},currentsection, hideothersubsections] + \end{column} + \begin{column}{5cm} + \tableofcontents[sections={7-12},currentsection,hideothersubsections] + \end{column} + \end{columns} +\end{frame} +\include{modules_EOLE_envole/amon/00-description} +\include{modules_EOLE_envole/sphynx/00-description} +\include{modules_EOLE_envole/scribe/00-description} +\include{modules_EOLE_envole/horus/00-description} +\include{modules_EOLE_envole/amonecole/00-description} +\include{modules_EOLE_envole/tronc-commun-1/00-panorama-module} + +\section{Les quatre phases} +\begin{frame}{Plan} + \begin{columns}[t] + \begin{column}{5cm} + \tableofcontents[sections={1-6},currentsection, hideothersubsections] + \end{column} + \begin{column}{5cm} + \tableofcontents[sections={7-12},currentsection,hideothersubsections] + \end{column} + \end{columns} +\end{frame} +\include{modules_EOLE_envole/commun/02-quatre_phases} +\include{modules_EOLE_envole/scribe/00-virtualbox} +\include{modules_EOLE_envole/commun/02-quatre_phases-pratique} +\include{modules_EOLE_envole/tronc-commun-1/01-config-texte} + +\section{Administration commune} +\begin{frame}{Plan} + \begin{columns}[t] + \begin{column}{5cm} + \tableofcontents[sections={1-6},currentsection, hideothersubsections] + \end{column} + \begin{column}{5cm} + \tableofcontents[sections={7-12},currentsection,hideothersubsections] + \end{column} + \end{columns} +\end{frame} +\include{modules_EOLE_envole/commun/02-instance-reconfigure} +\include{modules_EOLE_envole/commun/03-mise-a-jour} +\include{modules_EOLE_envole/commun/04-diagnose} +\include{modules_EOLE_envole/commun/04-diagnose-pratique} +\include{modules_EOLE_envole/tronc-commun-1/05-conteneurs} +%\include{modules_EOLE_envole/tronc-commun-1/05-conteneurs-pratique} +\include{modules_EOLE_envole/tronc-commun-1/06-firewall} +\include{modules_EOLE_envole/tronc-commun-1/06-schedule} +\include{modules_EOLE_envole/tronc-commun-1/06-zpratique} +%\include{modules_EOLE_envole/tronc-commun-1/07-onduleur} +%\include{modules_EOLE_envole/tronc-commun-1/07-onduleur-pratique} +\include{modules_EOLE_envole/tronc-commun-1/08-trouver} + +\section{GNU/Linux} +\begin{frame}{Plan} + \begin{columns}[t] + \begin{column}{5cm} + \tableofcontents[sections={1-6},currentsection, hideothersubsections] + \end{column} + \begin{column}{5cm} + \tableofcontents[sections={7-12},currentsection,hideothersubsections] + \end{column} + \end{columns} +\end{frame} +\include{modules_EOLE_envole/tronc-commun-1/20-gnu_linux} +\include{modules_EOLE_envole/tronc-commun-1/20-tcpdump-tshark} +\include{modules_EOLE_envole/tronc-commun-1/20-ziptraf} +\include{modules_EOLE_envole/tronc-commun-1/21-lire-ecrire} +\include{modules_EOLE_envole/tronc-commun-1/22-commande-distance} + +\section{Sauvegarde} +\begin{frame}{Plan} + \begin{columns}[t] + \begin{column}{5cm} + \tableofcontents[sections={1-6},currentsection, hideothersubsections] + \end{column} + \begin{column}{5cm} + \tableofcontents[sections={7-12},currentsection,hideothersubsections] + \end{column} + \end{columns} +\end{frame} +\include{modules_EOLE_envole/scribe/20-sauvegarde} + +\section{Poste de travail} +\begin{frame}{Plan} + \begin{columns}[t] + \begin{column}{5cm} + \tableofcontents[sections={1-6},currentsection, hideothersubsections] + \end{column} + \begin{column}{5cm} + \tableofcontents[sections={7-12},currentsection,hideothersubsections] + \end{column} + \end{columns} +\end{frame} +\include{modules_EOLE_envole/scribe/10-windows-distance} +\include{modules_EOLE_envole/scribe/12-machine-diagnostic} +\include{modules_EOLE_envole/scribe/14-esu-diagnostic} + +\subject{Talks} +\begin{frame} + \frametitle{Licence} + Cette œuvre est mise à disposition sous licence \href{http://creativecommons.org/licenses/by-nc-sa/2.0/fr/}{\textsc{cc-by-nc-sa-2.0}} + \begin{itemize} + \item Attribution + \item Pas d’Utilisation Commerciale + \item Partage dans les Mêmes Conditions 2.0 + \item France + \end{itemize} + Pour voir une copie de cette licence, visitez + \href{http://creativecommons.org/licenses/by-nc-sa/2.0/fr/}{http://creativecommons.org/licenses/by-nc-sa/2.0/fr/} + ou écrivez à Creative Commons, 444 Castro Street, Suite 900, + Mountain View, California, 94041, USA. +\end{frame} + +\end{document} + + diff --git a/presentations/mallette_pedagogique/mjc-chenove.tex b/presentations/mallette_pedagogique/mjc-chenove.tex new file mode 100644 index 0000000..16d612f --- /dev/null +++ b/presentations/mallette_pedagogique/mjc-chenove.tex @@ -0,0 +1,146 @@ +\documentclass{article} + +\usepackage{skb} + +\skbconfig[ + root = ../../, + rep = content, + pub = presentations, + fig = figures, + sli = slides, + acr = database/acr, + bib = database/bib +]{skblocal.tex} + +\skbinput[from=rep]{style/preambule-article} +\newcommand{\departement}{Cadoles} +\newcommand{\numeroversion}{0.1} +\newcommand{\adresse}{29 bis, rue de l’Arquebuse} +\newcommand{\codepostal}{21000} +\newcommand{\ville}{Dijon} +\newcommand{\telephone}{03 73 27 02 86} + + +\begin{document} +\title{Guide d’utilisation de la mallette pédagogique} + +\author{Cadoles} + + + +\date{{\small \today}} +\maketitle + +\skbinput[from=rep]{style/title} + +% Corps de la formation +%\skbinput[from=rep]{} +\newpage +\part{Description} +\section{Matériel} +\subsection{Aperçu} +Le projet de mallette pédagogique porté par la MJC de Chenôve consiste en un réseau local permettant le partage de données et la participation à des activités numériques communes. Neuf ordinateurs au total et un routeur réseau permettront de mettre en place des activités pour huit participants et un animateur. + +Dans la première phase du projet, la mallette pédagogique est constitué de deux ordinateurs portables et d’un routeur sans fil. Ces trois éléments suffisent à mettre en place l’infrastructure type de la mallette pédagogique. +\skbfigure[center,width=\textwidth]{mallette_pedagogique/architecture.png} +\subsection{Le routeur sans fil} +L’équipement sélectionné permet de connecter des équipements récents en nombre suffisant. La plupart des fonctionnalités avancés du routeur ne sont pas utilisées dans le cadre de la mallette pédagogique. +\subsection{Les ordinateurs portables} +Les ordinateurs portables sélectionnés ont des caractéristiques techniques compatibles avec des usages très divers : le jeu, l’édition vidéo et sonore, l’édition graphique. + +Deux profils d’ordinateurs ont été retenu : l’ordinateur de l’animateur est une version similaire aux ordinateurs des autres participants avec un ajout de mémoire vive et d’espace disque. + +Chaque ordinateur dispose du système d’exploitation Ubuntu dans la version LTS 20.04. +Ce système d’exploitation propose, par défaut, l’environnement graphique \emph{GNOME 3}. +Un compte d’administration local est créé sur chaque ordinateur : \emph{mjcadm}. +Le mot de passe à la livraison est \emph{mjc2020}. + +\subsection{Récapitulatif} +\begin{itemize} + \item routeur NETGEAR XR700 ; + \item un ordinateur portable Terra mobile 1777 (Intel Core i5-8250U, 16 Go, NVIDIA Geforce MX250) ; + \item un ordinateur portable Terra mobile 1777 (Intel Core i5-8250U, 8 Go, NVIDIA Geforce MX250). +\end{itemize} +\newpage +\part{Séance de travail} +\section{Préparation d’une séance de travail} +Une séance de travail met en œuvre des dossiers et de documents partagés selon les profils connectés. La préparation d’une séance de travail consiste donc principalement à créer les ressources partagées, à les rendre accessibles aux participants, et à créer les profils des participants. +\subsection{Préparation des comptes} +La gestion de l’identité et des permissions de la mallette pédagogique est assurée par le composant \emph{freeipa} dont l’interface d’administration est accessible à l’adresse \url{https://freeipa.mjc.local}. +L’ordinateur de l’animateur dispose également d’une application simplifiant la création de groupes et d’utilisateurs. +L’application doit être démarrée par un utilisateur disposant des droits suffisants, soit le compte administrateur local \emph{mjcadm}, soit un compte appartenant au groupe \emph{animateurs}. + +\subsubsection{admino} +L’application \emph{admino} propose la création d’utilisateurs et de groupes. +L’accès à ces actions se fait en cliquant sur l’item correspondant dans le menu de gauche. +\skbfigure[center,width=\textwidth]{mallette_pedagogique/admino.png} +\subsubsection{Création de groupes} +Un clic sur l’entrée \menu{DROITS \& ACCÈS>Groupes} affiche la liste des groupes dans la partie droite de l’application. +\skbfigure[center,width=\textwidth]{mallette_pedagogique/admino_liste_groupes.png} +Le bouton \menu{Ajouter un Groupe} affiche le formulaire permettant de créer un groupe. +\skbfigure[center,width=\textwidth]{mallette_pedagogique/admino_création_groupes.png} +Pour chaque groupe créé, un sous répertoire du même nom est créé dans \directory{/var/data/groups} + +\subsubsection{Création d’utilisateurs} +Le concept d’utilisateur permet, dans le cadre de la mallette pédagogique, de contrôler les accès aux ressources partagées. +Un utilisateur, pour avoir accès aux ressources, doit être associé aux bons groupes. +Un clic sur l’entrée \menu{DROITS \& ACCÈS>Utilisateurs} affiche la liste des utilisateurs dans la partie droite de l’application. +\skbfigure[center,width=\textwidth]{mallette_pedagogique/admino_liste_utilisateurs.png} +Le bouton \menu{Ajouter un Utilisateur} affiche le formulaire permettant de créer un utilisateur. +\skbfigure[center,width=\textwidth]{mallette_pedagogique/admino_création_utilisateurs.png} +Les utilisateurs sont créés avec des mots de passe temporaires qui doivent être modifiés à la première ouverture de session. +Les répertoires personnels des utilisateurs sont stockés localement sur l’ordinateur sur lequel la session est ouverte pour offrir de meilleurs performances pour les applications requérant des accès aux fichiers performants. + +\subsection{Stratégie de création de compte} +La mallette pédagogique n’a pas vocation à conserver les données personnelles des utilisateurs d’une séance à l’autre mais uniquement les données partagées. +Chaque participant doit disposer d’un compte qui lui est propre à l’échelle de la séance de travail pour ouvrir une session sur un ordinateur. +Cependant, un compte peut être réutilisé par plusieurs personnes lors de session de travail différentes. + +\subsubsection{Un compte par participant unique} +Lors de la préparation de chaque séance, l’animateur ou l’administrateur créé un compte pour chaque participant identifié. +Le compte est associé aux groupes adéquats pour l’accès aux ressources nécessaires à la session de travail. + +\subsubsection{Des comptes génériques} +Lors de la préparation de chaque séance, l’animateur ou l’administrateur modifie les groupes associés des comptes génériques. +La remise à zéro des mots de passe doit toutefois être effectuée via l’application \emph{freeipa}. + +\subsection{Préparation des ressources partagées} +\subsubsection{Répertoires partagés} +L’ordinateur de l’animateur héberge des répertoires partagés qui sont mis à disposition des participants via le réseau. + +Le répertoire racine sur l’ordinateur de l’animateur est \directory{/var/data/groups}. Les sous-dossiers sont créés lors de la création des groupes via l’application \emph{admino}. + +Sur les postes des participants, les répertoires partagés sont accessibles aux utilisateurs du groupe via l’explorateur de fichiers, l’application \emph{nautilus}, grâce au raccourci \emph{groups} ajouté dans le volet gauche de l’application. +\subsubsection{Les documents} +L’ordinateur de l’animateur dispose des logiciels adéquats pour la création de divers supports d’animation : +\begin{itemize} + \item diaporama : libreoffice Impress + \item documents divers : libreoffice Writer + \item infographie : libreoffice Draw, inkscape, gimp + \item publication avancée : scribus + \item ressources multimédia : éditeurs vidéo non linéaire, audacity +\end{itemize} +Les documents créés sont mis à disposition des participants en les copiant dans les répertoires des groupes. +\subsubsection{La base de connaissance} +Une base de connaissance est également disponible sous la forme d’un wiki accessible à l’adresse \url{https://master.mjc.local:8021/dokuwiki}. +Un accès simplifié est paramétré sur chaque ordinateur sous la forme d’une icône. + +Seuls les membres du groupe \emph{animateurs} ont les droits suffisants pour la création et l’édition de page dans le wiki. +\newpage +\part{Entretien} +\section{Mise à jour régulière} +Les ordinateurs nécessitent une mise à jour régulière impliquant un accès aux dépôts de paquets, généralement sur internet. +La configuration du routeur réseau permet d’activer l’accès à internet le reliant simplement à un équipement type routeur-modem via un cable ethernet branché sur la prise jaune identifiée par le nom \emph{internet}. +Tous les ordinateurs connectés au réseau sans fil diffusé par le routeur ont accès à internet dès lors que la connexion du routeur à internet est effective. + +La mise à jour n’est pas automatisée. + +\section{Nettoyage des disques des ordinateurs} +L’ouverture de session sur les ordinateurs créé automatiquement des répertoires pour les utilisateurs. +Il n’existe pas de règles permettant d’automatiser la suppression des répertoires des utilisateurs. +Cette opération est donc manuelle. + +\newpage +\skbinput[from=rep]{licences/license-cc-by-sa-2.0} + +\end{document} diff --git a/presentations/mallette_pedagogique/programme/contenu.tex b/presentations/mallette_pedagogique/programme/contenu.tex new file mode 100644 index 0000000..e69de29 diff --git a/presentations/mallette_pedagogique/programme/duree.tex b/presentations/mallette_pedagogique/programme/duree.tex new file mode 100644 index 0000000..8f1d0b2 --- /dev/null +++ b/presentations/mallette_pedagogique/programme/duree.tex @@ -0,0 +1 @@ +3 jours. \ No newline at end of file diff --git a/presentations/mallette_pedagogique/programme/evaluation.tex b/presentations/mallette_pedagogique/programme/evaluation.tex new file mode 100644 index 0000000..aba3bbb --- /dev/null +++ b/presentations/mallette_pedagogique/programme/evaluation.tex @@ -0,0 +1 @@ +L'appropriation des connaissances est contrôlée par des travaux pratiques durant la formation. \ No newline at end of file diff --git a/presentations/mallette_pedagogique/programme/moyens.tex b/presentations/mallette_pedagogique/programme/moyens.tex new file mode 100644 index 0000000..cca2045 --- /dev/null +++ b/presentations/mallette_pedagogique/programme/moyens.tex @@ -0,0 +1,4 @@ +\begin{itemize} +\item une salle de formation équipée d'ordinateurs avec infrasctructure de démonstration pour les travaux pratiques ; +\item un formateur avec l'expérience de l'installation et de la maintenance des solutions présentées. +\end{itemize} \ No newline at end of file diff --git a/presentations/mallette_pedagogique/programme/objectifs.tex b/presentations/mallette_pedagogique/programme/objectifs.tex new file mode 100644 index 0000000..5bb9785 --- /dev/null +++ b/presentations/mallette_pedagogique/programme/objectifs.tex @@ -0,0 +1 @@ +Le participant à la formation est autonome pour l'administration des serveurs et la recherche d'informations en vue de résoudre les incidents. \ No newline at end of file diff --git a/presentations/mallette_pedagogique/programme/prerequis.tex b/presentations/mallette_pedagogique/programme/prerequis.tex new file mode 100644 index 0000000..dbb8180 --- /dev/null +++ b/presentations/mallette_pedagogique/programme/prerequis.tex @@ -0,0 +1 @@ +Avoir suivi la formation tronc commun. \ No newline at end of file diff --git a/presentations/mallette_pedagogique/programme/public.tex b/presentations/mallette_pedagogique/programme/public.tex new file mode 100644 index 0000000..742cbec --- /dev/null +++ b/presentations/mallette_pedagogique/programme/public.tex @@ -0,0 +1 @@ +La formation vise toute personne ayant en charge des tâches d'administration sur des serveurs équipés des modules EOLE ScribeAD ou EOLE Horus. \ No newline at end of file diff --git a/presentations/modules_EOLE_envole/tronc_commun_1.tex b/presentations/modules_EOLE_envole/tronc_commun_1.tex new file mode 100644 index 0000000..d52b1b0 --- /dev/null +++ b/presentations/modules_EOLE_envole/tronc_commun_1.tex @@ -0,0 +1,84 @@ +\documentclass{beamer} + +\usepackage{skb} + +\skbconfig[ + root = ../../, + rep = content, + pub = presentations, + fig = figures, + sli = slides, + acr = database/acr, + bib = database/bib +]{skblocal.tex} + +\newcommand{\pdfauthor}{Cadoles} +\newcommand{\pdftitle}{Formation tronc commun niveau 1} +\newcommand{\pdfkeywords}{EOLE} + +\skbinput[from=sli]{style/preambule} + +\title[]{Formation tronc commun niveau 1} +\subtitle{XXX CLIENT XXX} + +\author[Equipe Auteur]{Cadoles} + +\institute[Cadoles]{\skbfigure[width=2cm]{cadoles/logo_01.png}} + +\date{{\small \today}} + +\subject{Talks} + +%\skbinput[]{style/formation\_en} + +\begin{document} + +\skbinput[from=sli]{style/title} + +% Corps de la formation +\section{Introduction} +\skbinput[from=sli]{modules_EOLE_envole/commun/intro} +\skbinput[from=sli]{modules_EOLE_envole/commun/nouveautes26} +\skbinput[from=sli]{modules_EOLE_envole/commun/nouveautes27} +\section{Panorama des modules} +\skbinput[from=sli]{modules_EOLE_envole/amon/description} +\skbinput[from=sli]{modules_EOLE_envole/sphynx/description} +\skbinput[from=sli]{modules_EOLE_envole/scribe/description} +\skbinput[from=sli]{modules_EOLE_envole/horus/description} +\skbinput[from=sli]{modules_EOLE_envole/amonecole/description} +\skbinput[from=sli]{modules_EOLE_envole/eclair/description} +\skbinput[from=sli]{modules_EOLE_envole/zephir/description} +\skbinput[from=sli]{modules_EOLE_envole/seshat/description} +\skbinput[from=sli]{modules_EOLE_envole/thot/description} +\skbinput[from=sli]{modules_EOLE_envole/hapy/description} +\section{Les quatre phases} +\skbinput[from=sli]{modules_EOLE_envole/commun/quatre_phases} +\skbinput[from=sli]{modules_EOLE_envole/scribe/virtualbox} +\skbinput[from=sli]{modules_EOLE_envole/commun/quatre_phases-pratique} +\section{Administration commune} +\skbinput[from=sli]{modules_EOLE_envole/commun/instance-reconfigure} +\skbinput[from=sli]{modules_EOLE_envole/commun/mise-a-jour} +\skbinput[from=sli]{modules_EOLE_envole/commun/diagnose} +\skbinput[from=sli]{modules_EOLE_envole/commun/diagnose-pratique} +%\skbinput[from=sli]{modules_EOLE_envole/commun/conteneurs} +\skbinput[from=sli]{modules_EOLE_envole/commun/firewall} +\skbinput[from=sli]{modules_EOLE_envole/commun/schedule} +\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/zpratique} +\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/onduleur} +\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/onduleur-pratique} +\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/trouver} +\section{Interfaces d'administration EOLE} +\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/ead} +\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/interface-semi-graphique} +\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/application-zephir} +\section{GNU/Linux} +\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/gnu_linux} +\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/tcpdump-tshark} +\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/commande-distance} +\section{Application Zéphir 2} +\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/application-zephir2} +\section{Migration} +\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/migration-zephir} +\skbinput[from=sli]{style/license-cc-by-sa-2.0} + +\end{document} diff --git a/presentations/modules_EOLE_envole/tronc_commun_2.tex b/presentations/modules_EOLE_envole/tronc_commun_2.tex new file mode 100644 index 0000000..cdd108b --- /dev/null +++ b/presentations/modules_EOLE_envole/tronc_commun_2.tex @@ -0,0 +1,67 @@ +\documentclass{beamer} + +\usepackage{skb} + +\skbconfig[ + root = ../../, + rep = content, + pub = presentations, + fig = figures, + sli = slides, + acr = database/acr, + bib = database/bib +]{skblocal.tex} + +\newcommand{\pdfauthor}{Cadoles} +\newcommand{\pdftitle}{Formation tronc commun niveau 1} +\newcommand{\pdfkeywords}{EOLE} + +\skbinput[from=sli]{style/preambule} + +\title[]{Formation tronc commun niveau 2} +\subtitle{XXX CLIENT XXX} + +\author[Equipe Auteur]{Cadoles} + +\institute[Cadoles]{\skbfigure[width=2cm]{cadoles/logo_01.png}} + +\date{{\small \today}} + +\subject{Talks} + +\logo{ + \hspace{120pt} + \skbfigure[width=2cm]{cadoles/logo_01.png} + \hspace{113pt} + \skbfigure[width=1cm]{en/logo.png} +} + +\begin{document} + +\skbinput[from=sli]{style/title} + +% Corps de la formation + +\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-2/personnalisation-creole} +\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-2/zephir} +\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-2/zephir_script} +\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-2/api} +\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-2/api_bash} +\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-2/diagnose} +\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-2/script-instance-reconfigure} +\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-2/script-instance-reconfigure-pratique} +\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-2/montage-conteneur} +%\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-2/eole-firewall} +\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-2/schedule} +\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-2/host} +\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-2/mysql} +\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-2/interface} +\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-2/disknod} +\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-2/sso} +\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-2/script-ead} +\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-2/sauvegarde} +\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-2/conteneur_groupe_conteneur} +\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-2/cert} +\skbinput[from=sli]{style/license-cc-by-sa-2.0} + +\end{document} diff --git a/presentations/nc/pdfpcnotes.sty b/presentations/nc/pdfpcnotes.sty new file mode 100644 index 0000000..7e1c71f --- /dev/null +++ b/presentations/nc/pdfpcnotes.sty @@ -0,0 +1,70 @@ +\ProvidesPackage{pdfpcnotes} + +% Handling of kv parameters. +% We have the following options, that all take time in the HH:MM format +\RequirePackage{kvoptions} +\SetupKeyvalOptions{ + family=PDFPC, + prefix=PDFPC@ +} +\DeclareStringOption{duration} +\DeclareStringOption{starttime} +\DeclareStringOption{endtime} +\DeclareStringOption{lastminutes} +\DeclareStringOption{fontsize} + +\ProcessKeyvalOptions* + +% Small macro to make inserting options easier. +\newcommand\PDFPC@option[2]{ + \ifx#2\@empty\else + \immediate\write\pdfpcnotesfile{[#1]}% + \immediate\write\pdfpcnotesfile{#2}% + \fi +} + +% create a new file handle +\newwrite\pdfpcnotesfile + +% open file on \begin{document} +\AtBeginDocument{% + \immediate\openout\pdfpcnotesfile\jobname.pdfpc\relax + \PDFPC@option{duration}{\PDFPC@duration} + \PDFPC@option{start_time}{\PDFPC@starttime} + \PDFPC@option{end_time}{\PDFPC@endtime} + \PDFPC@option{last_minutes}{\PDFPC@lastminutes} + \PDFPC@option{font_size}{\PDFPC@fontsize} + \immediate\write\pdfpcnotesfile{[notes]} +} +% define a # http://tex.stackexchange.com/a/37757/10327 +\begingroup + \catcode`\#=12 + \gdef\hashchar{#}% +\endgroup + + +\def\lastframenumber{0} + +% define command \pnote{} that works like note but +% additionally writes notes to file in pdfpc readable format +\newcommand{\pnote}[1]{% + % keep normal notes working + \note{#1}% + + % if frame changed - write a new header + \ifdim\theframenumber pt>\lastframenumber pt + \let\lastframenumber\theframenumber + \begingroup + \let\#\hashchar + \immediate\write\pdfpcnotesfile{\#\#\# \theframenumber}% + \endgroup + \fi + + % write note to file + \immediate\write\pdfpcnotesfile{\unexpanded{#1}}% +} +% close file on \end{document} +\AtEndDocument{% + \immediate\closeout\pdfpcnotesfile +} + diff --git a/presentations/nc/tc1_scribe_horus_nc.pdfpc b/presentations/nc/tc1_scribe_horus_nc.pdfpc new file mode 100644 index 0000000..9fb5fdd --- /dev/null +++ b/presentations/nc/tc1_scribe_horus_nc.pdfpc @@ -0,0 +1,7 @@ +[notes] +### 54 +Se faciliter la vie en désactivant la validation des mots de passe et le timeout +### 123 +copier la clef publique : scp root@:/etc/ssl/certs/ca\_local.crt /usr/local/share/ca-certificates/ update-ca-certificates +### 294 +test des notes standard diff --git a/presentations/nc/tc1_scribe_horus_nc.tex b/presentations/nc/tc1_scribe_horus_nc.tex new file mode 100644 index 0000000..e22bcc4 --- /dev/null +++ b/presentations/nc/tc1_scribe_horus_nc.tex @@ -0,0 +1,249 @@ +\documentclass{beamer} + +\usepackage{skb} + +\skbconfig[ + root = ../../, + rep = content, + pub = presentations, + fig = figures, + sli = slides, + acr = database/acr, + bib = database/bib +]{skblocal.tex} + +\skbinput[from=sli]{style/preambule} + +\title[]{Formation tronc commun, Scribe et Horus} +\subtitle{Formation du PNF} + +\author[Equipe Auteur]{Cadoles} + +\institute[Cadoles]{\skbfigure[width=2cm]{cadoles/logo_01.png}} + +\date{{\small 8-11 avril 2019}} + +\subject{Talks} + +\AtBeginSubsection[] +{ + \begin{frame} + \frametitle{} + % This Shade the other sections, show the current subsections and shade the other subsections + \tableofcontents[ + sectionstyle=show/shaded, + subsectionstyle=show/shaded/hide, + ] + \end{frame} +} + +\begin{document} + +\skbinput[from=sli]{style/title} + +% Corps de la formation +%\skbinput[from=sli]{} + +\section{Introduction} +\subsection{Présentations} +\skbinput[from=sli]{presentation/formateurs/bbohard} +\skbinput[from=sli]{presentation/stagiaires/etvous} +\begin{frame} + \frametitle{À propos de cette formation} + \framesubtitle{Contenu} + Cette formation est composée d’éléments des formations du PNF du ministère de l’Éducation nationale : + \begin{itemize} + \item une version condensée de la formation tronc commun niveau 1 ; + \item la formation Scribe, Horus. + \end{itemize} +\end{frame} +\begin{frame} + \frametitle{À propos de cette formation} + \framesubtitle{Objectifs} + L’objectif de cette formation est de vous rendre à l’aise dans l’utilisation des serveurs EOLE qui sont mis en place dans votre infrastructure. +\end{frame} +\begin{frame} + \frametitle{À propos de cette formation} + \framesubtitle{Objectifs} + Partagez-vous cet objectif ? + + Quels objectifs personnels souhaiteriez-vous atteindre en plus ? +\end{frame} + +%%sss + +\subsection{EOLE} +\skbinput[from=sli]{modules_EOLE_envole/commun/00-intro} +\skbinput[from=sli]{modules_EOLE_envole/zephir/description} +\skbinput[from=sli]{modules_EOLE_envole/hapy/description} +\skbinput[from=sli]{modules_EOLE_envole/amon/description} +\skbinput[from=sli]{modules_EOLE_envole/sphynx/description} +\skbinput[from=sli]{modules_EOLE_envole/scribe/description} +\skbinput[from=sli]{modules_EOLE_envole/horus/description} +\skbinput[from=sli]{modules_EOLE_envole/seth/description} +\skbinput[from=sli]{modules_EOLE_envole/thot/description} +\skbinput[from=sli]{modules_EOLE_envole/amonecole/description} +\skbinput[from=sli]{modules_EOLE_envole/eclair/description} +\skbinput[from=sli]{modules_EOLE_envole/commun/01-nouveaute25} +\skbinput[from=sli]{modules_EOLE_envole/commun/01-nouveaute26} +\skbinput[from=sli]{modules_EOLE_envole/commun/01-nouveaute27} +\skbinput[from=sli]{modules_EOLE_envole/commun/ecosysteme} +\subsection{Infrastructure de formation} +{\setbeamercolor{background canvas}{bg=TravauxPratiques} +\begin{frame} + \frametitle{} + Logiciel de virtualisation utilisé : VirtualBox. + + Liste des machines à copier : + \begin{itemize} + \item zephir-formation.ova ; + \item scribe-formation.ova ; + \item horus-formation.ova ; + \item pc1-formation.ova ; + \item RouteurEole.ova. + \end{itemize} +\end{frame} +\begin{frame} + \frametitle{VirtualBox} + \framesubtitle{Réseau privé hôte} + Les VM utiliseront un réseau privé hôte avec les paramètres suivants : + \begin{itemize} + \item Adresse IPv4 : 192.168.253.1 + \item Masque réseau IPv4 : 255.255.255.0 + \item serveur DHCP désactivé + \end{itemize} + Pour assurer la connexion avec l’extérieur, on utilisera la machine RouteurEole.ova +\end{frame} +} +\skbinput[from=sli]{modules_EOLE_envole/zephir/virtualbox} +\skbinput[from=sli]{modules_EOLE_envole/scribe/virtualbox} +\skbinput[from=sli]{modules_EOLE_envole/horus/virtualbox} +\skbinput[from=sli]{modules_EOLE_envole/client_windows/virtualbox} + +\skbinput[from=sli]{pauses/simple} + +\section{Tronc commun} +\subsection{Les quatre phases} +\skbinput[from=sli]{modules_EOLE_envole/commun/installation} +\skbinput[from=sli]{modules_EOLE_envole/commun/installation-pratique} +\skbinput[from=sli]{modules_EOLE_envole/commun/configuration} +\skbinput[from=sli]{modules_EOLE_envole/commun/02-gen_config} +\skbinput[from=sli]{modules_EOLE_envole/zephir/configuration-locale-pratique} +\skbinput[from=sli]{modules_EOLE_envole/commun/instance} +\skbinput[from=sli]{modules_EOLE_envole/zephir/instance-pratique} +\skbinput[from=sli]{modules_EOLE_envole/commun/administration} + +\subsection{Administration commune} +\skbinput[from=sli]{modules_EOLE_envole/commun/02-instance-reconfigure} +\skbinput[from=sli]{modules_EOLE_envole/commun/03-mise-a-jour} +\skbinput[from=sli]{modules_EOLE_envole/commun/04-diagnose} +\skbinput[from=sli]{modules_EOLE_envole/zephir/diagnose-pratique} +\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/06-firewall} +\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/06-schedule} +\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/06-zpratique} +%\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/07-onduleur} +%\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/07-onduleur-pratique} +\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/08-trouver} +\skbinput[from=sli]{modules_EOLE_envole/zephir/genrpt-pratique} + +\skbinput[from=sli]{pauses/simple} + +\subsection{Interfaces d'administration EOLE} +\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/30-ead} +\skbinput[from=sli]{modules_EOLE_envole/zephir/ead-pratique} +\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/31-interface-semi-graphique} +\skbinput[from=sli]{modules_EOLE_envole/zephir/interface-semi-graphique-pratique} + +\subsection{Application Zéphir 1} +\skbinput[from=sli]{modules_EOLE_envole/zephir/concepts} +\skbinput[from=sli]{modules_EOLE_envole/zephir/utilisateurs} +\skbinput[from=sli]{modules_EOLE_envole/zephir/interface} +\skbinput[from=sli]{modules_EOLE_envole/zephir/interface-parametre-utilisateur} +\skbinput[from=sli]{modules_EOLE_envole/zephir/interface-etablissement} +\skbinput[from=sli]{modules_EOLE_envole/zephir/utilisateurs-locaux-pratique} + +\skbinput[from=sli]{pauses/simple} + +\subsection{GNU/Linux} +\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/20-gnu_linux} +\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/20-tcpdump-tshark} +\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/21-lire-ecrire} +\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/22-commande-distance} + +\skbinput[from=sli]{modules_EOLE_envole/horus/configuration-locale-pratique} +\skbinput[from=sli]{modules_EOLE_envole/horus/enregistrement-pratique} + +\subsection{Application Zéphir 2} +\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/11-application-zephir2} +\skbinput[from=sli]{modules_EOLE_envole/scribe/configuration-distante-pratique} +\skbinput[from=sli]{modules_EOLE_envole/scribe/enregistrement-pratique} + +\skbinput[from=sli]{pauses/simple} + +\section{Scribe} +\subsection{Utilisateurs} +\skbinput[from=sli]{modules_EOLE_envole/scribe/01-utilisateur} +\skbinput[from=sli]{modules_EOLE_envole/scribe/utilisateurs-pratique} +\skbinput[from=sli]{modules_EOLE_envole/scribe/31-scripts-user-scribe} +\subsection{Machines} +%\include{modules_EOLE_envole/scribe/10-machine_conf_reseau} %configuration selon le mode réseau choisi pour les VM +\skbinput[from=sli]{modules_EOLE_envole/scribe/integration-poste-client} +\skbinput[from=sli]{modules_EOLE_envole/scribe/integration-poste-client-pratique} +\skbinput[from=sli]{modules_EOLE_envole/scribe/12-machine-ead} +\skbinput[from=sli]{modules_EOLE_envole/scribe/machines-ead-pratique} +\skbinput[from=sli]{modules_EOLE_envole/scribe/12-machine-diagnostic} +\skbinput[from=sli]{modules_EOLE_envole/scribe/13-profil} +\skbinput[from=sli]{modules_EOLE_envole/scribe/profils-pratique} +\skbinput[from=sli]{modules_EOLE_envole/scribe/14-esu} +\skbinput[from=sli]{modules_EOLE_envole/scribe/esu-pratique} +\skbinput[from=sli]{modules_EOLE_envole/scribe/applications-icones} +\skbinput[from=sli]{modules_EOLE_envole/scribe/gestion-postes} +\skbinput[from=sli]{modules_EOLE_envole/scribe/gestion-postes-pratique} +%\skbinput[from=sli]{modules_EOLE_envole/scribe/devoirs} +\skbinput[from=sli]{modules_EOLE_envole/scribe/eop} +\skbinput[from=sli]{modules_EOLE_envole/scribe/eop-pratique} +\skbinput[from=sli]{modules_EOLE_envole/scribe/esu-diagnostic} +\skbinput[from=sli]{modules_EOLE_envole/scribe/esu-diagnostic-pratique} +\skbinput[from=sli]{modules_EOLE_envole/scribe/script-scribe} +\skbinput[from=sli]{modules_EOLE_envole/scribe/script-scribe-pratique} +\skbinput[from=sli]{modules_EOLE_envole/scribe/windows-distance} +\skbinput[from=sli]{modules_EOLE_envole/scribe/imprimante} +\skbinput[from=sli]{modules_EOLE_envole/scribe/corbeille} +\skbinput[from=sli]{modules_EOLE_envole/scribe/corbeille-pratique} +\skbinput[from=sli]{modules_EOLE_envole/scribe/virus} +\skbinput[from=sli]{modules_EOLE_envole/scribe/virus-pratique} +\skbinput[from=sli]{modules_EOLE_envole/scribe/ftp} +\skbinput[from=sli]{modules_EOLE_envole/scribe/ftp-pratique} +\subsection{Sauvegarde} +\skbinput[from=sli]{modules_EOLE_envole/scribe/sauvegarde} +\subsection{Communications} +\skbinput[from=sli]{modules_EOLE_envole/scribe/communication} +\skbinput[from=sli]{modules_EOLE_envole/scribe/communication-pratique} +\section{Horus} +\subsection{Configuration} +\skbinput[from=sli]{modules_EOLE_envole/horus/particularites-configuration} +\subsection{La logique métier} +\skbinput[from=sli]{modules_EOLE_envole/horus/utilisateurs} +\skbinput[from=sli]{modules_EOLE_envole/horus/utilisateurs-pratique} +\skbinput[from=sli]{modules_EOLE_envole/horus/administration} +\subsection{Machines} +%\include{modules_EOLE_envole/scribe/10-machine_conf_reseau} %configuration selon le mode réseau choisi pour les VM +\skbinput[from=sli]{modules_EOLE_envole/horus/integration-poste-client} +\skbinput[from=sli]{modules_EOLE_envole/horus/integration-poste-client-pratique} +\skbinput[from=sli]{modules_EOLE_envole/horus/02-machine-ead} +\skbinput[from=sli]{modules_EOLE_envole/horus/machines-ead-pratique} +\skbinput[from=sli]{modules_EOLE_envole/horus/esu} +\skbinput[from=sli]{modules_EOLE_envole/horus/script-horus} +\skbinput[from=sli]{modules_EOLE_envole/horus/script-horus-pratique} +\subsection{Les scripts administratifs} +\skbinput[from=sli]{modules_EOLE_envole/horus/scripts-administratifs} +\subsection{Les services web} +\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/30-ead} +\skbinput[from=sli]{modules_EOLE_envole/envole/ajout-application} +\skbinput[from=sli]{modules_EOLE_envole/envole/ajout-application-pratique} +\skbinput[from=sli]{modules_EOLE_envole/envole/liste-applications} +\skbinput[from=sli]{modules_EOLE_envole/envole/posh} + +\skbinput[from=sli]{licences/license-cc-by-sa-2.0} + +\end{document} diff --git a/presentations/nc/thematic_days_article.tex b/presentations/nc/thematic_days_article.tex new file mode 100644 index 0000000..1a4e7fd --- /dev/null +++ b/presentations/nc/thematic_days_article.tex @@ -0,0 +1,36 @@ +\documentclass{article} + +\usepackage{skb} + +\skbconfig[ + root = ../../, + rep = content, + pub = presentations, + fig = figures, + sli = slides, + acr = database/acr, + bib = database/bib +]{skblocal.tex} + +\skbinput[from=rep]{style/preambule_report} + +%\title[]{FIXME} +%\subtitle{FIXME} + +%\author[Equipe Auteur]{Cadoles} +% +%\institute[Cadoles]{\skbfigure[width=2cm]{cadoles/logo_01.png}} +% +% +%\date{{\small \today}} + +\begin{document} +\maketitle +\skbinput[from=rep]{style/title} + +% Corps de la formation +%\skbinput[from=rep]{} + +\skbinput[from=rep]{licences/license-cc-by-sa-2.0} + +\end{document} diff --git a/presentations/nc/theme_envole_nc.tex b/presentations/nc/theme_envole_nc.tex new file mode 100644 index 0000000..75a06ba --- /dev/null +++ b/presentations/nc/theme_envole_nc.tex @@ -0,0 +1,45 @@ +\documentclass{beamer} + +\usepackage{skb} + +\skbconfig[ + root = ../../, + rep = content, + pub = presentations, + fig = figures, + sli = slides, + acr = database/acr, + bib = database/bib +]{skblocal.tex} + +\skbinput[from=sli]{style/preambule} + +\title[]{Journée thématique Envole} +\subtitle{FIXME} + +\author[Equipe Auteur]{Cadoles} + +\institute[Cadoles]{\skbfigure[width=2cm]{cadoles/logo_01.png}} + +\date{{\small \today}} + +\subject{Talks} + +\AtBeginSubsection[] +{ + \begin{frame} + \frametitle{} + \tableofcontents[currentsection,currentsubsection] + \end{frame} +} + +\begin{document} + +\skbinput[from=sli]{style/title} + +% Corps de la formation +%\skbinput[from=sli]{} + +\skbinput[from=sli]{licences/license-cc-by-sa-2.0} + +\end{document} diff --git a/presentations/nc/theme_scribe_nc.tex b/presentations/nc/theme_scribe_nc.tex new file mode 100644 index 0000000..6fc62df --- /dev/null +++ b/presentations/nc/theme_scribe_nc.tex @@ -0,0 +1,45 @@ +\documentclass{beamer} + +\usepackage{skb} + +\skbconfig[ + root = ../../, + rep = content, + pub = presentations, + fig = figures, + sli = slides, + acr = database/acr, + bib = database/bib +]{skblocal.tex} + +\skbinput[from=sli]{style/preambule} + +\title[]{Journée thématique Scribe} +\subtitle{FIXME} + +\author[Equipe Auteur]{Cadoles} + +\institute[Cadoles]{\skbfigure[width=2cm]{cadoles/logo_01.png}} + +\date{{\small \today}} + +\subject{Talks} + +\AtBeginSubsection[] +{ + \begin{frame} + \frametitle{} + \tableofcontents[currentsection,currentsubsection] + \end{frame} +} + +\begin{document} + +\skbinput[from=sli]{style/title} + +% Corps de la formation +%\skbinput[from=sli]{} + +\skbinput[from=sli]{licences/license-cc-by-sa-2.0} + +\end{document} diff --git a/presentations/outils/git/formation_git.tex b/presentations/outils/git/formation_git.tex new file mode 100644 index 0000000..8a564e0 --- /dev/null +++ b/presentations/outils/git/formation_git.tex @@ -0,0 +1,202 @@ +\documentclass{beamer} + +\usepackage{skb} +%\usertheme{Madrid} +\setbeamercovered{transparent} +\setcounter{tocdepth}{2} +\usepackage[french]{babel} +%\usepackage[utf8,utf8x]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{xunicode} %Unicode extras! +\usepackage{xltxtra} %Fixes +\setmainfont{CaviarDreams} +\usepackage{multicol} +%\usepackage{colortbtl} +\usepackage{graphicx} +\usepackage{verbatim} % Pour l'insertion de fichier en mode verbatim +\usepackage{ucs} +\usepackage{tabto} +\usepackage{xcolor} +\usepackage{hyperref} +\usepackage{hyperxmp} +\usepackage{minted} +\usepackage{tikz} +\usepackage{gitdags} +%\usepackage{pstricks} +%\usepackage{pst-3d,pst-coil,pst-eps,pst-fill,pst-grad,pst-node,pst-plot,pst-text,pst-tree} + +\hypersetup{% + colorlinks=true,linkcolor=blue,urlcolor=blue,pdfpagemode=UseNone, + pdftitle={Formation Git}, + pdfkeywords={SCM, Git}, + pdfauthor={Benjamin Bohard}, + pdflang={fr-FR}, + pdfcopyright={Copyright © 2015 Cadoles}, % Nécessite XeTeX + pdflicenseurl={http://creativecommons.org/licenses/by-nc-sa/2.0/fr/}, +} +%\usecolortheme{crane} +\definecolor{UniBlue}{RGB}{83,121,180} +\definecolor{CleanWhite}{RGB}{255,255,255} +\definecolor{DirtyWhite}{RGB}{235,235,255} +\setbeamercolor{title}{fg=UniBlue} +\setbeamercolor{frametitle}{fg=CleanWhite} +\setbeamercolor{structure}{fg=UniBlue} +\setbeamertemplate{items}[circle] +\setbeamertemplate{blocks}[rounded][shadow=true] +\setbeamercolor{block body example}{bg=DirtyWhite} + +\skbconfig[ + root = ../../../, + rep = content, + pub = presentations, + fig = figures, + sli = slides, + acr = database/acr, + bib = database/bib +]{skblocal.tex} + +\setbeamertemplate{background} +{\skbinput[from=fig]{cadoles/gray_frame_background}} + +\newcommand{\commande}[1]{\texttt{\scriptsize{#1}}} + +\title[]{Formation Git} +\subtitle{Oberthur Cash Protection} + +\author[Equipe Auteur]{Benjamin Bohard} + +\institute[Cadoles]{\skbfigure[width=2cm]{cadoles/logo_01.png}} + +\date{{\small \today}} + +\subject{Talks} + +\AtBeginSubsection[] +{ + \begin{frame} + \frametitle{} + \tableofcontents[currentsection,currentsubsection] + \end{frame} +} + +\AtBeginSection[] +{ + \begin{frame} + \frametitle{} + \tableofcontents[currentsection] + \end{frame} +} + +%\logo{ +% \skbfigure[width=2cm]{cadoles/logo_01.png} +%} + +\begin{document} + +\skbinput[from=rep]{style/title} + +\part{Fondamentaux} +\frame{\partpage} +\frame{\tableofcontents[part=1]} +\section{Qu'attendre d'un SCM ?} +\skbinput[from=rep]{outils/scm/definition} +\skbinput[from=rep]{outils/scm/fonctionnalites_attendues} +\section{Les caractéristiques de git} +\skbinput[from=rep]{outils/scm/git/presentation} +\skbinput[from=rep]{outils/scm/git/decentralise} +\skbinput[from=rep]{outils/scm/git/stockage} +\skbinput[from=rep]{outils/scm/git/etats_fichier} +\section{S'adapter au processus} +\skbinput[from=rep]{outils/scm/workflow/branching} +\skbinput[from=rep]{outils/scm/workflow/driessen} +\skbinput[from=rep]{outils/scm/workflow/driessen/schema} +\skbinput[from=rep]{commun/questions} +\part{Préparation} +\frame{\partpage} +\section{Installation} +\subsection{Côté \emph{client}} +\skbinput[from=rep]{outils/scm/git/installation/windows} +\skbinput[from=rep]{outils/scm/git/installation/macos} +\skbinput[from=rep]{outils/scm/git/installation/linux} +\subsection{Côté \emph{serveur}} +\skbinput[from=rep]{outils/scm/git/web/basicssh} +\skbinput[from=rep]{outils/scm/git/web/gitolite} +\skbinput[from=rep]{outils/scm/git/web/gitlab} +\skbinput[from=rep]{outils/scm/git/web/gogs} +\section{Configuration} +\subsection{Utilisateur} +\skbinput[from=rep]{outils/scm/git/configuration/presentation} +\skbinput[from=rep]{outils/scm/git/configuration/user} +\subsection{Ergonomie} +\skbinput[from=rep]{outils/scm/git/configuration/alias} +\skbinput[from=rep]{outils/scm/git/configuration/editeur} +\skbinput[from=rep]{outils/scm/git/configuration/shell} +\subsection{Hooks} +\skbinput[from=rep]{outils/scm/git/configuration/hooks} +\part{Récapitulatif des commandes} +\frame{\partpage} +\section{Pour démarrer un projet} +\skbinput[from=rep]{outils/scm/git/commandes/init} +\skbinput[from=rep]{outils/scm/git/commandes/clone} +\section{Pour faire le point} +\skbinput[from=rep]{outils/scm/git/commandes/status} +\skbinput[from=rep]{outils/scm/git/commandes/ls-files} +\skbinput[from=rep]{outils/scm/git/commandes/diff} +\skbinput[from=rep]{outils/scm/git/commandes/log} +\skbinput[from=rep]{outils/scm/git/commandes/grep} +\skbinput[from=rep]{outils/scm/git/commandes/cherry} +\skbinput[from=rep]{outils/scm/git/commandes/show} +\skbinput[from=rep]{outils/scm/git/commandes/bisect} +\skbinput[from=rep]{outils/scm/git/commandes/blame} +\section{Pour modifier le contenu du dépôt} +\skbinput[from=rep]{outils/scm/git/commandes/checkout} +\skbinput[from=rep]{outils/scm/git/commandes/fetch} +\skbinput[from=rep]{outils/scm/git/commandes/pull} +\skbinput[from=rep]{outils/scm/git/commandes/merge} +\skbinput[from=rep]{outils/scm/git/commandes/rebase} +\skbinput[from=rep]{outils/scm/git/commandes/add} +\skbinput[from=rep]{outils/scm/git/commandes/commit} +\skbinput[from=rep]{outils/scm/git/commandes/push} +\skbinput[from=rep]{outils/scm/git/commandes/cherry-pick} +\skbinput[from=rep]{outils/scm/git/commandes/reset} +\skbinput[from=rep]{outils/scm/git/commandes/clean} +\skbinput[from=rep]{outils/scm/git/commandes/revert} +\skbinput[from=rep]{outils/scm/git/commandes/filter-branch} +\section{Pour organiser son développement} +\skbinput[from=rep]{outils/scm/git/commandes/branch} +\skbinput[from=rep]{outils/scm/git/commandes/tag} +\section{Aide-mémoire} +\skbinput[from=rep]{outils/scm/git/commandes} +\part{Mise en pratique} +\frame{\partpage} +\section{Mise en place} +\skbinput[from=rep]{outils/scm/git/exercices/exercice_01} +\skbinput[from=rep]{outils/scm/git/exercices/exercice_01/steps} +\skbinput[from=rep]{outils/scm/git/exercices/exercice_02} +\skbinput[from=rep]{outils/scm/git/exercices/exercice_02/steps} +\skbinput[from=rep]{outils/scm/git/exercices/exercice_03} +\skbinput[from=rep]{outils/scm/git/exercices/exercice_03/steps} +\section{Dépôt individuel} +\skbinput[from=rep]{outils/scm/git/exercices/exercice_04} +\skbinput[from=rep]{outils/scm/git/exercices/exercice_04/steps} +\skbinput[from=rep]{outils/scm/git/exercices/exercice_05} +\skbinput[from=rep]{outils/scm/git/exercices/exercice_05/steps} +\skbinput[from=rep]{outils/scm/git/exercices/exercice_06} +\skbinput[from=rep]{outils/scm/git/exercices/exercice_06/steps} +\skbinput[from=rep]{outils/scm/git/exercices/exercice_07} +\skbinput[from=rep]{outils/scm/git/exercices/exercice_07/steps} +\section{Dépôt commun} +\skbinput[from=rep]{outils/scm/git/exercices/exercice_08} +\skbinput[from=rep]{outils/scm/git/exercices/exercice_08/steps} +\skbinput[from=rep]{outils/scm/git/exercices/exercice_09} +%\skbinput[from=rep]{outils/scm/git/exercices/exercice_09/steps} +\section{Paquet debian} +\skbinput[from=rep]{outils/scm/git/exercices/exercice_10} +\skbinput[from=rep]{outils/scm/git/exercices/exercice_10/steps} +\part{Pour aller plus loin} +\frame{\partpage} +\skbinput[from=rep]{outils/scm/git/references/references} +\part{licence} +\skbinput[from=rep]{licences/license-cc-by-sa-2.0} + +\end{document} diff --git a/presentations/outils/git/gitdags.sty b/presentations/outils/git/gitdags.sty new file mode 100644 index 0000000..d247052 --- /dev/null +++ b/presentations/outils/git/gitdags.sty @@ -0,0 +1,279 @@ +%% +%% Copyright (C) 2014 by Julien Cretel +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% +%% http://www.latex-project.org/lppl.txt +%% +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +%% +%% This work has the LPPL maintenance status `maintained'. +%% +%% The Current Maintainer of this work is Julien Cretel. +%% +%% This work currently consists of the file gitdags.sty. +%% +\NeedsTeXFormat{LaTeX2e}[2011/06/27] +\ProvidesClass{gitdags} + [2014/08/28 v0.1 A package for drawing educational Git history graphs] + +\DeclareOption*{\PassOptionsToPackage{\CurrentOption}{tikz}} +\ProcessOptions\relax + +\RequirePackage{xcolor-solarized} +\RequirePackage{tikz} +\usetikzlibrary{ + arrows.meta, + graphs, + positioning, + shadows, + shapes, +} + +% conflict color +\colorlet{conflictcolor}{red} + +% custom shape, adapted from 102.5.3 in the TikZ 3.0 manual +\pgfdeclareshape{dogeared}{ + \inheritsavedanchors[from=rectangle] + \inheritanchorborder[from=rectangle] + \inheritanchor[from=rectangle]{center} + \inheritanchor[from=rectangle]{north} + \inheritanchor[from=rectangle]{south} + \inheritanchor[from=rectangle]{west} + \inheritanchor[from=rectangle]{east} + \backgroundpath{% + \southwest \pgf@xa=\pgf@x \pgf@ya=\pgf@y + \northeast \pgf@xb=\pgf@x \pgf@yb=\pgf@y + \pgf@xc=\pgf@xb \advance\pgf@xc by-5pt + \pgf@yc=\pgf@yb \advance\pgf@yc by-5pt + \pgfpathmoveto{\pgfpoint{\pgf@xa}{\pgf@ya}} + \pgfpathlineto{\pgfpoint{\pgf@xa}{\pgf@yb}} + \pgfpathlineto{\pgfpoint{\pgf@xc}{\pgf@yb}} + \pgfpathlineto{\pgfpoint{\pgf@xb}{\pgf@yc}} + \pgfpathlineto{\pgfpoint{\pgf@xb}{\pgf@ya}} + \pgfpathclose + \pgfpathmoveto{\pgfpoint{\pgf@xc}{\pgf@yb}} + \pgfpathlineto{\pgfpoint{\pgf@xc}{\pgf@yc}} + \pgfpathlineto{\pgfpoint{\pgf@xb}{\pgf@yc}} + \pgfpathclose + } +} + +% To cancel a shadow (see http://tex.stackexchange.com/a/198298/21891) +\tikzset{reset preaction/.code={\def\tikz@preactions{}}} + +% --- repository history graphs --- +% style definitions +\tikzset{ + gitdags node/.style={ + draw, + node distance = 1.4em, + drop shadow = {opacity=0.15}, + font = \fontfamily{lmtt}\selectfont\small, + }, + DAGref/.style={ + gitdags node, + shape = rectangle, + minimum height = 1.4em, + draw = solarized-base01, + thick, + font = \fontfamily{lmtt}\selectfont\scriptsize, + }, + DAGedge/.style={ + semithick, + Latex-, + draw = gray, + }, + DAGrefedge/.style={ + DAGedge, + thick, + densely dotted, + }, + DAGcommit/.style={ + gitdags node, + shape = rounded rectangle, + rounded rectangle arc length = 90, + minimum height = 1.6em, + minimum width = 2em, + draw = solarized-base01, + fill = solarized-green!20, + very thick, + }, + graphs/DAG/.style={ + nodes = DAGcommit, + edges = DAGedge, + branch down = 3em, + grow right sep = 1.5em, + }, + gitareas/.style={ + gitdags node, + shape = rectangle, + rounded corners = .5em, + minimum width = 7em, + minimum height = 3em, + text opacity = 0.75, + semithick, + }, + gitSA/.style={ + gitareas, + anchor = north west, + xshift = 1em, + yshift = -1em, + draw = solarized-orange, + fill = solarized-orange!5, + text = solarized-orange, + }, + gitWT/.style={ + gitareas, + node distance = .6em, + draw = solarized-violet, + fill = solarized-violet!5, + text = solarized-violet, + }, + resetarrows/.style={ + -Stealth, + dashed, + thick, + draw = solarized-base02, + draw opacity = .75, + }, + highlighted commit/.style={ + DAGcommit, + reset preaction, + fill opacity = 0, + draw = solarized-base02, + }, + problematic commits/.style={ + reset preaction, + draw opacity = .25, + fill opacity = .25, + }, + graphs/unreachable/.style={ + problematic commits, + target edge style = problematic commits, + }, + graphs/conflict/.style={ + empty nodes, + problematic commits, + target edge style = problematic commits, + draw = conflictcolor, + fill = conflictcolor!25, + }, + placeholder commits/.style={ + reset preaction, + draw opacity = 0, + fill opacity = 0, + }, + graphs/placeholder/.style={ + placeholder commits, + target edge style = placeholder commits, + }, + blob/.style={ + shape = dogeared, + minimum width = 2em, + minimum height = 2.82em, + node distance = .75em, + line join = bevel, + draw = black, + fill = white, + align = left, + font = \ttfamily\tiny, + }, +} + +% directed acyclic graph +\newcommand\gitDAG[1][]{\graph[DAG,#1]} + +% helper macro (let's check the name's availability) +\newcommand\nodename@gitdags{} + +% local-branch reference +\newcommand\gitbranch[4][]{% + \renewcommand\nodename@gitdags{#1}% + \if\relax\detokenize{#1}\relax% check for empty optional argument + \renewcommand\nodename@gitdags{#2}% + \fi + \node[ + DAGref, + fill = yellow!30, + ] (\nodename@gitdags) [#3] {#2}; + \draw[DAGrefedge] (#4) -- (\nodename@gitdags); +} + +% remote-branch reference +\newcommand\gitremotebranch[4][]{% + \renewcommand\nodename@gitdags{#1}% + \if\relax\detokenize{#1}\relax% check for empty optional argument + \renewcommand\nodename@gitdags{#2}% + \fi + \node[ + DAGref, + fill = solarized-blue!20, + ] (\nodename@gitdags) [#3] {#2}; + \draw[DAGrefedge] (#4) -- (\nodename@gitdags); +} + +% tag reference +\newcommand\gittag[4][]{% + \renewcommand\nodename@gitdags{#1}% + \if\relax\detokenize{#1}\relax% check for empty optional argument + \renewcommand\nodename@gitdags{#2}% + \fi + \node[ + DAGref, + fill = solarized-magenta!20, + ] (\nodename@gitdags) [#3] {#2}; + \draw[DAGrefedge] (#4) -- (\nodename@gitdags); +} + +% HEAD symbolic reference +\newcommand\gitHEAD[2]{% + \node[ + DAGref, + fill = solarized-red!20, + node distance = 1em, + ] (gitHEAD) [#1] {HEAD}; + \draw[DAGrefedge] (#2) -- (gitHEAD); +} + +% the following macro is useful for explaining how merge conflicts arise +\newcommand\gitblob[2][] + {\node[blob,#1] {#2};} + +% to highlight a merge conflict arising in a given file +\newcommand\gitblobmc[1]{% + \node[ + blob, + draw = conflictcolor, + text = conflictcolor, + font = \scriptsize, + #1] {???}; +} + +% staging area and worktree +\newcommand\SAandWT{% + \node[ + gitSA, + ] (stagingarea) at (current bounding box.south east) {staging area}; + \node[ + gitWT, + below=of stagingarea, + ] (workingtree) {working tree}; +} + +% arrows pointing from a commit to the staging area or working tree +\newcommand\toSAorWT[2]{% + \node[highlighted commit] at (#1) {\phantom{#1}}; + \draw[resetarrows] (#1.south) to[out=290, in=170] + ([xshift=1em,yshift=-1em]#2.north west); +} + +\newcommand\toSAfrom[1]{\toSAorWT{#1}{stagingarea}} +\newcommand\toWTfrom[1]{\toSAorWT{#1}{workingtree}} + +\endinput diff --git a/presentations/outils/git/minted.sty b/presentations/outils/git/minted.sty new file mode 100644 index 0000000..7fef35a --- /dev/null +++ b/presentations/outils/git/minted.sty @@ -0,0 +1,1221 @@ +%% +%% This is file `minted.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% minted.dtx (with options: `package') +%% Copyright 2013--2015 Geoffrey M. Poore +%% Copyright 2010--2011 Konrad Rudolph +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% http://www.latex-project.org/lppl.txt +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +%% +%% Additionally, the project may be distributed under the terms of the new BSD +%% license. +%% +%% This work has the LPPL maintenance status `maintained'. +%% +%% The Current Maintainer of this work is Geoffrey Poore. +%% +%% This work consists of the files minted.dtx and minted.ins +%% and the derived file minted.sty. +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{minted} + [2015/01/31 v2.0 Yet another Pygments shim for LaTeX] +\RequirePackage{keyval} +\RequirePackage{kvoptions} +\RequirePackage{fancyvrb} +\RequirePackage{float} +\RequirePackage{ifthen} +\RequirePackage{calc} +\RequirePackage{ifplatform} +\RequirePackage{pdftexcmds} +\RequirePackage{etoolbox} +\RequirePackage{xstring} +\RequirePackage{lineno} +\AtBeginDocument{% + \@ifpackageloaded{color}{}{% + \@ifpackageloaded{xcolor}{}{\RequirePackage{xcolor}}}% +} +\DeclareVoidOption{chapter}{\def\minted@float@within{chapter}} +\DeclareVoidOption{section}{\def\minted@float@within{section}} +\DeclareBoolOption{newfloat} +\DeclareBoolOption[true]{cache} +\StrSubstitute{\jobname}{ }{_}[\minted@jobname] +\StrSubstitute{\minted@jobname}{"}{}[\minted@jobname] +\StrSubstitute{\minted@jobname}{*}{-}[\minted@jobname] +\newcommand{\minted@cachedir}{\detokenize{_}minted-\minted@jobname} +\let\minted@cachedir@windows\minted@cachedir +\define@key{minted}{cachedir}{% + \@namedef{minted@cachedir}{#1}% + \StrSubstitute{\minted@cachedir}{/}{\@backslashchar}[\minted@cachedir@windows]} +\let\minted@outputdir\@empty +\let\minted@outputdir@windows\@empty +\define@key{minted}{outputdir}{% + \@namedef{minted@outputdir}{#1/}% + \StrSubstitute{\minted@outputdir}{/}% + {\@backslashchar}[\minted@outputdir@windows]} +\DeclareBoolOption{kpsewhich} +\DeclareBoolOption{langlinenos} +\DeclareBoolOption{draft} +\DeclareComplementaryOption{final}{draft} +\ProcessKeyvalOptions* +\ifthenelse{\boolean{minted@newfloat}}{\RequirePackage{newfloat}}{} +\ifthenelse{\boolean{minted@cache}}{% + \AtEndOfPackage{\ProvideDirectory{\minted@outputdir\minted@cachedir}}}{} +\newcommand{\minted@input}[1]{% + \IfFileExists{#1}% + {\input{#1}}% + {\PackageError{minted}{Missing Pygments output; \string\inputminted\space + was^^Jprobably given a file that does not exist--otherwise, you may need + ^^Jthe outputdir package option, or may be using an incompatible build + tool\ifwindows,^^Jor may be using the kpsewhich option without having + PowerShell installed\fi}% + {This could be caused by using -output-directory or -aux-directory + ^^Jwithout setting minted's outputdir, or by using a build tool that + ^^Jchanges paths in ways minted cannot detect\ifwindows, or by using the + ^^Jkpsewhich option without PowerShell\fi.}}% +} +\newcommand{\minted@infile}{\jobname.out.pyg} +\newcommand{\minted@cachelist}{} +\newcommand{\minted@addcachefile}[1]{% + \expandafter\long\expandafter\gdef\expandafter\minted@cachelist\expandafter{% + \minted@cachelist,^^J% + \space\space#1}% + \expandafter\gdef\csname minted@cached@#1\endcsname{}% +} +\newcommand{\minted@savecachelist}{% + \ifdefempty{\minted@cachelist}{}{% + \immediate\write\@mainaux{% + \string\gdef\string\minted@oldcachelist\string{% + \minted@cachelist\string}}% + }% +} +\newcommand{\minted@cleancache}{% + \ifcsname minted@oldcachelist\endcsname + \def\do##1{% + \ifthenelse{\equal{##1}{}}{}{% + \ifcsname minted@cached@##1\endcsname\else + \DeleteFile[\minted@outputdir\minted@cachedir]{##1}% + \fi + }% + }% + \expandafter\docsvlist\expandafter{\minted@oldcachelist}% + \else + \fi +} +\ifthenelse{\boolean{minted@draft}}% + {\AtEndDocument{% + \ifcsname minted@oldcachelist\endcsname + \let\minted@cachelist\minted@oldcachelist + \minted@savecachelist + \fi}}% + {\AtEndDocument{% + \minted@savecachelist + \minted@cleancache}}% +\ifwindows + \providecommand{\DeleteFile}[2][]{% + \ifthenelse{\equal{#1}{}}% + {\IfFileExists{#2}{\immediate\write18{del "#2"}}{}}% + {\IfFileExists{#1/#2}{% + \StrSubstitute{#1}{/}{\@backslashchar}[\minted@windir] + \immediate\write18{del "\minted@windir\@backslashchar #2"}}{}}} +\else + \providecommand{\DeleteFile}[2][]{% + \ifthenelse{\equal{#1}{}}% + {\IfFileExists{#2}{\immediate\write18{rm "#2"}}{}}% + {\IfFileExists{#1/#2}{\immediate\write18{rm "#1/#2"}}{}}} +\fi +\ifwindows + \newcommand{\ProvideDirectory}[1]{% + \StrSubstitute{#1}{/}{\@backslashchar}[\minted@windir] + \immediate\write18{if not exist "\minted@windir" mkdir "\minted@windir"}} +\else + \newcommand{\ProvideDirectory}[1]{% + \immediate\write18{mkdir -p "#1"}} +\fi +\newboolean{AppExists} +\newread\minted@appexistsfile +\newcommand{\TestAppExists}[1]{ + \ifwindows + \DeleteFile{\jobname.aex} + \immediate\write18{for \string^\@percentchar i in (#1.exe #1.bat #1.cmd) + do set >"\jobname.aex" >"\jobname.aex"} + %$ <- balance syntax highlighting + \immediate\openin\minted@appexistsfile\jobname.aex + \expandafter\def\expandafter\@tmp@cr\expandafter{\the\endlinechar} + \endlinechar=-1\relax + \readline\minted@appexistsfile to \minted@apppathifexists + \endlinechar=\@tmp@cr + \ifthenelse{\equal{\minted@apppathifexists}{}} + {\AppExistsfalse} + {\AppExiststrue} + \immediate\closein\minted@appexistsfile + \DeleteFile{\jobname.aex} + \else + \immediate\write18{which "#1" && touch "\jobname.aex"} + \IfFileExists{\jobname.aex} + {\AppExiststrue + \DeleteFile{\jobname.aex}} + {\AppExistsfalse} + \fi +} +\newcommand{\minted@optlistcl@g}{} +\newcommand{\minted@optlistcl@g@i}{} +\let\minted@lang\@empty +\newcommand{\minted@optlistcl@lang}{} +\newcommand{\minted@optlistcl@lang@i}{} +\newcommand{\minted@optlistcl@cmd}{} +\newcommand{\minted@optlistfv@g}{} +\newcommand{\minted@optlistfv@g@i}{} +\newcommand{\minted@optlistfv@lang}{} +\newcommand{\minted@optlistfv@lang@i}{} +\newcommand{\minted@optlistfv@cmd}{} +\newcommand{\minted@configlang}[1]{% + \def\minted@lang{#1}% + \ifcsname minted@optlistcl@lang\minted@lang\endcsname\else + \expandafter\gdef\csname minted@optlistcl@lang\minted@lang\endcsname{}% + \fi + \ifcsname minted@optlistcl@lang\minted@lang @i\endcsname\else + \expandafter\gdef\csname minted@optlistcl@lang\minted@lang @i\endcsname{}% + \fi + \ifcsname minted@optlistfv@lang\minted@lang\endcsname\else + \expandafter\gdef\csname minted@optlistfv@lang\minted@lang\endcsname{}% + \fi + \ifcsname minted@optlistfv@lang\minted@lang @i\endcsname\else + \expandafter\gdef\csname minted@optlistfv@lang\minted@lang @i\endcsname{}% + \fi +} +\newcommand{\minted@addto@optlistcl}[2]{% + \expandafter\def\expandafter#1\expandafter{#1% + \detokenize{#2}\space}} +\newcommand{\minted@addto@optlistcl@lang}[2]{% + \expandafter\let\expandafter\minted@tmp\csname #1\endcsname + \expandafter\def\expandafter\minted@tmp\expandafter{\minted@tmp% + \detokenize{#2}\space}% + \expandafter\let\csname #1\endcsname\minted@tmp} +\newcommand{\minted@def@optcl}[4][]{% + \ifthenelse{\equal{#1}{}}% + {\define@key{minted@opt@g}{#2}{% + \minted@addto@optlistcl{\minted@optlistcl@g}{#3=#4}% + \@namedef{minted@opt@g:#2}{#4}}% + \define@key{minted@opt@g@i}{#2}{% + \minted@addto@optlistcl{\minted@optlistcl@g@i}{#3=#4}% + \@namedef{minted@opt@g@i:#2}{#4}}% + \define@key{minted@opt@lang}{#2}{% + \minted@addto@optlistcl@lang{minted@optlistcl@lang\minted@lang}{#3=#4}% + \@namedef{minted@opt@lang\minted@lang:#2}{#4}}% + \define@key{minted@opt@lang@i}{#2}{% + \minted@addto@optlistcl@lang{% + minted@optlistcl@lang\minted@lang @i}{#3=#4}% + \@namedef{minted@opt@lang\minted@lang @i:#2}{#4}}% + \define@key{minted@opt@cmd}{#2}{% + \minted@addto@optlistcl{\minted@optlistcl@cmd}{#3=#4}% + \@namedef{minted@opt@cmd:#2}{#4}}}% + {\define@key{minted@opt@g}{#2}[#1]{% + \minted@addto@optlistcl{\minted@optlistcl@g}{#3=#4}% + \@namedef{minted@opt@g:#2}{#4}}% + \define@key{minted@opt@g@i}{#2}[#1]{% + \minted@addto@optlistcl{\minted@optlistcl@g@i}{#3=#4}% + \@namedef{minted@opt@g@i:#2}{#4}}% + \define@key{minted@opt@lang}{#2}[#1]{% + \minted@addto@optlistcl@lang{minted@optlistcl@lang\minted@lang}{#3=#4}% + \@namedef{minted@opt@lang\minted@lang:#2}{#4}}% + \define@key{minted@opt@lang@i}{#2}[#1]{% + \minted@addto@optlistcl@lang{% + minted@optlistcl@lang\minted@lang @i}{#3=#4}% + \@namedef{minted@opt@lang\minted@lang @i:#2}{#4}}% + \define@key{minted@opt@cmd}{#2}[#1]{% + \minted@addto@optlistcl{\minted@optlistcl@cmd}{#3=#4}% + \@namedef{minted@opt@cmd:#2}{#4}}}% +} +\edef\minted@hashchar{\string#} +\edef\minted@dollarchar{\string$} +\edef\minted@ampchar{\string&} +\edef\minted@underscorechar{\string_} +\edef\minted@tildechar{\string~} +\newcommand{\minted@escchars}{% + \let\#\minted@hashchar + \let\%\@percentchar + \let\{\@charlb + \let\}\@charrb + \let\$\minted@dollarchar + \let\&\minted@ampchar + \let\_\minted@underscorechar + \let\\\@backslashchar + \let~\minted@tildechar + \let\~\minted@tildechar +} %$ <- highlighting +\newcommand{\minted@addto@optlistcl@e}[2]{% + \begingroup + \minted@escchars + \xdef\minted@xtmp{#2}% + \endgroup + \expandafter\minted@addto@optlistcl@e@i\expandafter{\minted@xtmp}{#1}} +\def\minted@addto@optlistcl@e@i#1#2{% + \expandafter\def\expandafter#2\expandafter{#2#1\space}} +\newcommand{\minted@addto@optlistcl@lang@e}[2]{% + \begingroup + \minted@escchars + \xdef\minted@xtmp{#2}% + \endgroup + \expandafter\minted@addto@optlistcl@lang@e@i\expandafter{\minted@xtmp}{#1}} +\def\minted@addto@optlistcl@lang@e@i#1#2{% + \expandafter\let\expandafter\minted@tmp\csname #2\endcsname + \expandafter\def\expandafter\minted@tmp\expandafter{\minted@tmp#1\space}% + \expandafter\let\csname #2\endcsname\minted@tmp} +\newcommand{\minted@def@optcl@e}[4][]{% + \ifthenelse{\equal{#1}{}}% + {\define@key{minted@opt@g}{#2}{% + \minted@addto@optlistcl@e{\minted@optlistcl@g}{#3=#4}% + \@namedef{minted@opt@g:#2}{#4}}% + \define@key{minted@opt@g@i}{#2}{% + \minted@addto@optlistcl@e{\minted@optlistcl@g@i}{#3=#4}% + \@namedef{minted@opt@g@i:#2}{#4}}% + \define@key{minted@opt@lang}{#2}{% + \minted@addto@optlistcl@lang@e{minted@optlistcl@lang\minted@lang}{#3=#4}% + \@namedef{minted@opt@lang\minted@lang:#2}{#4}}% + \define@key{minted@opt@lang@i}{#2}{% + \minted@addto@optlistcl@lang@e{% + minted@optlistcl@lang\minted@lang @i}{#3=#4}% + \@namedef{minted@opt@lang\minted@lang @i:#2}{#4}}% + \define@key{minted@opt@cmd}{#2}{% + \minted@addto@optlistcl@e{\minted@optlistcl@cmd}{#3=#4}% + \@namedef{minted@opt@cmd:#2}{#4}}}% + {\define@key{minted@opt@g}{#2}[#1]{% + \minted@addto@optlistcl@e{\minted@optlistcl@g}{#3=#4}% + \@namedef{minted@opt@g:#2}{#4}}% + \define@key{minted@opt@g@i}{#2}[#1]{% + \minted@addto@optlistcl@e{\minted@optlistcl@g@i}{#3=#4}% + \@namedef{minted@opt@g@i:#2}{#4}}% + \define@key{minted@opt@lang}{#2}[#1]{% + \minted@addto@optlistcl@lang@e{minted@optlistcl@lang\minted@lang}{#3=#4}% + \@namedef{minted@opt@lang\minted@lang:#2}{#4}}% + \define@key{minted@opt@lang@i}{#2}[#1]{% + \minted@addto@optlistcl@lang@e{% + minted@optlistcl@lang\minted@lang @i}{#3=#4}% + \@namedef{minted@opt@lang\minted@lang @i:#2}{#4}}% + \define@key{minted@opt@cmd}{#2}[#1]{% + \minted@addto@optlistcl@e{\minted@optlistcl@cmd}{#3=#4}% + \@namedef{minted@opt@cmd:#2}{#4}}}% +} +\newcommand{\minted@def@optcl@style}{% + \define@key{minted@opt@g}{style}{% + \minted@addto@optlistcl{\minted@optlistcl@g}% + {-P style=##1 -P commandprefix=PYG##1}% + \minted@checkstyle{##1}% + \@namedef{minted@opt@g:style}{##1}}% + \define@key{minted@opt@g@i}{style}{% + \minted@addto@optlistcl{\minted@optlistcl@g@i}% + {-P style=##1 -P commandprefix=PYG##1}% + \minted@checkstyle{##1}% + \@namedef{minted@opt@g@i:style}{##1}}% + \define@key{minted@opt@lang}{style}{% + \minted@addto@optlistcl@lang{minted@optlistcl@lang\minted@lang}% + {-P style=##1 -P commandprefix=PYG##1}% + \minted@checkstyle{##1}% + \@namedef{minted@opt@lang\minted@lang:style}{##1}}% + \define@key{minted@opt@lang@i}{style}{% + \minted@addto@optlistcl@lang{minted@optlistcl@lang\minted@lang @i}% + {-P style=##1 -P commandprefix=PYG##1}% + \minted@checkstyle{##1}% + \@namedef{minted@opt@lang\minted@lang @i:style}{##1}}% + \define@key{minted@opt@cmd}{style}{% + \minted@addto@optlistcl{\minted@optlistcl@cmd}% + {-P style=##1 -P commandprefix=PYG##1}% + \minted@checkstyle{##1}% + \@namedef{minted@opt@cmd:style}{##1}}% +} +\newcommand{\minted@patch@Zsq}[1]{% + \ifx\upquote@cmtt\minted@undefined\else + \ifx\encodingdefault\upquote@OTone + \ifx\ttdefault\upquote@cmtt + \expandafter\ifdefstring\expandafter{\csname PYG#1Zsq\endcsname}{\char`\'}% + {\expandafter\gdef\csname PYG#1Zsq\endcsname{\char13 }}{}% + \else + \expandafter\ifdefstring\expandafter{\csname PYG#1Zsq\endcsname}{\char`\'}% + {\expandafter\gdef\csname PYG#1Zsq\endcsname{\textquotesingle}}{}% + \fi + \else + \expandafter\ifdefstring\expandafter{\csname PYG#1Zsq\endcsname}{\char`\'}% + {\expandafter\gdef\csname PYG#1Zsq\endcsname{\textquotesingle}}{}% + \fi + \fi +} +\newcommand{\minted@checkstyle}[1]{% + \ifcsname minted@styleloaded@#1\endcsname\else + \expandafter\gdef\csname minted@styleloaded@#1\endcsname{}% + \ifthenelse{\boolean{minted@cache}}% + {\IfFileExists{\minted@outputdir\minted@cachedir/#1.pygstyle}{}{% + \ifwindows + \immediate\write18{\MintedPygmentize\space -S #1 -f latex + -P commandprefix=PYG#1 + > "\minted@outputdir@windows\minted@cachedir@windows\@backslashchar#1.pygstyle"}% + \else + \immediate\write18{\MintedPygmentize\space -S #1 -f latex + -P commandprefix=PYG#1 + > "\minted@outputdir\minted@cachedir/#1.pygstyle"}% + \fi + }% + \begingroup + \let\def\gdef + \endlinechar=-1\relax + \minted@input{\minted@outputdir\minted@cachedir/#1.pygstyle}% + \endgroup + \minted@addcachefile{#1.pygstyle}}% + {\ifwindows + \immediate\write18{\MintedPygmentize\space -S #1 -f latex + -P commandprefix=PYG#1 > "\minted@outputdir@windows\jobname.out.pyg"}% + \else + \immediate\write18{\MintedPygmentize\space -S #1 -f latex + -P commandprefix=PYG#1 > "\minted@outputdir\jobname.out.pyg"}% + \fi + \begingroup + \let\def\gdef + \endlinechar=-1\relax + \minted@input{\minted@outputdir\jobname.out.pyg}% + \endgroup}% + \ifx\@onlypreamble\@notprerr + \minted@patch@Zsq{#1}% + \else + \minted@patch@Zsq{#1}% + \AtBeginDocument{\minted@patch@Zsq{#1}}% + \fi + \fi +} +\ifthenelse{\boolean{minted@draft}}{\renewcommand{\minted@checkstyle}[1]{}}{} +\newcommand{\minted@def@optcl@switch}[2]{% + \define@booleankey{minted@opt@g}{#1}% + {\minted@addto@optlistcl{\minted@optlistcl@g}{#2=True}% + \@namedef{minted@opt@g:#1}{true}} + {\minted@addto@optlistcl{\minted@optlistcl@g}{#2=False}% + \@namedef{minted@opt@g:#1}{false}} + \define@booleankey{minted@opt@g@i}{#1}% + {\minted@addto@optlistcl{\minted@optlistcl@g@i}{#2=True}% + \@namedef{minted@opt@g@i:#1}{true}} + {\minted@addto@optlistcl{\minted@optlistcl@g@i}{#2=False}% + \@namedef{minted@opt@g@i:#1}{false}} + \define@booleankey{minted@opt@lang}{#1}% + {\minted@addto@optlistcl@lang{minted@optlistcl@lang\minted@lang}{#2=True}% + \@namedef{minted@opt@lang\minted@lang:#1}{true}} + {\minted@addto@optlistcl@lang{minted@optlistcl@lang\minted@lang}{#2=False}% + \@namedef{minted@opt@lang\minted@lang:#1}{false}} + \define@booleankey{minted@opt@lang@i}{#1}% + {\minted@addto@optlistcl@lang{minted@optlistcl@lang\minted@lang @i}{#2=True}% + \@namedef{minted@opt@lang\minted@lang @i:#1}{true}} + {\minted@addto@optlistcl@lang{minted@optlistcl@lang\minted@lang @i}{#2=False}% + \@namedef{minted@opt@lang\minted@lang @i:#1}{false}} + \define@booleankey{minted@opt@cmd}{#1}% + {\minted@addto@optlistcl{\minted@optlistcl@cmd}{#2=True}% + \@namedef{minted@opt@cmd:#1}{true}} + {\minted@addto@optlistcl{\minted@optlistcl@cmd}{#2=False}% + \@namedef{minted@opt@cmd:#1}{false}} +} +\newcommand{\minted@def@optfv}[1]{% + \define@key{minted@opt@g}{#1}{% + \expandafter\def\expandafter\minted@optlistfv@g\expandafter{% + \minted@optlistfv@g#1=##1,}% + \@namedef{minted@opt@g:#1}{##1}} + \define@key{minted@opt@g@i}{#1}{% + \expandafter\def\expandafter\minted@optlistfv@g@i\expandafter{% + \minted@optlistfv@g@i#1=##1,}% + \@namedef{minted@opt@g@i:#1}{##1}} + \define@key{minted@opt@lang}{#1}{% + \expandafter\let\expandafter\minted@tmp% + \csname minted@optlistfv@lang\minted@lang\endcsname + \expandafter\def\expandafter\minted@tmp\expandafter{% + \minted@tmp#1=##1,}% + \expandafter\let\csname minted@optlistfv@lang\minted@lang\endcsname% + \minted@tmp + \@namedef{minted@opt@lang\minted@lang:#1}{##1}} + \define@key{minted@opt@lang@i}{#1}{% + \expandafter\let\expandafter\minted@tmp% + \csname minted@optlistfv@lang\minted@lang @i\endcsname + \expandafter\def\expandafter\minted@tmp\expandafter{% + \minted@tmp#1=##1,}% + \expandafter\let\csname minted@optlistfv@lang\minted@lang @i\endcsname% + \minted@tmp + \@namedef{minted@opt@lang\minted@lang @i:#1}{##1}} + \define@key{minted@opt@cmd}{#1}{% + \expandafter\def\expandafter\minted@optlistfv@cmd\expandafter{% + \minted@optlistfv@cmd#1=##1,}% + \@namedef{minted@opt@cmd:#1}{##1}} +} +\newcommand{\minted@def@optfv@switch}[1]{% + \define@booleankey{minted@opt@g}{#1}% + {\expandafter\def\expandafter\minted@optlistfv@g\expandafter{% + \minted@optlistfv@g#1=true,}% + \@namedef{minted@opt@g:#1}{true}}% + {\expandafter\def\expandafter\minted@optlistfv@g\expandafter{% + \minted@optlistfv@g#1=false,}% + \@namedef{minted@opt@g:#1}{false}}% + \define@booleankey{minted@opt@g@i}{#1}% + {\expandafter\def\expandafter\minted@optlistfv@g@i\expandafter{% + \minted@optlistfv@g@i#1=true,}% + \@namedef{minted@opt@g@i:#1}{true}}% + {\expandafter\def\expandafter\minted@optlistfv@g@i\expandafter{% + \minted@optlistfv@g@i#1=false,}% + \@namedef{minted@opt@g@i:#1}{false}}% + \define@booleankey{minted@opt@lang}{#1}% + {\expandafter\let\expandafter\minted@tmp% + \csname minted@optlistfv@lang\minted@lang\endcsname + \expandafter\def\expandafter\minted@tmp\expandafter{% + \minted@tmp#1=true,}% + \expandafter\let\csname minted@optlistfv@lang\minted@lang\endcsname% + \minted@tmp + \@namedef{minted@opt@lang\minted@lang:#1}{true}}% + {\expandafter\let\expandafter\minted@tmp% + \csname minted@optlistfv@lang\minted@lang\endcsname + \expandafter\def\expandafter\minted@tmp\expandafter{% + \minted@tmp#1=false,}% + \expandafter\let\csname minted@optlistfv@lang\minted@lang\endcsname% + \minted@tmp + \@namedef{minted@opt@lang\minted@lang:#1}{false}}% + \define@booleankey{minted@opt@lang@i}{#1}% + {\expandafter\let\expandafter\minted@tmp% + \csname minted@optlistfv@lang\minted@lang @i\endcsname + \expandafter\def\expandafter\minted@tmp\expandafter{% + \minted@tmp#1=true,}% + \expandafter\let\csname minted@optlistfv@lang\minted@lang @i\endcsname% + \minted@tmp + \@namedef{minted@opt@lang\minted@lang @i:#1}{true}}% + {\expandafter\let\expandafter\minted@tmp% + \csname minted@optlistfv@lang\minted@lang @i\endcsname + \expandafter\def\expandafter\minted@tmp\expandafter{% + \minted@tmp#1=false,}% + \expandafter\let\csname minted@optlistfv@lang\minted@lang @i\endcsname% + \minted@tmp + \@namedef{minted@opt@lang\minted@lang @i:#1}{false}}% + \define@booleankey{minted@opt@cmd}{#1}% + {\expandafter\def\expandafter\minted@optlistfv@cmd\expandafter{% + \minted@optlistfv@cmd#1=true,}% + \@namedef{minted@opt@cmd:#1}{true}}% + {\expandafter\def\expandafter\minted@optlistfv@cmd\expandafter{% + \minted@optlistfv@cmd#1=false,}% + \@namedef{minted@opt@cmd:#1}{false}}% +} +\newboolean{minted@isinline} +\newcommand{\minted@fvset}{% + \expandafter\fvset\expandafter{\minted@optlistfv@g}% + \expandafter\let\expandafter\minted@tmp% + \csname minted@optlistfv@lang\minted@lang\endcsname + \expandafter\fvset\expandafter{\minted@tmp}% + \ifthenelse{\boolean{minted@isinline}}% + {\expandafter\fvset\expandafter{\minted@optlistfv@g@i}% + \expandafter\let\expandafter\minted@tmp% + \csname minted@optlistfv@lang\minted@lang @i\endcsname + \expandafter\fvset\expandafter{\minted@tmp}}% + {}% + \expandafter\fvset\expandafter{\minted@optlistfv@cmd}% +} +\def\minted@get@opt#1#2{% + \ifcsname minted@opt@cmd:#1\endcsname + \csname minted@opt@cmd:#1\endcsname + \else + \ifminted@isinline + \ifcsname minted@opt@lang\minted@lang @i:#1\endcsname + \csname minted@opt@lang\minted@lang @i:#1\endcsname + \else + \ifcsname minted@opt@g@i:#1\endcsname + \csname minted@opt@g@i:#1\endcsname + \else + \ifcsname minted@opt@lang\minted@lang:#1\endcsname + \csname minted@opt@lang\minted@lang:#1\endcsname + \else + \ifcsname minted@opt@g:#1\endcsname + \csname minted@opt@g:#1\endcsname + \else + #2% + \fi + \fi + \fi + \fi + \else + \ifcsname minted@opt@lang\minted@lang:#1\endcsname + \csname minted@opt@lang\minted@lang:#1\endcsname + \else + \ifcsname minted@opt@g:#1\endcsname + \csname minted@opt@g:#1\endcsname + \else + #2% + \fi + \fi + \fi + \fi +}% +\newcommand{\minted@def@opt}[2][]{% + \define@key{minted@opt@g}{#2}{% + \@namedef{minted@opt@g:#2}{##1}} + \define@key{minted@opt@g@i}{#2}{% + \@namedef{minted@opt@g@i:#2}{##1}} + \define@key{minted@opt@lang}{#2}{% + \@namedef{minted@opt@lang\minted@lang:#2}{##1}} + \define@key{minted@opt@lang@i}{#2}{% + \@namedef{minted@opt@lang\minted@lang @i:#2}{##1}} + \define@key{minted@opt@cmd}{#2}{% + \@namedef{minted@opt@cmd:#2}{##1}} +} +\newcommand{\minted@def@opt@switch}[2][false]{% + \define@booleankey{minted@opt@g}{#2}% + {\@namedef{minted@opt@g:#2}{true}}% + {\@namedef{minted@opt@g:#2}{false}} + \define@booleankey{minted@opt@g@i}{#2}% + {\@namedef{minted@opt@g@i:#2}{true}}% + {\@namedef{minted@opt@g@i:#2}{false}} + \define@booleankey{minted@opt@lang}{#2}% + {\@namedef{minted@opt@lang\minted@lang:#2}{true}}% + {\@namedef{minted@opt@lang\minted@lang:#2}{false}} + \define@booleankey{minted@opt@lang@i}{#2}% + {\@namedef{minted@opt@lang\minted@lang @i:#2}{true}}% + {\@namedef{minted@opt@lang\minted@lang @i:#2}{false}} + \define@booleankey{minted@opt@cmd}{#2}% + {\@namedef{minted@opt@cmd:#2}{true}}% + {\@namedef{minted@opt@cmd:#2}{false}}% + \@namedef{minted@opt@g:#2}{#1}% +} + +\minted@def@optcl{encoding}{-P encoding}{#1} +\minted@def@optcl{outencoding}{-P outencoding}{#1} +\minted@def@optcl@e{escapeinside}{-P "escapeinside}{#1"} +\minted@def@optcl@switch{stripnl}{-P stripnl} +\minted@def@optcl@switch{stripall}{-P stripall} +\minted@def@optcl@switch{python3}{-P python3} +\minted@def@optcl@switch{funcnamehighlighting}{-P funcnamehighlighting} +\minted@def@optcl@switch{startinline}{-P startinline} +\ifthenelse{\boolean{minted@draft}}% + {\minted@def@optfv{gobble}}% + {\minted@def@optcl{gobble}{-F gobble:n}{#1}} +\minted@def@optcl{codetagify}{-F codetagify:codetags}{#1} +\minted@def@optcl{keywordcase}{-F keywordcase:case}{#1} +\minted@def@optcl@switch{texcl}{-P texcomments} +\minted@def@optcl@switch{texcomments}{-P texcomments} +\minted@def@optcl@switch{mathescape}{-P mathescape} +\ifcsname KV@FV@linenos\endcsname\else +\define@booleankey{FV}{linenos}% + {\@nameuse{FV@Numbers@left}}{\@nameuse{FV@Numbers@none}} +\fi +\minted@def@optfv@switch{linenos} +\minted@def@optcl@style +\minted@def@optfv{frame} +\minted@def@optfv{framesep} +\minted@def@optfv{framerule} +\minted@def@optfv{rulecolor} +\minted@def@optfv{numbersep} +\minted@def@optfv{numbers} +\minted@def@optfv{firstnumber} +\minted@def@optfv{stepnumber} +\minted@def@optfv{firstline} +\minted@def@optfv{lastline} +\minted@def@optfv{baselinestretch} +\minted@def@optfv{xleftmargin} +\minted@def@optfv{xrightmargin} +\minted@def@optfv{fillcolor} +\minted@def@optfv{tabsize} +\minted@def@optfv{fontfamily} +\minted@def@optfv{fontsize} +\minted@def@optfv{fontshape} +\minted@def@optfv{fontseries} +\minted@def@optfv{formatcom} +\minted@def@optfv{label} +\minted@def@optfv@switch{numberblanklines} +\minted@def@optfv@switch{showspaces} +\minted@def@optfv@switch{resetmargins} +\minted@def@optfv@switch{samepage} +\minted@def@optfv@switch{showtabs} +\minted@def@optfv@switch{obeytabs} +\minted@def@optfv@switch{breaklines} +\minted@def@optfv{breakindent} +\minted@def@optfv@switch{breakautoindent} +\minted@def@optfv{breaksymbol} +\minted@def@optfv{breaksymbolsep} +\minted@def@optfv{breaksymbolindent} +\minted@def@optfv{breaksymbolleft} +\minted@def@optfv{breaksymbolsepleft} +\minted@def@optfv{breaksymbolindentleft} +\minted@def@optfv{breaksymbolright} +\minted@def@optfv{breaksymbolsepright} +\minted@def@optfv{breaksymbolindentright} +\minted@def@opt@switch{breakbytoken} +\minted@def@opt{bgcolor} +\minted@def@opt@switch{autogobble} +\newcommand{\minted@encoding}{\minted@get@opt{encoding}{UTF8}} +\ifcsname KV@FV@breaklines\endcsname\else +\newboolean{FV@BreakLines} +\let\FV@ListProcessLine@Orig\FV@ListProcessLine +\define@booleankey{FV}{breaklines}% + {\FV@BreakLinestrue + \let\FV@ListProcessLine\FV@ListProcessLine@Break}% + {\FV@BreakLinesfalse + \let\FV@ListProcessLine\FV@ListProcessLine@Orig} +\newdimen\FV@BreakIndent +\define@key{FV}{breakindent}{\FV@BreakIndent=#1} +\fvset{breakindent=0pt} +\newboolean{FV@BreakAutoIndent} +\define@booleankey{FV}{breakautoindent}% + {\FV@BreakAutoIndenttrue}{\FV@BreakAutoIndentfalse} +\fvset{breakautoindent=true} +\define@key{FV}{breaksymbolleft}{\def\FancyVerbBreakSymbolLeft{#1}} +\define@key{FV}{breaksymbol}{\fvset{breaksymbolleft=#1}} +\fvset{breaksymbolleft=\tiny\ensuremath{\hookrightarrow}} +\define@key{FV}{breaksymbolright}{\def\FancyVerbBreakSymbolRight{#1}} +\fvset{breaksymbolright={}} +\newdimen\FV@BreakSymbolSepLeft +\define@key{FV}{breaksymbolsepleft}{\FV@BreakSymbolSepLeft=#1} +\define@key{FV}{breaksymbolsep}{\fvset{breaksymbolsepleft=#1}} +\fvset{breaksymbolsepleft=1em} +\newdimen\FV@BreakSymbolSepRight +\define@key{FV}{breaksymbolsepright}{\FV@BreakSymbolSepRight=#1} +\fvset{breaksymbolsepright=1em} +\newdimen\FV@BreakSymbolIndentLeft +\settowidth{\FV@BreakSymbolIndentLeft}{\ttfamily xxxx} +\define@key{FV}{breaksymbolindentleft}{\FV@BreakSymbolIndentLeft=#1} +\define@key{FV}{breaksymbolindent}{\fvset{breaksymbolindentleft=#1}} +\newdimen\FV@BreakSymbolIndentRight +\settowidth{\FV@BreakSymbolIndentRight}{\ttfamily xxxx} +\define@key{FV}{breaksymbolindentright}{\FV@BreakSymbolIndentRight=#1} +\newcommand{\FancyVerbFormatBreakSymbolLeft}[1]{% + \ifnum\value{linenumber}=1\relax\else{#1}\fi} +\newcounter{FancyVerbLineBreakLast} +\newcommand{\FV@SetLineBreakLast}{% + \setcounter{FancyVerbLineBreakLast}{\value{linenumber}}} +\newcommand{\FancyVerbFormatBreakSymbolRight}[1]{% + \ifnum\value{linenumber}=\value{FancyVerbLineBreakLast}\relax\else{#1}\fi} +\newsavebox{\FV@LineBox} +\newsavebox{\FV@LineIndentBox} +\let\FV@LineIndentChars\@empty +\def\FV@GetNextChar{\let\FV@NextChar=} +\def\FV@CleanRemainingChars#1\FV@Undefined{} +\def\FV@GetLineIndent{\afterassignment\FV@CheckIndentChar\FV@GetNextChar} +\def\FV@CheckIndentChar{% + \ifx\FV@NextChar\FV@Undefined + \let\FV@Next=\relax + \else + \expandafter\ifx\FV@NextChar\FV@Space + \g@addto@macro{\FV@LineIndentChars}{\FV@Space}% + \let\FV@Next=\FV@GetLineIndent + \else + \expandafter\ifx\FV@NextChar\FV@Tab + \g@addto@macro{\FV@LineIndentChars}{\FV@Tab}% + \let\FV@Next=\FV@GetLineIndent + \else + \let\FV@Next=\FV@CleanRemainingChars + \fi + \fi + \fi + \FV@Next +} +\def\FV@makeLineNumber{% + \hss + \FancyVerbFormatBreakSymbolLeft{\FancyVerbBreakSymbolLeft}% + \hbox to \FV@BreakSymbolSepLeft{\hfill}% + \rlap{\hskip\linewidth + \hbox to \FV@BreakSymbolSepRight{\hfill}% + \FancyVerbFormatBreakSymbolRight{\FancyVerbBreakSymbolRight}% + \FV@SetLineBreakLast + }% +} +\def\FV@SaveLineBox#1{% + \savebox{\FV@LineBox}{% + \advance\linewidth by -\FV@BreakIndent + \hbox to \FV@BreakIndent{\hfill}% + \ifthenelse{\boolean{FV@BreakAutoIndent}}% + {\let\FV@LineIndentChars\@empty + \FV@GetLineIndent#1\FV@Undefined + \savebox{\FV@LineIndentBox}{\FV@LineIndentChars}% + \hbox to \wd\FV@LineIndentBox{\hfill}% + \advance\linewidth by -\wd\FV@LineIndentBox}% + {}% + \ifdefempty{\FancyVerbBreakSymbolLeft}{}% + {\hbox to \FV@BreakSymbolIndentLeft{\hfill}% + \advance\linewidth by -\FV@BreakSymbolIndentLeft}% + \ifdefempty{\FancyVerbBreakSymbolRight}{}% + {\advance\linewidth by -\FV@BreakSymbolIndentRight}% + \parbox[t]{\linewidth}{% + \raggedright + \leftlinenumbers* + \begin{internallinenumbers*}% + \let\makeLineNumber\FV@makeLineNumber + \noindent\hspace*{-\FV@BreakIndent}% + \ifdefempty{\FancyVerbBreakSymbolLeft}{}{% + \hspace*{-\FV@BreakSymbolIndentLeft}}% + \ifthenelse{\boolean{FV@BreakAutoIndent}}% + {\hspace*{-\wd\FV@LineIndentBox}}% + {}% + \strut#1\strut + \end{internallinenumbers*} + }% + \ifdefempty{\FancyVerbBreakSymbolRight}{}% + {\hbox to \FV@BreakSymbolIndentRight{\hfill}}% + }% +} +\def\FV@ListProcessLine@Break#1{% + \hbox to \hsize{% + \kern\leftmargin + \hbox to \linewidth{% + \ifx\FV@RightListFrame\relax\else + \advance\linewidth by -\FV@FrameSep + \advance\linewidth by -\FV@FrameRule + \fi + \ifx\FV@LeftListFrame\relax\else + \advance\linewidth by -\FV@FrameSep + \advance\linewidth by -\FV@FrameRule + \fi + \sbox{\FV@LineBox}{\FancyVerbFormatLine{#1}}% + \ifdim\wd\FV@LineBox>\linewidth + \setcounter{FancyVerbLineBreakLast}{0}% + \FV@SaveLineBox{#1}% + \ifdefempty{\FancyVerbBreakSymbolRight}{}{% + \let\FV@SetLineBreakLast\relax + \FV@SaveLineBox{#1}}% + \FV@LeftListNumber + \FV@LeftListFrame + \FancyVerbFormatLine{\usebox{\FV@LineBox}}% + \FV@RightListFrame + \FV@RightListNumber + \else + \FV@LeftListNumber + \FV@LeftListFrame + \FancyVerbFormatLine{% + \parbox[t]{\linewidth}{\noindent\strut#1\strut}}% + \FV@RightListFrame + \FV@RightListNumber + \fi}% + \hss}\baselineskip\z@\lineskip\z@} +\fi +\newsavebox{\minted@bgbox} +\newenvironment{minted@colorbg}[1]{ + %\setlength{\fboxsep}{-\fboxrule} + \def\minted@bgcol{#1} + \noindent + \begin{lrbox}{\minted@bgbox} + \begin{minipage}{\linewidth-2\fboxsep}} + {\end{minipage} + \end{lrbox}% + \colorbox{\minted@bgcol}{\usebox{\minted@bgbox}}} +\newwrite\minted@code +\newcommand{\minted@savecode}[1]{ + \immediate\openout\minted@code\jobname.pyg\relax + \immediate\write\minted@code{\expandafter\detokenize\expandafter{#1}}% + \immediate\closeout\minted@code} +\newcounter{minted@FancyVerbLineTemp} +\newcommand{\minted@write@detok}[1]{% + \immediate\write\FV@OutFile{\detokenize{#1}}} +\newcommand{\minted@FVB@VerbatimOut}[1]{% + \setcounter{minted@FancyVerbLineTemp}{\value{FancyVerbLine}}% + \@bsphack + \begingroup + \FV@UseKeyValues + \FV@DefineWhiteSpace + \def\FV@Space{\space}% + \FV@DefineTabOut + \let\FV@ProcessLine\minted@write@detok + \immediate\openout\FV@OutFile #1\relax + \let\FV@FontScanPrep\relax + \let\@noligs\relax + \FV@Scan} +\newcommand{\minted@FVE@VerbatimOut}{% + \immediate\closeout\FV@OutFile\endgroup\@esphack + \setcounter{FancyVerbLine}{\value{minted@FancyVerbLineTemp}}}% +\newcommand{\MintedPygmentize}{pygmentize} +\newcommand{\minted@pygmentize}[2][\minted@outputdir\jobname.pyg]{% + \ifthenelse{\equal{\minted@get@opt{autogobble}{false}}{true}}% + {\def\minted@codefile{\minted@outputdir\jobname.pyg}}% + {\def\minted@codefile{#1}}% + \ifthenelse{\boolean{minted@isinline}}% + {\def\minted@optlistcl@inlines{% + \minted@optlistcl@g@i + \csname minted@optlistcl@lang\minted@lang @i\endcsname}}% + {\let\minted@optlistcl@inlines\@empty}% + \def\minted@cmd{% + \ifminted@kpsewhich\ifwindows powershell\space\fi\fi + \MintedPygmentize\space -l #2 + -f latex -F tokenmerge + \minted@optlistcl@g \csname minted@optlistcl@lang\minted@lang\endcsname + \minted@optlistcl@inlines + \minted@optlistcl@cmd -o "\minted@outputdir\minted@infile" + \ifminted@kpsewhich + \ifwindows + \detokenize{$}(kpsewhich "\minted@codefile")% + \else + \detokenize{`}kpsewhich "\minted@codefile" + \detokenize{||} "\minted@codefile"\detokenize{`}% + \fi + \else + "\minted@codefile" + \fi}% + % For debugging, uncomment: %%%% + % \immediate\typeout{\minted@cmd}% + % %%%% + \ifthenelse{\boolean{minted@cache}}% + {% + \ifx\XeTeXinterchartoks\minted@undefined + \ifthenelse{\equal{\minted@get@opt{autogobble}{false}}{true}}% + {\edef\minted@hash{\pdf@filemdfivesum{#1}% + \pdf@mdfivesum{\minted@cmd autogobble}}}% + {\edef\minted@hash{\pdf@filemdfivesum{#1}% + \pdf@mdfivesum{\minted@cmd}}}% + \else + \immediate\openout\minted@code\jobname.mintedcmd\relax + \immediate\write\minted@code{\minted@cmd}% + \ifthenelse{\equal{\minted@get@opt{autogobble}{false}}{true}}% + {\immediate\write\minted@code{autogobble}}{}% + \immediate\closeout\minted@code + %Cheating a little here by using ASCII codes to write `{` and `}` + %in the Python code + \def\minted@hashcmd{% + \detokenize{python -c "import hashlib; + hasher = hashlib.sha1(); + f = open(\"}\minted@outputdir\jobname.mintedcmd\detokenize{\", \"rb\"); + hasher.update(f.read()); + f.close(); + f = open(\"}#1\detokenize{\", \"rb\"); + hasher.update(f.read()); + f.close(); + f = open(\"}\minted@outputdir\jobname.mintedmd5\detokenize{\", \"w\"); + macro = \"\\edef\\minted@hash\" + chr(123) + hasher.hexdigest() + chr(125) + \"\"; + f.write(\"\\makeatletter\" + macro + \"\\makeatother\\endinput\n\"); + f.close();"}}% + \immediate\write18{\minted@hashcmd}% + \minted@input{\minted@outputdir\jobname.mintedmd5}% + \fi + \edef\minted@infile{\minted@cachedir/\minted@hash.pygtex}% + \IfFileExists{\minted@infile}{}{% + \ifthenelse{\equal{\minted@get@opt{autogobble}{false}}{true}}{% + %Need a version of open() that supports encoding under Python 2 + \edef\minted@autogobblecmd{% + \detokenize{python -c "import sys; + import textwrap; + from io import open; + f = open(\"}#1\detokenize{\", \"r\", encoding=\"}\minted@encoding\detokenize{\"); + t = f.read(); + f.close(); + f = open(\"}\minted@outputdir\jobname.pyg\detokenize{\", \"w\", encoding=\"}\minted@encoding\detokenize{\"); + f.write(textwrap.dedent(t)); + f.close();"}% + }% + \immediate\write18{\minted@autogobblecmd}}{}% + \immediate\write18{\minted@cmd}}% + \expandafter\minted@addcachefile\expandafter{\minted@hash.pygtex}% + \minted@inputpyg}% + {% + \ifthenelse{\equal{\minted@get@opt{autogobble}{false}}{true}}{% + %Need a version of open() that supports encoding under Python 2 + \edef\minted@autogobblecmd{% + \detokenize{python -c "import sys; + import textwrap; + from io import open; + f = open(\"}#1\detokenize{\", \"r\", encoding=\"}\minted@encoding\detokenize{\"); + t = f.read(); + f.close(); + f = open(\"}\minted@outputdir\jobname.pyg\detokenize{\", \"w\", encoding=\"}\minted@encoding\detokenize{\"); + f.write(textwrap.dedent(t)); + f.close();"}% + }% + \immediate\write18{\minted@autogobblecmd}}{}% + \immediate\write18{\minted@cmd}% + \minted@inputpyg}% +} +\def\FV@SpaceMMode{ } +\newcommand{\minted@inputpyg}{% + \everymath\expandafter{\the\everymath\let\FV@Space\FV@SpaceMMode}% + \ifthenelse{\boolean{minted@isinline}}% + {\ifthenelse{\equal{\minted@get@opt{breaklines}{false}}{true}}% + {\let\FV@BeginVBox\relax + \let\FV@EndVBox\relax + \def\FV@BProcessLine##1{\FancyVerbFormatLine{##1}}% + \ifthenelse{\equal{\minted@get@opt{breakbytoken}{false}}{true}}% + {\expandafter\let\expandafter\minted@orig@PYG% + \csname PYG\minted@get@opt{style}{default}\endcsname + \expandafter\def\csname PYG\minted@get@opt{style}{default}\endcsname##1##2{% + \allowbreak{}\hbox{\minted@orig@PYG{##1}{##2}}}% + \minted@inputpyg@inline}% + {\minted@inputpyg@inline}}% + {\minted@inputpyg@inline}}% + {\ifthenelse{\equal{\minted@get@opt{breaklines}{false}}{true}}% + {\ifthenelse{\equal{\minted@get@opt{breakbytoken}{false}}{true}}% + {\expandafter\let\expandafter\minted@orig@PYG% + \csname PYG\minted@get@opt{style}{default}\endcsname + \expandafter\def\csname PYG\minted@get@opt{style}{default}\endcsname##1##2{% + \allowbreak{}\hbox{\minted@orig@PYG{##1}{##2}}}% + \minted@inputpyg@block}% + {\minted@inputpyg@block}}% + {\minted@inputpyg@block}}% +} +\def\minted@inputpyg@inline{% + \ifthenelse{\equal{\minted@get@opt{bgcolor}{}}{}}% + {\minted@input{\minted@outputdir\minted@infile}}% + {\colorbox{\minted@get@opt{bgcolor}{}}{\minted@input{\minted@outputdir\minted@infile}}}% +} +\def\minted@inputpyg@block{% + \ifthenelse{\equal{\minted@get@opt{bgcolor}{}}{}}% + {\minted@input{\minted@outputdir\minted@infile}}% + {\begin{minted@colorbg}{\minted@get@opt{bgcolor}{}}% + \minted@input{\minted@outputdir\minted@infile}% + \end{minted@colorbg}}} +\newcommand{\minted@langlinenoson}{% + \ifcsname c@minted@lang\minted@lang\endcsname\else + \newcounter{minted@lang\minted@lang}% + \fi + \setcounter{minted@FancyVerbLineTemp}{\value{FancyVerbLine}}% + \setcounter{FancyVerbLine}{\value{minted@lang\minted@lang}}% +} +\newcommand{\minted@langlinenosoff}{% + \setcounter{minted@lang\minted@lang}{\value{FancyVerbLine}}% + \setcounter{FancyVerbLine}{\value{minted@FancyVerbLineTemp}}% +} +\ifthenelse{\boolean{minted@langlinenos}}{}{% + \let\minted@langlinenoson\relax + \let\minted@langlinenosoff\relax +} +\newcommand{\setminted}[2][]{% + \ifthenelse{\equal{#1}{}}% + {\setkeys{minted@opt@g}{#2}}% + {\minted@configlang{#1}% + \setkeys{minted@opt@lang}{#2}}} +\newcommand{\setmintedinline}[2][]{% + \ifthenelse{\equal{#1}{}}% + {\setkeys{minted@opt@g@i}{#2}}% + {\minted@configlang{#1}% + \setkeys{minted@opt@lang@i}{#2}}} +\setmintedinline[php]{startinline=true} +\newcommand{\usemintedstyle}[2][]{\setminted[#1]{style=#2}} +\begingroup +\catcode`\ =\active +\catcode`\^^I=\active +\gdef\minted@defwhitespace@retok{\def {\noexpand\FV@Space}\def^^I{\noexpand\FV@Tab}}% +\endgroup +\newcommand{\minted@writecmdcode}[1]{% + \immediate\openout\minted@code\jobname.pyg\relax + \immediate\write\minted@code{\detokenize{#1}}% + \immediate\closeout\minted@code} +\newrobustcmd{\mintinline}[2][]{% + \begingroup + \setboolean{minted@isinline}{true}% + \minted@configlang{#2}% + \setkeys{minted@opt@cmd}{#1}% + \minted@fvset + \begingroup + \let\do\@makeother\dospecials + \catcode`\{=1 + \catcode`\}=2 + \catcode`\^^I=\active + \@ifnextchar\bgroup + {\minted@inline@iii}% + {\catcode`\{=12\catcode`\}=12 + \minted@inline@i}} +\def\minted@inline@i#1{% + \endgroup + \def\minted@inline@ii##1#1{% + \minted@inline@iii{##1}}% + \begingroup + \let\do\@makeother\dospecials + \catcode`\^^I=\active + \minted@inline@ii} +\ifthenelse{\boolean{minted@draft}}% + {\newcommand{\minted@inline@iii}[1]{% + \endgroup + \begingroup + \minted@defwhitespace@retok + \everyeof{\noexpand}% + \endlinechar-1\relax + \let\do\@makeother\dospecials + \catcode`\ =\active + \catcode`\^^I=\active + \xdef\minted@tmp{\scantokens{#1}}% + \endgroup + \let\FV@Line\minted@tmp + \def\FV@SV@minted@tmp{% + \FV@Gobble + \expandafter\FV@ProcessLine\expandafter{\FV@Line}}% + \ifthenelse{\equal{\minted@get@opt{breaklines}{false}}{true}}% + {\let\FV@BeginVBox\relax + \let\FV@EndVBox\relax + \def\FV@BProcessLine##1{\FancyVerbFormatLine{##1}}% + \BUseVerbatim{minted@tmp}}% + {\BUseVerbatim{minted@tmp}}% + \endgroup}}% + {\newcommand{\minted@inline@iii}[1]{% + \endgroup + \minted@writecmdcode{#1}% + \RecustomVerbatimEnvironment{Verbatim}{BVerbatim}{}% + \setcounter{minted@FancyVerbLineTemp}{\value{FancyVerbLine}}% + \minted@pygmentize{\minted@lang}% + \setcounter{FancyVerbLine}{\value{minted@FancyVerbLineTemp}}% + \endgroup}} +\newrobustcmd{\mint}[2][]{% + \begingroup + \minted@configlang{#2}% + \setkeys{minted@opt@cmd}{#1}% + \minted@fvset + \begingroup + \let\do\@makeother\dospecials + \catcode`\{=1 + \catcode`\}=2 + \catcode`\^^I=\active + \@ifnextchar\bgroup + {\mint@iii}% + {\catcode`\{=12\catcode`\}=12 + \mint@i}} +\def\mint@i#1{% + \endgroup + \def\mint@ii##1#1{% + \mint@iii{##1}}% + \begingroup + \let\do\@makeother\dospecials + \catcode`\^^I=\active + \mint@ii} +\ifthenelse{\boolean{minted@draft}}% + {\newcommand{\mint@iii}[1]{% + \endgroup + \begingroup + \minted@defwhitespace@retok + \everyeof{\noexpand}% + \endlinechar-1\relax + \let\do\@makeother\dospecials + \catcode`\ =\active + \catcode`\^^I=\active + \xdef\minted@tmp{\scantokens{#1}}% + \endgroup + \let\FV@Line\minted@tmp + \def\FV@SV@minted@tmp{% + \FV@CodeLineNo=1\FV@StepLineNo + \FV@Gobble + \expandafter\FV@ProcessLine\expandafter{\FV@Line}}% + \minted@langlinenoson + \UseVerbatim{minted@tmp}% + \minted@langlinenosoff + \endgroup}}% + {\newcommand{\mint@iii}[1]{% + \endgroup + \minted@writecmdcode{#1}% + \minted@langlinenoson + \minted@pygmentize{\minted@lang}% + \minted@langlinenosoff + \endgroup}} +\ifthenelse{\boolean{minted@draft}}% + {\newenvironment{minted}[2][] + {\VerbatimEnvironment + \minted@configlang{#2}% + \setkeys{minted@opt@cmd}{#1}% + \minted@fvset + \minted@langlinenoson + \begin{Verbatim}}% + {\end{Verbatim}% + \minted@langlinenosoff}}% + {\newenvironment{minted}[2][] + {\VerbatimEnvironment + \let\FVB@VerbatimOut\minted@FVB@VerbatimOut + \let\FVE@VerbatimOut\minted@FVE@VerbatimOut + \minted@configlang{#2}% + \setkeys{minted@opt@cmd}{#1}% + \minted@fvset + \begin{VerbatimOut}[codes={\catcode`\^^I=12}]{\jobname.pyg}}% + {\end{VerbatimOut}% + \minted@langlinenoson + \minted@pygmentize{\minted@lang}% + \minted@langlinenosoff}} +\ifthenelse{\boolean{minted@draft}}% + {\newcommand{\inputminted}[3][]{% + \begingroup + \minted@configlang{#2}% + \setkeys{minted@optcmd}{#1}% + \minted@fvset + \VerbatimInput{#3}% + \endgroup}}% + {\newcommand{\inputminted}[3][]{% + \begingroup + \minted@configlang{#2}% + \setkeys{minted@opt@cmd}{#1}% + \minted@fvset + \minted@pygmentize[#3]{#2}% + \endgroup}} +\newcommand{\newminted}[3][]{ + \ifthenelse{\equal{#1}{}} + {\def\minted@envname{#2code}} + {\def\minted@envname{#1}} + \newenvironment{\minted@envname} + {\VerbatimEnvironment + \begin{minted}[#3]{#2}} + {\end{minted}} + \newenvironment{\minted@envname *}[1] + {\VerbatimEnvironment\begin{minted}[#3,##1]{#2}} + {\end{minted}}} +\newcommand{\newmint}[3][]{ + \ifthenelse{\equal{#1}{}} + {\def\minted@shortname{#2}} + {\def\minted@shortname{#1}} + \expandafter\newcommand\csname\minted@shortname\endcsname[2][]{ + \mint[#3,##1]{#2}##2}} +\newcommand{\newmintedfile}[3][]{ + \ifthenelse{\equal{#1}{}} + {\def\minted@shortname{#2file}} + {\def\minted@shortname{#1}} + \expandafter\newcommand\csname\minted@shortname\endcsname[2][]{ + \inputminted[#3,##1]{#2}{##2}}} +\newcommand{\newmintinline}[3][]{% + \ifthenelse{\equal{#1}{}}% + {\def\minted@shortname{#2inline}}% + {\def\minted@shortname{#1}}% + \expandafter\newrobustcmd\csname\minted@shortname\endcsname{% + \begingroup + \let\do\@makeother\dospecials + \catcode`\{=1 + \catcode`\}=2 + \@ifnextchar[{\endgroup\minted@inliner[#3][#2]}% + {\endgroup\minted@inliner[#3][#2][]}}% + \def\minted@inliner[##1][##2][##3]{\mintinline[##1,##3]{##2}}% +} +\ifthenelse{\boolean{minted@newfloat}}% + {\@ifundefined{minted@float@within}% + {\DeclareFloatingEnvironment[fileext=lol,placement=h]{listing}}% + {\def\minted@tmp#1{% + \DeclareFloatingEnvironment[fileext=lol,placement=h, within=#1]{listing}}% + \expandafter\minted@tmp\expandafter{\minted@float@within}}}% + {\@ifundefined{minted@float@within}% + {\newfloat{listing}{h}{lol}}% + {\newfloat{listing}{h}{lol}[\minted@float@within]}} +\ifminted@newfloat\else +\newcommand{\listingscaption}{Listing} +\floatname{listing}{\listingscaption} +\newcommand{\listoflistingscaption}{List of Listings} +\providecommand{\listoflistings}{\listof{listing}{\listoflistingscaption}} +\fi +\AtEndOfPackage{% + \ifthenelse{\boolean{minted@draft}}{}{% + \ifnum\pdf@shellescape=1\relax\else + \PackageError{minted}% + {You must invoke LaTeX with the + -shell-escape flag}% + {Pass the -shell-escape flag to LaTeX. Refer to the minted.sty + documentation for more information.}% + \fi + \TestAppExists{pygmentize} + \ifAppExists\else + \PackageError{minted}% + {You must have `pygmentize' installed + to use this package}% + {Refer to the installation instructions in the minted + documentation for more information.}% + \fi + \setminted{style=default}% + }% +} +\AtEndDocument{ + \ifx\XeTeXinterchartoks\minted@undefined + \else + \DeleteFile[\minted@outputdir]{\jobname.mintedcmd}% + \DeleteFile[\minted@outputdir]{\jobname.mintedmd5}% + \fi + \DeleteFile[\minted@outputdir]{\jobname.pyg}% + \DeleteFile[\minted@outputdir]{\jobname.out.pyg}% +} +\endinput +%% +%% End of file `minted.sty'. diff --git a/presentations/outils/git/programme/contenu.tex b/presentations/outils/git/programme/contenu.tex new file mode 100644 index 0000000..1054c02 --- /dev/null +++ b/presentations/outils/git/programme/contenu.tex @@ -0,0 +1,39 @@ +\begin{itemize} +\item{Fondamentaux} +\begin{itemize} +\item{Qu'attendre d'un SCM ?} +\item{Les atouts de git} +\item{S'adapter au processus} +\end{itemize} +\item{Préparation} +\begin{itemize} +\item{Installation} +\begin{itemize} +\item{Côté \emph{client}} +\item{Côté \emph{serveur}} +\end{itemize} +\item{Configuration} +\begin{itemize} +\item{Utilisateur} +\item{Dépôts} +\end{itemize} +\item{Ergonomie} +\item{Hooks} +\end{itemize} +\item{Récapitulatif des commandes} +\begin{itemize} +\item{Pour démarrer un projet} +\item{Pour faire le point} +\item{Pour modifier le contenu du dépôt} +\item{Pour organiser son développement} +\item{Aide-mémoire} +\end{itemize} +\item{Mise en pratique} +\begin{itemize} +\item{Mise en place} +\item{Dépôt individuel} +\item{Dépôt commun} +\item{Paquet debian} +\end{itemize} +\item{Pour aller plus loin} +\end{itemize} diff --git a/presentations/outils/git/programme/duree.tex b/presentations/outils/git/programme/duree.tex new file mode 100644 index 0000000..b556780 --- /dev/null +++ b/presentations/outils/git/programme/duree.tex @@ -0,0 +1 @@ +1 jour diff --git a/presentations/outils/git/programme/evaluation.tex b/presentations/outils/git/programme/evaluation.tex new file mode 100644 index 0000000..f891f5e --- /dev/null +++ b/presentations/outils/git/programme/evaluation.tex @@ -0,0 +1 @@ +L'évaluation de l'acquisition des connaissances se fait à partir d'une série d'exercices exécutés dans le courant de la session de formation. diff --git a/presentations/outils/git/programme/moyens.tex b/presentations/outils/git/programme/moyens.tex new file mode 100644 index 0000000..78b609a --- /dev/null +++ b/presentations/outils/git/programme/moyens.tex @@ -0,0 +1 @@ +La formation s'appuie sur l'utilisation de dispositif courant de projection pour la partie magistrale et sur la mise en réseau des ordinateurs des participants pour la partie pratique. L'accès à l'Internet n'est pas indispensable. diff --git a/presentations/outils/git/programme/objectifs.tex b/presentations/outils/git/programme/objectifs.tex new file mode 100644 index 0000000..d237dd8 --- /dev/null +++ b/presentations/outils/git/programme/objectifs.tex @@ -0,0 +1,5 @@ +L'objectif de cette formation est de présenter le fonctionnement du logiciel git et d'en donner des clés d'utilisation et des repères, aussi bien à travers la pratique des commandes basiques qu'à travers une discussion sur le processus de développement. + +L'accent est mis sur les situations problématiques qui peuvent être rencontrées pour développer de bons réflexes et éviter tout blocage. + +Au terme de cette formation, les participants devront être capables de démarrer un projet git, de tirer profit des fonctionnalités de git pour mettre en place leur processus de développement. Ils seront également à même de mettre en place un serveur référent. diff --git a/presentations/outils/git/programme/prerequis.tex b/presentations/outils/git/programme/prerequis.tex new file mode 100644 index 0000000..c54453e --- /dev/null +++ b/presentations/outils/git/programme/prerequis.tex @@ -0,0 +1 @@ +La formation nécessite de ne pas être rebuté par la ligne de commande. diff --git a/presentations/outils/git/programme/public.tex b/presentations/outils/git/programme/public.tex new file mode 100644 index 0000000..567a202 --- /dev/null +++ b/presentations/outils/git/programme/public.tex @@ -0,0 +1 @@ +Cette formation s'adresse tout particulièrement aux débutants. Elle présente uniquement les éléments fondamentaux du fonctionnement de git et les situations les plus embarrassantes pour les novices. diff --git a/presentations/outils/git/xcolor-solarized.sty b/presentations/outils/git/xcolor-solarized.sty new file mode 100644 index 0000000..b0163d6 --- /dev/null +++ b/presentations/outils/git/xcolor-solarized.sty @@ -0,0 +1,92 @@ +%% +%% This is file `xcolor-solarized.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% xcolor-solarized.dtx (with options: `package') +%% +%% This is a generated file. +%% +%% Copyright (C) 2014 by Julien Cretel +%% +%% This work may be distributed and/or modified under the +%% conditions of the LaTeX Project Public License, either version 1.3 +%% of this license or (at your option) any later version. +%% The latest version of this license is in +%% +%% http://www.latex-project.org/lppl.txt +%% +%% and version 1.3 or later is part of all distributions of LaTeX +%% version 2005/12/01 or later. +%% +%% This work has the LPPL maintenance status `maintained'. +%% +%% The Current Maintainer of this work is Julien Cretel. +%% +%% This work currently consists of the files xcolor-solarized.dtx, +%% xcolor-solarized.ins, and the derived file xcolor-solarized.sty. +%% + +\NeedsTeXFormat{LaTeX2e}[2011/06/27] +\ProvidesPackage{xcolor-solarized} + [2015/02/17 v0.3 xcolor definitions for Ethan Schoonover's + Solarized theme] +\RequirePackage{xcolor}[2007/01/21] +\RequirePackage{kvoptions}[2011/06/30] +\SetupKeyvalOptions{ + family=solarized, + prefix=solarized@ +} +\DeclareStringOption[solarized-]{prefix} +\DeclareDefaultOption{% + \OptionNotUsed + \PackageError{xcolor-solarized}{Unknown `\CurrentOption' option} +} +\ProcessKeyvalOptions* +\newcommand\solarized@definecolor{\expandafter\definecolor\expandafter} +\solarized@definecolor{\solarized@prefix base03} {RGB}{000, 043, 054} +\solarized@definecolor{\solarized@prefix base02} {RGB}{007, 054, 066} +\solarized@definecolor{\solarized@prefix base01} {RGB}{088, 110, 117} +\solarized@definecolor{\solarized@prefix base00} {RGB}{101, 123, 131} +\solarized@definecolor{\solarized@prefix base0} {RGB}{131, 148, 150} +\solarized@definecolor{\solarized@prefix base1} {RGB}{147, 161, 161} +\solarized@definecolor{\solarized@prefix base2} {RGB}{238, 232, 213} +\solarized@definecolor{\solarized@prefix base3} {RGB}{253, 246, 227} +\solarized@definecolor{\solarized@prefix yellow} {RGB}{181, 137, 000} +\solarized@definecolor{\solarized@prefix orange} {RGB}{203, 075, 022} +\solarized@definecolor{\solarized@prefix red} {RGB}{220, 050, 047} +\solarized@definecolor{\solarized@prefix magenta}{RGB}{211, 054, 130} +\solarized@definecolor{\solarized@prefix violet} {RGB}{108, 113, 196} +\solarized@definecolor{\solarized@prefix blue} {RGB}{038, 139, 210} +\solarized@definecolor{\solarized@prefix cyan} {RGB}{042, 161, 152} +\solarized@definecolor{\solarized@prefix green} {RGB}{133, 153, 000} +\newcommand\solarizedPalette[1][3em]{% + \newcommand\solarized@square{\rule{#1}{#1}} + \noindent + \begin{tabular}{cccc cccc} + \textcolor{solarized-base03} \solarized@square & + \textcolor{solarized-base02} \solarized@square & + \textcolor{solarized-base01} \solarized@square & + \textcolor{solarized-base00} \solarized@square & + \textcolor{solarized-base0} \solarized@square & + \textcolor{solarized-base1} \solarized@square & + \textcolor{solarized-base2} \solarized@square & + \textcolor{solarized-base3} \solarized@square \\ + base03 & base02 & base01 & base00 & + base0 & base1 & base2 & base3 \\[#1] + \textcolor{solarized-yellow} \solarized@square & + \textcolor{solarized-orange} \solarized@square & + \textcolor{solarized-red} \solarized@square & + \textcolor{solarized-magenta}\solarized@square & + \textcolor{solarized-violet} \solarized@square & + \textcolor{solarized-blue} \solarized@square & + \textcolor{solarized-cyan} \solarized@square & + \textcolor{solarized-green} \solarized@square \\ + yellow & orange & red & magenta & + violet & blue & cyan & green + \end{tabular} +} +\endinput +%% +%% End of file `xcolor-solarized.sty'. diff --git a/setup_main_tex_file.py b/setup_main_tex_file.py new file mode 100755 index 0000000..64aba7c --- /dev/null +++ b/setup_main_tex_file.py @@ -0,0 +1,207 @@ +#!/usr/bin/python +# -*- coding:utf-8 -*- + +import argparse +import re +import random +import time +from os import path, makedirs +from jinja2 import Environment, FileSystemLoader + +LICENSES = {'CC-by-sa-2.0': 'license-cc-by-sa-2.0', + } + +TEMPLATES = { + 'beamer': {'fragment': 'frame.tex', + 'fragment_pratique': 'frame-pratique.tex', + 'master': 'main-beamer.tex'}, + 'article': {'fragment': 'fragment.tex', + 'fragment_pratique': 'fragment-pratique.tex', + 'master': 'main-article.tex'}, + 'questionnaire': {'fragment': 'fragment.tex', + 'fragment_pratique': 'fragment-pratique.tex', + 'master': 'main-questionnaire.tex'} + } + +LATEX_SUBS = [(re.compile('_'), '\\_'), + ] + + +def get_unique_name(base): + now = time.localtime() + year = str(now[0]) + month = str(now[1]).rjust(2, '0') + day = str(now[2]).rjust(2, '0') + rand = str(random.randint(0, 100)).rjust(2, '0') + return '-'.join([base, year, month, day, rand]).decode('utf-8') + + +def escape_tex(value): + newval = value + for pattern, replacement in LATEX_SUBS: + newval = pattern.sub(replacement, newval) + return newval + + +def main(): + + def init(args): + """ + init function + """ + root = '../' + if args.directory: + root = root + re.sub(r'[\w-]+/?', '../', args.directory) + else: + root = '../' + + name = args.name + if name: + if path.splitext(name)[1] == '': + name = name + '.tex' + else: + name = get_unique_name('formation') + + title = args.title + if not title: + title = 'FIXME' + else: + title = title + + author = args.author + if not author: + author = 'Cadoles' + else: + author = author + + client = args.client + if not client: + client = 'FIXME' + else: + client = client + + directory = args.directory + if not directory: + directory = '' + + license = LICENSES.get(args.license, 'license-cc-by-sa-2.0') + + document_class = args.format + content = 'sli' if document_class == 'beamer' else 'rep' + + env = {'root': root, + 'class': document_class, + 'content': content, + 'title': title, + 'author': author, + 'client': client, + 'license': license} + master = TEMPLATES[document_class]['master'] + master_dir = path.join('presentations', directory) + programme_dir = path.join(master_dir, 'programme') + resources = [(path.join('presentations', directory), master), + (programme_dir, 'contenu.tex'), + (programme_dir, 'duree.tex'), + (programme_dir, 'evaluation.tex'), + (programme_dir, 'moyens.tex'), + (programme_dir, 'objectifs.tex'), + (programme_dir, 'prerequis.tex'), + (programme_dir, 'public.tex'), + ] + #('slides', 'license-cc-by-sa-2.0.tex'), + #('slides', 'preambule.tex'), + #('slides', 'title.tex')] + for directory, template_file in resources: + template = jinja_env.get_template(template_file) + rendered_template = template.render(**env) + if not path.exists(directory): + makedirs(directory) + template_dest_name = name if template_file == master else template_file + with open(path.join(directory, template_dest_name), 'w') as rendered_file: + rendered_file.write(rendered_template) + + def update(args): + """ + update function + """ + re_class = re.compile(r'\\documentclass\{(?P.*)\}') + #skbconfig_re = re.compile(r'\\skbconfig\[\s*root\s*=\s*(?P.*),\s*rep\s*=\s*(?P.*),\s*pub\s*=\s*(?P.*),\s*fig\s*=\s*(?P.*),\s*sli\s*=\s*(?P.*),\s*acr\s*=\s*(?P.*),\s*bib\s*=\s*(?P.*),\s*\]\{skblocal.tex\}', re.M) + skbconfig_re = re.compile(r'\\skbconfig\[\n\s*root\s*=\s*(?P.*),\n\s*rep\s*=\s*(?P.*),\n\s*pub\s*=\s*(?P.*),\n\s*fig\s*=\s*(?P.*),\n\s*sli\s*=\s*(?P.*),\n\s*acr\s*=\s*(?P.*),\n\s*bib\s*=\s*(?P.*)\n\s*\]\{skblocal.tex\}', re.M) + skbinput_re = re.compile(r'[^%]\\skbinput\[from=(?P.*?)(,.*)?\]\{(?P.*?)\}', re.M) + with open(args.master, 'r') as master: + tex_master = master.read() + tex_class = re_class.search(tex_master) + tex_skbconfig = skbconfig_re.search(tex_master) + tex_skbinputs = skbinput_re.finditer(tex_master) + fragment = TEMPLATES[tex_class.group('document_class')]['fragment'] + fragment_pratique = TEMPLATES[tex_class.group('document_class')]['fragment_pratique'] + + for skbinput in tex_skbinputs: + rep = path.dirname(skbinput.group('tex')) + rep = path.join(tex_skbconfig.group(skbinput.group('rep')), rep) + tex_name = path.basename(skbinput.group('tex')) + basename = '{0}.tex'.format(tex_name) + dest = path.join(rep, basename) + if not path.isfile(dest): + print(dest) + if not path.isdir(rep): + makedirs(rep) + template = jinja_env.get_template(fragment_pratique if tex_name.endswith('-pratique') else fragment) + env = {'title': basename, 'subtitle': '', + 'name': dest} + rendered_template = template.render(**env) + with open(dest, 'w') as rendered_file: + rendered_file.write(rendered_template) + + + def outline(args): + """ + outline creation + """ + section_re = re.compile(r'\\section\{(?P.*?)\}') + part_re = re.compile(r'\\part\{(?P.*?)}') + subsection_re = re.compile(r'\\subsection\{(?P.*?)\}') + with open(args.master, 'r') as master_tex: + master = master_tex.read() + parts = part_re.finditer(master) + section = section_re.finditer(master) + subsection_re = subsection_re.finditer(master) + + + jinja_loader = FileSystemLoader('./templates') + jinja_env = Environment(loader=jinja_loader, + block_start_string='((*', + block_end_string='*))', + variable_start_string='(((', + variable_end_string=')))', + comment_start_string='((=', + comment_end_string='=))', + trim_blocks=True) + jinja_env.filters['escape_tex'] = escape_tex + + parser = argparse.ArgumentParser(description="Préparation des fichiers tex") + subparsers = parser.add_subparsers(help='Aide des sous-commandes') + parser_init = subparsers.add_parser('init', help='Initialisation du fichier maître') + parser_init.add_argument('-f', '--format', help="Format du document", required=True) + parser_init.add_argument('-n', '--name', help="Nom du fichier à créer", required=True) + parser_init.add_argument('-a', '--author', help="Auteur de la formation") + parser_init.add_argument('-c', '--client', help="Client") + parser_init.add_argument('-t', '--title', help="Titre de la formation") + parser_init.add_argument('-l', '--license', help="Termes de mise à disposition de la formation") + parser_init.add_argument('-d', '--directory', help="Sous-répertoires où créer le fichier", required=True) + parser_init.set_defaults(func=init) + parser_update = subparsers.add_parser('update', help='Mise à jour des fichiers inclus') + parser_update.add_argument('-m', '--master', help="Emplacement du fichier maître", required=True) + parser_update.set_defaults(func=update) + parser_outline = subparsers.add_parser('outline', help="Création du programme à partir du fichier maître") + parser_outline.add_argument('-m', '--master', help="Emplacement du fichier maître", required=True) + parser_outline.set_defaults(func=outline) + args = parser.parse_args() + args.func(args) + + + + + +if __name__ == '__main__': + main() diff --git a/slides/SIG/floss.tex b/slides/SIG/floss.tex new file mode 100644 index 0000000..8cd8585 --- /dev/null +++ b/slides/SIG/floss.tex @@ -0,0 +1,7 @@ +\begin{frame} + \frametitle{Les briques libres de votre SIG} + \begin{itemize} + \item Données libres + \item Logiciels libres + \end{itemize} +\end{frame} diff --git a/slides/SIG/frame.tex b/slides/SIG/frame.tex new file mode 100644 index 0000000..c6ddb22 --- /dev/null +++ b/slides/SIG/frame.tex @@ -0,0 +1,4 @@ +\begin{frame} + \frametitle{Des données géoréférencées, pourquoi ?} + La dimension spatiale est importante dans beaucoup de mécanismes de prise de décision. +\end{frame} diff --git a/slides/SIG/geodata.tex b/slides/SIG/geodata.tex new file mode 100644 index 0000000..c6ddb22 --- /dev/null +++ b/slides/SIG/geodata.tex @@ -0,0 +1,4 @@ +\begin{frame} + \frametitle{Des données géoréférencées, pourquoi ?} + La dimension spatiale est importante dans beaucoup de mécanismes de prise de décision. +\end{frame} diff --git a/slides/SIG/internal-sig.tex b/slides/SIG/internal-sig.tex new file mode 100644 index 0000000..1a754e8 --- /dev/null +++ b/slides/SIG/internal-sig.tex @@ -0,0 +1,10 @@ +\begin{frame} + \frametitle{SIG internalisé} + \begin{itemize} + \item adaptation des données ; + \item valeur ajoutée ; + \item données métiers ; + \item responsabilité de la qualité des données ; + \item haute disponibilité. + \end{itemize} +\end{frame} diff --git a/slides/SIG/typical-sig.tex b/slides/SIG/typical-sig.tex new file mode 100644 index 0000000..b2d167c --- /dev/null +++ b/slides/SIG/typical-sig.tex @@ -0,0 +1,7 @@ +\begin{frame} + \frametitle{SIG typique} + \begin{itemize} + \item données externes : WMS, WFS + \item données internes : WMS, WFS, base de données géoréférencées + \end{itemize} +\end{frame} diff --git a/slides/licences/license-cc-by-sa-2.0.tex b/slides/licences/license-cc-by-sa-2.0.tex new file mode 100644 index 0000000..7758b94 --- /dev/null +++ b/slides/licences/license-cc-by-sa-2.0.tex @@ -0,0 +1,16 @@ +\subject{Talks} +\begin{frame} + \begin{block}{Licence} + Cette œuvre est mise à disposition sous licence \href{http://creativecommons.org/licenses/by-nc-sa/2.0/fr/}{\textsc{cc-by-sa-2.0}} + \begin{itemize} + \item Attribution + \item Partage dans les Mêmes Conditions 2.0 + \item France + \end{itemize} + Pour voir une copie de cette licence, visitez + \href{http://creativecommons.org/licenses/by-sa/2.0/fr/}{http://creativecommons.org/licenses/by-sa/2.0/fr/} + ou écrivez à Creative Commons, 444 Castro Street, Suite 900, + Mountain View, California, 94041, USA. + \end{block} +\pnote{test des notes standard} +\end{frame} diff --git a/slides/modules_EOLE_envole/.tex b/slides/modules_EOLE_envole/.tex new file mode 100644 index 0000000..b3fd33e --- /dev/null +++ b/slides/modules_EOLE_envole/.tex @@ -0,0 +1,5 @@ +\begin{frame} + \frametitle{.tex} + fichier slides/modules\_EOLE\_envole/.tex à éditer + % contenu (pas trop long) de la diapositive +\end{frame} \ No newline at end of file diff --git a/slides/modules_EOLE_envole/amon/description.tex b/slides/modules_EOLE_envole/amon/description.tex new file mode 100644 index 0000000..1e730fe --- /dev/null +++ b/slides/modules_EOLE_envole/amon/description.tex @@ -0,0 +1,13 @@ +\begin{frame} + \frametitle {Amon} + \begin{itemize} + \item Amon, la passerelle pare-feu : + \begin{itemize} + \item partage des sous-réseaux et connexion à internet (pare-feu) ; + \item authentifications des utilisateurs ; + \item réseau virtuel privé ; + \item cache web ; + \item reverse proxy web. + \end{itemize} + \end{itemize} +\end{frame} diff --git a/slides/modules_EOLE_envole/amon/virtualbox.tex b/slides/modules_EOLE_envole/amon/virtualbox.tex new file mode 100644 index 0000000..efaa6d6 --- /dev/null +++ b/slides/modules_EOLE_envole/amon/virtualbox.tex @@ -0,0 +1,12 @@ +{\setbeamercolor{background canvas}{bg=TravauxPratiques} +\begin{frame} + \frametitle{VirtualBox} + \framesubtitle{Configuration de la VM Amon} + \begin{description} + \item[processeur] 1 + \item[RAM] 1024 + \item[HDD] amon.vdi + \item[réseau] réseau privé hôte + \end{description} +\end{frame} +} diff --git a/slides/modules_EOLE_envole/amonecole/description.tex b/slides/modules_EOLE_envole/amonecole/description.tex new file mode 100644 index 0000000..1b4d648 --- /dev/null +++ b/slides/modules_EOLE_envole/amonecole/description.tex @@ -0,0 +1,10 @@ +\begin{frame} + \frametitle{AmonEcole} + \begin{itemize} + \item AmonEcole, solution de conteneurs cumulant les fonctionnalités de : + \begin{itemize} + \item Amon, + \item Scribe. + \end{itemize} + \end{itemize} +\end{frame} diff --git a/slides/modules_EOLE_envole/client_windows/virtualbox.tex b/slides/modules_EOLE_envole/client_windows/virtualbox.tex new file mode 100644 index 0000000..b39975e --- /dev/null +++ b/slides/modules_EOLE_envole/client_windows/virtualbox.tex @@ -0,0 +1,12 @@ +{\setbeamercolor{background canvas}{bg=TravauxPratiques} +\begin{frame} + \frametitle{VirtualBox} + \framesubtitle{Configuration de la VM MS Windows} + \begin{description} + \item{ova} pc1-formation.ova + \item[processeur] 1 + \item[RAM] 4096 + \item[réseau] réseau privé hôte + \end{description} +\end{frame} +} diff --git a/slides/modules_EOLE_envole/commun/02-gen_config.tex b/slides/modules_EOLE_envole/commun/02-gen_config.tex new file mode 100644 index 0000000..b9b8bfd --- /dev/null +++ b/slides/modules_EOLE_envole/commun/02-gen_config.tex @@ -0,0 +1,93 @@ +\begin{frame} + \frametitle{Configuration autonome} + \framesubtitle{Nature d’une configuration} + \begin{itemize} + \item des familles regroupant les variables ; + \item des variables typées ; + \item des variables à la source identifiée ; + \item des contraintes affectant les variables. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Configuration autonome} + \framesubtitle{Types de variables} + Les variables de la configuration sont typées. Leur saisie est donc validée. + \begin{itemize} + \item nombre ; + \item chaîne de caractères ; + \item nom de domaine ; + \item adresse IP ; + \item \ldots{} + \end{itemize} +\end{frame} +\begin{frame} + \frametitle{Configuration autonome} + \framesubtitle{Contraintes} + Les contraintes affectent la valeur des variables, leur association ou leur disponibilité. + \begin{itemize} + \item variables obligatoires ; + \item variables calculées ; + \item variables verrouillées automatiquement ; + \item variables sauvegardées automatiquement ; + \item variables multi-valuées ; + \item variables groupées ; + \item variables avec choix (imposés ou ouverts) ; + \item variables cachées. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Configuration autonome} + \framesubtitle{Application de configuration du module} + L’outil de configuration du module (\commande{gen\_config}) permet de saisir la configuration du module. + \begin{itemize} + \item accessible après instanciation à l’url https://ip\_server:7000/genconfig/ (si autorisé) ; + \item nécessite une authentification ; + \item barre de menu ; + \item les familles ; + \item la partie centrale. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Configuration autonome} + \framesubtitle{Les modes de l’application de configuration du module} + Les variable de configuration sont classées en trois catégories qui permettent de filtrer leur affichage pour simplifier la saisie : + \begin{itemize} + \item mode basique ; + \item mode normal ; + \item mode expert. + \end{itemize} + \begin{block}{Mode assistant} + Le mode \emph{assistant} présente les variables obligatoires sur une seule page. +C’est le mode ouvert par défaut lorsqu’aucun fichier de configuration n’est présent. + \end{block} +\end{frame} + +\begin{frame} + \frametitle{Configuration autonome} + \framesubtitle{Les informations de debug} + \begin{block}{Noms de variables et variables cachées} + Le mode \emph{debug} permet d’afficher les noms de variables tels que définis dans les dictionnaires creole ainsi que les variables cachées. + \end{block} +\end{frame} + +\begin{frame} + \frametitle{Configuration autonome} + \framesubtitle{sauvegarde et chargement de la configuration} + La configuration est composée des valeurs des variables de configuration. + \begin{itemize} + \item possibilité d'importer/exporter un fichier ; + \item page des variables obligatoires non renseignées ; + \item visualisation des différences avant l'enregistrement ; + \item enregistrement dans le fichier "config.eol". + \end{itemize} + \begin{block}{Déverrouiller les variables} + Importer une configuration à l’effet secondaire de déverrouiller toutes les variables. + \end{block} + \begin{alertblock}{Contenu du fichier config.eol} + Seules les variables dont les valeurs sont modifiées par l’administrateur sont sauvegardées dans un fichier. + \end{alertblock} +\end{frame} + diff --git a/slides/modules_EOLE_envole/commun/02-quatre_phases.tex b/slides/modules_EOLE_envole/commun/02-quatre_phases.tex new file mode 100644 index 0000000..5426603 --- /dev/null +++ b/slides/modules_EOLE_envole/commun/02-quatre_phases.tex @@ -0,0 +1,65 @@ +\begin{frame} + \frametitle{Les comptes administrateurs locaux} + La gestion des services sur les modules EOLE s’appuie sur des comptes administrateurs locaux : + \begin{itemize} + \item \emph{root}, + \item administrateur à droits restreints \emph{eole}, + \item éventuellement des comptes administrateurs à droits restreints supplémentaires, + \item \emph{admin} sur Scribe et Horus, + \item \emph{admin\_zephir} sur Zéphir. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Les comptes administrateurs locaux} + \begin{block}{administrateurs à droits restreints supplémentaires} + Sur Amon, en cas d'utilisation d'un réseau pédagogique et administratif, un second administrateur (\emph{eole2}) permet d'administrer le réseau pédagogique. + \end{block} +\end{frame} + +\begin{frame} + \frametitle{Les mots de passe} + Par défaut, le système vérifie la complexité des mots de passe en utilisant les contraintes suivantes : + \begin{itemize} + \item combinaison d’au moins deux classes de caractères parmi les suivantes : + \begin{itemize} + \item lettres en minuscule, + \item lettres en majuscule, + \item chiffres, + \item caractères spéciaux (Ex : \$*ù\%£, ; : !§/. ?). + \end{itemize} + \item longueur minimale selon le nombre de classes utilisées : + \begin{itemize} + \item une seule classe de caractères : impossible, + \item deux classes de caractères : 9 caractères minimum, + \item trois et quatre classes : 8 caractères minimum. + \end{itemize} + \end{itemize} +\end{frame} +\begin{frame} + \frametitle{Les mots de passe} + \begin{block}{contraintes de validité des mots de passe} + Les contraintes de validité des mots de passe sont modifiables dans l'interface de configuration du module, \commande{gen\_config}, en mode expert. + \end{block} +\end{frame} + +\begin{frame} + \frametitle{La phase d'administration} + La phase d’administration correspond à l’exploitation du serveur : + \begin{itemize} + \item gestion des services via des interfaces dédiées ; + \item gestion des mises à jour logicielles ; + \item gestion des sauvegardes et restauration. + \end{itemize} +\end{frame} +\begin{frame} + \frametitle{La phase d’administration} + \begin{block}{interfaces d’administrations dédiées} + \begin{itemize} + \item l'interface d'administration EOLE (EAD, EOP, \ldots{}), + \item l'interface semi-graphique, + \item diverses interfaces d'administration (Zéphir-web, CUPS, Sympa, \ldots{}), + \item différents outils (Era, \ldots{}) ; + \end{itemize} + \end{block} +\end{frame} diff --git a/slides/modules_EOLE_envole/commun/08-info_internet.tex b/slides/modules_EOLE_envole/commun/08-info_internet.tex new file mode 100644 index 0000000..14232b7 --- /dev/null +++ b/slides/modules_EOLE_envole/commun/08-info_internet.tex @@ -0,0 +1,11 @@ +\begin{frame} + \frametitle{Trouver des informations sur Internet} + \begin{itemize} + \item la documentation ; + \item les FAQ ; + \item les archives des listes de diffusion ; + \item recherche sur Internet ; + \item équipes d'assistance académiques ; + \item forum EOLE : https://www.libre-communaute.fr . + \end{itemize} +\end{frame} diff --git a/slides/modules_EOLE_envole/commun/administration.tex b/slides/modules_EOLE_envole/commun/administration.tex new file mode 100644 index 0000000..bdc7f38 --- /dev/null +++ b/slides/modules_EOLE_envole/commun/administration.tex @@ -0,0 +1,20 @@ +\begin{frame} + \frametitle{La phase d'administration} + La phase d’administration correspond à l’exploitation du serveur : + \begin{itemize} + \item gestion des services via des interfaces dédiées ; + \item gestion des mises à jour logicielles ; + \item gestion des sauvegardes et restauration. + \end{itemize} +\end{frame} +\begin{frame} + \frametitle{La phase d’administration} + \begin{block}{interfaces d’administrations dédiées} + \begin{itemize} + \item l'interface d'administration EOLE (EAD, EOP, \ldots{}), + \item l'interface semi-graphique, + \item diverses interfaces d'administration (Zéphir-web, CUPS, Sympa, \ldots{}), + \item différents outils (Era, \ldots{}) ; + \end{itemize} + \end{block} +\end{frame} diff --git a/slides/modules_EOLE_envole/commun/administration/diagnostic.tex b/slides/modules_EOLE_envole/commun/administration/diagnostic.tex new file mode 100644 index 0000000..d1b03ac --- /dev/null +++ b/slides/modules_EOLE_envole/commun/administration/diagnostic.tex @@ -0,0 +1,5 @@ +\begin{frame} + \frametitle{diagnostic.tex} + fichier slides/modules\_EOLE\_envole/tronc-commun-1/administration/diagnostic.tex à éditer + % contenu (pas trop long) de la diapositive +\end{frame} \ No newline at end of file diff --git a/slides/modules_EOLE_envole/commun/administration/ead/connexion.tex b/slides/modules_EOLE_envole/commun/administration/ead/connexion.tex new file mode 100644 index 0000000..cbfe852 --- /dev/null +++ b/slides/modules_EOLE_envole/commun/administration/ead/connexion.tex @@ -0,0 +1,5 @@ +\begin{frame} + \frametitle{connexion.tex} + fichier slides/modules\_EOLE\_envole/tronc-commun-1/administration/ead/connexion.tex à éditer + % contenu (pas trop long) de la diapositive +\end{frame} \ No newline at end of file diff --git a/slides/modules_EOLE_envole/commun/administration/ead/description.tex b/slides/modules_EOLE_envole/commun/administration/ead/description.tex new file mode 100644 index 0000000..a65f5e0 --- /dev/null +++ b/slides/modules_EOLE_envole/commun/administration/ead/description.tex @@ -0,0 +1,5 @@ +\begin{frame} + \frametitle{description.tex} + fichier slides/modules\_EOLE\_envole/tronc-commun-1/administration/ead/description.tex à éditer + % contenu (pas trop long) de la diapositive +\end{frame} \ No newline at end of file diff --git a/slides/modules_EOLE_envole/commun/administration/ead/fonctions-basiques.tex b/slides/modules_EOLE_envole/commun/administration/ead/fonctions-basiques.tex new file mode 100644 index 0000000..862f60e --- /dev/null +++ b/slides/modules_EOLE_envole/commun/administration/ead/fonctions-basiques.tex @@ -0,0 +1,5 @@ +\begin{frame} + \frametitle{fonctions-basiques.tex} + fichier slides/modules\_EOLE\_envole/tronc-commun-1/administration/ead/fonctions-basiques.tex à éditer + % contenu (pas trop long) de la diapositive +\end{frame} \ No newline at end of file diff --git a/slides/modules_EOLE_envole/commun/administration/ead/gestion-roles.tex b/slides/modules_EOLE_envole/commun/administration/ead/gestion-roles.tex new file mode 100644 index 0000000..515b14f --- /dev/null +++ b/slides/modules_EOLE_envole/commun/administration/ead/gestion-roles.tex @@ -0,0 +1,5 @@ +\begin{frame} + \frametitle{gestion-roles.tex} + fichier slides/modules\_EOLE\_envole/tronc-commun-1/administration/ead/gestion-roles.tex à éditer + % contenu (pas trop long) de la diapositive +\end{frame} \ No newline at end of file diff --git a/slides/modules_EOLE_envole/commun/administration/firewall.tex b/slides/modules_EOLE_envole/commun/administration/firewall.tex new file mode 100644 index 0000000..0cf6cd8 --- /dev/null +++ b/slides/modules_EOLE_envole/commun/administration/firewall.tex @@ -0,0 +1,5 @@ +\begin{frame} + \frametitle{firewall.tex} + fichier slides/modules\_EOLE\_envole/tronc-commun-1/administration/firewall.tex à éditer + % contenu (pas trop long) de la diapositive +\end{frame} \ No newline at end of file diff --git a/slides/modules_EOLE_envole/commun/administration/instance-reconfigure.tex b/slides/modules_EOLE_envole/commun/administration/instance-reconfigure.tex new file mode 100644 index 0000000..cf58088 --- /dev/null +++ b/slides/modules_EOLE_envole/commun/administration/instance-reconfigure.tex @@ -0,0 +1,5 @@ +\begin{frame} + \frametitle{instance-reconfigure.tex} + fichier slides/modules\_EOLE\_envole/tronc-commun-1/administration/instance-reconfigure.tex à éditer + % contenu (pas trop long) de la diapositive +\end{frame} \ No newline at end of file diff --git a/slides/modules_EOLE_envole/commun/administration/mise-a-jour.tex b/slides/modules_EOLE_envole/commun/administration/mise-a-jour.tex new file mode 100644 index 0000000..495ba03 --- /dev/null +++ b/slides/modules_EOLE_envole/commun/administration/mise-a-jour.tex @@ -0,0 +1,5 @@ +\begin{frame} + \frametitle{mise-a-jour.tex} + fichier slides/modules\_EOLE\_envole/tronc-commun-1/administration/mise-a-jour.tex à éditer + % contenu (pas trop long) de la diapositive +\end{frame} \ No newline at end of file diff --git a/slides/modules_EOLE_envole/commun/administration/ncurse/description.tex b/slides/modules_EOLE_envole/commun/administration/ncurse/description.tex new file mode 100644 index 0000000..0294da8 --- /dev/null +++ b/slides/modules_EOLE_envole/commun/administration/ncurse/description.tex @@ -0,0 +1,13 @@ +\begin{frame} + \frametitle{L'interface semi-graphique} + \framesubtitle{Description} + \begin{itemize} + \item L'interface semi-graphique est disponible sur différents modules ; + \item permet d'exécuter quelques tâches simples d'administration du serveur. + \end{itemize} +\end{frame} +\begin{frame} + \frametitle{L’interface semi-graphique} + \framesubtitle{shell du compte eole} + L’interface semi-graphique constitue shell associé au compte administrateur restreint \emph{eole}. +\end{frame} diff --git a/slides/modules_EOLE_envole/commun/administration/onduleur.tex b/slides/modules_EOLE_envole/commun/administration/onduleur.tex new file mode 100644 index 0000000..cda651b --- /dev/null +++ b/slides/modules_EOLE_envole/commun/administration/onduleur.tex @@ -0,0 +1,5 @@ +\begin{frame} + \frametitle{onduleur.tex} + fichier slides/modules\_EOLE\_envole/tronc-commun-1/administration/onduleur.tex à éditer + % contenu (pas trop long) de la diapositive +\end{frame} \ No newline at end of file diff --git a/slides/modules_EOLE_envole/commun/administration/schedule.tex b/slides/modules_EOLE_envole/commun/administration/schedule.tex new file mode 100644 index 0000000..100a82b --- /dev/null +++ b/slides/modules_EOLE_envole/commun/administration/schedule.tex @@ -0,0 +1,5 @@ +\begin{frame} + \frametitle{schedule.tex} + fichier slides/modules\_EOLE\_envole/tronc-commun-1/administration/schedule.tex à éditer + % contenu (pas trop long) de la diapositive +\end{frame} \ No newline at end of file diff --git a/slides/modules_EOLE_envole/commun/configuration.tex b/slides/modules_EOLE_envole/commun/configuration.tex new file mode 100644 index 0000000..d1f3312 --- /dev/null +++ b/slides/modules_EOLE_envole/commun/configuration.tex @@ -0,0 +1,36 @@ +\begin{frame} + \frametitle{La phase de configuration} + \framesubtitle{Préparation de la configuration} + Collecter les informations nécessaires : + \begin{itemize} + \item infrastructure réseau et plan d’adressage ; + \item noms de domaine \ldots{} + \end{itemize} +\end{frame} +\begin{frame} + \frametitle{La phase de configuration} + \framesubtitle{Mode autonome} + \begin{enumerate} + \item configuration via l’application de configuration du module (\commande{gen\_config}) avec le compte \emph{root}, + \item configurer le serveur, + \item sauvegarder le fichier ; + \end{enumerate} +\end{frame} +\begin{frame} + \frametitle{La phase de configuration} + \framesubtitle{Mode Zéphir} + \begin{itemize} + \item configuration sur le Zéphir : + \begin{enumerate} + \item configuration dans l'application Zéphir : https://:8070/, + \item enregistrement au Zéphir, + \item descente de la configuration. + \end{enumerate} + \item configuration local synchronisée : + \begin{enumerate} + \item enregistrement au Zéphir, + \item configuration via l'application de configuration du module (\commande{gen\_config}) avec un compte du Zéphir, + \item remontée de la configuration. + \end{enumerate} + \end{itemize} +\end{frame} diff --git a/slides/modules_EOLE_envole/commun/diagnose-pratique.tex b/slides/modules_EOLE_envole/commun/diagnose-pratique.tex new file mode 100644 index 0000000..9f52c73 --- /dev/null +++ b/slides/modules_EOLE_envole/commun/diagnose-pratique.tex @@ -0,0 +1,10 @@ +{\setbeamercolor{background canvas}{bg=TravauxPratiques} +\begin{frame} + \frametitle{Pratique} + \begin{itemize} + \item Faire un \commande{reconfigure} ; + \item lancer un \commande{diagnostic} ; + \item lancer un \commande{diagnostic} étendu. + \end{itemize} +\end{frame} +} diff --git a/slides/modules_EOLE_envole/commun/diagnose.tex b/slides/modules_EOLE_envole/commun/diagnose.tex new file mode 100644 index 0000000..363fdd2 --- /dev/null +++ b/slides/modules_EOLE_envole/commun/diagnose.tex @@ -0,0 +1,7 @@ +\begin{frame} + \frametitle{Diagnostic} + \begin{itemize} + \item La commande \commande{diagnose} permet de tester différents points du serveur ; + \item La commande \commande{diagnose -L} propose un diagnostic étendu. + \end{itemize} +\end{frame} diff --git a/slides/modules_EOLE_envole/commun/ecosysteme.tex b/slides/modules_EOLE_envole/commun/ecosysteme.tex new file mode 100644 index 0000000..cc9ee06 --- /dev/null +++ b/slides/modules_EOLE_envole/commun/ecosysteme.tex @@ -0,0 +1,10 @@ +\begin{frame} + \frametitle{Trouver des informations} + \framesubtitle{Les canaux publics} + \begin{itemize} + \item la documentation (\url{https://pcll.ac-dijon.fr/eole/documentations/}) ; + \item le forum EOLE (\url{https://www.libre-communaute.fr}) ; + \item les archives des listes de diffusion (\url{https://pcll.ac-dijon.fr/listes/lists/Diffusion}) ; + \item le vénérable canal irc eole hébergé par freenode. + \end{itemize} +\end{frame} diff --git a/slides/modules_EOLE_envole/commun/firewall.tex b/slides/modules_EOLE_envole/commun/firewall.tex new file mode 100644 index 0000000..10385c8 --- /dev/null +++ b/slides/modules_EOLE_envole/commun/firewall.tex @@ -0,0 +1,14 @@ +\begin{frame} + \frametitle{Firewall} + \begin{itemize} + \item Sur tous les modules ; + \item géré soit par Creole soit par Era ; + \item activé par bastion ; + \item configure firewall et tcpwrapper ; + \item si Era n'est pas installé, possibilité de désactiver ; + \item pour ouvrir le firewall ouvre.firewall ; + \item pour fermer le firewall ferme.firewall ; + \item recharger les règles de firewall : service bastion restart ; + \item pour connaître la liste des règles : iptables-save. + \end{itemize} +\end{frame} diff --git a/slides/modules_EOLE_envole/commun/infrastructure-type-etablissement.tex b/slides/modules_EOLE_envole/commun/infrastructure-type-etablissement.tex new file mode 100644 index 0000000..356ba78 --- /dev/null +++ b/slides/modules_EOLE_envole/commun/infrastructure-type-etablissement.tex @@ -0,0 +1,4 @@ +\begin{frame} + \frametitle{Infrastructure type} + \skbfigure[center,width=8cm]{en/modules_EOLE_envole/etablissement_scolaire.png} +\end{frame} diff --git a/slides/modules_EOLE_envole/commun/installation-pratique.tex b/slides/modules_EOLE_envole/commun/installation-pratique.tex new file mode 100644 index 0000000..a3a8a67 --- /dev/null +++ b/slides/modules_EOLE_envole/commun/installation-pratique.tex @@ -0,0 +1,17 @@ +{\setbeamercolor{background canvas}{bg=TravauxPratiques} +\begin{frame} + \frametitle{La phase d’installation} + \framesubtitle{Les étapes auxquelles vous avez échappé} + \skbfigure[center, width=8cm, caption=Choix du module]{en/modules_EOLE_envole/common/bootscreen2.6.2.1.png} +\end{frame} +\begin{frame} + \frametitle{La phase d’installation} + \framesubtitle{Les étapes auxquelles vous avez échappé} + \skbfigure[center, width=8cm, caption=Étape facultative du partitionnement]{en/modules_EOLE_envole/common/manual-partitionning.png} +\end{frame} +\begin{frame} + \frametitle{La phase d’installation} + \framesubtitle{Les étapes auxquelles vous avez échappé} + \skbfigure[center, width=8cm, caption=Redémarrage demandé]{en/modules_EOLE_envole/common/reboot.png} +\end{frame} +} diff --git a/slides/modules_EOLE_envole/commun/installation.tex b/slides/modules_EOLE_envole/commun/installation.tex new file mode 100644 index 0000000..9f68017 --- /dev/null +++ b/slides/modules_EOLE_envole/commun/installation.tex @@ -0,0 +1,26 @@ +\begin{frame} + \frametitle{La phase d'installation} + \framesubtitle{Avantages} + EOLE propose une installation avec les avantages suivants : + \begin{itemize} + \item médium d’installation unique pour tous les modules ; + \item médium compatible CD-ROM et clé USB ; + \item installation limitant les questions. + \end{itemize} +\end{frame} +\begin{frame} + \frametitle{La phase d'installation} + \framesubtitle{En pratique} + \begin{enumerate} + \item démarrage depuis l'iso obtenue sur le site d'EOLE, + \item sélection du module à installer parmi ceux proposés, + \item partitionnement automatique ou manuel sur tous les modules, + \item validation de la fin de l'installation, + \end{enumerate} + Et pour finir, pour les modules utilisant le mode conteneur : + \begin{enumerate} + \setcounter{enumi}{4} + \item ouverture d’une session avec l'utilisateur \emph{root}, + \item génération des conteneurs avec la commande \emph{gen\_conteneurs}. + \end{enumerate} +\end{frame} diff --git a/slides/modules_EOLE_envole/commun/instance-reconfigure.tex b/slides/modules_EOLE_envole/commun/instance-reconfigure.tex new file mode 100644 index 0000000..ff69dd4 --- /dev/null +++ b/slides/modules_EOLE_envole/commun/instance-reconfigure.tex @@ -0,0 +1,7 @@ +\begin{frame} + \frametitle{Instance ou reconfigure} + \begin{itemize} + \item L'instance ne doit être lancée qu'une seule fois sur les modules ; + \item en cas de mise à jour, d'installation de paquet ou de changement de paramétrage : \commande{reconfigure}. + \end{itemize} +\end{frame} diff --git a/slides/modules_EOLE_envole/commun/instance.tex b/slides/modules_EOLE_envole/commun/instance.tex new file mode 100644 index 0000000..85417ed --- /dev/null +++ b/slides/modules_EOLE_envole/commun/instance.tex @@ -0,0 +1,55 @@ +\begin{frame} + \frametitle{La phase d'instanciation} + \begin{enumerate} + \item Lancer la commande \commande{instance}, + \item renseigner les mots de passe, + \item effectuer la mise à jour, + \item éventuellement redémarrer. + \end{enumerate} +\end{frame} + +\begin{frame} + \frametitle{Les comptes administrateurs locaux} + La gestion des services sur les modules EOLE s’appuie sur des comptes administrateurs locaux : + \begin{itemize} + \item \emph{root}, + \item administrateur à droits restreints \emph{eole}, + \item éventuellement des comptes administrateurs à droits restreints supplémentaires, + \item \emph{admin} sur Scribe et Horus, + \item \emph{admin\_zephir} sur Zéphir. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Les comptes administrateurs locaux} + \begin{block}{Administrateurs à droits restreints supplémentaires} + Sur Amon, en cas d'utilisation d'un réseau pédagogique et administratif, un second administrateur (\emph{eole2}) permet d'administrer le réseau pédagogique. + \end{block} +\end{frame} + +\begin{frame} + \frametitle{Les mots de passe} + Par défaut, le système vérifie la complexité des mots de passe en utilisant les contraintes suivantes : + \begin{itemize} + \item combinaison d’au moins deux classes de caractères parmi les suivantes : + \begin{itemize} + \item lettres en minuscule, + \item lettres en majuscule, + \item chiffres, + \item caractères spéciaux (Ex : \$*ù\%£, ; : !§/. ?). + \end{itemize} + \item longueur minimale selon le nombre de classes utilisées : + \begin{itemize} + \item une seule classe de caractères : impossible, + \item deux classes de caractères : 9 caractères minimum, + \item trois et quatre classes : 8 caractères minimum. + \end{itemize} + \end{itemize} +\end{frame} +\begin{frame} + \frametitle{Les mots de passe} + \begin{block}{Contraintes de validité des mots de passe} + Les contraintes de validité des mots de passe sont modifiables dans l'interface de configuration du module, \commande{gen\_config}, en mode expert. + \end{block} +\end{frame} + diff --git a/slides/modules_EOLE_envole/commun/intro.tex b/slides/modules_EOLE_envole/commun/intro.tex new file mode 100644 index 0000000..c086409 --- /dev/null +++ b/slides/modules_EOLE_envole/commun/intro.tex @@ -0,0 +1,20 @@ +\begin{frame} + \frametitle{EOLE} + \framesubtitle{En quatre points} + \begin{itemize} + \item EOLE : Ensemble Ouvert Libre et Evolutif ; + \item depuis 2000 ; + \item projet national de serveurs pour les établissements scolaires et académiques ; + \item basé sur Ubuntu depuis 2007 sous forme de modules ; + \end{itemize} +\end{frame} +\begin{frame} + \frametitle{EOLE} + \framesubtitle{Ce qui caractérise EOLE} + \begin{itemize} + \item utilisation de logiciels libres ; + \item modularité (évolutif, ouvert adaptable) ; + \item facilité à mettre en œuvre et à déployer ; + \item administrable à distance. + \end{itemize} +\end{frame} diff --git a/slides/modules_EOLE_envole/commun/mise-a-jour.tex b/slides/modules_EOLE_envole/commun/mise-a-jour.tex new file mode 100644 index 0000000..8682d5d --- /dev/null +++ b/slides/modules_EOLE_envole/commun/mise-a-jour.tex @@ -0,0 +1,52 @@ +\begin{frame} + \frametitle{Version/release et dépôt} + \begin{itemize} + \item La version : correspond à la version du socle de base (version d'Ubuntu) ; + \item la release : + \begin{itemize} + \item reçoit les mises à jour de sécurités, + \item reçoit les corrections des dysfonctionnements critiques, + \item mais chaque release à un niveau fonctionnel différent ; + \end{itemize} + \item les erratas : https://dev-eole.ac-dijon.fr/projects/modules-eole/wiki/Errata ; + \item les dépôts : + \begin{itemize} + \item les releases stables, + \item les releases candidates, + \item la version de développement (future release). + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Les mises à jour} + \begin{itemize} + \item Procédure : + \begin{itemize} + \item par l'EAD, + \item par l'interface semi-graphique, + \item par Zéphir, + \item à la ligne de commande : + \begin{itemize} + \item \commande{Query-Auto} : liste les mises à jour, + \item \commande{Maj-Auto} : lance la mise à jour sans question, + \item \commande{Query-Cd} : liste les mises à jour sur un CD, + \item \commande{Maj-Cd} : mise à jour grâce à un CD, + \item \commande{Maj-Release} : mise à jour vers une release supérieure, + \item \commande{Upgrade-Auto} : mise à jour vers une version supérieure, + \end{itemize} + \item automatiquement via une tâche hebdomadaire "post" sauvegarde de eole-schedule. + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Mise à jour via un CD/clef USB} + Le but est de pouvoir mettre à jour un serveur sans utiliser la bande passante de l'établissement. + \begin{itemize} + \item Création du cache dans l'académie : \commande{Maj-Auto --download} ; + \item copie de /var/cache/apt/archives/*.deb sur un support amovible ; + \item sur le serveur en établissement, copier le contenu du support dans /var/cache/apt/archives/ ; + \item lancer \commande{Maj-Auto}. + \end{itemize} +\end{frame} diff --git a/slides/modules_EOLE_envole/commun/nouveautes25.tex b/slides/modules_EOLE_envole/commun/nouveautes25.tex new file mode 100644 index 0000000..a4d2ee4 --- /dev/null +++ b/slides/modules_EOLE_envole/commun/nouveautes25.tex @@ -0,0 +1,15 @@ +\begin{frame} + \frametitle{Nouveautés 2.5} + \begin{itemize} + \item Basé sur la distribution Trusty Tahr (14.04) ; + \item support jusqu'en 2019 ; + \item peu de changement dans le cœur ; + \item possibilité de partitionnement manuel ; + \item à partir de 2.5.2 : mot de passe généré aléatoirement à la fin de l'installation du serveur; + \item quelques changements de logiciels : + \begin{itemize} + \item Bacula => Bareos, + \item Dansguardian => e2guardian. + \end{itemize} + \end{itemize} +\end{frame} diff --git a/slides/modules_EOLE_envole/commun/nouveautes26.tex b/slides/modules_EOLE_envole/commun/nouveautes26.tex new file mode 100644 index 0000000..2f69e09 --- /dev/null +++ b/slides/modules_EOLE_envole/commun/nouveautes26.tex @@ -0,0 +1,27 @@ +\begin{frame} + \frametitle{Nouveautés 2.6} + \begin{itemize} + \item Basé sur la distribution Xenial Xerus (16.04) ; + \item support jusqu'en 2021 ; + \item peu de changement dans le cœur ; + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Modules disponibles en 2.6.2} + \begin{itemize} + \item Amon + \item Eclair + \item Hapy \& Hapy Node + \item Horus + \item Scribe + \item Seshat + \item Seth + \item Sphynx + \item Thot + \item AmonEcole + \item AmonEcoleEclair + \item Zéphir + \item Envole + \end{itemize} +\end{frame} diff --git a/slides/modules_EOLE_envole/commun/nouveautes27.tex b/slides/modules_EOLE_envole/commun/nouveautes27.tex new file mode 100644 index 0000000..7f618ce --- /dev/null +++ b/slides/modules_EOLE_envole/commun/nouveautes27.tex @@ -0,0 +1,30 @@ +\begin{frame} + \frametitle{Nouveautés 2.7} + \begin{itemize} + \item Basé sur la distribution Bionic Beaver (18.04) ; + \item support jusqu'en 2023 (portée de l’extension à 10 ans ?) ; + \item peu de changement dans le cœur ; + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Modules disponibles en 2.7.0} + \begin{itemize} + \item Amon ; + \item Hapy \& Hapy Node ; + \item Seshat ; + \item Seth ; + \item Sphynx ; + \item Thot ; + \item Zéphir. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Modules disponibles à partir de la 2.7.1} + \begin{itemize} + \item ScribeAD ; + \item HorusAD ; + \item Eclair. + \end{itemize} +\end{frame} diff --git a/slides/modules_EOLE_envole/commun/quatre_phases-pratique.tex b/slides/modules_EOLE_envole/commun/quatre_phases-pratique.tex new file mode 100644 index 0000000..8f00b6c --- /dev/null +++ b/slides/modules_EOLE_envole/commun/quatre_phases-pratique.tex @@ -0,0 +1,16 @@ +{\setbeamercolor{background canvas}{bg=TravauxPratiques} +\begin{frame} + \frametitle{Pratique} + \begin{itemize} + \item Configurer le serveur via la commande gen\_config ; + \item informations utiles : + \begin{itemize} + \item Adresse ip de la carte eth0, + \item Passerelle, + \item DNS : DNS de la machine hôte ; + \end{itemize} + \item désactiver l'anti-virus ; + \item instancier le serveur via la commande instance. + \end{itemize} +\end{frame} +} diff --git a/slides/modules_EOLE_envole/commun/quatre_phases.tex b/slides/modules_EOLE_envole/commun/quatre_phases.tex new file mode 100644 index 0000000..5426603 --- /dev/null +++ b/slides/modules_EOLE_envole/commun/quatre_phases.tex @@ -0,0 +1,65 @@ +\begin{frame} + \frametitle{Les comptes administrateurs locaux} + La gestion des services sur les modules EOLE s’appuie sur des comptes administrateurs locaux : + \begin{itemize} + \item \emph{root}, + \item administrateur à droits restreints \emph{eole}, + \item éventuellement des comptes administrateurs à droits restreints supplémentaires, + \item \emph{admin} sur Scribe et Horus, + \item \emph{admin\_zephir} sur Zéphir. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Les comptes administrateurs locaux} + \begin{block}{administrateurs à droits restreints supplémentaires} + Sur Amon, en cas d'utilisation d'un réseau pédagogique et administratif, un second administrateur (\emph{eole2}) permet d'administrer le réseau pédagogique. + \end{block} +\end{frame} + +\begin{frame} + \frametitle{Les mots de passe} + Par défaut, le système vérifie la complexité des mots de passe en utilisant les contraintes suivantes : + \begin{itemize} + \item combinaison d’au moins deux classes de caractères parmi les suivantes : + \begin{itemize} + \item lettres en minuscule, + \item lettres en majuscule, + \item chiffres, + \item caractères spéciaux (Ex : \$*ù\%£, ; : !§/. ?). + \end{itemize} + \item longueur minimale selon le nombre de classes utilisées : + \begin{itemize} + \item une seule classe de caractères : impossible, + \item deux classes de caractères : 9 caractères minimum, + \item trois et quatre classes : 8 caractères minimum. + \end{itemize} + \end{itemize} +\end{frame} +\begin{frame} + \frametitle{Les mots de passe} + \begin{block}{contraintes de validité des mots de passe} + Les contraintes de validité des mots de passe sont modifiables dans l'interface de configuration du module, \commande{gen\_config}, en mode expert. + \end{block} +\end{frame} + +\begin{frame} + \frametitle{La phase d'administration} + La phase d’administration correspond à l’exploitation du serveur : + \begin{itemize} + \item gestion des services via des interfaces dédiées ; + \item gestion des mises à jour logicielles ; + \item gestion des sauvegardes et restauration. + \end{itemize} +\end{frame} +\begin{frame} + \frametitle{La phase d’administration} + \begin{block}{interfaces d’administrations dédiées} + \begin{itemize} + \item l'interface d'administration EOLE (EAD, EOP, \ldots{}), + \item l'interface semi-graphique, + \item diverses interfaces d'administration (Zéphir-web, CUPS, Sympa, \ldots{}), + \item différents outils (Era, \ldots{}) ; + \end{itemize} + \end{block} +\end{frame} diff --git a/slides/modules_EOLE_envole/commun/sauvegarde/bconsole.tex b/slides/modules_EOLE_envole/commun/sauvegarde/bconsole.tex new file mode 100644 index 0000000..44653af --- /dev/null +++ b/slides/modules_EOLE_envole/commun/sauvegarde/bconsole.tex @@ -0,0 +1,10 @@ +\begin{frame} + \frametitle{bconsole} + bconsole est l’interface textuelle d’origine et reste l’interface la plus complète qui permet certaines actions non implémentées ailleurs : + \begin{itemize} + \item interrogation de la base de données ; + \item estimation de la taille de la sauvegarde d’un client ; + \item \ldots{} + \end{itemize} + bareos-web intègre bconsole. +\end{frame} diff --git a/slides/modules_EOLE_envole/commun/sauvegarde/configuration.tex b/slides/modules_EOLE_envole/commun/sauvegarde/configuration.tex new file mode 100644 index 0000000..84f6839 --- /dev/null +++ b/slides/modules_EOLE_envole/commun/sauvegarde/configuration.tex @@ -0,0 +1,139 @@ +\begin{frame} + \frametitle{Sauvegarde} + \framesubtitle{Configuration du directeur} + \begin{itemize} + \item types de sauvegarde : + \begin{itemize} + \item sauvegarde totale (T) ; + \item sauvegarde différentielle (D) ; + \item sauvegarde incrémentale (I). + \end{itemize} + \item durée de rétention (modifiable dans gen\_config) : + \begin{itemize} + \item totale : 6 mois ; + \item différentielle : 5 semaines ; + \item incrémentale : 10 jours. + \end{itemize} + \item taille des volumes : + \begin{itemize} + \item volumes pour la sauvegarde du catalogue ; + \item volumes pour tous les type de sauvegarde (incrémentale, différentielle, totale) ; + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Sauvegarde} + \framesubtitle{Configuration du directeur} + \frametitle{Configuration du directeur} + \skbfigure[center, width=8cm]{en/modules_EOLE_envole/scribe/sauvegarde.png} +\end{frame} + + +\begin{frame} + \frametitle{Sauvegarde} + \framesubtitle{Configuration des fichiers sauvegardés} + \begin{itemize} + \item les fichiers personnalisés dans le répertoire /etc/bareos/bareosfichiers.d/ ; + \item possibilité d'ajouter des fichiers à sauvegarder ; + \item possibilité d'exclure des fichiers. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Sauvegarde} + \framesubtitle{Configurer une sauvegarde} + \begin{itemize} + \item type de support : + \begin{itemize} + \item si l'espace de stockage est local ; + \item support: + \begin{itemize} + \item distant (SMB) ; + \item local (USB, externe) ; + \item manuel (lecteur de bande). + \end{itemize} + \end{itemize} + \item depuis EAD ; + \item depuis la ligne de commande ; + \item programmation des sauvegardes : mensuelle, hebdomadaire, quotidienne et immédiate. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Sauvegarde} + \framesubtitle{Configurer une sauvegarde en ligne de commande} +La commande de configuration est : +\begin{itemize} + \item \commande{bareosconfig.py} à partir de 2.5 +\end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Configurer une sauvegarde en ligne de commande} + \framesubtitle{Configurer le support de sauvegarde} + Trois configurations possibles pour le support de sauvegarde : + \begin{itemize} + \item<1-> support usb + \only<1>{\begin{itemize} + \item \commande{bareosconfig.py -s usb --usb\_path=} + \end{itemize}} + \item<1-> support smb + \only<2>{\begin{itemize} + \item \commande{bareosconfig.py -s smb --smb\_machine= --smb\_ip= --smb\_partage= [--smb\_login= --smb\_password=]} + \end{itemize}} + \item<1-> support manuel + \only<3>{\begin{itemize} + \item \commande{bareosconfig.py -s manual} + \end{itemize}} +\end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Configurer une sauvegarde en ligne de commande} + \framesubtitle{Plannifier la sauvegarde} + Trois fréquences de plannification : + \begin{itemize} + \item<1-> quotidienne + \only<1>{\begin{itemize} + \item \commande{bareosconfig.py -j daily --job\_level=Full|Incremental|Differential --job\_hour=<0-23> --job\_day=<1-7> --job\_end\_day=<1-7>} + \end{itemize}} + \item<1-> hebdomadaire + \only<2>{\begin{itemize} + \item \commande{bareosconfig.py -j weekly --job\_level=Full|Incremental|Differential --job\_hour=<0-23> --job\_day=<1-7>} + \end{itemize}} + \item<1-> mensuelle + \only<3>{\begin{itemize} + \item \commande{bareosconfig.py -j monthly --job\_level=Full|Incremental|Differential --job\_hour=<0-23> --job\_day=<1-7>} + \end{itemize}} + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Configurer une sauvegarde en ligne de commande} + \framesubtitle{Configurer les destinataires des rapports} + Le destinataire est identifié par un courriel.\newline + Le destinataire peut être différent en cas d'erreur ou de succès.\newline + L'envoi par courriel est facultatif.\newline + \begin{itemize} + \item \commande{bareosconfig.py -m [--mail\_ok=] [--mail\_error=courriel]} + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Configurer une sauvegarde en ligne de commande} + \framesubtitle{Afficher la configuration courante} + La configuration courante peut être affichée à l'écran : + \begin{itemize} + \item \commande{bareosconfig.py -d} + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Sauvegarde} + \framesubtitle{Lancer une sauvegarde immédiatement} + \begin{itemize} + \item \commande{bareosconfig.py -n --level=Full|Incremental|Differential}. + \end{itemize} +\end{frame} + diff --git a/slides/modules_EOLE_envole/commun/sauvegarde/description.tex b/slides/modules_EOLE_envole/commun/sauvegarde/description.tex new file mode 100644 index 0000000..530fc42 --- /dev/null +++ b/slides/modules_EOLE_envole/commun/sauvegarde/description.tex @@ -0,0 +1,33 @@ +\begin{frame} + \frametitle{Sauvegarde} + \framesubtitle{Présentation générale} + \begin{itemize} + \item Bacula/Bareos ; + \item outil de sauvegarde libre pour : + \begin{itemize} + \item les fichiers/dossiers ; + \item les droits POSIX ; + \item les ACLs. + \end{itemize} + \item séparation EOLE : + \begin{itemize} + \item directeur (+ serveur de fichier) ; + \item espace de stockage. + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Sauvegarde} + \framesubtitle{Commandes EOLE pour bacula} + \begin{itemize} + \item à partir de EOLE 2.5 : + \begin{itemize} + \item les commandes sont dans le \uppercase{path} ; + \item \commande{bareosconfig.py} ; + \item \commande{bareosmount.py} ; + \item \commande{bareosrestore.py} ; + \end{itemize} + \end{itemize} +\end{frame} + diff --git a/slides/modules_EOLE_envole/commun/sauvegarde/ead2.tex b/slides/modules_EOLE_envole/commun/sauvegarde/ead2.tex new file mode 100644 index 0000000..06e6b74 --- /dev/null +++ b/slides/modules_EOLE_envole/commun/sauvegarde/ead2.tex @@ -0,0 +1,20 @@ +\begin{frame} + \frametitle{Interface EAD2} + \framesubtitle{État de la dernière sauvegarde} + \skbfigure[center, width=8cm]{en/modules_EOLE_envole/common/ead2_derniere_sauvegarde.png} +\end{frame} +\begin{frame} + \frametitle{Interface EAD2} + \framesubtitle{Programmation des sauvegardes} + \skbfigure[center, width=8cm]{en/modules_EOLE_envole/common/ead2_programmation_sauvegarde.png} +\end{frame} +\begin{frame} + \frametitle{Interface EAD2} + \framesubtitle{Configuration de la sauvegarde} + \skbfigure[center, width=8cm]{en/modules_EOLE_envole/common/ead2_configuration_sauvegarde.png} +\end{frame} +\begin{frame} + \frametitle{Interface EAD2} + \framesubtitle{Indicateurs de bon fonctionnement} + \skbfigure[center, width=8cm]{en/modules_EOLE_envole/common/zstats_etat_sauvegarde.png} +\end{frame} diff --git a/slides/modules_EOLE_envole/commun/sauvegarde/ead3.tex b/slides/modules_EOLE_envole/commun/sauvegarde/ead3.tex new file mode 100644 index 0000000..cfe2ea8 --- /dev/null +++ b/slides/modules_EOLE_envole/commun/sauvegarde/ead3.tex @@ -0,0 +1,25 @@ +\begin{frame} + \frametitle{Interface EAD3} + \framesubtitle{Les différentes actions} + \skbfigure[center, width=8cm]{en/modules_EOLE_envole/common/ead3_actions_sauvegarde.png} +\end{frame} +\begin{frame} + \frametitle{Interface EAD3} + \framesubtitle{Configuration} + \skbfigure[center, width=8cm]{en/modules_EOLE_envole/common/ead3_action_configuration_sauvegarde.png} +\end{frame} +\begin{frame} + \frametitle{Interface EAD3} + \framesubtitle{Déclaration de fichiers à sauvegarder} + \skbfigure[center, width=8cm]{en/modules_EOLE_envole/common/ead3_action_fichiers_sauvegarde.png} +\end{frame} +\begin{frame} + \frametitle{Interface EAD3} + \framesubtitle{Exécution de sauvegardes} + \skbfigure[center, width=8cm]{en/modules_EOLE_envole/common/ead3_action_execution_sauvegarde.png} +\end{frame} +\begin{frame} + \frametitle{Interface EAD3} + \framesubtitle{Rapports} + \skbfigure[center, width=8cm]{en/modules_EOLE_envole/common/ead3_action_rapport_sauvegarde.png} +\end{frame} diff --git a/slides/modules_EOLE_envole/commun/sauvegarde/resolution_problemes.tex b/slides/modules_EOLE_envole/commun/sauvegarde/resolution_problemes.tex new file mode 100644 index 0000000..84fff87 --- /dev/null +++ b/slides/modules_EOLE_envole/commun/sauvegarde/resolution_problemes.tex @@ -0,0 +1,30 @@ +\begin{frame} + \frametitle{Sauvegarde} + \framesubtitle{Problèmes fréquemment rencontrés} + \begin{itemize} + \item persistence d’un verrou suite à une sauvegarde en erreur ; + \item espace disque disponible insuffisant ; + \item montage manuel d’un volume nécessaire ; + \item sauvegarde du catalogue en erreur. + \end{itemize} +\end{frame} +\begin{frame} + \frametitle{Sauvegarde} + \framesubtitle{Résolution des problèmes} + \begin{itemize} + \item Diagnose ; + \item les logs : + \begin{itemize} + \item /var/log/rsyslog/local/bareos-dir/, + \item /var/log/rsyslog/local/bareos-fd/, + \item /var/log/rsyslog/local/bareos-sd/ ; + \end{itemize} + \item la console \commande{bconsole} : + \begin{itemize} + \item \commande{messages} ; + \item \commande{status dir|sd|fd|all} ; + \end{itemize} + \item test de montage : \commande{bareosmount.py -t} ; + \item supprimer le verrou : \commande{bareosconfig.py --unlock} . + \end{itemize} +\end{frame} diff --git a/slides/modules_EOLE_envole/commun/sauvegarde/restauration-pratique.tex b/slides/modules_EOLE_envole/commun/sauvegarde/restauration-pratique.tex new file mode 100644 index 0000000..77364cf --- /dev/null +++ b/slides/modules_EOLE_envole/commun/sauvegarde/restauration-pratique.tex @@ -0,0 +1,22 @@ +{\setbeamercolor{background canvas}{bg=TravauxPratiques} +\begin{frame} + \frametitle{Restauration} + \frametitle{Mise en pratique} + \begin{itemize} + \item Créer un fichier ; + \item lancer une sauvegarde incrémentale ; + \item supprimer le fichier ; + \item rechercher le fichier et le restaurer. + \end{itemize} +\end{frame} +\begin{frame} + \frametitle{Restauration} + \frametitle{Mise en pratique} + \begin{itemize} + \item réaliser une restauration totale. + \item revenir à l'instantané de départ. + \item restaurer toutes les données du serveur. + \item vérifier la présence des données et des utilisateurs. + \end{itemize} +\end{frame} +} diff --git a/slides/modules_EOLE_envole/commun/sauvegarde/restauration.tex b/slides/modules_EOLE_envole/commun/sauvegarde/restauration.tex new file mode 100644 index 0000000..ef5365a --- /dev/null +++ b/slides/modules_EOLE_envole/commun/sauvegarde/restauration.tex @@ -0,0 +1,58 @@ +\begin{frame} + \frametitle{Restauration} + \framesubtitle{Principes} + La restauration consiste à rétablir tout ou partie de la sauvegarde en réponse à plusieurs événements : + \begin{itemize} + \item serveur inutilisable à réinstaller ; + \item mauvaise manipulation d’un utilisateur des partages \ldots{} + \end{itemize} + Le module EOLE propose une commande avec une série d’option pour restaurer du contenu spécifique aux principaux services qu’il met à disposition. +\end{frame} +\begin{frame} + \frametitle{Restauration} + \framesubtitle{Restauration partielle} + \begin{itemize} + \item Script \commande{bareosrestore.py} (2.5, 2.6) ; + \item rechercher un fichier : \commande{--search \*} ; + \item restaurer un fichier : \commande{--file nom\_du\_fichier} ; + \item restaurer le dossier et contenu : \commande{--folder nom\_du\_dossier} ; + % \item restaurer tous les fichiers : \commande{--all\_files} ; + \item restaurer les bases de données : \commande{--mysql} ; + \item restaurer un annuaire LDAP : \commande{--ldap} ; + \item \ldots{} + \end{itemize} +\end{frame} +\begin{frame} + \frametitle{Restauration} + \framesubtitle{Restauration totale} + Le principe de la restauration totale consiste à rétablir les données d’un ancien serveur sur un nouveau. + + La procédure comporte plusieurs étapes puisqu’il est nécessaire de restaurer la configuration de la sauvegarde avant de pouvoir utiliser Bareos. +\end{frame} +\begin{frame} + \frametitle{Restauration} + \framesubtitle{Restauration totale} + \begin{itemize} + \item Installer le serveur (avec gen\_conteneur) ; + \item configurer le support de sauvegarde en ligne de commande ; + \item monter le support de sauvegarde : \commande{bareosmount.py --mount} ; + \begin{itemize} + \item Si vous avez un zéphir utiliser : \commande{enregistrement\_zephir}; + \item Si vous n'avez pas de zéphir, restaurer le fichier config.eol : + \begin{itemize} + \item \commande{bareosrestore.py --configeole } (attention restauration aussi de la configuration bareos) ; + \item copier la configuration restaurée : \commande{cp zephir-restore.eol /etc/eole/config.eol} ; + \end{itemize} + \end{itemize} + \end{itemize} +\end{frame} +\begin{frame} + \frametitle{Restauration} + \framesubtitle{Restauration totale} + \begin{itemize} + \item instanciation du serveur : \commande{instance} ; + \item ne pas reinitiliser la base Bareos ; + \item bareosrestore.py --catalog (sans options) ; + \item restauration totale : \commande{bareosrestore.py --all}. + \end{itemize} +\end{frame} diff --git a/slides/modules_EOLE_envole/commun/sauvegarde/sauvegarde-pratique.tex b/slides/modules_EOLE_envole/commun/sauvegarde/sauvegarde-pratique.tex new file mode 100644 index 0000000..5b80390 --- /dev/null +++ b/slides/modules_EOLE_envole/commun/sauvegarde/sauvegarde-pratique.tex @@ -0,0 +1,77 @@ +{\setbeamercolor{background canvas}{bg=TravauxPratiques} +\begin{frame} + \frametitle{Sauvegarde} + \framesubtitle{Mise en pratique} + \begin{itemize} + \item Sauvegarder le serveur sur le partage Windows + \end{itemize} +\end{frame} +\begin{frame} + \frametitle{Sauvegarde} + \framesubtitle{Mise en pratique} + Configuration du partage Windows + \begin{itemize} + \item Création d'un compte local sur le poste Windows ; + \item se connecter sur ce compte ; + \item partage du dossier et réglage des droits : + \begin{itemize} + \item contrôle total pour l'utilisateur, + \item décocher "Hérite de l'objet parent..." ; + \end{itemize} + \end{itemize} +\end{frame} +\begin{frame} + \frametitle{Sauvegarde} + \framesubtitle{Mise en pratique} + \skbfigure[center, width=8cm]{en/Windows/w10_creation_utilisateur.png} +\end{frame} +\begin{frame} + \frametitle{Sauvegarde} + \framesubtitle{Mise en pratique} + \skbfigure[center, width=8cm]{en/Windows/w10_props_dossier.png} +\end{frame} +\begin{frame} + \frametitle{Sauvegarde} + \framesubtitle{Mise en pratique} + \skbfigure[center, width=8cm]{en/Windows/w10_securite_dossier.png} +\end{frame} +\begin{frame} + \frametitle{Sauvegarde} + \framesubtitle{Mise en pratique} + \skbfigure[center, width=8cm]{en/Windows/w10_autorisation_avancee_dossier.png} +\end{frame} +\begin{frame} + \frametitle{Sauvegarde} + \framesubtitle{Mise en pratique} + \frametitle{Configuration partage Windows} + \skbfigure[center, width=8cm]{en/Windows/w10_ajout_autorisation_dossier.png} +\end{frame} +\begin{frame} + \frametitle{Sauvegarde} + \framesubtitle{Mise en pratique} + \frametitle{Configuration partage Windows} + \skbfigure[center, width=8cm]{en/Windows/w10_selection_principal_dossier.png} +\end{frame} +\begin{frame} + \frametitle{Sauvegarde} + \framesubtitle{Mise en pratique} + \frametitle{Configuration partage Windows} + \skbfigure[center, width=8cm]{en/Windows/w10_principal_dossier.png} +\end{frame} +\begin{frame} + \frametitle{Sauvegarde} + \framesubtitle{Mise en pratique} + \skbfigure[center, width=8cm]{en/Windows/w10_controle_total_dossier.png} +\end{frame} +\begin{frame} + \frametitle{Sauvegarde} + \framesubtitle{Mise en pratique} + Tester le montage depuis le serveur : + \commande{bareosmount.py -t} +\end{frame} +\begin{frame} + \frametitle{Sauvegarde} + \framesubtitle{Mise en pratique} + Lancer une sauvegarde totale. +\end{frame} +} diff --git a/slides/modules_EOLE_envole/commun/sauvegarde/webui.tex b/slides/modules_EOLE_envole/commun/sauvegarde/webui.tex new file mode 100644 index 0000000..a21a124 --- /dev/null +++ b/slides/modules_EOLE_envole/commun/sauvegarde/webui.tex @@ -0,0 +1,25 @@ +\begin{frame} + \frametitle{Bareos-webui} + \framesubtitle{La page d’acceuil} + \skbfigure[center,width=8cm]{apps/bareos_webui_onglet_dashboard.png} +\end{frame} +\begin{frame} + \frametitle{Bareos-webui} + \framesubtitle{Les jobs} + \skbfigure[center,width=8cm]{apps/bareos_webui_onglet_jobs.png} +\end{frame} +\begin{frame} + \frametitle{Bareos-webui} + \framesubtitle{La restauration} + \skbfigure[center,width=8cm]{apps/bareos_webui_onglet_restauration.png} +\end{frame} +\begin{frame} + \frametitle{Bareos-webui} + \framesubtitle{La restauration} + \skbfigure[center,width=8cm]{apps/bareos_webui_onglet_restauration_bis.png} +\end{frame} +\begin{frame} + \frametitle{Bareos-webui} + \framesubtitle{Les informations} + \skbfigure[center,width=8cm]{apps/bareos_webui_onglet_status.png} +\end{frame} diff --git a/slides/modules_EOLE_envole/commun/schedule.tex b/slides/modules_EOLE_envole/commun/schedule.tex new file mode 100644 index 0000000..6f69c88 --- /dev/null +++ b/slides/modules_EOLE_envole/commun/schedule.tex @@ -0,0 +1,14 @@ +\begin{frame} + \frametitle{Schedule} + \begin{itemize} + \item Gestion des tâches planifiées avec ou sans sauvegarde ; + \item tâche "pre" sauvegarde ; + \item tâche "post" sauvegarde ; + \item tirage au sort à l'instance de : + \begin{itemize} + \item l'heure de démarrage entre 1h et 6h, + \item le jour dans la semaine d'exécution des tâches hebdomadaires et mensuelles (le 1er xxx du mois) ; + \end{itemize} + \item pour lister : /usr/share/eole/sbin/manage\_schedule -l . + \end{itemize} +\end{frame} diff --git a/slides/modules_EOLE_envole/eclair/description.tex b/slides/modules_EOLE_envole/eclair/description.tex new file mode 100644 index 0000000..b269791 --- /dev/null +++ b/slides/modules_EOLE_envole/eclair/description.tex @@ -0,0 +1,12 @@ +\begin{frame} + \frametitle{Eclair} + \begin{itemize} + \item Eclair, serveur de clients légers sous GNU/Linux : + \begin{itemize} + \item serveur de clients légers ; + \item compatible partage de fichiers Scribe et Horus ; + \item support de Gaspacho. + \end{itemize} + \end{itemize} +\end{frame} + diff --git a/slides/modules_EOLE_envole/envole/ajout-application-pratique.tex b/slides/modules_EOLE_envole/envole/ajout-application-pratique.tex new file mode 100644 index 0000000..4932991 --- /dev/null +++ b/slides/modules_EOLE_envole/envole/ajout-application-pratique.tex @@ -0,0 +1,10 @@ +{\setbeamercolor{background canvas}{bg=TravauxPratiques} +\begin{frame} + \frametitle{Pratique} + \begin{itemize} + \item Dans GenConfig ajouter un chemin et un alias , + \item créer la base de donnée pour cette application , + \item créer un utilisateur pour cette application. + \end{itemize} +\end{frame} +} diff --git a/slides/modules_EOLE_envole/envole/ajout-application.tex b/slides/modules_EOLE_envole/envole/ajout-application.tex new file mode 100644 index 0000000..eea2c55 --- /dev/null +++ b/slides/modules_EOLE_envole/envole/ajout-application.tex @@ -0,0 +1,26 @@ +\begin{frame} + \frametitle{Ajouter un service web sur Scribe} + \begin{itemize} + \item Mise en place des fichiers : + \begin{itemize} + \item décompresser les fichiers dans /var/www/html/, + \item modifier l'utilisateur en www-data seulement pour les répertoires nécessaires ; + \end{itemize} + \item configuration Apache : + \begin{itemize} + \item dans l'onglet apache en mode expert, + \item ajouter le chemin complet et l'alias, + \end{itemize} + \item creation d'un utilisateur distinct dans Mysql : + \begin{itemize} + \item soit utiliser le script : /usr/share/eole/mysql\_add.py , + \end{itemize} + \begin{itemize} + \item Soit à la main : + \item CREATE DATABASE myDatabase ; + \item GRANT ALL PRIVILEGES ON mydb.* to 'user'@'localhost' identified by 'myPassword' ; + \end{itemize} + \item configuration du logiciel ; + \item prévoir la configuration de la sauvegarde. + \end{itemize} +\end{frame} diff --git a/slides/modules_EOLE_envole/envole/liste-applications.tex b/slides/modules_EOLE_envole/envole/liste-applications.tex new file mode 100644 index 0000000..9be35db --- /dev/null +++ b/slides/modules_EOLE_envole/envole/liste-applications.tex @@ -0,0 +1,134 @@ +\begin{frame} + \frametitle{Ajaxplorer} + \begin{itemize} + \item Gestionnaire de fichier ; + \item possibilité d'autres serveurs FTP ; + \item limité à 4 Mo (modifiable dans gen\_config en mode expert/Apache) + \item possibilité de partager un document. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Piwik2} + \begin{itemize} + \item Statistiques sur l'accès au portail Envole ; + \item par défaut seul les clics sur l'onget "Mon bureau" sont référencés ; + \item pas d'authentification ; + \item statistiques par groupe : Visiteurs/Groupe ; + \item tableau de bord avec pic de charge. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Dokuwiki} + \begin{itemize} + \item Bloc note (wiki) ; + \item rédaction à plusieurs. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Moodle} + \begin{itemize} + \item Plateforme d'apprentissage en ligne (e-learning) ; + \item admin : administrateur ; + \item professeur : créateur de cours ; + \item autres : visualisent les cours disponibles et s'y inscrivent. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{GRR} + \begin{itemize} + \item Gestion et réservation de ressources. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Taskfreak} + \begin{itemize} + \item planification de tâches ; + \item gestion par utilisateur et non par groupe ; + \item administrateur : admin (gestion des droits) ; + \item professeur : chef de projet (création de projet/tâche) ; + \item élève : création de tâche, assigne, fait avancer. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Squirrelmail + Webcalendar} + \begin{itemize} + \item Webmail et calendrier ; + \item nécessite un compte mail local. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Roundcube} + \begin{itemize} + \item Webmail. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{CDT} + \begin{itemize} + \item Cahier de texte et suivi des notes (bulletins scolaires + graphes) ; + \item administrateur : administrateur de l'application (importation de l'emploi du temps de Sconet ; + \item professeurs : enregistrent leur cahier de texte ; + \item élèves et responsables : consultent leur cahier de texte ; + \item personnels de direction : gèrent les visas, diffusent des messages, ... ; + \item vie scolaire : planifie des événements et les accès aux données ; + \item synchronisation avec webcalendar. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{WordPress} + \begin{itemize} + \item Gestion de contenu. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Fluxbb} + \begin{itemize} + \item Forum de discussion ; + \item administrateur : organise les forums/catégories, permissions ; + \item professeur : modérateur ; + \item élève : créer une discussion, répondre à une discussion ; + \item invité : consulter. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Gibii} + \begin{itemize} + \item Gestion du B2I ; + \item attention, console d'administration du super administrateur pas SSO : /gibii/sadmin (utilisateur sadmin/sadmin). + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{SpipEva} + \begin{itemize} + \item Gestion de contenu ; + \item tout le monde est "rédacteur". + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Gepi} + \begin{itemize} + \item Gestion des notes, des absences ; + \item il faut importer les comptes ("Gestion générale"). + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Jappix} + \begin{itemize} + \item Discussion instantanée. + \end{itemize} +\end{frame} + diff --git a/slides/modules_EOLE_envole/envole/posh.tex b/slides/modules_EOLE_envole/envole/posh.tex new file mode 100644 index 0000000..b7a38dc --- /dev/null +++ b/slides/modules_EOLE_envole/envole/posh.tex @@ -0,0 +1,115 @@ +\begin{frame} + \frametitle{Envole} + \begin{itemize} + \item Envole : système d'intégration de services web ; + \item personnalisable par l'utilisateur ; + \item historique : + \begin{itemize} + \item 1 : cartable en ligne de Créteil ; + \item 1.5 : mise à disposition pour tous ; + \item 2.0 : projet mutualisé entre Créteil et Dijon : modulaire. + \end{itemize} + \item authentification grâce au SSO ; + \item besoin d'un nom de domaine. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Réseau social} + \begin{itemize} + \item Boîte à outils ; + \item marque-pages ; + \item intégrer les applications ; + \item gestion des groupes ; + \item suivi d'activité ; + \item partage d'informations ; + \item désactivable dans Envole. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Réseau social} + \begin{itemize} + \item groupe : actualité du groupe ; + \item réseau : utilisateur ; + \item alerte : inscription aux réseaux | commentaires. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Profil} + \begin{itemize} + \item Visible par tout le monde ; + \item photo ; + \item tags ; + \item description. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Contributions} + \begin{itemize} + \item Ensemble des publications d'un utilisateur ; + \item status : visible par tout le monde ; + \item articles. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Articles} + \begin{itemize} + \item Ecrire un article ; + \item titre (toujours visible) ; + \item tags (pour la recherche) ; + \item ACL : Tout le monde, Mon réseau, Juste moi ; + \item boîte à outils ; + \item Contenu de l'article ; + \item commentaires : + \begin{itemize} + \item visible par son réseau ; + \item peut supprimer ses commentaires. + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Synchronisation des groupes} + \begin{itemize} + \item Depuis l'EAD (si Envole est activé) ; + \item Envole / Synchronisation ; + \item création d'une sélection de groupes (pas forcement tous). + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Widgets} + \begin{itemize} + \item Partage de widget ; + \item création : + \begin{itemize} + \item Widget / Mes widgets / Créer un widget, + \item suivre la procédure ; + \item nécessite la validation de l'administrateur. + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Gestion des profils} + \begin{itemize} + \item Création des profils pour les utilisateurs ; + \item gestion des onglets par défaut ; + \item gestion des icônes de bureau. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Charte} + \begin{itemize} + \item Activation du plugin ; + \item création dans l'onget "charte informatique" ; + \item liste validée ; + \item peut utiliser sans valider. + \end{itemize} +\end{frame} + diff --git a/slides/modules_EOLE_envole/hapy/description.tex b/slides/modules_EOLE_envole/hapy/description.tex new file mode 100644 index 0000000..8567ab1 --- /dev/null +++ b/slides/modules_EOLE_envole/hapy/description.tex @@ -0,0 +1,7 @@ +\begin{frame} + \frametitle{Hapy} + \begin{itemize} + \item Serveur de solution virtuelle un nœud ou multiple nœuds. + \end{itemize} +\end{frame} + diff --git a/slides/modules_EOLE_envole/horus/02-machine-ead.tex b/slides/modules_EOLE_envole/horus/02-machine-ead.tex new file mode 100644 index 0000000..2d61450 --- /dev/null +++ b/slides/modules_EOLE_envole/horus/02-machine-ead.tex @@ -0,0 +1,10 @@ +\begin{frame} + \frametitle{Connexion dans EAD} + \begin{itemize} + \item connaître les utilisateurs connectés ; + \item leurs fichiers ouverts ; + \item écrire aux utilisateurs ; + \item déconnecter des utilisateurs ; + \item déconnecter et désactiver. + \end{itemize} +\end{frame} diff --git a/slides/modules_EOLE_envole/horus/11-integration-horus.tex b/slides/modules_EOLE_envole/horus/11-integration-horus.tex new file mode 100644 index 0000000..70975b1 --- /dev/null +++ b/slides/modules_EOLE_envole/horus/11-integration-horus.tex @@ -0,0 +1,5 @@ +\begin{frame} + \frametitle{11-integration-horus.tex} + fichier slides/modules\_EOLE\_envole/horus/11-integration-horus.tex à éditer + % contenu (pas trop long) de la diapositive +\end{frame} \ No newline at end of file diff --git a/slides/modules_EOLE_envole/horus/administration.tex b/slides/modules_EOLE_envole/horus/administration.tex new file mode 100644 index 0000000..7c1e414 --- /dev/null +++ b/slides/modules_EOLE_envole/horus/administration.tex @@ -0,0 +1,30 @@ +\begin{frame} + \frametitle{ACL} + \begin{itemize} + \item accessible depuis Outils/Gestion des ACL ; + \item sélection d’un fichier ou dossier et application récursive possible. + \end{itemize} +\end{frame} +\begin{frame} + \frametitle{Gestion des connexions} + \begin{itemize} + \item envoi de messages ; + \item déconnexion et désactivation sélectives de comptes ; + \item déconnexion et désactivation globales des comptes ; + \item activation et désactivation via un formulaire. + \end{itemize} +\end{frame} +\begin{frame} + \frametitle{Observation des virus} + \begin{itemize} + \item rapports de mise en quarantaine. + \end{itemize} +\end{frame} +\begin{frame} + \frametitle{Rapports de quotas} + \begin{itemize} + \item "Quotas disque" permet de connaitre les quotas de l'ensemble des utilisateurs ; + \item permet de repérer les éventuels dépassements. + \end{itemize} +\end{frame} + diff --git a/slides/modules_EOLE_envole/horus/configuration-locale-pratique.tex b/slides/modules_EOLE_envole/horus/configuration-locale-pratique.tex new file mode 100644 index 0000000..96c6704 --- /dev/null +++ b/slides/modules_EOLE_envole/horus/configuration-locale-pratique.tex @@ -0,0 +1,12 @@ +{\setbeamercolor{background canvas}{bg=TravauxPratiques} +\begin{frame} + \frametitle{Configuration locale} + \framesubtitle{Configuration locale du module Horus} + \begin{enumerate} + \item ouvrez une connexion sur le serveur Horus avec l’utilisateur \emph{root}, mot de passe \emph{{formation;NC}}, + \item démarrez l’application de configuration du module avec la commande \commande{gen\_config}, + \item saisissez les valeurs obligatoires. + \end{enumerate} +\end{frame} +} + diff --git a/slides/modules_EOLE_envole/horus/description.tex b/slides/modules_EOLE_envole/horus/description.tex new file mode 100644 index 0000000..2ba287e --- /dev/null +++ b/slides/modules_EOLE_envole/horus/description.tex @@ -0,0 +1,14 @@ +\begin{frame} + \frametitle{Horus} + \begin{itemize} + \item Horus, le serveur de fichiers administratif : + \begin{itemize} + \item partage de fichiers (avec quotas, ACL) ; + \item partage d'imprimantes ; + \item gestion de comptes utilisateurs et de groupes ; + \item gestion des accès utilisateurs ; + \item gestion des postes clients ; + \item applications nationales. + \end{itemize} + \end{itemize} +\end{frame} diff --git a/slides/modules_EOLE_envole/horus/enregistrement-pratique.tex b/slides/modules_EOLE_envole/horus/enregistrement-pratique.tex new file mode 100644 index 0000000..067463e --- /dev/null +++ b/slides/modules_EOLE_envole/horus/enregistrement-pratique.tex @@ -0,0 +1,15 @@ +{\setbeamercolor{background canvas}{bg=TravauxPratiques} +\begin{frame} + \frametitle{Enregistrement Zéphir} + \framesubtitle{Enregistrement Zéphir du module Horus} + \begin{enumerate} + \item testez la résolution de nom zephir, + \item installez le certificat du Zéphir, + \item lancez la commande \commande{enregistrement\_zephir}, + \item créez un nouveau serveur dans l’établissement 0000000A, + \item choisissez d’envoyer la configuration locale. + \end{enumerate} + \pnote{copier la clef publique : scp root@:/etc/ssl/certs/ca\_local.crt /usr/local/share/ca-certificates/ update-ca-certificates} +\end{frame} +} + diff --git a/slides/modules_EOLE_envole/horus/esu.tex b/slides/modules_EOLE_envole/horus/esu.tex new file mode 100644 index 0000000..2dce611 --- /dev/null +++ b/slides/modules_EOLE_envole/horus/esu.tex @@ -0,0 +1,9 @@ +\begin{frame} + \frametitle{Le client ESU pour Horus} + \begin{itemize} + \item Pour activer ESU : activer dans gen\_config et exécuter la console esu.exe ; + \item configurer ; + \item pour désactiver : supprimer le fichier esuclnt.exe du dossier Base d'ESU; + \item installer le client ESU sur les postes clients en exécutant esuclnt.exe. + \end{itemize} +\end{frame} diff --git a/slides/modules_EOLE_envole/horus/integration-poste-client-pratique.tex b/slides/modules_EOLE_envole/horus/integration-poste-client-pratique.tex new file mode 100644 index 0000000..22e371f --- /dev/null +++ b/slides/modules_EOLE_envole/horus/integration-poste-client-pratique.tex @@ -0,0 +1,9 @@ +{\setbeamercolor{background canvas}{bg=TravauxPratiques} +\begin{frame} + \frametitle{Pratique} + \begin{itemize} + \item Configurer le DHCP sur Horus ; + \item intégrer le poste Windows sur Horus. + \end{itemize} +\end{frame} +} diff --git a/slides/modules_EOLE_envole/horus/integration-poste-client.tex b/slides/modules_EOLE_envole/horus/integration-poste-client.tex new file mode 100644 index 0000000..783d94d --- /dev/null +++ b/slides/modules_EOLE_envole/horus/integration-poste-client.tex @@ -0,0 +1,11 @@ +\begin{frame} + \frametitle{Intégration à Horus} + \begin{itemize} + \item Méthode : + \begin{enumerate} + \item connexion au répertoire perso de l’administrateur du domaine, + \item copie en local du répertoire IntegrDom, + \item exécution du programme joineole depuis le répertoire local. + \end{enumerate} + \end{itemize} +\end{frame} diff --git a/slides/modules_EOLE_envole/horus/machines-ead-pratique.tex b/slides/modules_EOLE_envole/horus/machines-ead-pratique.tex new file mode 100644 index 0000000..23cbe1f --- /dev/null +++ b/slides/modules_EOLE_envole/horus/machines-ead-pratique.tex @@ -0,0 +1,8 @@ +{\setbeamercolor{background canvas}{bg=TravauxPratiques} +\begin{frame} + \frametitle{Pratique} + \begin{itemize} + \item Tester connexion et machine sur les EAD Horus. + \end{itemize} +\end{frame} +} diff --git a/slides/modules_EOLE_envole/horus/particularites-configuration.tex b/slides/modules_EOLE_envole/horus/particularites-configuration.tex new file mode 100644 index 0000000..cae5a54 --- /dev/null +++ b/slides/modules_EOLE_envole/horus/particularites-configuration.tex @@ -0,0 +1,45 @@ +\begin{frame} + \frametitle{Les particularités de configuration du module Horus} + \framesubtitle{Les services} + \begin{itemize} + \item antivirus ; + \item serveur DHCP ; + \item ESU ; + \item xinetd pour InterBase ; + \item MySQL ; + \item frontend Horus. + \end{itemize} +\end{frame} +\begin{frame} + \frametitle{Les particularités de configuration du module Horus} + \framesubtitle{L’interface réseau 0} + Le mode DHCP est désactivé pour cette interface. +\end{frame} +\begin{frame} + \frametitle{Les particularités de configuration du module Horus} + \framesubtitle{Antivirus} + ClamAV est activé par défaut pour les dossiers partagés via FTP. +\end{frame} +\begin{frame} + \frametitle{Les particularités de configuration du module Horus} + \framesubtitle{Samba} + \begin{description} + \item[Nom du contrôleur de domaine] nom Netbios servant à identifier la machine sur le réseau Windows + \item[Nom du domaine Samba] nom du groupe rassemblant les machines et utilisateurs. + \end{description} +\end{frame} +\begin{frame} + \frametitle{Les particularités de configuration du module Horus} + \framesubtitle{ESU} + \begin{itemize} + \item activation à la demande (contrairement au module Scribe) ; + \item configuration du proxy pour les station gérées par le client Horus. + \end{itemize} + \begin{block}{Deux notions différentes} + Ces deux variables doivent avoir des valeurs différentes. + \end{block} +\end{frame} +\begin{frame} + \frametitle{Les particularités de configuration du module Horus} + \framesubtitle{Les services} +\end{frame} diff --git a/slides/modules_EOLE_envole/horus/script-horus-pratique.tex b/slides/modules_EOLE_envole/horus/script-horus-pratique.tex new file mode 100644 index 0000000..f344647 --- /dev/null +++ b/slides/modules_EOLE_envole/horus/script-horus-pratique.tex @@ -0,0 +1,8 @@ +{\setbeamercolor{background canvas}{bg=TravauxPratiques} +\begin{frame} + \frametitle{Pratique} + \begin{itemize} + \item Faire un script de démarrage Horus. + \end{itemize} +\end{frame} +} diff --git a/slides/modules_EOLE_envole/horus/script-horus.tex b/slides/modules_EOLE_envole/horus/script-horus.tex new file mode 100644 index 0000000..0c5afe6 --- /dev/null +++ b/slides/modules_EOLE_envole/horus/script-horus.tex @@ -0,0 +1,12 @@ +\begin{frame} + \frametitle{Les scripts de démarrage Horus} + \begin{itemize} + \item Les scripts personnalisés peuvent être appliqués en fonction : + \begin{itemize} + \item de l'utilisateur (/home/netlogon/scripts/users/l.nom.bat) ; + \item du groupe (/home/netlogon/scripts/groups/group.bat) ; + \item du système d'exploitation (/home/netlogon/scripts/os/WinXP.bat) ; + \item machine (/home/netlogon/scripts/machines/pc\_xp2.bat). + \end{itemize} + \end{itemize} +\end{frame} diff --git a/slides/modules_EOLE_envole/horus/scripts-administratifs.tex b/slides/modules_EOLE_envole/horus/scripts-administratifs.tex new file mode 100644 index 0000000..3648c39 --- /dev/null +++ b/slides/modules_EOLE_envole/horus/scripts-administratifs.tex @@ -0,0 +1,6 @@ +\begin{frame} + \frametitle{Les scripts administratifs Horus} + \begin{itemize} + \item "Scripts administratifs", permet de lancer l'exécution des scripts. + \end{itemize} +\end{frame} diff --git a/slides/modules_EOLE_envole/horus/utilisateurs-pratique.tex b/slides/modules_EOLE_envole/horus/utilisateurs-pratique.tex new file mode 100644 index 0000000..6755d10 --- /dev/null +++ b/slides/modules_EOLE_envole/horus/utilisateurs-pratique.tex @@ -0,0 +1,39 @@ +{\setbeamercolor{background canvas}{bg=TravauxPratiques} +\begin{frame} + \frametitle{Gestion des utilisateurs avec l’EAD} + La gestion des utilisateurs s’effectue dans la partie \emph{Gestion}. + Il y a une application pour chaque type de ressource : les utilisateurs (\emph{Gestion/Utilisateurs}), les groupes (\emph{Gestion/Groupes}) et les partages (\emph{Gestion/Partages}). +\end{frame} +} +{\setbeamercolor{background canvas}{bg=TravauxPratiques} +\begin{frame} + \frametitle{Gestion des utilisateurs avec l’EAD} + \framesubtitle{Création d’utilisateurs} + \begin{itemize} + \item cliquez sur le sous-menu \emph{Création} du menu \emph{Gestion/Utilisateurs} pour accéder au formulaire ; + \item saisissez nom et mot de passe de l’utilisateur ; + \item cochez la case \emph{Forcez la modification du mot de passe à la première connexion}. + \end{itemize} +\end{frame} +} +{\setbeamercolor{background canvas}{bg=TravauxPratiques} +\begin{frame} + \frametitle{Gestion des utilisateurs avec l’EAD} + \framesubtitle{Création de groupes} + \begin{itemize} + \item cliquez sur le sous-menu \emph{Création} du menu \emph{Gestion/Groupes} pour accéder au formulaire ; + \item saisissez le nom du groupe et le nom du partage ; + \item associez le partage au groupe. + \end{itemize} +\end{frame} +} +{\setbeamercolor{background canvas}{bg=TravauxPratiques} +\begin{frame} + \frametitle{Gestion des utilisateurs avec l’EAD} + \framesubtitle{Modification de partages} + \begin{itemize} + \item cliquez sur le sous-menu \emph{Modification} du menu \emph{Gestion/Partages} pour accéder au formulaire ; + \item associez une lettre de partage. + \end{itemize} +\end{frame} +} diff --git a/slides/modules_EOLE_envole/horus/utilisateurs.tex b/slides/modules_EOLE_envole/horus/utilisateurs.tex new file mode 100644 index 0000000..3909e1c --- /dev/null +++ b/slides/modules_EOLE_envole/horus/utilisateurs.tex @@ -0,0 +1,70 @@ +\begin{frame} + \frametitle{Gestion des comptes} + \framesubtitle{Anatomie des comptes} + Les concepts mis en œuvre pour la gestion des utilisateurs sont ceux d’utilisateur, de groupe et de partage. + \begin{description} + \item[utilisateur] personne pouvant ouvrir une session sur les machines du domaine + \item[groupe] ensemble d’utilisateurs pouvant partager du contenu sur le serveur + \item[partage] espace de stockage partagé au sein des groupes et accessible sur les machines du domaine + \end{description} +\end{frame} +\begin{frame} + \frametitle{Gestion des comptes} + \framesubtitle{Les utilisateurs} + \begin{itemize} + \item nom et mot de passe requis ; + \item diverses options : + \begin{itemize} + \item shell ; + \item profil (choisir itinérant ou local) ; + \item changemenent de mot passe obligatoire ; + \item quota disque ; + \item compte désactivé ; + \item lettre du partage ; + \item groupe principal. + \end{itemize} + \end{itemize} +\end{frame} +\begin{frame} + \frametitle{Gestion des comptes} + \framesubtitle{Les groupes} + \begin{itemize} + \item nom requis + \end{itemize} + \begin{itemize} + \item possibilité d'associer des utilisateurs à ce groupe ; + \item possibilité d'associer des partages à ce groupe. + \end{itemize} +\end{frame} +\begin{frame} + \frametitle{Gestion des comptes} + \framesubtitle{Les partages} + \begin{itemize} + \item nom du partage et nom du groupe associé requis ; + \item le chemin de partage ; + \item une lettre de lecteur (un tableau rappelle les autres lettres) ; + \item utilisation des "sticky bits" ; + \item possibilité de choisir un modèle ; + \item pour créer un modèle, copier un template dans /usr/share/eole/fichiers/models/. + \end{itemize} +\end{frame} +\begin{frame} + \frametitle{Gestion des comptes} + \framesubtitle{L'extraction Horus} + \begin{itemize} + \item Format extraction AAF ; + \item les mots de passe générés sont dans /tmp/passwords.csv. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Gestion des comptes} + \framesubtitle{Détail des modèles de partage} + \begin{description} + \item[name] nom du partage + \item[desc] description + \item[path] chemin du partage + \item[group] groupe associé au partage + \end{description} +\end{frame} + diff --git a/slides/modules_EOLE_envole/horus/virtualbox.tex b/slides/modules_EOLE_envole/horus/virtualbox.tex new file mode 100644 index 0000000..28cf416 --- /dev/null +++ b/slides/modules_EOLE_envole/horus/virtualbox.tex @@ -0,0 +1,12 @@ +{\setbeamercolor{background canvas}{bg=TravauxPratiques} +\begin{frame} + \frametitle{VirtualBox} + \framesubtitle{Configuration de la VM Horus} + \begin{description} + \item[ova] horus-formation.ova + \item[processeur] 1 + \item[RAM] 2048 + \item[réseau] réseau privé hôte + \end{description} +\end{frame} +} diff --git a/slides/modules_EOLE_envole/horusAD/description.tex b/slides/modules_EOLE_envole/horusAD/description.tex new file mode 100644 index 0000000..0d90d99 --- /dev/null +++ b/slides/modules_EOLE_envole/horusAD/description.tex @@ -0,0 +1,14 @@ +\begin{frame} + \frametitle{Horus} + \begin{itemize} + \item Horus, le serveur de fichiers administratif : + \begin{itemize} + \item partage de fichiers (avec quotas, ACL) ; + \item partage d'imprimantes ; + \item gestion de comptes utilisateurs et de groupes ; + \item gestion des accès utilisateurs ; +% \item gestion des postes clients ; + \item applications nationales. + \end{itemize} + \end{itemize} +\end{frame} diff --git a/slides/modules_EOLE_envole/horusAD/script-horus-pratique.tex b/slides/modules_EOLE_envole/horusAD/script-horus-pratique.tex new file mode 100644 index 0000000..f344647 --- /dev/null +++ b/slides/modules_EOLE_envole/horusAD/script-horus-pratique.tex @@ -0,0 +1,8 @@ +{\setbeamercolor{background canvas}{bg=TravauxPratiques} +\begin{frame} + \frametitle{Pratique} + \begin{itemize} + \item Faire un script de démarrage Horus. + \end{itemize} +\end{frame} +} diff --git a/slides/modules_EOLE_envole/horusAD/script-horus.tex b/slides/modules_EOLE_envole/horusAD/script-horus.tex new file mode 100644 index 0000000..0c5afe6 --- /dev/null +++ b/slides/modules_EOLE_envole/horusAD/script-horus.tex @@ -0,0 +1,12 @@ +\begin{frame} + \frametitle{Les scripts de démarrage Horus} + \begin{itemize} + \item Les scripts personnalisés peuvent être appliqués en fonction : + \begin{itemize} + \item de l'utilisateur (/home/netlogon/scripts/users/l.nom.bat) ; + \item du groupe (/home/netlogon/scripts/groups/group.bat) ; + \item du système d'exploitation (/home/netlogon/scripts/os/WinXP.bat) ; + \item machine (/home/netlogon/scripts/machines/pc\_xp2.bat). + \end{itemize} + \end{itemize} +\end{frame} diff --git a/slides/modules_EOLE_envole/horusAD/scripts-administratifs.tex b/slides/modules_EOLE_envole/horusAD/scripts-administratifs.tex new file mode 100644 index 0000000..3648c39 --- /dev/null +++ b/slides/modules_EOLE_envole/horusAD/scripts-administratifs.tex @@ -0,0 +1,6 @@ +\begin{frame} + \frametitle{Les scripts administratifs Horus} + \begin{itemize} + \item "Scripts administratifs", permet de lancer l'exécution des scripts. + \end{itemize} +\end{frame} diff --git a/slides/modules_EOLE_envole/modules/amon/base.tex b/slides/modules_EOLE_envole/modules/amon/base.tex new file mode 100644 index 0000000..349f8ad --- /dev/null +++ b/slides/modules_EOLE_envole/modules/amon/base.tex @@ -0,0 +1,80 @@ +\begin{frame} + \frametitle{Serveur DNS} + \begin{itemize} + \item Amon propose un serveur DNS ; + \item il est possible de configurer un ou plusieurs DNS père ; + \item DNS master de zone supplémentaire ; + \item forward de zone DNS ; + \item ajout d'hôte dans la résolution de domaine. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Pratique : serveur DNS} + \begin{itemize} + \item ajouter seven.monreseau.lan avec l'adresse IP du poste seven ; + \item ajouter seven.nouveaureseau.lan avec l'adresse IP du poste seven. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Serveur DNS et RVP} + \begin{itemize} + \item Si RVP activé ; + \item serveur DNS in.ac-acad.fr ; + \item serveur DNS AGRIATE. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Agrégation de liens} + \begin{itemize} + \item Utiliser deux abonnements Internet sur un même Amon ; + \item garantir une meilleure qualité de service ; + \item poids de chaque abonnement pour répartir la charge ; + \item la configuration se fait durant l'étape de configuration ; + \item limite : le RVP passe par un seul lien. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Réseau} + \begin{itemize} + \item alias : + \begin{itemize} + \item plusieurs IP pour une adresse réseau physique. + \end{itemize} + \item VLAN : + \begin{itemize} + \item segmentation des réseaux ; + \item se fait au niveau des équipements réseaux. + \end{itemize} + \item RADIUS : + \begin{itemize} + \item RADIUS : protocole client-serveur permettant de centraliser des données d'authentification ; + \item permet de faire des sous-réseaux dynamiques ; + \item nécessite des équipements réseaux compatibles. + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Route statique} + \begin{itemize} + \item Réseau locale accessible via une passerelle ; + \item onglet "Réseau avancé" "Ajouter des routes statiques" : + \begin{itemize} + \item adresse IP ou réseau + masque, + \item passerelle pour accéder au réseau, + \item interface réseau reliée à la passerelle, + \item autorisation sur les DNS. + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Pratique} + \begin{itemize} + \item Mettre en place un route statique. + \end{itemize} +\end{frame} diff --git a/slides/modules_EOLE_envole/modules/amon/cntlm.tex b/slides/modules_EOLE_envole/modules/amon/cntlm.tex new file mode 100644 index 0000000..b5c60ea --- /dev/null +++ b/slides/modules_EOLE_envole/modules/amon/cntlm.tex @@ -0,0 +1,40 @@ +\begin{frame} + \frametitle{WPAD} + \begin{itemize} + \item WPAD permet la configuration automatique des postes clients ; + \item le navigateur doit être configuré en conséquence ; + \item possibilité d'exceptions : + \begin{itemize} + \item d'un nom de domaine, + \item d'un nom de domaine local (donc aussi les sous-domaines), + \item d'un IP. + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Diagnostic WPAD} + \begin{itemize} + \item sous windows nslookup wpad ; + \item si erreur, bien vérifier le nom de domaine dans ipconfig /all ; + \item vérifier le domaine complet : nslookup wpad.nomdomain.lan + \item si erreur, problème DNS sur le poste/erreur BIND ; + \item désactiver le proxy dans firefox et tester http://wpad/wpad.dat + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{CNTLM} + \begin{itemize} + \item Poste dans un domaine différent sans support NTLM ; + \item fonctionne sur un port différent (3127). + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Pratique} + \begin{itemize} + \item Forcer l'authentification sur le poste de travail. + \end{itemize} +\end{frame} + diff --git a/slides/modules_EOLE_envole/modules/amon/description.tex b/slides/modules_EOLE_envole/modules/amon/description.tex new file mode 100644 index 0000000..cae3d4c --- /dev/null +++ b/slides/modules_EOLE_envole/modules/amon/description.tex @@ -0,0 +1,14 @@ +\begin{frame} + \frametitle {Amon} + \begin{itemize} + \item Amon, la passerelle pare-feu : + \begin{itemize} + \item partage des sous-réseaux et connexion à internet (pare-feu) ; + \item authentifications des utilisateurs ; + \item réseau virtuel privé ; + \item cache web ; + \item reverse proxy web. + \end{itemize} + \end{itemize} +\end{frame} + diff --git a/slides/modules_EOLE_envole/modules/amon/dns.tex b/slides/modules_EOLE_envole/modules/amon/dns.tex new file mode 100644 index 0000000..e69de29 diff --git a/slides/modules_EOLE_envole/modules/amon/era.tex b/slides/modules_EOLE_envole/modules/amon/era.tex new file mode 100644 index 0000000..3d36796 --- /dev/null +++ b/slides/modules_EOLE_envole/modules/amon/era.tex @@ -0,0 +1,126 @@ +\begin{frame} + \frametitle{Présentation} + \begin{itemize} + \item Outil de génération de règles pour pare-feu ; + \item enregistre la description de la politique de sécurité dans un fichier XML ; + \item génération de commandes iptables par compilation ; + \item il est possible de mettre des variables Creole ; + \item zone de sécurité : correspond à une interface réseau ; + \item matrice de flux : classé par origine et par destination ; + \item flux orienté (interdit pour les flux montants, autorisé pour les flux descendants, interdit pour les flux égaux) ; + \item politique par défaut ; + \item extrémité : machine ou réseau d'une zone ; + \item directive : règle. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Directive} + \begin{itemize} + \item Les extrémités + \item les services et groupes de services + \item les plages horaires + \item les groupes d'utilisateurs (NuFW) : tous-identifiés, non-identifiés, ... + \item les groupes d'applications (NuFW) + \item les types de directives : autorisation/interdiction, redirection, NAT, ... + \item la journalisation + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Pratique} + \begin{itemize} + \item Lancer Era et ouvrir le fichier 2zones-amonecole ; + \item identifier les zones, les flux et les directives ; + \item ajouter une extrémité seven avec IP ; + \item ajouter un groupe de services avec le service samba3, smtp et pop ; + \item ajouter une plage horaire : du lundi au vendredi de 12h à 14h ; + \item ajouter interdire le groupe + plage horaire de pedago vers l'extrémité Scribe ; + \item ajouter une directive DNAT de Scribe vers 8500 ; + \item enregistrer le fichier dans un nouveau modèle ; + \item dans gen\_config modifier le modèle utilisé ; + \item vérifier l'application des règles avec iptables-save. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Les directives optionnelles} + \begin{itemize} + \item Directive activable et désactivable depuis l'EAD ; + \item il suffit de spécifier un libellé dans "directive optionnelle EAD" ; + \item alphanumérique + "\_" et " " (pas d'accent !) ; + \item notion de groupe de directives optionnelles ; + \item possibilité de directive optionnelle active ; + \item deux types d'action EAD : + \begin{itemize} + \item configuration générale, + \item filtre web 1/2. + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Les directives optionnelles cachées} + \begin{itemize} + \item Directive optionnelle non présente dans l'EAD ; + \item s'active/désactive via un patch du template : /usr/share/eole/creole/distrib/active\_tags. + \end{itemize} +\end{frame} +\begin{frame} + \frametitle{Pratique} + \begin{itemize} + \item Rendre la directive optionnelle et l'activer/désactiver dans l'EAD ; + \item rendre la directive optionnelle cachée. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{La qualité de service} + \begin{itemize} + \item Zone interne vers extérieur ; + \item il faut fixer une valeur d'upload et de download en méga bits par seconde ; + \item spécifie un pourcentage d'utilisation ; + \item penser à activer la QOS dans les options. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Les règles netbios} + \begin{itemize} + \item Dans les options du modèle, possibilité d'activer les règles netbios ; + \item permet de bloquer les requêtes du réseau Microsoft vers l'extérieur. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Pratique} + \begin{itemize} + \item Activer la qualité de service ; + \item configurer la QOS. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Options avancées} + \begin{itemize} + \item Peut se connecter à Zéphir ; + \item héritage de modèle : + \begin{itemize} + \item hérite des directives d'un modèle parent, + \item directives non modifiable dans le nouveau modèle, + \item nouvelle directive dans le modèle, + \item il faut un nouveau modèle puis "importer" le modèle hérité ; + \end{itemize} + \item l'inclusion statique. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Pratique} + \begin{itemize} + \item Faire un modèle hérité ; + \item vérifier que les règles ne sont pas modifiable ; + \item ajouter une inclusion statique. + \end{itemize} +\end{frame} + diff --git a/slides/modules_EOLE_envole/modules/amon/filtrage.tex b/slides/modules_EOLE_envole/modules/amon/filtrage.tex new file mode 100644 index 0000000..5d19c1d --- /dev/null +++ b/slides/modules_EOLE_envole/modules/amon/filtrage.tex @@ -0,0 +1,176 @@ +\begin{frame} + \frametitle{Présentation} + \begin{itemize} + \item Possibilités : + \begin{itemize} + \item configurer la manière dont le filtrage s'effectue ; + \item associer des filtrages à des utilisateurs ; + \item associer des filtrages à des machines ; + \item configurer par zone de configuration ; + \item configurer par politique de filtrage ; + \item plusieurs configurations (1 et 2) ; + \item désactivable dans gen\_config. + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Interdire ou autoriser des sites web} + \begin{itemize} + \item Interdire des sites : compléter la liste noire ; + \item autoriser des sites : forcer l'autorisation d'un site ; + \item applicable à des zones entières ou à des politiques de filtrage ; + \item les listes sont mises à jour régulièrement ; + \item signaler pour améliorer les performances et la qualité des listes (action EAD). + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Politique de liste blanche} + \begin{itemize} + \item restreindre la navigation à un ensemble de sites ; + \item ne pas confondre avec les sites autorisés. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Filtre optionnel} + \begin{itemize} + \item la liste de sites interdits comprend des catégories ; + \item par défaut seules les catégories "adult" et "redirector" sont activées ; + \item activation par configuration ou politique de filtrage ; + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Filtre syntaxique} + \begin{itemize} + \item Filtrage dynamique des pages ; + \item possibilités : + \begin{itemize} + \item sur les balises méta (par défaut) ; + \item sur la page entière ; + \item désactivé. + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Filtre des extensions} + \begin{itemize} + \item Interdire le téléchargement portant certaines extensions ; + \item applicable à des zones entières ou à des politiques de filtrage. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Pratique} + \begin{itemize} + \item Tester les différents types de filtrage ; + \item voir l'action de signalement. + \end{itemize} +\end{frame} +\begin{frame} + \frametitle{Filtre des types MIME} + \begin{itemize} + \item Un type MIME est une information donnée par le serveur permettant de connaitre le format d'un document sans se baser sur l'extension. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Filtre par machine} + \begin{itemize} + \item Filtrage par groupe de machine (IP) ; + \item possibilités : + \begin{itemize} + \item interdire l'accès au réseau ; + \item interdire la navigation web uniquement ; + \item autoriser la navigation web selon des horaires ; + \item associer une politique de filtrage. + \end{itemize} + \item attention, l'ancienne méthode par "poste" n'est plus d'actualité. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Filtre par utilisateur} + \begin{itemize} + \item Pré-requis : il doit y avoir une authentification utilisateur ; + \item permet d'ajouter un filtrage spécial à un utilisateur ; + \item si filtrage par utilisateur, le filtrage par machine n'est plus fonctionnel (pour https). + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Pratique} + \begin{itemize} + \item Créer un groupe de machines : configuration1/Groupe de machine ; + \item tester ; + \item créer un utilisateur : Configuration1/Utilisateurs ; + \item tester. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Filtre par destination} + \begin{itemize} + \item Possibilité d'interdire l'accès à un sous-réseau depuis une interface. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Ne pas authentifier / mettre en cache} + \begin{itemize} + \item La destination : Sites de mise à jour ; + \item la source : Sources à ne pas authentifier. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Filtre antivirus web} + \begin{itemize} + \item Possible d'activer l'antivirus sur le filtrage web ; + \item utilise ClamAV. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Pratique} + \begin{itemize} + \item Activer le filtrage antivirus dans gen\_config ; + \item télécharger différents fichiers. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Filtre P2P} + \begin{itemize} + \item Permet de bloquer les échanges de fichiers en P2P ; + \item 2 filtres au choix : l7filter ou ipp2p. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Horaire} + \begin{itemize} + \item Les horaires du pare-feu : ferme la totalité du pare-feu ; + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Numéro de filtrage web} + \begin{itemize} + \item Il est possible de différencier les politiques de filtrage suivant l'interface ; + \item eole2 : administrateur de la 2ème configuration. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Gérer au mieux les ressources} + \begin{itemize} + \item Ne pas activer trop de politiques de filtrage par défaut (0 à 3 politiques) ; + \item ne pas démarrer trop d'instances Dansguardian (voir la configuration) ... ; + \item filtrage syntaxique (surtout sur la page entière) ; + \item antivirus. + \end{itemize} +\end{frame} diff --git a/slides/modules_EOLE_envole/modules/amon/nouveautes.tex b/slides/modules_EOLE_envole/modules/amon/nouveautes.tex new file mode 100644 index 0000000..ee55ec8 --- /dev/null +++ b/slides/modules_EOLE_envole/modules/amon/nouveautes.tex @@ -0,0 +1,15 @@ +\begin{frame} + \frametitle{Nouveautés Amon 2.3} + \begin{itemize} + \item amélioration nginx (notamment "domaine par défaut") ; + \item suppression de NuFW ; + \item possibilité de désactiver le filtrage web ; + \item proxy sur une carte ; + \item second squid pour authentification différente ; + \item outil de consultation des log : SARG => ligthsquid ; + \item wpad/CNTLM ; + \item Era ajout de la possibilité de mettre des exceptions. + \end{itemize} +\end{frame} + + diff --git a/slides/modules_EOLE_envole/modules/amon/nufw.tex b/slides/modules_EOLE_envole/modules/amon/nufw.tex new file mode 100644 index 0000000..c2c4053 --- /dev/null +++ b/slides/modules_EOLE_envole/modules/amon/nufw.tex @@ -0,0 +1,22 @@ +\begin{frame} + \frametitle{NuFW} + \includegraphics[width=8cm]{modules_EOLE_envole/amon/nufw.png} +\end{frame} + +\begin{frame} + \frametitle{Pratique} + \begin{itemize} + \item Activer NuFW sur l'Amon ; + \item se connecter sur NuFW depuis Clientscribe1 ; + \item inverser la politique par défaut sur flux pedago-DMZ ; + \item autoriser la pédago à aller sur scribe-pedago en DMZ ; + \item ajouter l'application /bin/nc-traditional et le groupe d'application "navigateur web" ; + \item autoriser le groupe "professeur" avec application "navigateur web" vers le Scribe en pédago sur le port 8500 ; + \item tester : + \begin{itemize} + \item serveur de destination : netcat -l -p \$numport -c "/bin/echo 'message'" + \item machine source : netcat \$destip \$destport + \item machine source : telnet \$destip \$destport + \end{itemize} + \end{itemize} +\end{frame} diff --git a/slides/modules_EOLE_envole/modules/amon/proxy.tex b/slides/modules_EOLE_envole/modules/amon/proxy.tex new file mode 100644 index 0000000..c71d252 --- /dev/null +++ b/slides/modules_EOLE_envole/modules/amon/proxy.tex @@ -0,0 +1,55 @@ +\begin{frame} + \frametitle{Proxy père} + \begin{itemize} + \item Proxy père académique ; + \item proxy père pour une zone ; + \item coopération des caches. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Authentification sur le proxy} + \begin{itemize} + \item Obligation légale ; + \item plusieurs types : + \begin{itemize} + \item NTLM/SMB + \item LDAP/Active directory + \item NTLM/Kerberos + \item fichier local + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Pratique} + \begin{itemize} + \item Activer l'authentification du proxy en NTLM/SMB. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Observation} + \begin{itemize} + \item Action EAD désactivé par défaut ; + \item activable dans l'onglet "Dansguardian" "Autoriser la consultation des logs de Dansguardian dans l'EAD" ; + \item il est possible de visualiser des logs par : + \begin{itemize} + \item date (obligatoire) + \item heure de visite ; + \item IP du visiteur ; + \item login du visiteur ; + \item seulement les accès refusés. + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Lightsquid} + \begin{itemize} + \item Possibilité d'utiliser lightsquid en plus ou à la place de l'observation ; + \item nécessaire de lancer un script (information dans l'action EAD) ; + \item automatisable dans l'onglet "Squid" ; + \item anonymisable. + \end{itemize} +\end{frame} diff --git a/slides/modules_EOLE_envole/modules/amon/reverseproxy.tex b/slides/modules_EOLE_envole/modules/amon/reverseproxy.tex new file mode 100644 index 0000000..fc633bf --- /dev/null +++ b/slides/modules_EOLE_envole/modules/amon/reverseproxy.tex @@ -0,0 +1,23 @@ +\begin{frame} + \frametitle{Reverse proxy} + \begin{itemize} + \item permet de relayer des requêtes Web provenant de l'extérieur vers les serveurs internes ; + \item permet de rediriger : + \begin{itemize} + \item SSO, + \item administration Envole 2.0, + \item HTTP, + \item HTTPS ; + \end{itemize} + \item si on redirige le SSO, il ne faut pas l'activer sur l'Amon. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Pratique} + \begin{itemize} + \item Rendre disponible un site via le reverse proxy. + \end{itemize} +\end{frame} + + diff --git a/slides/modules_EOLE_envole/modules/amon/virtualbox.tex b/slides/modules_EOLE_envole/modules/amon/virtualbox.tex new file mode 100644 index 0000000..89b894b --- /dev/null +++ b/slides/modules_EOLE_envole/modules/amon/virtualbox.tex @@ -0,0 +1,17 @@ +\begin{frame} + \frametitle{Utilisation de VirtualBox} + \begin{itemize} + \item AmonEcole : + \begin{itemize} + \item Choisir "Accès par pont" dans le "Mode d'accès réseau" dans Préférence/Réseau/Carte 1 ; + \item choisir "Réseau interne" "int" dans le "Mode d'accès réseau" dans Préférence/Réseau/Carte 2. + \item faire un instantané. + \end{itemize} + \item Seven : + \begin{itemize} + \item choisir "Réseau interne" "int" dans le "Mode d'accès réseau" dans Préférence/Réseau/Carte 1. + \end{itemize} + \end{itemize} +\end{frame} + + diff --git a/slides/modules_EOLE_envole/modules/amonecole/00-description.tex b/slides/modules_EOLE_envole/modules/amonecole/00-description.tex new file mode 100644 index 0000000..53dfa02 --- /dev/null +++ b/slides/modules_EOLE_envole/modules/amonecole/00-description.tex @@ -0,0 +1,11 @@ +\begin{frame} + \frametitle{AmonEcole} + \begin{itemize} + \item AmonEcole, solution de conteneur avec différents modules : + \begin{itemize} + \item AmonEcole mélange des fonctionnalités Amon et Scribe ; + \item AmonEcole+ avec les fonctionnalités Eclair. + \item AmonHorus mélange des fonctionnalités Amon et Horus. + \end{itemize} + \end{itemize} +\end{frame} diff --git a/slides/modules_EOLE_envole/modules/commun/conteneurs.tex b/slides/modules_EOLE_envole/modules/commun/conteneurs.tex new file mode 100644 index 0000000..239845d --- /dev/null +++ b/slides/modules_EOLE_envole/modules/commun/conteneurs.tex @@ -0,0 +1,8 @@ +\begin{frame} + \frametitle{Administration des conteneurs} + \begin{itemize} + \item Statut des conteneurs : lxc-status ; + \item gestion d'un service : CreoleService nom\_service start|stop|status ; + \item entrer dans le conteneur : ssh nom\_conteneur. + \end{itemize} +\end{frame} diff --git a/slides/modules_EOLE_envole/modules/commun/diagnose-pratique.tex b/slides/modules_EOLE_envole/modules/commun/diagnose-pratique.tex new file mode 100644 index 0000000..5bd15bf --- /dev/null +++ b/slides/modules_EOLE_envole/modules/commun/diagnose-pratique.tex @@ -0,0 +1,8 @@ +\begin{frame} + \frametitle{Pratique} + \begin{itemize} + \item Faire un reconfigure ; + \item lancer un diagnostic ; + \item lancer un diagnostic étendu. + \end{itemize} +\end{frame} diff --git a/slides/modules_EOLE_envole/modules/commun/diagnose.tex b/slides/modules_EOLE_envole/modules/commun/diagnose.tex new file mode 100644 index 0000000..79e8ed5 --- /dev/null +++ b/slides/modules_EOLE_envole/modules/commun/diagnose.tex @@ -0,0 +1,7 @@ +\begin{frame} + \frametitle{Diagnostic} + \begin{itemize} + \item La commande "diagnose" permet de tester différents points du serveur ; + \item La commande "diagnose -L" propose un diagnostic étendu. + \end{itemize} +\end{frame} diff --git a/slides/modules_EOLE_envole/modules/commun/firewall.tex b/slides/modules_EOLE_envole/modules/commun/firewall.tex new file mode 100644 index 0000000..0503ac4 --- /dev/null +++ b/slides/modules_EOLE_envole/modules/commun/firewall.tex @@ -0,0 +1,15 @@ +\begin{frame} + \frametitle{Firewall} + \begin{itemize} + \item Sur tous les modules ; + \item géré soit par Creole soit par Era ; + \item activé par bastion ; + \item configure firewall et tcpwrapper ; + \item si Era n'est pas installé, possibilité de désactiver ; + \item pour ouvrir le firewall ouvre.firewall ; + \item pour fermer le firewall ferme.firewall ; + \item recharger les règles de firewall : service bastion restart ; + \item pour connaître la liste des règles : iptables-save. + \end{itemize} +\end{frame} + diff --git a/slides/modules_EOLE_envole/modules/commun/instance-reconfigure.tex b/slides/modules_EOLE_envole/modules/commun/instance-reconfigure.tex new file mode 100644 index 0000000..9a104df --- /dev/null +++ b/slides/modules_EOLE_envole/modules/commun/instance-reconfigure.tex @@ -0,0 +1,9 @@ +\begin{frame} + \frametitle{Instance ou reconfigure} + \begin{itemize} + \item L'instance ne doit être lancée qu'une seule fois sur les modules ; + \item en cas de mise à jour, d'installation de paquet ou de changement de paramétrage : reconfigure. + \end{itemize} +\end{frame} + + diff --git a/slides/modules_EOLE_envole/modules/commun/intro.tex b/slides/modules_EOLE_envole/modules/commun/intro.tex new file mode 100644 index 0000000..bb80114 --- /dev/null +++ b/slides/modules_EOLE_envole/modules/commun/intro.tex @@ -0,0 +1,17 @@ +\begin{frame} + \frametitle{EOLE} + \begin{itemize} + \item EOLE : Ensemble Ouvert Libre et Evolutif ; + \item projet national de serveur d'établissements scolaires et académiques ; + \item depuis 2000 ; + \item basé sur Ubuntu depuis 2007 sous forme de modules ; + \item objectifs : + \begin{itemize} + \item utilisation de logiciels libres, + \item modulaire (évolutif, ouvert, adaptable), + \item facile à mettre en œuvre et à déployer, + \item administrable à distance ; + \end{itemize} + \end{itemize} +\end{frame} + diff --git a/slides/modules_EOLE_envole/modules/commun/mise-a-jour.tex b/slides/modules_EOLE_envole/modules/commun/mise-a-jour.tex new file mode 100644 index 0000000..2bbd333 --- /dev/null +++ b/slides/modules_EOLE_envole/modules/commun/mise-a-jour.tex @@ -0,0 +1,36 @@ +\begin{frame} + \frametitle{Les mises à jour} + \begin{itemize} + \item Les différents dépôts : + \begin{itemize} + \item la version stable minimum, + \item la version stable complète, + \item la version candidate, + \item la version dev ; + \end{itemize} + \item procédure : + \begin{itemize} + \item par l'EAD, + \item par l'interface semi-graphique, + \item par Zéphir, + \item à la ligne de commande : + \begin{itemize} + \item Query-Auto : liste les mises à jour, + \item Maj-Auto : lance la mise à jour sans question, + \item Maj-CD : mise à jour grâce à un CD, + \item Upgrade-Auto : mise à jour vers une version supérieure, + \end{itemize} + \item mise à jour automatique : de 01h à 6h un jour par semaine. + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Mise à jour via un CD/clef USB} + \begin{itemize} + \item Création du cache dans l'académie : Maj-Auto --download ; + \item copie de /var/cache/apt/archives/*.deb sur le support ; + \item sur le serveur en établissement copier le contenu du support dans /var/cache/apt/archives ; + \item lancer Maj-Auto. + \end{itemize} +\end{frame} diff --git a/slides/modules_EOLE_envole/modules/commun/quatre_phases-pratique.tex b/slides/modules_EOLE_envole/modules/commun/quatre_phases-pratique.tex new file mode 100644 index 0000000..d88662c --- /dev/null +++ b/slides/modules_EOLE_envole/modules/commun/quatre_phases-pratique.tex @@ -0,0 +1,28 @@ +\begin{frame} + \frametitle{Pratique : configuration autonome} + \begin{itemize} + \item Informations utiles : + \begin{itemize} + \item Adresse ip de la carte eth0, + \item Passerelle, + \item DNS : DNS de la machine hôte ; + \end{itemize} + \item lancer gen\_config ; + \item présentation de l'interface : + \begin{itemize} + \item barre de menu, + \item les onglets, + \item la partie centrale, + \item validation ; + \end{itemize} + \item configurer le serveur. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Pratique} + \begin{itemize} + \item Instancier. + \end{itemize} +\end{frame} + diff --git a/slides/modules_EOLE_envole/modules/commun/quatre_phases.tex b/slides/modules_EOLE_envole/modules/commun/quatre_phases.tex new file mode 100644 index 0000000..9dc014f --- /dev/null +++ b/slides/modules_EOLE_envole/modules/commun/quatre_phases.tex @@ -0,0 +1,99 @@ +\begin{frame} + \frametitle{La phase d'installation} + \begin{itemize} + \item Pour installer un module, il suffit de : + \begin{enumerate} + \item démarrer sur le CD-ROM téléchargé sur le site d'EOLE, + \item sélectionner le module à installer parmi ceux proposés, + \item valider ; + \end{enumerate} + \item cas particuliers : Eolebase ou la présence de deux disques ; + \item question sur l'installation manuelle des modules noyaux DKMS ; + \item à la fin de l'installation, cliquer sur "continuer", le système redémarre automatiquement ; + \item vous pourrez ouvrir une session avec l'utilisateur "root" et le mot de passe par défaut "\$eole\&123456\$" ; + \item en mode conteneur, générer les conteneurs : "gen\_conteneurs". + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{La phase de configuration} + \begin{itemize} + \item Il faut une bonne connaissance du réseau local ; + \item en mode autonome : + \begin{itemize} + \item lancer la commande gen\_config, + \item configurer le serveur, + \item sauvegarder le fichier zephir.eol ; + \end{itemize} + \item en mode Zéphir : + \begin{itemize} + \item configuration dans l'application Zéphir : https://:8070/ ou via gen\_config, + \item enregistrement au Zéphir, + \item descente ou montée de la configuration. + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{La phase d'instanciation} + \begin{itemize} + \item Lancer la commande "instance .eol" ; + \item renseigner les mots de passe ; + \item enregistrement dans la base \og{}matériel\fg{} ; + \item mise à jour ; + \item éventuellement redémarrage. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Les mots de passe} + \begin{itemize} + \item Au premier lancement de l'instanciation, il est nécessaire de modifier les mots de passe : + \begin{itemize} + \item root, + \item administrateur à droits restreints eole, + \item possibilité d'ajouter plusieurs administrateurs à droits restreints, + \item sur Amon, en cas d'utilisation d'un réseau pédagogique et administratif, un second administrateur (eole2) permet d'administrer le réseau pédagogique, + \item admin sur Scribe et Horus, + \item admin\_zephir sur Zéphir. + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Les mots de passe} + \begin{itemize} + \item Par défaut, le système regarde la pertinence des mots de passe. Pour cela, il utilise un système de "classe de caractères" : + \begin{itemize} + \item les lettres en minuscule, + \item les lettres en majuscule, + \item les chiffres, + \item les caractères spéciaux (Ex : \$*ù\%£, ; : !§/. ?). + \end{itemize} + \item il faut utiliser différentes classes de caractères. + \item par défaut, voici les restrictions : + \begin{itemize} + \item une seule classe de caractères : impossible, + \item deux classes de caractères : 9 caractères, + \item trois et quatre classes : 8 caractères. + \end{itemize} + \item cette configuration est, bien évidemment, modifiable dans gen\_config en mode expert. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{La phase d'administration} + \begin{itemize} + \item Correspond à l'exploitation du serveur ; + \item chaque module possède des fonctionnalités propres, souvent complémentaires ; + \item diverses interfaces permettent la mise en œuvre de ces fonctionnalités et en facilitent l'usage : + \begin{itemize} + \item l'interface d'administration EOLE : EAD, + \item l'interface semi-graphique, + \item diverses interfaces d'administration (Zéphir-web, CUPS, Sympa, ...), + \item différents outils (Era, ...) ; + \end{itemize} + \item gestion des mises à jour. + \end{itemize} +\end{frame} + diff --git a/slides/modules_EOLE_envole/modules/commun/schedule.tex b/slides/modules_EOLE_envole/modules/commun/schedule.tex new file mode 100644 index 0000000..b63082e --- /dev/null +++ b/slides/modules_EOLE_envole/modules/commun/schedule.tex @@ -0,0 +1,15 @@ +\begin{frame} + \frametitle{Schedule} + \begin{itemize} + \item Gestion des tâches planifiées avec ou sans sauvegarde ; + \item tâche "pre" sauvegarde ; + \item tâche "post" sauvegarde ; + \item tirage au sort à l'instance de : + \begin{itemize} + \item l'heure de démarrage entre 1h et 6h, + \item le jour dans la semaine d'exécution des tâches hebdomadaires et mensuelles (le 1er xxx du mois) ; + \end{itemize} + \item pour lister : /usr/share/eole/sbin/manage\_schedule -l . + \end{itemize} +\end{frame} + diff --git a/slides/modules_EOLE_envole/modules/commun/specificites-23.tex b/slides/modules_EOLE_envole/modules/commun/specificites-23.tex new file mode 100644 index 0000000..2176db5 --- /dev/null +++ b/slides/modules_EOLE_envole/modules/commun/specificites-23.tex @@ -0,0 +1,29 @@ +\begin{frame} + \frametitle{Nouveautés 2.3} + \begin{itemize} + \item Mise en commun ; + \item serveur SMTP sur tous les modules ; + \item firewall/schedule/onduleur/... ; + \item séparation des fonctionnalités installables indépendamment ; + \item réorganisation instance/reconfigure (notamment utilisateur eole et inversion des utilisateurs) ; + \item les conteneurs : + \begin{itemize} + \item séparation des services, + \item sécurité par isolation, + \item plusieurs conteneurs sur un serveur, + \item compatibilité des deux modes. + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Nouveaux emplacements} + \begin{itemize} + \item /data => /home ; + \item /data est un lien symbolique vers /home/workgroup ; + \item /opt n'est plus un lien symbolique (/data/opt); + \item /home//profiles => /home//profil ; + \item /etc/eole => /usr/share/eole/creole/ (sauf pour config.eol) ; + \item fichier EAD, ... dans /var/lib/eole/. + \end{itemize} +\end{frame} diff --git a/slides/modules_EOLE_envole/modules/commun/specificites-24.tex b/slides/modules_EOLE_envole/modules/commun/specificites-24.tex new file mode 100644 index 0000000..c2df198 --- /dev/null +++ b/slides/modules_EOLE_envole/modules/commun/specificites-24.tex @@ -0,0 +1,26 @@ +\begin{frame} + \frametitle{Nouveautés 2.4} + \begin{itemize} + \item Réoganisation reconfigure/instance ; + \item fichier de configuration toujours /etc/eole/config.eol ; + \item nouveau cœur : tiramisu ; + \item plus d'informations dans les dictionnaires ; + \item firewall : + \begin{itemize} + \item gérer dans les dictionnaires, + \item uniquement vers le serveur ; + \end{itemize} + \item gen\_config : + \begin{itemize} + \item interface web, + \item identique sur Zéphir, + \item plus de "validation" par onglet ; + \end{itemize} + \item nouvelles commandes : + \begin{itemize} + \item CreoleGet/CreoleSet, + \item CreoleService/CreoleRun, + \item CreoleLock. + \end{itemize} + \end{itemize} +\end{frame} diff --git a/slides/modules_EOLE_envole/modules/eclair/description.tex b/slides/modules_EOLE_envole/modules/eclair/description.tex new file mode 100644 index 0000000..f9f116b --- /dev/null +++ b/slides/modules_EOLE_envole/modules/eclair/description.tex @@ -0,0 +1,11 @@ +\begin{frame} + \frametitle{Eclair} + \begin{itemize} + \item Eclair, serveur de clients légers sous GNU/Linux : + \begin{itemize} + \item serveur de clients légers, + \item compatible partage de fichier Scribe et Horus, + \item support de Gaspacho ; + \end{itemize} + \end{itemize} +\end{frame} diff --git a/slides/modules_EOLE_envole/modules/hapy/description.tex b/slides/modules_EOLE_envole/modules/hapy/description.tex new file mode 100644 index 0000000..ef12dfa --- /dev/null +++ b/slides/modules_EOLE_envole/modules/hapy/description.tex @@ -0,0 +1,6 @@ +\begin{frame} + \frametitle{Hapy} + \begin{itemize} + \item serveur de solution virtuelle un noeud ou multiple noeuds. + \end{itemize} +\end{frame} diff --git a/slides/modules_EOLE_envole/modules/horus/00-description.tex b/slides/modules_EOLE_envole/modules/horus/00-description.tex new file mode 100644 index 0000000..0be4a9a --- /dev/null +++ b/slides/modules_EOLE_envole/modules/horus/00-description.tex @@ -0,0 +1,14 @@ +\begin{frame} + \frametitle{Horus} + \begin{itemize} + \item Horus, le serveur de fichier administratif : + \begin{itemize} + \item partage de fichiers (avec quotas, ACL) ; + \item partage d'imprimantes ; + \item gestion de comptes utilisateurs et de groupes ; + \item gestion des accès utilisateurs ; + \item gestion des postes clients ; + \item applications nationales. + \end{itemize} + \end{itemize} +\end{frame} diff --git a/slides/modules_EOLE_envole/modules/horus/01-utilisateur.tex b/slides/modules_EOLE_envole/modules/horus/01-utilisateur.tex new file mode 100644 index 0000000..d827ece --- /dev/null +++ b/slides/modules_EOLE_envole/modules/horus/01-utilisateur.tex @@ -0,0 +1,56 @@ +\begin{frame} + \frametitle{Utilisateurs Horus} + \begin{itemize} + \item Création des utilisateurs ; + \item possibilité de récupérer les groupes d'un autre utilisateur. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Groupes Horus} + \begin{itemize} + \item Les groupes sont des groupes d'utilisateurs ; + \item possibilité d'associer des partages à ce groupe. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Partages Horus} + \begin{itemize} + \item Un nom de groupe est obligatoire ; + \item le chemin de partage ; + \item une lettre de lecteur (un tableau rappelle les autres lettres) ; + \item utilisation des "sticky bits" ; + \item possibilité de choisir un modèle ; + \item pour créer un modèle, copier un template dans /usr/share/horus/models/. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Extraction Horus} + \begin{itemize} + \item Format extraction AAF ; + \item les mots de passe générés sont dans /tmp/passwords.csv. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Quotas Horus} + \begin{itemize} + \item "Quotas disque" permet de connaitre les quotas de l'ensemble des utilisateurs ; + \item permet de repérer les éventuels dépassements. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Pratique} + \begin{itemize} + \item Sur Horus : + \begin{itemize} + \item création d'utilisateurs ; + \item création de groupes ; + \item création de partages. + \end{itemize} + \end{itemize} +\end{frame} + diff --git a/slides/modules_EOLE_envole/modules/horus/02-machine.tex b/slides/modules_EOLE_envole/modules/horus/02-machine.tex new file mode 100644 index 0000000..c20bcb8 --- /dev/null +++ b/slides/modules_EOLE_envole/modules/horus/02-machine.tex @@ -0,0 +1,18 @@ +\begin{frame} + \frametitle{Connexion dans EAD} + \begin{itemize} + \item connaitre les utilisateurs connectés ; + \item leurs fichiers ouverts ; + \item écrire aux utilisateurs ; + \item déconnecter des utilisateurs ; + \item déconnecter et désactiver. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Pratique} + \begin{itemize} + \item Tester connexion et machine sur les EAD Horus. + \end{itemize} +\end{frame} + diff --git a/slides/modules_EOLE_envole/modules/horus/03-administratifs.tex b/slides/modules_EOLE_envole/modules/horus/03-administratifs.tex new file mode 100644 index 0000000..7469d2e --- /dev/null +++ b/slides/modules_EOLE_envole/modules/horus/03-administratifs.tex @@ -0,0 +1,7 @@ +\begin{frame} + \frametitle{Les scripts administratifs Horus} + \begin{itemize} + \item "Scripts administratifs", permet de lancer l'exécution des scripts. + \end{itemize} +\end{frame} + diff --git a/slides/modules_EOLE_envole/modules/horus/11-integration-horus.tex b/slides/modules_EOLE_envole/modules/horus/11-integration-horus.tex new file mode 100644 index 0000000..140e4aa --- /dev/null +++ b/slides/modules_EOLE_envole/modules/horus/11-integration-horus.tex @@ -0,0 +1,18 @@ +\begin{frame} + \frametitle{Intégration à Horus} + \begin{itemize} + \item Méthode : + \begin{itemize} + \item Sur seven lancer le script : /home/esu/Console/Win7\_Samba3DomainMember.reg ; + \item intégration au domaine Windows, + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Pratique} + \begin{itemize} + \item Configurer le DHCP sur Horus ; + \item intégrer le poste Windows sur Horus. + \end{itemize} +\end{frame} diff --git a/slides/modules_EOLE_envole/modules/horus/14-esu.tex b/slides/modules_EOLE_envole/modules/horus/14-esu.tex new file mode 100644 index 0000000..2dce611 --- /dev/null +++ b/slides/modules_EOLE_envole/modules/horus/14-esu.tex @@ -0,0 +1,9 @@ +\begin{frame} + \frametitle{Le client ESU pour Horus} + \begin{itemize} + \item Pour activer ESU : activer dans gen\_config et exécuter la console esu.exe ; + \item configurer ; + \item pour désactiver : supprimer le fichier esuclnt.exe du dossier Base d'ESU; + \item installer le client ESU sur les postes clients en exécutant esuclnt.exe. + \end{itemize} +\end{frame} diff --git a/slides/modules_EOLE_envole/modules/horus/15-script-horus.tex b/slides/modules_EOLE_envole/modules/horus/15-script-horus.tex new file mode 100644 index 0000000..5548d41 --- /dev/null +++ b/slides/modules_EOLE_envole/modules/horus/15-script-horus.tex @@ -0,0 +1,19 @@ +\begin{frame} + \frametitle{Les scripts de démarrage Horus} + \begin{itemize} + \item Les scripts personnalisés peuvent être appliqués en fonction : + \begin{itemize} + \item de l'utilisateur (/home/netlogon/scripts/users/l.nom.bat) ; + \item du groupe (/home/netlogon/scripts/groups/group.bat) ; + \item du système d'exploitation (/home/netlogon/scripts/os/WinXP.bat) ; + \item machine (/home/netlogon/scripts/machines/pc\_xp2.bat). + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Pratique} + \begin{itemize} + \item Faire un script de démarrage Horus. + \end{itemize} +\end{frame} diff --git a/slides/modules_EOLE_envole/modules/scribe/00-description.tex b/slides/modules_EOLE_envole/modules/scribe/00-description.tex new file mode 100644 index 0000000..bbe391e --- /dev/null +++ b/slides/modules_EOLE_envole/modules/scribe/00-description.tex @@ -0,0 +1,15 @@ +\begin{frame} + \frametitle{Scribe} + \begin{itemize} + \item Scribe, le serveur de fichier pédagogique : + \begin{itemize} + \item partage de fichiers (avec quotas, ACL), + \item partage d'imprimantes, + \item gestion de comptes utilisateurs et de groupes, + \item gestion des accès utilisateurs, + \item gestion des postes clients, + \item gestion des élèves (devoirs, observations, ...), + \item serveur web avec portail web (Envole). + \end{itemize} + \end{itemize} +\end{frame} diff --git a/slides/modules_EOLE_envole/modules/scribe/00-virtualbox.tex b/slides/modules_EOLE_envole/modules/scribe/00-virtualbox.tex new file mode 100644 index 0000000..8a4e241 --- /dev/null +++ b/slides/modules_EOLE_envole/modules/scribe/00-virtualbox.tex @@ -0,0 +1,9 @@ +\begin{frame} + \frametitle{Utilisation de VirtualBox} + \begin{itemize} + \item Choisir "Réseau privé hôte" dans le "Mode d'accès réseau" dans Préférence/Réseau/Carte 1 ; + \item faire un instantané. + \end{itemize} +\end{frame} + + diff --git a/slides/modules_EOLE_envole/modules/scribe/01-utilisateur.tex b/slides/modules_EOLE_envole/modules/scribe/01-utilisateur.tex new file mode 100644 index 0000000..c43851b --- /dev/null +++ b/slides/modules_EOLE_envole/modules/scribe/01-utilisateur.tex @@ -0,0 +1,184 @@ +\begin{frame} + \frametitle{Les utilisateurs Scribe} + \begin{itemize} + \item 5 types d'utilisateurs : + \begin{itemize} + \item 3 locaux : + \begin{itemize} + \item les élèves, + \item les professeurs, + \item les personnels administratifs ; + \end{itemize} + \item 2 extérieurs (accès uniquement aux applications web) : + \begin{itemize} + \item les responsables légaux, + \item les invités. + \end{itemize} + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Les quotas} + \begin{itemize} + \item limiter la quantité de données par utilisateur ; + \item 2 limites : + \begin{itemize} + \item il ne peut pas dépasser la limite dure, + \item il peut dépasser la limite douce pendant 7 jours, + \item passé ce délai : seul la limite douce compte, + \item supprimer des données : repart au début. + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Les quotas Scribe} + \begin{itemize} + \item EAD : Outils/Quotas : permet de visualiser les quotas suivants : + \begin{itemize} + \item quotas dépassés, + \item quotas à surveiller (presque atteint), + \item tous les quotas. + \end{itemize} + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Les partages groupes} + \begin{itemize} + \item Dossier généré à chaque ouverture de session ; + \item ensemble des partages regroupés en sous-dossier (partagés) ; + \item évite la multiplication des lecteurs réseaux ; + \item les partages associés explicitement à une lettre ne sont pas concernés. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Les groupes Scribe} + \begin{itemize} + \item Partages : + \begin{itemize} + \item espace de stockage en commun, + \item 3 modèles pour les élèves : lecture seule, lecture/écriture et données/travail, + \item possibilité d'affecter des lettres de partage ; + \end{itemize} + \item listes de diffusion : + \begin{itemize} + \item envoi de message diffusé aux autres, + \item 2 possibilités : listes restreintes et listes Internet ; + \end{itemize} + \item 6 types de groupes. + \end{itemize} +\end{frame} + +\begin{frame} + \frametitle{Les 6 groupes Scribe} + \begin{itemize} + \item niveau : regroupe les élèves d'un niveau ; + \item classe : regroupe les élèves d'une classe + une équipe pédagogique profs- ; + \item option : regroupe les élèves d'une option + une équipe pédagogique profs-