43 Commits

Author SHA1 Message Date
f009ada993 Révision de l’organisation du programme 2021-07-19 12:36:40 +02:00
44b10c7fdc Mise à jour du programme 2021-07-19 12:27:23 +02:00
0c8507b02f Merge branch 'master' into xelatex/Togo 2021-07-19 12:27:14 +02:00
ea89dd2971 Ajuster le nombre de niveau de titre dans le plan 2021-07-19 12:27:06 +02:00
7ec35b0b14 Révision du plan des programmes de formation 2021-07-19 12:10:23 +02:00
98c06e9b19 Mise à jour du programme 2021-07-19 12:07:23 +02:00
1f24c0a58e Mise à jour du programme 2021-07-19 11:49:10 +02:00
316991f672 Ajuster la longueur des titres 2021-07-19 11:49:01 +02:00
c3b2ac34bd Merge branch 'master' into xelatex/Togo 2021-07-19 11:47:34 +02:00
0abe05a3e9 Suppression de la table de matière superflue 2021-07-19 11:47:21 +02:00
92246c2b16 Supprimer la déclaration de table de matière superflue 2021-07-19 11:46:33 +02:00
7ca7e571b9 Merge branch 'master' into xelatex/Togo 2021-07-19 11:39:24 +02:00
771b5e868b Pas d’espacement si un seul logo 2021-07-19 11:38:23 +02:00
89da104103 Mode verbatim pour le xml 2021-07-19 11:30:05 +02:00
353d7243a9 Merge commit '2a25eea872f3dba466b02a7e938e75b5db55ade3' 2021-07-19 11:27:30 +02:00
904e67c5f2 Mise à jour du programme 2021-07-19 10:54:46 +02:00
2a25eea872 Construction de la formation 2021-07-19 10:54:04 +02:00
977a7a2874 Merge master into xelatex/* 2021-07-19 10:54:04 +02:00
ea4832d7f0 Construction de la formation 2021-07-19 10:54:04 +02:00
c33152e0ae Initialisation de la formation 2021-07-19 09:37:20 +02:00
2b031286e7 Description sommaire de l’intégration du script setup_main_tex_file.py avec git 2021-02-01 14:19:30 +01:00
9b9cbf2aae Mise à jour de la documentation de la commande setup_main_tex_file.py 2021-02-01 13:57:52 +01:00
2d620e845d Mise à jour des coordonnées 2021-02-01 09:58:32 +01:00
0f63031575 Another command 2021-01-29 17:09:39 +01:00
14cbf47527 Créer les fragments pour le diaporama 2021-01-29 16:39:04 +01:00
983a8f3cf6 Le contenu du programme est toujours dérivé du fichier diaporama.tex 2021-01-29 16:26:03 +01:00
7edb5ee916 Keep slash in branch name 2021-01-29 15:18:33 +01:00
30a6389514 Unknown reference 2021-01-29 15:02:46 +01:00
7e0d5c15e5 Refactor merge 2020-09-10 15:26:49 +02:00
619b74c815 attempt to merge 2020-09-10 14:17:08 +02:00
231394b1cd Add client-side hook 2020-09-08 09:21:18 +02:00
70ad496b06 Attempt to rebase 2020-09-07 19:21:23 +02:00
b6a5963a3e comment 2020-09-07 19:03:08 +02:00
99c62ebfce Prefix branch names 2020-09-07 19:03:01 +02:00
d01c139026 comment 2020-09-07 18:40:21 +02:00
6345c3d081 Tester le checkout avant le commit 2020-09-07 18:40:07 +02:00
d509550f69 Simplify getting identity 2020-09-07 18:30:56 +02:00
3c860a893b comment 2020-09-07 18:22:12 +02:00
8ad3dbba85 comment 2020-09-07 18:18:16 +02:00
72d42ec54c git integration 2020-09-07 18:18:00 +02:00
3563d18c0c éléments pour les exercices 2020-09-07 16:43:21 +02:00
3d9fb7b622 Homogénéisation de la procédure 2020-09-07 16:15:55 +02:00
95277a2891 Dépendance sur minted pour la classe article et corrections mineures 2020-09-07 09:08:44 +02:00
75 changed files with 1865 additions and 104 deletions

View File

@ -48,14 +48,15 @@ Les figures sont placées à part dans le répertoire _figures_.
Ces éléments de contenu sont inclus dans des fichiers principaux placés dans le répertoire _presentations_.
Le répertoire _template_ contient des modèles de document au format jinja utilisés par le script _setup_main_tex_file.py_.
Le répertoire _templates_ contient des modèles de document au format jinja utilisés par le script _setup_main_tex_file.py_.
## setup_main_tex_file.py
Le script setup_main_tex_file.py permet dorganiser la procédure en proposant :
- la création du fichier maître pour une formation
- la création des fichiers de contenu à inclure si nécessaire
- la mise à jour du plan de formation en fonction des éléments inclus.
- la création des fichiers maîtres pour une formation ;
- la création des fichiers de contenu à inclure si nécessaire ;
- la mise à jour du plan de formation en fonction des éléments inclus ;
- la compilation des trois documents (diaporama, support de cours et programme) si lapplication rubber est installée.
Pour chacune de ses sous-étapes, le script propose une sous-commande.
@ -79,7 +80,7 @@ Les autres options prendront des valeurs par défaut si elles ne sont pas fourni
À noter, pour la licence, que seule la CC-BY-SA v2 est disponible dans les contenus à inclure pour linstant.
Lexécution de la commande précédente produit le fichier presentations/modules_EOLE_envole/Conseil_Départemental/CD_Formation_Scribe.tex
Lexécution de la commande précédente produit le fichier presentations/modules_EOLE_envole/Conseil_Départemental/diaporama.tex.
### Construire le contenu dune formation
@ -155,16 +156,16 @@ Seule la dernière inclusion poserait problème lors de la compilation.
Pour permettre de lancer des compilations sans attendre que tout le contenu soit prêt, le script propose une sous commande qui prépare le terrain en créant les fichiers de contenu manquant.
```
./setup_main_tex_file.py update -m presentations/modules_EOLE_envole/Conseil_Départemental/CD_Formation_Scribe.tex
./setup_main_tex_file.py update -d modules_EOLE_envole/Conseil_Départemental
```
Le seul argument de cette sous-commande _update_ permet didentifier le fichier maître.
Le seul argument de cette sous-commande _update_ permet didentifier le sous-répertoire de _presentations_ contenant le fichier maître _diaporama.tex_.
Cette commande traiter toutes les directives skbinput et créer le fichier à inclure si il nexiste pas déjà.
Cette commande traite toutes les directives skbinput et créer le fichier à inclure sil nexiste pas déjà.
Elle affiche la liste des fichiers créés en retour de commande.
```
$ ./setup_main_tex_file.py update -m presentations/modules_EOLE_envole/Conseil_Départemental/CD_Formation_Scribe.tex
$ ./setup_main_tex_file.py update -d modules_EOLE_envole/Conseil_Départemental/
slides/modules_EOLE_envole/commun/du-contenu-inexistant.tex
```
@ -179,7 +180,10 @@ Ce fichier contient du texte permettant de le repérer facilement dans le docume
### Affichage du plan (sous-commande outline)
À ce stade, le script propose un simple affichage sur la sortie standard du plan déduit du contenu
La sous-commande _outline_ permet de créer un sommaire du diaporama sous la forme de listes imbriquées et de linclure dans le programme.
```
./setup_main_tex_file.py outline -d modules_EOLE_envole/Conseil_Départemental
```
```
Introduction
EOLE
@ -228,7 +232,39 @@ Les quatre phases
### Génération du document
En alternative à la recette Makefile pas encore adaptée pour la compilation de ce nouveau format, on peut utiliser la commande rubber (paquet supplémentaire à installer)
Comme alternative à la recette Makefile pas encore adaptée pour la compilation de ce nouveau format, on peut utiliser la commande rubber (paquet supplémentaire à installer)
```
rubber --inplace --module=xelatex presentations/modules_EOLE_envole/Conseil_Départemental/CD_Formation_Scribe.tex
```
La sous-commande _compile_ appelle rubber pour compiler les trois documents : diaporama, support et programme.
```
./setup_main_tex_file.py compile -d modules_EOLE_envole/Conseil_Départemental
```
Cette sous-commande nest disponible que si la commande rubber est installé et accessible (test du retour rubber --version).
### Intégration avec git
Le script entreprend des actions complémentaires lorsque il détecte un environnement _git_.
#### Séparation et isolation des formations
La proposition est la suivante : séparer le contenu générique (contenu inclu dans les formations) et les fichiers maîtres spécifiques à des formations.
Une branche (master en loccurence) est utilisée comme pivot et contient les fragments de formations.
Chaque formation spécifique est isolée dans une branche propre.
De fait, le contenu du dossier _presentations_ est commité dans la branche spécifique, tandis que le reste (_content_ et _slides_ notamment) est commité dans _master_. Un hook git local est proposé pour limiter les commits dans les mauvaises branches, basé sur les chemins des fichiers créés ou modifiés.
Le script permet dautomatiser une partie de ce découpage, notamment la création des branches spécifiques et le commit dans les branches appropriées selon les actions entreprises.
#### action dinitialisation
Linitialisation doit être effectué depuis la branche _master_ et exécute les actions suivantes :
- création dune branche nommée daprès le répertoire de destination et suffixée avec _xelatex/_
- création des fichiers propres à la formation (fichiers maîtres pour le diaporama, le support, le programme, etc.)
- commit de ces fichiers dans la branche spécifique.
#### action de mise à jour du programme
Comme tout ce qui implique la mise à jour ou la création de contenu dans le répertoire _presentations_, le produit de la mise à jour du programme est commité dans la branche spécifique.

View File

@ -0,0 +1,7 @@
\skbheading{Explorer la structure dun dictionnaire Creole}
Un dictionnaire Creole est une description de la configuration à laide du format de fichier \emph{xml}.
fichier content/modules\_EOLE\_envole/exercices/creole-dictionnaire-structure.tex à éditer
\inputminted[]{xml}{./content/modules_EOLE_envole/exercices/creole.dtd}

View File

@ -0,0 +1,237 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!-- ===================================================================== -->
<!-- Definition de la DTD du fichier creole -->
<!-- ===================================================================== -->
<!--
# Conception :
# Eole (http://eole.orion.education.fr)
# Copyright (C) 2005-2018
# distribue sous la licence GPL-2
# En attendant une traduction officielle de la GPL, la notice de
# copyright demeure en anglais.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
# Se reporter a la documentation envoyee avec le programme pour la notice.
-->
<!--================ -->
<!-- root element -->
<!-- =============== -->
<!ELEMENT creole (containers | files | family_action | variables | constraints | help)*>
<!-- ============== -->
<!-- files element -->
<!-- ============== -->
<!ELEMENT family_action (action)>
<!ATTLIST family_action name CDATA #REQUIRED>
<!ATTLIST family_action description CDATA #IMPLIED>
<!ATTLIST family_action color CDATA #IMPLIED>
<!ATTLIST family_action image CDATA #IMPLIED>
<!ELEMENT action ((input* | profile* | ewtapp* | tag* | saltaction*)*)>
<!ATTLIST action type (form|custom|external|reader|apache) "custom">
<!ATTLIST action title CDATA #REQUIRED>
<!ATTLIST action description CDATA #REQUIRED>
<!ATTLIST action rewrite CDATA #IMPLIED>
<!ATTLIST action image CDATA #IMPLIED>
<!ATTLIST action actionlist CDATA #IMPLIED>
<!-- for apache action -->
<!ATTLIST action apache_path CDATA #IMPLIED>
<!ATTLIST action apache_path_type (FilenameOption|SymLinkOption) "FilenameOption">
<!-- for external action -->
<!ATTLIST action url CDATA #IMPLIED>
<!ATTLIST action url_type (URLOption|SymLinkOption) "URLOption">
<!-- for form action -->
<!ATTLIST action save (True|False) "False">
<!ELEMENT files ((service* | service_access* | service_restriction* | package* | file*)*)>
<!ELEMENT containers ((container* | all*)*)>
<!ELEMENT container ((service* | service_access* | service_restriction* | interface* | package* | file* | disknod* | host* | fstab*)*) >
<!ATTLIST container name CDATA #REQUIRED >
<!ATTLIST container id CDATA #IMPLIED >
<!ATTLIST container group CDATA #IMPLIED >
<!ELEMENT all ((service* | interface* | package* | file* | disknod* | host* | fstab*)*) >
<!ELEMENT service (#PCDATA)>
<!ATTLIST service servicelist CDATA #IMPLIED >
<!ATTLIST service instance_mode (when_container|when_no_container|always) "always">
<!ATTLIST service method (systemd|upstart|apache|network|restartonly) "systemd">
<!ATTLIST service redefine (True|False) "False">
<!ELEMENT input (#PCDATA)>
<!ELEMENT profile (#PCDATA)>
<!ELEMENT ewtapp (#PCDATA)>
<!ELEMENT tag (#PCDATA)>
<!ELEMENT saltaction (#PCDATA)>
<!ELEMENT service_access ((port | tcpwrapper)*)>
<!ATTLIST service_access service CDATA #REQUIRED >
<!ELEMENT port (#PCDATA)> <!--port_type-->
<!ATTLIST port port_type (PortOption|SymLinkOption) "PortOption">
<!ATTLIST port service_accesslist CDATA #IMPLIED >
<!ATTLIST port protocol (tcp|udp) "tcp">
<!ELEMENT tcpwrapper (#PCDATA)> <!--tcpwrapper_type-->
<!ATTLIST tcpwrapper tcpwrapper_type (UnicodeOption|SymLinkOption) "UnicodeOption">
<!ATTLIST tcpwrapper service_accesslist CDATA #IMPLIED >
<!ELEMENT service_restriction (ip*)>
<!ATTLIST service_restriction service CDATA #REQUIRED >
<!ELEMENT ip (#PCDATA)> <!--ip_type-->
<!ATTLIST ip service_restrictionlist CDATA #IMPLIED >
<!ATTLIST ip ip_type (NetworkOption|SymLinkOption) "NetworkOption">
<!ATTLIST ip interface_type (UnicodeOption|SymLinkOption) "UnicodeOption">
<!ATTLIST ip interface CDATA #REQUIRED> <!--interface_type-->
<!ATTLIST ip netmask_type (NetmaskOption|SymLinkOption) "NetmaskOption">
<!ATTLIST ip netmask CDATA "255.255.255.255"> <!--netmask_type-->
<!ELEMENT interface (#PCDATA)>
<!ATTLIST interface interfacelist CDATA #IMPLIED >
<!ATTLIST interface linkto CDATA #REQUIRED >
<!ATTLIST interface ip CDATA #REQUIRED> <!--SymLinkOption-->
<!ATTLIST interface ip_type (SymLinkOption) "SymLinkOption">
<!ATTLIST interface mask CDATA #REQUIRED> <!--SymLinkOption-->
<!ATTLIST interface mask_type (SymLinkOption) "SymLinkOption">
<!ATTLIST interface bcast CDATA #IMPLIED> <!--SymLinkOption-->
<!ATTLIST interface bcast_type (SymLinkOption) "SymLinkOption">
<!ATTLIST interface gateway CDATA #IMPLIED> <!--SymLinkOption-->
<!ATTLIST interface gateway_type (SymLinkOption) "SymLinkOption">
<!ATTLIST interface method (bridge|macvlan) "macvlan" >
<!ATTLIST interface redefine (True|False) "False">
<!ELEMENT host EMPTY >
<!ATTLIST host hostlist CDATA #IMPLIED >
<!ATTLIST host name CDATA #REQUIRED > <!--SymLinkOption-->
<!ATTLIST host name_type (SymLinkOption) "SymLinkOption">
<!ATTLIST host ip CDATA #REQUIRED > <!--SymLinkOption-->
<!ATTLIST host ip_type (SymLinkOption) "SymLinkOption">
<!ATTLIST host crossed (True|False) "True" >
<!ATTLIST host instance_mode (when_container|when_no_container|always) "always">
<!ATTLIST host comment CDATA #IMPLIED >
<!ELEMENT fstab EMPTY >
<!ATTLIST fstab name CDATA #REQUIRED> <!--name_type-->
<!ATTLIST fstab name_type (FilenameOption|SymLinkOption) "FilenameOption">
<!ATTLIST fstab type (bind|normal) "bind">
<!ATTLIST fstab fstype (auto|ext3|ext4|nfs|smb) "auto">
<!ATTLIST fstab mount_point CDATA #IMPLIED> <!--mount_point_type-->
<!ATTLIST fstab mount_point_type (FilenameOption|SymLinkOption) "FilenameOption">
<!ATTLIST fstab options CDATA #IMPLIED>
<!ATTLIST fstab checks CDATA #IMPLIED>
<!ATTLIST fstab fstablist CDATA #IMPLIED>
<!ATTLIST fstab instance_mode (when_container|when_no_container|always) "when_container">
<!ELEMENT package (#PCDATA)>
<!ATTLIST package instance_mode (when_container|when_no_container|always) "always">
<!ELEMENT disknod (#PCDATA)>
<!ELEMENT file EMPTY>
<!ATTLIST file name CDATA #REQUIRED >
<!ATTLIST file name_type (UnicodeOption|SymLinkOption) "UnicodeOption">
<!ATTLIST file source CDATA #IMPLIED>
<!ATTLIST file mode CDATA #IMPLIED >
<!ATTLIST file owner CDATA #IMPLIED >
<!ATTLIST file group CDATA #IMPLIED >
<!ATTLIST file filelist CDATA #IMPLIED >
<!ATTLIST file mkdir (True|False) "False">
<!ATTLIST file instance_mode (when_container|when_no_container|always) "always">
<!ATTLIST file rm (True|False) "False">
<!ATTLIST file del_comment CDATA #IMPLIED >
<!ATTLIST file redefine (True|False) "False">
<!ELEMENT variables (family*, separators*)>
<!ELEMENT family (#PCDATA | variable)*>
<!ATTLIST family name CDATA #REQUIRED>
<!ATTLIST family description CDATA #IMPLIED>
<!ATTLIST family mode (basic|normal|expert) "basic">
<!ATTLIST family icon CDATA #IMPLIED>
<!ATTLIST family hidden (True|False) "False">
<!ATTLIST family dynamic CDATA #IMPLIED>
<!ELEMENT variable (#PCDATA | value)*>
<!ATTLIST variable name CDATA #REQUIRED>
<!ATTLIST variable type CDATA #IMPLIED>
<!ATTLIST variable description CDATA #IMPLIED>
<!ATTLIST variable hidden (True|False) "False">
<!ATTLIST variable disabled (True|False) "False">
<!ATTLIST variable multi (True|False) "False">
<!ATTLIST variable redefine (True|False) "False">
<!ATTLIST variable exists (True|False) "True">
<!ATTLIST variable mandatory (True|False) "False">
<!ATTLIST variable auto_freeze (True|False) "False">
<!ATTLIST variable auto_save (True|False) "False">
<!ATTLIST variable mode (basic|normal|expert) "normal">
<!ATTLIST variable remove_check (True|False) "False">
<!ATTLIST variable remove_condition (True|False) "False">
<!ELEMENT separators (separator*)>
<!ELEMENT separator (#PCDATA)>
<!ATTLIST separator name CDATA #REQUIRED>
<!ATTLIST separator never_hidden CDATA #IMPLIED>
<!ELEMENT value (#PCDATA)>
<!ELEMENT constraints ((fill* | check* | condition* | auto* | group*)*)>
<!ELEMENT fill (param*)>
<!ATTLIST fill name CDATA #REQUIRED>
<!ATTLIST fill target CDATA #REQUIRED>
<!ELEMENT check (param*)>
<!ATTLIST check name CDATA #REQUIRED>
<!ATTLIST check target CDATA #REQUIRED>
<!ATTLIST check level (error|warning) "error">
<!ELEMENT auto ((param)*)>
<!ATTLIST auto name CDATA #REQUIRED>
<!ATTLIST auto target CDATA #REQUIRED>
<!ELEMENT condition ((target | param)+ )>
<!ATTLIST condition name CDATA #REQUIRED>
<!ATTLIST condition source CDATA #REQUIRED>
<!ATTLIST condition fallback (True|False) "False">
<!ELEMENT group (slave+)>
<!ATTLIST group master CDATA #REQUIRED>
<!ATTLIST group description CDATA #IMPLIED>
<!ELEMENT param (#PCDATA)>
<!ATTLIST param type (string|eole|number|container|context|python) "string">
<!ATTLIST param name CDATA #IMPLIED>
<!ATTLIST param hidden (True|False) "True">
<!ATTLIST param optional (True|False) "False">
<!ELEMENT target (#PCDATA)>
<!ATTLIST target type (family|filelist|servicelist|interfacelist|variable|service_accesslist|service_restrictionlist|hostlist|fstablist|actionlist) "variable">
<!ATTLIST target optional (True|False) "False">
<!ELEMENT slave (#PCDATA)>
<!ELEMENT help ((variable* | family*)*)>

View File

@ -0,0 +1,2 @@
\skbheading{vnstat-activation.tex}
fichier content/modules\_EOLE\_envole/exercices/vnstat-activation.tex à éditer

View File

@ -0,0 +1,2 @@
\skbheading{vnstat-contrainte.tex}
fichier content/modules\_EOLE\_envole/exercices/vnstat-contrainte.tex à éditer

View File

@ -0,0 +1,2 @@
\skbheading{vnstat-documentation.tex}
fichier content/modules\_EOLE\_envole/exercices/vnstat-documentation.tex à éditer

View File

@ -0,0 +1,2 @@
\skbheading{vnstat-gestion-reseau.tex}
fichier content/modules\_EOLE\_envole/exercices/vnstat-gestion-reseau.tex à éditer

View File

@ -0,0 +1,2 @@
\skbheading{vnstat-gestion-service.tex}
fichier content/modules\_EOLE\_envole/exercices/vnstat-gestion-service.tex à éditer

View File

@ -0,0 +1,2 @@
\skbheading{vnstat-template.tex}
fichier content/modules\_EOLE\_envole/exercices/vnstat-template.tex à éditer

View File

@ -0,0 +1,16 @@
#!/bin/bash
#set -e
. /usr/lib/eole/diagnose.sh
EchoGras "*** Service de statistique réseau"
if [ "$(CreoleGet activer_vnstat)" = "oui" ]; then
TestPid vnStat vnstatd
echo
vnstat
else
Inactif vnStat
fi
echo
exit 0

View File

@ -0,0 +1,170 @@
# vnStat 1.18 config file
##
# default interface
%set %%interfaces = []
%for interface in %%vnstat_interface
%set %%zone = 'nom_zone_eth' + interface
%silent %%interfaces.append(%%getVar(%%zone))
%end for
Interface "%%custom_join(%%interfaces,'+']"
# location of the database directory
DatabaseDir "/var/lib/vnstat"
# locale (LC_ALL) ("-" = use system locale)
Locale "-"
# on which day should months change
MonthRotate 1
# date output formats for -d, -m, -t and -w
# see 'man date' for control codes
DayFormat "%x"
MonthFormat "%b '%y"
TopFormat "%x"
# characters used for visuals
RXCharacter "%"
TXCharacter ":"
RXHourCharacter "r"
TXHourCharacter "t"
# how units are prefixed when traffic is shown
# 0 = IEC standard prefixes (KiB/MiB/GiB/TiB)
# 1 = old style binary prefixes (KB/MB/GB/TB)
UnitMode 0
# how units are prefixed when traffic rate is shown
# 0 = IEC binary prefixes (Kibit/s...)
# 1 = SI decimal prefixes (kbit/s...)
RateUnitMode 1
# output style
# 0 = minimal & narrow, 1 = bar column visible
# 2 = same as 1 except rate in summary and weekly
# 3 = rate column visible
OutputStyle 3
# used rate unit (0 = bytes, 1 = bits)
RateUnit 1
# number of decimals to use in outputs
DefaultDecimals 2
HourlyDecimals 1
# spacer for separating hourly sections (0 = none, 1 = '|', 2 = '][', 3 = '[ ]')
HourlySectionStyle 2
# try to detect interface maximum bandwidth, 0 = disable feature
# MaxBandwidth will be used as fallback value when enabled
BandwidthDetection 1
# maximum bandwidth (Mbit) for all interfaces, 0 = disable feature
# (unless interface specific limit is given)
MaxBandwidth 1000
# interface specific limits
# example 8Mbit limit for eth0 (remove # to activate):
#MaxBWeth0 8
# how many seconds should sampling for -tr take by default
Sampletime 5
# default query mode
# 0 = normal, 1 = days, 2 = months, 3 = top10
# 4 = exportdb, 5 = short, 6 = weeks, 7 = hours
QueryMode 0
# filesystem disk space check (1 = enabled, 0 = disabled)
CheckDiskSpace 1
# database file locking (1 = enabled, 0 = disabled)
UseFileLocking 1
# how much the boot time can variate between updates (seconds)
BootVariation 15
# log days without traffic to daily list (1 = enabled, 0 = disabled)
TrafficlessDays 1
# vnstatd
##
# switch to given user when started as root (leave empty to disable)
DaemonUser "%%vnstat_user"
# switch to given user when started as root (leave empty to disable)
DaemonGroup "%%vnstat_group"
# how many minutes to wait during daemon startup for system clock to
# sync time if most recent database update appears to be in the future
TimeSyncWait 5
# how often (in seconds) interface data is updated
UpdateInterval 30
# how often (in seconds) interface status changes are checked
PollInterval 5
# how often (in minutes) data is saved to file
SaveInterval 5
# how often (in minutes) data is saved when all interface are offline
OfflineSaveInterval 30
# how often (in minutes) bandwidth detection is redone when
# BandwidthDetection is enabled (0 = disabled)
BandwidthDetectionInterval 5
# force data save when interface status changes (1 = enabled, 0 = disabled)
SaveOnStatusChange 1
# enable / disable logging (0 = disabled, 1 = logfile, 2 = syslog)
UseLogging 2
# create dirs if needed (1 = enabled, 0 = disabled)
CreateDirs 1
# update ownership of files if needed (1 = enabled, 0 = disabled)
UpdateFileOwner 1
# file used for logging if UseLogging is set to 1
LogFile "/var/log/vnstat/vnstat.log"
# file used as daemon pid / lock file
PidFile "/var/run/vnstat/vnstat.pid"
# vnstati
##
# title timestamp format
HeaderFormat "%x %H:%M"
# show hours with rate (1 = enabled, 0 = disabled)
HourlyRate 1
# show rate in summary (1 = enabled, 0 = disabled)
SummaryRate 1
# layout of summary (1 = with monthly, 0 = without monthly)
SummaryLayout 1
# transparent background (1 = enabled, 0 = disabled)
TransparentBg 0
# image colors
CBackground "FFFFFF"
CEdge "AEAEAE"
CHeader "606060"
CHeaderTitle "FFFFFF"
CHeaderDate "FFFFFF"
CText "000000"
CLine "B0B0B0"
CLineL "-"
CRx "92CF00"
CTx "606060"
CRxD "-"
CTxD "-"

View File

@ -46,6 +46,7 @@
\usepackage{graphicx}
\usepackage{pdfpages}
\usepackage{menukeys}
\usepackage{minted}
\makeindex
%

View File

@ -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]{logos/Cadoles}
\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\origine{
\vspace{1.5cm}
\begin{flushleft}
\begin{minipage}[l]{8cm}
\skbinput[from=rep]{style/00-Coordonnees}
\end{minipage}
\end{flushleft}
}
%
% Itemize avec la petite cadoles
%
%\newenvironment{citemize}{\renewcommand{\labelitemi{$\odot$}}}
%\newenvironment{citemize}{\renewcommand{\labelitemi{\includegraphics[height=1.6ex]{inc/cadole.png}}}}
\newenvironment{citemize}{\renewcommand
\labelitemi{\includegraphics[height=1ex]{inc/cadole.png}}\begin{itemize}}{\end{itemize}}
%
% 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}{708pt} % Hauteur de la zone de texte (25cm)

View File

@ -0,0 +1,3 @@
\begin{Verbatim}[commandchars=\\\{\}]
\PYG{c+cp}{\PYGZlt{}?xml version=\PYGZdq{}1.0\PYGZdq{} encoding=\PYGZdq{}utf\PYGZhy{}8\PYGZdq{}?\PYGZgt{}}
\end{Verbatim}

View File

@ -0,0 +1,101 @@
\makeatletter
\def\PYG@reset{\let\PYG@it=\relax \let\PYG@bf=\relax%
\let\PYG@ul=\relax \let\PYG@tc=\relax%
\let\PYG@bc=\relax \let\PYG@ff=\relax}
\def\PYG@tok#1{\csname PYG@tok@#1\endcsname}
\def\PYG@toks#1+{\ifx\relax#1\empty\else%
\PYG@tok{#1}\expandafter\PYG@toks\fi}
\def\PYG@do#1{\PYG@bc{\PYG@tc{\PYG@ul{%
\PYG@it{\PYG@bf{\PYG@ff{#1}}}}}}}
\def\PYG#1#2{\PYG@reset\PYG@toks#1+\relax+\PYG@do{#2}}
\expandafter\def\csname PYG@tok@w\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.73,0.73}{##1}}}
\expandafter\def\csname PYG@tok@c\endcsname{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
\expandafter\def\csname PYG@tok@cp\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.74,0.48,0.00}{##1}}}
\expandafter\def\csname PYG@tok@k\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
\expandafter\def\csname PYG@tok@kp\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
\expandafter\def\csname PYG@tok@kt\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.69,0.00,0.25}{##1}}}
\expandafter\def\csname PYG@tok@o\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
\expandafter\def\csname PYG@tok@ow\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.67,0.13,1.00}{##1}}}
\expandafter\def\csname PYG@tok@nb\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
\expandafter\def\csname PYG@tok@nf\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.00,1.00}{##1}}}
\expandafter\def\csname PYG@tok@nc\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.00,1.00}{##1}}}
\expandafter\def\csname PYG@tok@nn\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.00,1.00}{##1}}}
\expandafter\def\csname PYG@tok@ne\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.82,0.25,0.23}{##1}}}
\expandafter\def\csname PYG@tok@nv\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
\expandafter\def\csname PYG@tok@no\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.53,0.00,0.00}{##1}}}
\expandafter\def\csname PYG@tok@nl\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.63,0.63,0.00}{##1}}}
\expandafter\def\csname PYG@tok@ni\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.60,0.60,0.60}{##1}}}
\expandafter\def\csname PYG@tok@na\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.49,0.56,0.16}{##1}}}
\expandafter\def\csname PYG@tok@nt\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
\expandafter\def\csname PYG@tok@nd\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.67,0.13,1.00}{##1}}}
\expandafter\def\csname PYG@tok@s\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
\expandafter\def\csname PYG@tok@sd\endcsname{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
\expandafter\def\csname PYG@tok@si\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.73,0.40,0.53}{##1}}}
\expandafter\def\csname PYG@tok@se\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.73,0.40,0.13}{##1}}}
\expandafter\def\csname PYG@tok@sr\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.40,0.53}{##1}}}
\expandafter\def\csname PYG@tok@ss\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
\expandafter\def\csname PYG@tok@sx\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
\expandafter\def\csname PYG@tok@m\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
\expandafter\def\csname PYG@tok@gh\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.00,0.50}{##1}}}
\expandafter\def\csname PYG@tok@gu\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.50,0.00,0.50}{##1}}}
\expandafter\def\csname PYG@tok@gd\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.63,0.00,0.00}{##1}}}
\expandafter\def\csname PYG@tok@gi\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.63,0.00}{##1}}}
\expandafter\def\csname PYG@tok@gr\endcsname{\def\PYG@tc##1{\textcolor[rgb]{1.00,0.00,0.00}{##1}}}
\expandafter\def\csname PYG@tok@ge\endcsname{\let\PYG@it=\textit}
\expandafter\def\csname PYG@tok@gs\endcsname{\let\PYG@bf=\textbf}
\expandafter\def\csname PYG@tok@gp\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.00,0.50}{##1}}}
\expandafter\def\csname PYG@tok@go\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.53,0.53,0.53}{##1}}}
\expandafter\def\csname PYG@tok@gt\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.27,0.87}{##1}}}
\expandafter\def\csname PYG@tok@err\endcsname{\def\PYG@bc##1{\setlength{\fboxsep}{0pt}\fcolorbox[rgb]{1.00,0.00,0.00}{1,1,1}{\strut ##1}}}
\expandafter\def\csname PYG@tok@kc\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
\expandafter\def\csname PYG@tok@kd\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
\expandafter\def\csname PYG@tok@kn\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
\expandafter\def\csname PYG@tok@kr\endcsname{\let\PYG@bf=\textbf\def\PYG@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
\expandafter\def\csname PYG@tok@bp\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
\expandafter\def\csname PYG@tok@fm\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.00,0.00,1.00}{##1}}}
\expandafter\def\csname PYG@tok@vc\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
\expandafter\def\csname PYG@tok@vg\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
\expandafter\def\csname PYG@tok@vi\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
\expandafter\def\csname PYG@tok@vm\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
\expandafter\def\csname PYG@tok@sa\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
\expandafter\def\csname PYG@tok@sb\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
\expandafter\def\csname PYG@tok@sc\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
\expandafter\def\csname PYG@tok@dl\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
\expandafter\def\csname PYG@tok@s2\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
\expandafter\def\csname PYG@tok@sh\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
\expandafter\def\csname PYG@tok@s1\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
\expandafter\def\csname PYG@tok@mb\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
\expandafter\def\csname PYG@tok@mf\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
\expandafter\def\csname PYG@tok@mh\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
\expandafter\def\csname PYG@tok@mi\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
\expandafter\def\csname PYG@tok@il\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
\expandafter\def\csname PYG@tok@mo\endcsname{\def\PYG@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
\expandafter\def\csname PYG@tok@ch\endcsname{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
\expandafter\def\csname PYG@tok@cm\endcsname{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
\expandafter\def\csname PYG@tok@cpf\endcsname{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
\expandafter\def\csname PYG@tok@c1\endcsname{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
\expandafter\def\csname PYG@tok@cs\endcsname{\let\PYG@it=\textit\def\PYG@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
\def\PYGZbs{\char`\\}
\def\PYGZus{\char`\_}
\def\PYGZob{\char`\{}
\def\PYGZcb{\char`\}}
\def\PYGZca{\char`\^}
\def\PYGZam{\char`\&}
\def\PYGZlt{\char`\<}
\def\PYGZgt{\char`\>}
\def\PYGZsh{\char`\#}
\def\PYGZpc{\char`\%}
\def\PYGZdl{\char`\$}
\def\PYGZhy{\char`\-}
\def\PYGZsq{\char`\'}
\def\PYGZdq{\char`\"}
\def\PYGZti{\char`\~}
% for compatibility with earlier versions
\def\PYGZat{@}
\def\PYGZlb{[}
\def\PYGZrb{]}
\makeatother

View File

@ -0,0 +1,101 @@
\makeatletter
\def\PYGdefault@reset{\let\PYGdefault@it=\relax \let\PYGdefault@bf=\relax%
\let\PYGdefault@ul=\relax \let\PYGdefault@tc=\relax%
\let\PYGdefault@bc=\relax \let\PYGdefault@ff=\relax}
\def\PYGdefault@tok#1{\csname PYGdefault@tok@#1\endcsname}
\def\PYGdefault@toks#1+{\ifx\relax#1\empty\else%
\PYGdefault@tok{#1}\expandafter\PYGdefault@toks\fi}
\def\PYGdefault@do#1{\PYGdefault@bc{\PYGdefault@tc{\PYGdefault@ul{%
\PYGdefault@it{\PYGdefault@bf{\PYGdefault@ff{#1}}}}}}}
\def\PYGdefault#1#2{\PYGdefault@reset\PYGdefault@toks#1+\relax+\PYGdefault@do{#2}}
\expandafter\def\csname PYGdefault@tok@w\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.73,0.73,0.73}{##1}}}
\expandafter\def\csname PYGdefault@tok@c\endcsname{\let\PYGdefault@it=\textit\def\PYGdefault@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
\expandafter\def\csname PYGdefault@tok@cp\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.74,0.48,0.00}{##1}}}
\expandafter\def\csname PYGdefault@tok@k\endcsname{\let\PYGdefault@bf=\textbf\def\PYGdefault@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
\expandafter\def\csname PYGdefault@tok@kp\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
\expandafter\def\csname PYGdefault@tok@kt\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.69,0.00,0.25}{##1}}}
\expandafter\def\csname PYGdefault@tok@o\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
\expandafter\def\csname PYGdefault@tok@ow\endcsname{\let\PYGdefault@bf=\textbf\def\PYGdefault@tc##1{\textcolor[rgb]{0.67,0.13,1.00}{##1}}}
\expandafter\def\csname PYGdefault@tok@nb\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
\expandafter\def\csname PYGdefault@tok@nf\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.00,0.00,1.00}{##1}}}
\expandafter\def\csname PYGdefault@tok@nc\endcsname{\let\PYGdefault@bf=\textbf\def\PYGdefault@tc##1{\textcolor[rgb]{0.00,0.00,1.00}{##1}}}
\expandafter\def\csname PYGdefault@tok@nn\endcsname{\let\PYGdefault@bf=\textbf\def\PYGdefault@tc##1{\textcolor[rgb]{0.00,0.00,1.00}{##1}}}
\expandafter\def\csname PYGdefault@tok@ne\endcsname{\let\PYGdefault@bf=\textbf\def\PYGdefault@tc##1{\textcolor[rgb]{0.82,0.25,0.23}{##1}}}
\expandafter\def\csname PYGdefault@tok@nv\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
\expandafter\def\csname PYGdefault@tok@no\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.53,0.00,0.00}{##1}}}
\expandafter\def\csname PYGdefault@tok@nl\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.63,0.63,0.00}{##1}}}
\expandafter\def\csname PYGdefault@tok@ni\endcsname{\let\PYGdefault@bf=\textbf\def\PYGdefault@tc##1{\textcolor[rgb]{0.60,0.60,0.60}{##1}}}
\expandafter\def\csname PYGdefault@tok@na\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.49,0.56,0.16}{##1}}}
\expandafter\def\csname PYGdefault@tok@nt\endcsname{\let\PYGdefault@bf=\textbf\def\PYGdefault@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
\expandafter\def\csname PYGdefault@tok@nd\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.67,0.13,1.00}{##1}}}
\expandafter\def\csname PYGdefault@tok@s\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
\expandafter\def\csname PYGdefault@tok@sd\endcsname{\let\PYGdefault@it=\textit\def\PYGdefault@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
\expandafter\def\csname PYGdefault@tok@si\endcsname{\let\PYGdefault@bf=\textbf\def\PYGdefault@tc##1{\textcolor[rgb]{0.73,0.40,0.53}{##1}}}
\expandafter\def\csname PYGdefault@tok@se\endcsname{\let\PYGdefault@bf=\textbf\def\PYGdefault@tc##1{\textcolor[rgb]{0.73,0.40,0.13}{##1}}}
\expandafter\def\csname PYGdefault@tok@sr\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.73,0.40,0.53}{##1}}}
\expandafter\def\csname PYGdefault@tok@ss\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
\expandafter\def\csname PYGdefault@tok@sx\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
\expandafter\def\csname PYGdefault@tok@m\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
\expandafter\def\csname PYGdefault@tok@gh\endcsname{\let\PYGdefault@bf=\textbf\def\PYGdefault@tc##1{\textcolor[rgb]{0.00,0.00,0.50}{##1}}}
\expandafter\def\csname PYGdefault@tok@gu\endcsname{\let\PYGdefault@bf=\textbf\def\PYGdefault@tc##1{\textcolor[rgb]{0.50,0.00,0.50}{##1}}}
\expandafter\def\csname PYGdefault@tok@gd\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.63,0.00,0.00}{##1}}}
\expandafter\def\csname PYGdefault@tok@gi\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.00,0.63,0.00}{##1}}}
\expandafter\def\csname PYGdefault@tok@gr\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{1.00,0.00,0.00}{##1}}}
\expandafter\def\csname PYGdefault@tok@ge\endcsname{\let\PYGdefault@it=\textit}
\expandafter\def\csname PYGdefault@tok@gs\endcsname{\let\PYGdefault@bf=\textbf}
\expandafter\def\csname PYGdefault@tok@gp\endcsname{\let\PYGdefault@bf=\textbf\def\PYGdefault@tc##1{\textcolor[rgb]{0.00,0.00,0.50}{##1}}}
\expandafter\def\csname PYGdefault@tok@go\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.53,0.53,0.53}{##1}}}
\expandafter\def\csname PYGdefault@tok@gt\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.00,0.27,0.87}{##1}}}
\expandafter\def\csname PYGdefault@tok@err\endcsname{\def\PYGdefault@bc##1{\setlength{\fboxsep}{0pt}\fcolorbox[rgb]{1.00,0.00,0.00}{1,1,1}{\strut ##1}}}
\expandafter\def\csname PYGdefault@tok@kc\endcsname{\let\PYGdefault@bf=\textbf\def\PYGdefault@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
\expandafter\def\csname PYGdefault@tok@kd\endcsname{\let\PYGdefault@bf=\textbf\def\PYGdefault@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
\expandafter\def\csname PYGdefault@tok@kn\endcsname{\let\PYGdefault@bf=\textbf\def\PYGdefault@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
\expandafter\def\csname PYGdefault@tok@kr\endcsname{\let\PYGdefault@bf=\textbf\def\PYGdefault@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
\expandafter\def\csname PYGdefault@tok@bp\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
\expandafter\def\csname PYGdefault@tok@fm\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.00,0.00,1.00}{##1}}}
\expandafter\def\csname PYGdefault@tok@vc\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
\expandafter\def\csname PYGdefault@tok@vg\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
\expandafter\def\csname PYGdefault@tok@vi\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
\expandafter\def\csname PYGdefault@tok@vm\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
\expandafter\def\csname PYGdefault@tok@sa\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
\expandafter\def\csname PYGdefault@tok@sb\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
\expandafter\def\csname PYGdefault@tok@sc\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
\expandafter\def\csname PYGdefault@tok@dl\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
\expandafter\def\csname PYGdefault@tok@s2\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
\expandafter\def\csname PYGdefault@tok@sh\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
\expandafter\def\csname PYGdefault@tok@s1\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
\expandafter\def\csname PYGdefault@tok@mb\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
\expandafter\def\csname PYGdefault@tok@mf\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
\expandafter\def\csname PYGdefault@tok@mh\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
\expandafter\def\csname PYGdefault@tok@mi\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
\expandafter\def\csname PYGdefault@tok@il\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
\expandafter\def\csname PYGdefault@tok@mo\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
\expandafter\def\csname PYGdefault@tok@ch\endcsname{\let\PYGdefault@it=\textit\def\PYGdefault@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
\expandafter\def\csname PYGdefault@tok@cm\endcsname{\let\PYGdefault@it=\textit\def\PYGdefault@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
\expandafter\def\csname PYGdefault@tok@cpf\endcsname{\let\PYGdefault@it=\textit\def\PYGdefault@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
\expandafter\def\csname PYGdefault@tok@c1\endcsname{\let\PYGdefault@it=\textit\def\PYGdefault@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
\expandafter\def\csname PYGdefault@tok@cs\endcsname{\let\PYGdefault@it=\textit\def\PYGdefault@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
\def\PYGdefaultZbs{\char`\\}
\def\PYGdefaultZus{\char`\_}
\def\PYGdefaultZob{\char`\{}
\def\PYGdefaultZcb{\char`\}}
\def\PYGdefaultZca{\char`\^}
\def\PYGdefaultZam{\char`\&}
\def\PYGdefaultZlt{\char`\<}
\def\PYGdefaultZgt{\char`\>}
\def\PYGdefaultZsh{\char`\#}
\def\PYGdefaultZpc{\char`\%}
\def\PYGdefaultZdl{\char`\$}
\def\PYGdefaultZhy{\char`\-}
\def\PYGdefaultZsq{\char`\'}
\def\PYGdefaultZdq{\char`\"}
\def\PYGdefaultZti{\char`\~}
% for compatibility with earlier versions
\def\PYGdefaultZat{@}
\def\PYGdefaultZlb{[}
\def\PYGdefaultZrb{]}
\makeatother

View File

@ -0,0 +1,168 @@
\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 EOLE personnalisée}
\newcommand{\pdfkeywords}{EOLE}
\skbinput[from=sli]{style/preambule}
\newlength{\logospacing}
\setlength{\logospacing}{0 cm}
\logo{
\skbfigure[width=2cm]{logos/Cadoles.png}~
}
\title[]{Formation EOLE personnalisée}
\subtitle{Togo}
\author[Equipe Auteur]{Cadoles}
\institute[Cadoles]{\skbfigure[width=2cm]{logos/Cadoles.png}}
\date{{\small \today}}
\subject{Talks}
\begin{document}
\skbinput[from=sli]{style/title}
% Corps de la formation
%\skbinput[from=sli]{}
\section{Introduction}
\subsection{La distribution EOLE}
\skbinput[from=sli]{modules_EOLE_envole/commun/intro}
\skbinput[from=sli]{modules_EOLE_envole/commun/ecosysteme}
\skbinput[from=sli]{modules_EOLE_envole/commun/nouveautes27}
\skbinput[from=sli]{modules_EOLE_envole/commun/nouveautes28}
\skbinput[from=sli]{modules_EOLE_envole/commun/panorama-module}
\section{Tronc commun 1}
\subsection{Les quatre phases}
\skbinput[from=sli]{modules_EOLE_envole/commun/quatre_phases}
\skbinput[from=sli]{modules_EOLE_envole/eolebase/virtualbox}
\skbinput[from=sli]{modules_EOLE_envole/commun/quatre_phases-pratique}
\skbinput[from=sli]{modules_EOLE_envole/commun/configuration-pratique}
\skbinput[from=sli]{modules_EOLE_envole/commun/02-gen_config}
\skbinput[from=sli]{modules_EOLE_envole/commun/instance-pratique}
\subsection{Ladministration courante}
\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/reconfigure-pratique}
\skbinput[from=sli]{modules_EOLE_envole/commun/diagnose}
\skbinput[from=sli]{modules_EOLE_envole/commun/diagnose-pratique}
\skbinput[from=sli]{modules_EOLE_envole/commun/firewall}
\skbinput[from=sli]{modules_EOLE_envole/commun/firewall-pratique}
\skbinput[from=sli]{modules_EOLE_envole/commun/schedule}
\skbinput[from=sli]{modules_EOLE_envole/commun/schedule-pratique}
\skbinput[from=sli]{modules_EOLE_envole/commun/onduleur}
\skbinput[from=sli]{modules_EOLE_envole/commun/onduleur-pratique}
\subsection{Les interfaces dadministration}
\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}
\subsection{Application Zéphir 1}
\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/application-zephir}
\subsection{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}
\subsection{Application Zéphir 2}
\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/application-zephir2}
\subsection{Migration}
\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-1/migration-zephir}
\section{Tronc commun 2}
\subsection{Personnalisation du module}
\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-2/personnalisation-creole-patchs}
\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-2/personnalisation-creole-patchs-pratique}
\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-2/personnalisation-creole-templates}
\skbinput[from=sli]{modules_EOLE_envole/tronc-commun-2/personnalisation-creole-templates-pratique}
\subsection{Gestion centralisée du module}
\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}
\subsection{Fonctionnement interne}
\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}
\section{Hâpy, virtualisation des infrastructures}
\skbinput[from=sli]{modules_EOLE_envole/hapy/description}
\subsection{Configuration}
\skbinput[from=sli]{modules_EOLE_envole/hapy/configuration-commutateur-virtuel}
\skbinput[from=sli]{modules_EOLE_envole/hapy/configuration-virtualisation}
\skbinput[from=sli]{modules_EOLE_envole/hapy/configuration-modeles-vm}
\skbinput[from=sli]{modules_EOLE_envole/hapy/configuration-hooks-vm}
\skbinput[from=sli]{modules_EOLE_envole/hapy/configuration-opennebula-flow}
\skbinput[from=sli]{modules_EOLE_envole/hapy/configuration-multi-noeuds}
\subsection{Maintenance}
\skbinput[from=sli]{modules_EOLE_envole/hapy/sunstone}
\skbinput[from=sli]{modules_EOLE_envole/hapy/cli}
\subsection{Gestion des VM}
\skbinput[from=sli]{modules_EOLE_envole/hapy/gestion-images-vm}
\skbinput[from=sli]{modules_EOLE_envole/hapy/gestion-modeles-vm}
\section{Seth, contrôleur de domaine}
\skbinput[from=sli]{modules_EOLE_envole/seth/description}
\subsection{Configuration}
\subsection{Maintenance}
\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}
\section{Envole}
\skbinput[from=sli]{modules_EOLE_envole/description}
\skbinput[from=sli]{modules_EOLE_envole/liste-applications}
\subsection{Portail}
\skbinput[from=sli]{modules_EOLE_envole/eportail}
\skbinput[from=sli]{modules_EOLE_envole/ninegate}
\subsection{Gestion des applications}
\skbinput[from=sli]{modules_EOLE_envole/ajout-application}
\skbinput[from=sli]{modules_EOLE_envole/ajout-application-pratique}
\skbinput[from=sli]{licences/license-cc-by-sa-2.0}
\end{document}

View File

@ -0,0 +1,54 @@
\documentclass[a4paper,11pt]{report}
\usepackage{skb}
\skbconfig[
root = ../../,
rep = content,
pub = presentations,
fig = figures,
sli = slides,
acr = database/acr,
bib = database/bib
]{skblocal.tex}
\newcommand{\departement}{Cadoles Formations}
\newcommand{\numeroversion}{1.0}
\newcommand{\adresse}{170, avenue Jean Jaurès}
\newcommand{\codepostal}{21000}
\newcommand{\ville}{Dijon}
\newcommand{\telephone}{Tél : 03 73 27 02 86}
\newcommand{\fax}{Fax : 09 72 29 61 11}
\newcommand{\siteweb}{Site : http://www.cadoles.com/}
\newcommand{\formateur}{Emmanuel Garette}
\skbinput[from=rep]{style/preambule-programme}
% TITRE DU DOCUMENT !
\title{Programme de Formation}
\author{Emmanuel Garette}
%\date{}
\begin{document}
\maketitle
\newpage
\section{Public visé}
\input{./programme/public.tex}
\section{Conditions préalables}
\input{./programme/prerequis.tex}
\section{Objectifs de la formation}
\input{./programme/objectifs.tex}
\section{Durée de la formation}
\input{./programme/duree.tex}
\IfFileExists{./programme/moyens.tex}{%
\section{Moyens pédagogiques, techniques et d'encadrement}
\input{./programme/moyens.tex}
}{}
\section{Évaluation des acquis}
\input{./programme/evaluation.tex}
\newpage
\section{Contenu de la formation}
\input{./programme/contenu.tex}
\end{document}

View File

@ -0,0 +1,39 @@
\begin{itemize}
\item Introduction
\begin{itemize}
\item La distribution EOLE
\end{itemize}
\item Tronc commun 1
\begin{itemize}
\item Les quatre phases
\item Ladministration courante
\item Les interfaces dadministration
\item Application Zéphir 1
\item GNU/Linux
\item Application Zéphir 2
\item Migration
\end{itemize}
\item Tronc commun 2
\begin{itemize}
\item Personnalisation du module
\item Gestion centralisée du module
\item Fonctionnement interne
\end{itemize}
\item Hâpy, virtualisation des infrastructures
\begin{itemize}
\item Configuration
\item Maintenance
\item Gestion des VM
\end{itemize}
\item Seth, contrôleur de domaine
\begin{itemize}
\item Configuration
\item Maintenance
\end{itemize}
\item Envole
\begin{itemize}
\item Portail
\item Gestion des applications
\end{itemize}
\end{itemize}

View File

@ -0,0 +1 @@
5 jours.

View File

@ -0,0 +1 @@
L'appropriation des connaissances est contrôlée par des travaux pratiques durant la formation.

View File

@ -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}

View File

@ -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.

View File

@ -0,0 +1 @@
Familiarité avec les systèmes GNU/Linux en général, Ubuntu en particulier.

View File

@ -0,0 +1 @@
La formation vise toute personne ayant en charge des tâches d'administration sur des serveurs équipés des modules EOLE Hâpy et Seth.

View File

@ -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}{170, avenue Jean Jaurès}
\newcommand{\codepostal}{21000}
\newcommand{\ville}{Dijon}
\newcommand{\telephone}{03 73 27 02 86}
\begin{document}
\title{Formation EOLE personnalisée}
\author{Cadoles}
\date{{\small \today}}
\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}

View File

@ -0,0 +1,9 @@
\begin{Verbatim}[commandchars=\\\{\}]
\PYGdefault{g+go}{pick fe0c2b7 Commit un peu rapide.}
\PYGdefault{g+go}{pick 7236369 Correction du contresens}
\PYGdefault{g+go}{pick 9ed1adb Suppression des espaces superflues}
\PYGdefault{g+go}{s a11256a Suppression des espaces superflues}
\PYGdefault{g+go}{pick f48a802 Corrections orthographiques et grammaticales}
\PYGdefault{g+go}{s 1a03003 Corrections orthographiques et grammaticales}
\PYGdefault{g+go}{s f500056 Corrections orthographiques et grammaticales}
\end{Verbatim}

View File

@ -0,0 +1,12 @@
\begin{Verbatim}[commandchars=\\\{\}]
\PYGdefault{g+go}{Sur la branche master}
\PYGdefault{g+go}{Modifications qui seront validées :}
\PYGdefault{g+go}{ (utilisez \PYGdefaultZdq{}git reset HEAD \PYGdefaultZlt{}fichier\PYGdefaultZgt{}...\PYGdefaultZdq{} pour désindexer)}
\PYGdefault{g+go}{ modifié : doc/README}
\PYGdefault{g+go}{Fichiers non suivis:}
\PYGdefault{g+go}{ (utilisez \PYGdefaultZdq{}git add \PYGdefaultZlt{}fichier\PYGdefaultZgt{}...\PYGdefaultZdq{} pour inclure dans ce qui sera validé)}
\PYGdefault{g+go}{ password}
\end{Verbatim}

View File

@ -0,0 +1,6 @@
\begin{Verbatim}[commandchars=\\\{\}]
\PYGdefault{g+go}{pick fe0c2b7 Commit un peu rapide.}
\PYGdefault{g+go}{e 6212e29 Premier commit de correction}
\PYGdefault{g+go}{e 0f13577 Deuxième commit de correction}
\PYGdefault{g+go}{r a60f3ed Troisième et dernier (on espère) commit de correction}
\end{Verbatim}

View File

@ -0,0 +1,7 @@
\begin{Verbatim}[commandchars=\\\{\}]
Sur la branche master
Validation initiale
rien à valider \PYGdefault{o}{(}créez/copiez des fichiers et utilisez \PYGdefault{l+s+s2}{\PYGdefaultZdq{}git add\PYGdefaultZdq{}} pour les suivre\PYGdefault{o}{)}
\end{Verbatim}

View File

@ -0,0 +1,6 @@
\begin{Verbatim}[commandchars=\\\{\}]
\PYGdefault{g+go}{pick fe0c2b7 Commit un peu rapide.}
\PYGdefault{g+go}{pick 6212e29 Premier commit de correction}
\PYGdefault{g+go}{pick 0f13577 Deuxième commit de correction}
\PYGdefault{g+go}{pick a60f3ed Troisième et dernier (on espère) commit de correction}
\end{Verbatim}

View File

@ -0,0 +1,17 @@
\begin{Verbatim}[commandchars=\\\{\}]
\PYGdefault{k}{[alias]}
\PYGdefault{n+na}{co} \PYGdefault{o}{=} \PYGdefault{l+s}{checkout}
\PYGdefault{l+s}{ st = status}
\PYGdefault{l+s}{ fe = fetch}
\PYGdefault{l+s}{ lo = log \PYGdefaultZhy{}\PYGdefaultZhy{}oneline}
\PYGdefault{l+s}{ re = reset \PYGdefaultZhy{}\PYGdefaultZhy{}hard HEAD\PYGdefaultZti{}1}
\PYGdefault{l+s}{ br = branch}
\PYGdefault{l+s}{ mnf = merge \PYGdefaultZhy{}\PYGdefaultZhy{}no\PYGdefaultZhy{}ff}
\PYGdefault{l+s}{ sw = checkout @\PYGdefaultZob{}\PYGdefaultZhy{}1\PYGdefaultZcb{}}
\PYGdefault{l+s}{ lu = log ..@\PYGdefaultZob{}upstream\PYGdefaultZcb{}}
\PYGdefault{l+s}{ luo = log \PYGdefaultZhy{}\PYGdefaultZhy{}oneline ..@\PYGdefaultZob{}upstream\PYGdefaultZcb{}}
\PYGdefault{l+s}{ ul=log @\PYGdefaultZob{}upstream\PYGdefaultZcb{}..HEAD}
\PYGdefault{l+s}{ ulo=log \PYGdefaultZhy{}\PYGdefaultZhy{}oneline @\PYGdefaultZob{}upstream\PYGdefaultZcb{}..HEAD}
\PYGdefault{l+s}{ cslt = !git describe \PYGdefaultZhy{}\PYGdefaultZhy{}long \PYGdefaultZhy{}\PYGdefaultZhy{}first\PYGdefaultZhy{}parent | awk \PYGdefaultZhy{}F\PYGdefaultZsq{}/\PYGdefaultZsq{} \PYGdefaultZsq{}\PYGdefaultZob{}print \PYGdefaultZdl{}NF\PYGdefaultZcb{}\PYGdefaultZsq{} | awk \PYGdefaultZhy{}F\PYGdefaultZsq{}\PYGdefaultZhy{}\PYGdefaultZsq{} \PYGdefaultZsq{}\PYGdefaultZob{}print \PYGdefaultZdl{}(NF\PYGdefaultZhy{}1)\PYGdefaultZcb{}\PYGdefaultZsq{}}
\PYGdefault{l+s}{ clf = !git lo \PYGdefaultZhy{}\PYGdefaultZhy{}no\PYGdefaultZhy{}merges \PYGdefaultZdl{}(git lo \PYGdefaultZhy{}1 \PYGdefaultZhy{}\PYGdefaultZhy{}pretty=format:\PYGdefaultZdq{}\PYGdefaultZpc{}h\PYGdefaultZdq{} debian/changelog)..}
\end{Verbatim}

View File

@ -0,0 +1,8 @@
\begin{Verbatim}[commandchars=\\\{\}]
\PYGdefault{n+nb}{source} \PYGdefaultZti{}/.git\PYGdefaultZhy{}prompt.sh
\PYGdefault{n+nv}{GIT\PYGdefaultZus{}PS1\PYGdefaultZus{}SHOWDIRTYSTATE}\PYGdefault{o}{=}\PYGdefault{l+m}{1}
\PYGdefault{n+nv}{GIT\PYGdefaultZus{}PS1\PYGdefaultZus{}SHOWSTASHSTATE}\PYGdefault{o}{=}\PYGdefault{l+m}{1}
\PYGdefault{n+nv}{GIT\PYGdefaultZus{}PS1\PYGdefaultZus{}SHOWUNTRACKEDFILES}\PYGdefault{o}{=}\PYGdefault{l+m}{1}
\PYGdefault{n+nv}{GIT\PYGdefaultZus{}PS1\PYGdefaultZus{}SHOWUPSTREAM}\PYGdefault{o}{=}\PYGdefault{l+s+s2}{\PYGdefaultZdq{}auto\PYGdefaultZdq{}}
\PYGdefault{n+nv}{PS1}\PYGdefault{o}{=}\PYGdefault{l+s+s1}{\PYGdefaultZsq{}[\PYGdefaultZbs{}u@\PYGdefaultZbs{}h \PYGdefaultZbs{}W\PYGdefaultZdl{}(\PYGdefaultZus{}\PYGdefaultZus{}git\PYGdefaultZus{}ps1 \PYGdefaultZdq{} (\PYGdefaultZpc{}s)\PYGdefaultZdq{})]\PYGdefaultZbs{}\PYGdefaultZdl{} \PYGdefaultZsq{}}
\end{Verbatim}

View File

@ -0,0 +1,9 @@
\begin{Verbatim}[commandchars=\\\{\}]
\PYGdefault{g+go}{f500056 Corrections orthographiques et grammaticales}
\PYGdefault{g+go}{a11256a Suppression des espaces superflues}
\PYGdefault{g+go}{1a03003 Corrections orthographiques et grammaticales}
\PYGdefault{g+go}{f48a802 Corrections orthographiques et grammaticales}
\PYGdefault{g+go}{9ed1adb Suppression des espaces superflues}
\PYGdefault{g+go}{7236369 Correction du contresens}
\PYGdefault{g+go}{fe0c2b7 Commit un peu rapide.}
\end{Verbatim}

View File

@ -0,0 +1,4 @@
\begin{Verbatim}[commandchars=\\\{\}]
Sur la branche master
rien à valider, la copie de travail est propre
\end{Verbatim}

View File

@ -0,0 +1,10 @@
\begin{Verbatim}[commandchars=\\\{\}]
Sur la branche master
Validation initiale
Modifications qui seront validées :
\PYGdefault{o}{(}utilisez \PYGdefault{l+s+s2}{\PYGdefaultZdq{}git rm \PYGdefaultZhy{}\PYGdefaultZhy{}cached \PYGdefaultZlt{}fichier\PYGdefaultZgt{}...\PYGdefaultZdq{}} pour désindexer\PYGdefault{o}{)}
nouveau fichier : doc/README
\end{Verbatim}

View File

@ -0,0 +1,6 @@
\begin{Verbatim}[commandchars=\\\{\}]
\PYGdefault{g+go}{f7caf4b Corrections orthographiques et grammaticales}
\PYGdefault{g+go}{cdcf39e Suppression des espaces superflues}
\PYGdefault{g+go}{7236369 Correction du contresens}
\PYGdefault{g+go}{fe0c2b7 Commit un peu rapide.}
\end{Verbatim}

View File

@ -0,0 +1,26 @@
\begin{Verbatim}[commandchars=\\\{\}]
.
└── .git
├── branches
├── config
├── description
├── HEAD
├── hooks
│   ├── applypatch\PYGdefaultZhy{}msg.sample
│   ├── commit\PYGdefaultZhy{}msg.sample
│   ├── post\PYGdefaultZhy{}update.sample
│   ├── pre\PYGdefaultZhy{}applypatch.sample
│   ├── pre\PYGdefaultZhy{}commit.sample
│   ├── prepare\PYGdefaultZhy{}commit\PYGdefaultZhy{}msg.sample
│   ├── pre\PYGdefaultZhy{}push.sample
│   ├── pre\PYGdefaultZhy{}rebase.sample
│   └── update.sample
├── info
│   └── exclude
├── objects
│   ├── info
│   └── pack
└── refs
├── heads
└── tags
\end{Verbatim}

View File

@ -0,0 +1,7 @@
\begin{Verbatim}[commandchars=\\\{\}]
Sur la branche master
Validation initiale
rien à valider \PYGdefault{o}{(}créez/copiez des fichiers et utilisez \PYGdefault{l+s+s2}{\PYGdefaultZdq{}git add\PYGdefaultZdq{}} pour les suivre\PYGdefault{o}{)}
\end{Verbatim}

View File

@ -0,0 +1,9 @@
\begin{Verbatim}[commandchars=\\\{\}]
\PYGdefault{g+go}{Sur la branche master}
\PYGdefault{g+go}{Fichiers non suivis:}
\PYGdefault{g+go}{ (utilisez \PYGdefaultZdq{}git add \PYGdefaultZlt{}fichier\PYGdefaultZgt{}...\PYGdefaultZdq{} pour inclure dans ce qui sera validé)}
\PYGdefault{g+go}{ password}
\PYGdefault{g+go}{aucune modification ajoutée à la validation mais des fichiers non suivis sont présents (utilisez \PYGdefaultZdq{}git add\PYGdefaultZdq{} pour les suivre)}
\end{Verbatim}

View File

@ -0,0 +1,101 @@
\makeatletter
\def\PYGdefault@reset{\let\PYGdefault@it=\relax \let\PYGdefault@bf=\relax%
\let\PYGdefault@ul=\relax \let\PYGdefault@tc=\relax%
\let\PYGdefault@bc=\relax \let\PYGdefault@ff=\relax}
\def\PYGdefault@tok#1{\csname PYGdefault@tok@#1\endcsname}
\def\PYGdefault@toks#1+{\ifx\relax#1\empty\else%
\PYGdefault@tok{#1}\expandafter\PYGdefault@toks\fi}
\def\PYGdefault@do#1{\PYGdefault@bc{\PYGdefault@tc{\PYGdefault@ul{%
\PYGdefault@it{\PYGdefault@bf{\PYGdefault@ff{#1}}}}}}}
\def\PYGdefault#1#2{\PYGdefault@reset\PYGdefault@toks#1+\relax+\PYGdefault@do{#2}}
\expandafter\def\csname PYGdefault@tok@w\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.73,0.73,0.73}{##1}}}
\expandafter\def\csname PYGdefault@tok@c\endcsname{\let\PYGdefault@it=\textit\def\PYGdefault@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
\expandafter\def\csname PYGdefault@tok@cp\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.74,0.48,0.00}{##1}}}
\expandafter\def\csname PYGdefault@tok@k\endcsname{\let\PYGdefault@bf=\textbf\def\PYGdefault@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
\expandafter\def\csname PYGdefault@tok@kp\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
\expandafter\def\csname PYGdefault@tok@kt\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.69,0.00,0.25}{##1}}}
\expandafter\def\csname PYGdefault@tok@o\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
\expandafter\def\csname PYGdefault@tok@ow\endcsname{\let\PYGdefault@bf=\textbf\def\PYGdefault@tc##1{\textcolor[rgb]{0.67,0.13,1.00}{##1}}}
\expandafter\def\csname PYGdefault@tok@nb\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
\expandafter\def\csname PYGdefault@tok@nf\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.00,0.00,1.00}{##1}}}
\expandafter\def\csname PYGdefault@tok@nc\endcsname{\let\PYGdefault@bf=\textbf\def\PYGdefault@tc##1{\textcolor[rgb]{0.00,0.00,1.00}{##1}}}
\expandafter\def\csname PYGdefault@tok@nn\endcsname{\let\PYGdefault@bf=\textbf\def\PYGdefault@tc##1{\textcolor[rgb]{0.00,0.00,1.00}{##1}}}
\expandafter\def\csname PYGdefault@tok@ne\endcsname{\let\PYGdefault@bf=\textbf\def\PYGdefault@tc##1{\textcolor[rgb]{0.82,0.25,0.23}{##1}}}
\expandafter\def\csname PYGdefault@tok@nv\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
\expandafter\def\csname PYGdefault@tok@no\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.53,0.00,0.00}{##1}}}
\expandafter\def\csname PYGdefault@tok@nl\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.63,0.63,0.00}{##1}}}
\expandafter\def\csname PYGdefault@tok@ni\endcsname{\let\PYGdefault@bf=\textbf\def\PYGdefault@tc##1{\textcolor[rgb]{0.60,0.60,0.60}{##1}}}
\expandafter\def\csname PYGdefault@tok@na\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.49,0.56,0.16}{##1}}}
\expandafter\def\csname PYGdefault@tok@nt\endcsname{\let\PYGdefault@bf=\textbf\def\PYGdefault@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
\expandafter\def\csname PYGdefault@tok@nd\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.67,0.13,1.00}{##1}}}
\expandafter\def\csname PYGdefault@tok@s\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
\expandafter\def\csname PYGdefault@tok@sd\endcsname{\let\PYGdefault@it=\textit\def\PYGdefault@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
\expandafter\def\csname PYGdefault@tok@si\endcsname{\let\PYGdefault@bf=\textbf\def\PYGdefault@tc##1{\textcolor[rgb]{0.73,0.40,0.53}{##1}}}
\expandafter\def\csname PYGdefault@tok@se\endcsname{\let\PYGdefault@bf=\textbf\def\PYGdefault@tc##1{\textcolor[rgb]{0.73,0.40,0.13}{##1}}}
\expandafter\def\csname PYGdefault@tok@sr\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.73,0.40,0.53}{##1}}}
\expandafter\def\csname PYGdefault@tok@ss\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
\expandafter\def\csname PYGdefault@tok@sx\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
\expandafter\def\csname PYGdefault@tok@m\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
\expandafter\def\csname PYGdefault@tok@gh\endcsname{\let\PYGdefault@bf=\textbf\def\PYGdefault@tc##1{\textcolor[rgb]{0.00,0.00,0.50}{##1}}}
\expandafter\def\csname PYGdefault@tok@gu\endcsname{\let\PYGdefault@bf=\textbf\def\PYGdefault@tc##1{\textcolor[rgb]{0.50,0.00,0.50}{##1}}}
\expandafter\def\csname PYGdefault@tok@gd\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.63,0.00,0.00}{##1}}}
\expandafter\def\csname PYGdefault@tok@gi\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.00,0.63,0.00}{##1}}}
\expandafter\def\csname PYGdefault@tok@gr\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{1.00,0.00,0.00}{##1}}}
\expandafter\def\csname PYGdefault@tok@ge\endcsname{\let\PYGdefault@it=\textit}
\expandafter\def\csname PYGdefault@tok@gs\endcsname{\let\PYGdefault@bf=\textbf}
\expandafter\def\csname PYGdefault@tok@gp\endcsname{\let\PYGdefault@bf=\textbf\def\PYGdefault@tc##1{\textcolor[rgb]{0.00,0.00,0.50}{##1}}}
\expandafter\def\csname PYGdefault@tok@go\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.53,0.53,0.53}{##1}}}
\expandafter\def\csname PYGdefault@tok@gt\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.00,0.27,0.87}{##1}}}
\expandafter\def\csname PYGdefault@tok@err\endcsname{\def\PYGdefault@bc##1{\setlength{\fboxsep}{0pt}\fcolorbox[rgb]{1.00,0.00,0.00}{1,1,1}{\strut ##1}}}
\expandafter\def\csname PYGdefault@tok@kc\endcsname{\let\PYGdefault@bf=\textbf\def\PYGdefault@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
\expandafter\def\csname PYGdefault@tok@kd\endcsname{\let\PYGdefault@bf=\textbf\def\PYGdefault@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
\expandafter\def\csname PYGdefault@tok@kn\endcsname{\let\PYGdefault@bf=\textbf\def\PYGdefault@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
\expandafter\def\csname PYGdefault@tok@kr\endcsname{\let\PYGdefault@bf=\textbf\def\PYGdefault@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
\expandafter\def\csname PYGdefault@tok@bp\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.00,0.50,0.00}{##1}}}
\expandafter\def\csname PYGdefault@tok@fm\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.00,0.00,1.00}{##1}}}
\expandafter\def\csname PYGdefault@tok@vc\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
\expandafter\def\csname PYGdefault@tok@vg\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
\expandafter\def\csname PYGdefault@tok@vi\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
\expandafter\def\csname PYGdefault@tok@vm\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.10,0.09,0.49}{##1}}}
\expandafter\def\csname PYGdefault@tok@sa\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
\expandafter\def\csname PYGdefault@tok@sb\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
\expandafter\def\csname PYGdefault@tok@sc\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
\expandafter\def\csname PYGdefault@tok@dl\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
\expandafter\def\csname PYGdefault@tok@s2\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
\expandafter\def\csname PYGdefault@tok@sh\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
\expandafter\def\csname PYGdefault@tok@s1\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.73,0.13,0.13}{##1}}}
\expandafter\def\csname PYGdefault@tok@mb\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
\expandafter\def\csname PYGdefault@tok@mf\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
\expandafter\def\csname PYGdefault@tok@mh\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
\expandafter\def\csname PYGdefault@tok@mi\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
\expandafter\def\csname PYGdefault@tok@il\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
\expandafter\def\csname PYGdefault@tok@mo\endcsname{\def\PYGdefault@tc##1{\textcolor[rgb]{0.40,0.40,0.40}{##1}}}
\expandafter\def\csname PYGdefault@tok@ch\endcsname{\let\PYGdefault@it=\textit\def\PYGdefault@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
\expandafter\def\csname PYGdefault@tok@cm\endcsname{\let\PYGdefault@it=\textit\def\PYGdefault@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
\expandafter\def\csname PYGdefault@tok@cpf\endcsname{\let\PYGdefault@it=\textit\def\PYGdefault@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
\expandafter\def\csname PYGdefault@tok@c1\endcsname{\let\PYGdefault@it=\textit\def\PYGdefault@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
\expandafter\def\csname PYGdefault@tok@cs\endcsname{\let\PYGdefault@it=\textit\def\PYGdefault@tc##1{\textcolor[rgb]{0.25,0.50,0.50}{##1}}}
\def\PYGdefaultZbs{\char`\\}
\def\PYGdefaultZus{\char`\_}
\def\PYGdefaultZob{\char`\{}
\def\PYGdefaultZcb{\char`\}}
\def\PYGdefaultZca{\char`\^}
\def\PYGdefaultZam{\char`\&}
\def\PYGdefaultZlt{\char`\<}
\def\PYGdefaultZgt{\char`\>}
\def\PYGdefaultZsh{\char`\#}
\def\PYGdefaultZpc{\char`\%}
\def\PYGdefaultZdl{\char`\$}
\def\PYGdefaultZhy{\char`\-}
\def\PYGdefaultZsq{\char`\'}
\def\PYGdefaultZdq{\char`\"}
\def\PYGdefaultZti{\char`\~}
% for compatibility with earlier versions
\def\PYGdefaultZat{@}
\def\PYGdefaultZlb{[}
\def\PYGdefaultZrb{]}
\makeatother

View File

@ -0,0 +1,4 @@
\begin{Verbatim}[commandchars=\\\{\}]
\PYGdefault{g+go}{Sur la branche master}
\PYGdefault{g+go}{rien à valider, la copie de travail est propre}
\end{Verbatim}

View File

@ -0,0 +1,13 @@
\begin{Verbatim}[commandchars=\\\{\}]
Sur la branche master
Validation initiale
Fichiers non suivis:
\PYGdefault{o}{(}utilisez \PYGdefault{l+s+s2}{\PYGdefaultZdq{}git add \PYGdefaultZlt{}fichier\PYGdefaultZgt{}...\PYGdefaultZdq{}} pour inclure dans ce qui sera validé\PYGdefault{o}{)}
doc/
aucune modification ajoutée à la validation mais des fichiers non suivis sont présents
\PYGdefault{o}{(}utilisez \PYGdefault{l+s+s2}{\PYGdefaultZdq{}git add\PYGdefaultZdq{}} pour les suivre\PYGdefault{o}{)}
\end{Verbatim}

View File

@ -0,0 +1,9 @@
\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}

View File

@ -5,8 +5,10 @@ import argparse
import re
import random
import time
import subprocess
from os import path, makedirs, listdir
from jinja2 import Environment, FileSystemLoader
import pygit2
LICENSES = {'CC-by-sa-2.0': 'license-cc-by-sa-2.0',
}
@ -46,8 +48,120 @@ def escape_tex(value):
return newval
def normalize_branch(args):
if 'master' in args:
return path.join('xelatex', path.dirname(args.master))
elif 'directory' in args:
return path.join('xelatex', args.directory)
else:
raise Exception('No sufficient information to create branch')
def git_integration(func):
def commit_into_master(paths, repo, comment):
author = repo.default_signature
committer = author
repo.checkout('refs/heads/master')
index = repo.index
for fp in paths:
index.add(fp)
index.write()
tree = index.write_tree()
master_ref = repo.references['refs/heads/master']
parents = [master_ref.peel().hex]
master_head = repo.create_commit('refs/heads/master',
author,
committer,
comment,
tree,
parents)
return master_head
def commit_into_branch(paths, branch, repo, comment):
author = repo.default_signature
committer = author
repo.checkout(f'refs/heads/{branch}')
index = repo.index
for fp in paths:
index.add(fp)
index.write()
tree = index.write_tree()
branch_ref = repo.references[f'refs/heads/{branch}']
parents = [branch_ref.peel().hex]
branch_commit = repo.create_commit(f'refs/heads/{branch}',
author,
committer,
comment,
tree,
parents)
return branch_commit
def merge_master_into_branch(master_commit, branch, repo):
author = repo.default_signature
committer = author
repo.checkout(f'refs/heads/{branch}')
repo.merge(master_commit)
tree = repo.index.write_tree()
merge_commit = repo.create_commit('HEAD', author, committer, 'Merge master into xelatex/*', tree, [repo.head.target, master_commit])
def inner(args):
try:
repo = pygit2.Repository('./')
except:
repo = None
if repo:
branch_name = normalize_branch(args)
if not branch_name in repo.branches.local:
master_ref = repo.references['refs/heads/master']
commit = master_ref.peel()
repo.branches.local.create(branch_name, commit)
func(args)
if repo:
repo_status = repo.status()
to_add_status = [pygit2.GIT_STATUS_WT_NEW,
pygit2.GIT_STATUS_WT_MODIFIED]
branch_add_paths = [fp for fp in repo_status
if fp.startswith(f'presentations/') and repo_status[fp] in to_add_status]
master_add_paths = [fp for fp in repo_status
if (fp.startswith('content/') or fp.startswith('slides/')) and repo_status[fp] in to_add_status]
if func.__name__ == 'init':
comment = 'Initialisation de la formation'
elif func.__name__ == 'update':
comment = 'Construction de la formation'
elif func.__name__ == 'outline':
comment = 'Mise à jour du programme'
else:
comment = 'Travail sur la formation'
if repo.branches['master'].is_checked_out():
if master_add_paths:
master_head = commit_into_master(master_add_paths, repo, comment)
else:
master_head = repo.revparse_single('refs/heads/master')
if branch_add_paths:
commit_into_branch(branch_add_paths, branch_name, repo, comment)
elif repo.branches[branch_name].is_checked_out():
if branch_add_paths:
commit_into_branch(branch_add_paths, branch_name, repo, comment)
if master_add_paths:
master_head = commit_into_master(master_add_paths, repo, comment)
else:
master_head = repo.revparse_single('refs/heads/master')
branch_ref = repo.references[f'refs/heads/{branch_name}']
if master_head not in repo.walk(branch_ref.target):
merge_master_into_branch(master_head, branch_name, repo)
return inner
def main():
@git_integration
def init(args):
"""
init function
@ -69,33 +183,20 @@ def main():
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')
name = 'diaporama.tex'
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
institutes = get_institutes_logos(args.institutes)
logos_count = len(institutes) + 1
@ -121,7 +222,9 @@ def main():
master = TEMPLATES[document_class]['master']
master_dir = path.join('presentations', directory)
programme_dir = path.join(master_dir, 'programme')
resources = [(path.join('presentations', directory), master),
resources = [(master_dir, master),
(master_dir, 'programme.tex'),
(master_dir, 'support.tex'),
(programme_dir, 'contenu.tex'),
(programme_dir, 'duree.tex'),
(programme_dir, 'evaluation.tex'),
@ -130,9 +233,6 @@ def main():
(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)
@ -142,11 +242,14 @@ def main():
with open(path.join(directory, template_dest_name), 'w') as rendered_file:
rendered_file.write(rendered_template)
@git_integration
def update(args):
"""
update function
"""
with open(args.master, 'r') as master:
master_file = path.join('presentations', args.directory, 'diaporama.tex')
with open(master_file, 'r') as master:
tex_master = master.read()
tex_class = DOCUMENTCLASS_RE.search(tex_master)
tex_skbconfig = SKBCONFIG_RE.search(tex_master)
@ -171,7 +274,14 @@ def main():
with open(dest, 'w') as rendered_file:
rendered_file.write(rendered_template)
def tex_compile(args):
master_files = [path.join('presentations', args.directory, tex_file)
for tex_file in ['diaporama.tex', 'programme.tex', 'support.tex']]
for master_file in master_files:
subprocess.call(['rubber', '--inplace', '-c shell_escape', '--unsafe', '--module=xelatex', master_file])
@git_integration
def outline(args):
"""
outline creation
@ -211,7 +321,7 @@ def main():
else:
return []
def filter_outlines(headers_list, max_level=None):
def filter_outlines(headers_list, max_level=0):
filtered_outlines = []
default_max_level = max([hl[1] for hl in headers_list])
if not max_level:
@ -268,7 +378,10 @@ def main():
section_re = re.compile(r'\\section\{(?P<name>.*?)\}')
part_re = re.compile(r'\\part\{(?P<name>.*?)}')
subsection_re = re.compile(r'\\subsection\{(?P<name>.*?)\}')
with open(args.master, 'r') as master_tex:
master_file = path.join('presentations', args.directory, 'diaporama.tex')
max_level = args.levels
with open(master_file, 'r') as master_tex:
master = master_tex.read()
skbconfig = SKBCONFIG_RE.search(master)
@ -279,10 +392,10 @@ def main():
includes = SKBINPUT_RE.finditer(master)
parts_list = [(part.start(), part_level, part.group('name')) for part in parts]
sections_list = [(section.start(), section_level, section.group('name')) for section in sections]
includes_list = [element for skbinput in includes for element in outline_from_include(file_path_from_skbinput(skbinput, args.master, skbconfig), skbinput.start(), document_class)]
includes_list = [element for skbinput in includes for element in outline_from_include(file_path_from_skbinput(skbinput, master_file, skbconfig), skbinput.start(), document_class)]
subsections_list = [(subsection.start(), subsection_level, subsection.group('name')) for subsection in subsections]
structured_outline = structure_outline(filter_outlines(reorder_lists(parts_list, sections_list, includes_list, subsections_list)))
content_file = path.join(path.dirname(path.abspath(args.master)), 'programme', 'contenu.tex')
structured_outline = structure_outline(filter_outlines(reorder_lists(parts_list, sections_list, includes_list, subsections_list), max_level=max_level))
content_file = path.join(path.dirname(path.abspath(master_file)), 'programme', 'contenu.tex')
with open(content_file, 'w') as content_fh:
content_fh.write(structured_outline.render())
@ -302,7 +415,6 @@ def main():
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")
@ -310,12 +422,21 @@ def main():
parser_init.add_argument('-d', '--directory', help="Sous-répertoires où créer le fichier", required=True)
parser_init.add_argument('-i', '--institutes', nargs='*', help="Instituts dont les logos sont requis")
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.add_argument('-d', '--directory', help="Sous-répertoires contenant le diaporama", 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.add_argument('-d', '--directory', help="Sous-répertoires contenant le diaporama", required=True)
parser_outline.add_argument('-l', '--levels', help="Niveaux de titre à inclure dans le plan", type=int, default=0)
parser_outline.set_defaults(func=outline)
if subprocess.check_output(['rubber', '--version']):
parser_compile = subparsers.add_parser('compile', help='Compiler les différents documents en faisant appel à rubber')
parser_compile.add_argument('-d', '--directory', help="Sous-répertoires contenant les documents", required=True)
parser_compile.set_defaults(func=tex_compile)
args = parser.parse_args()
args.func(args)

View File

@ -0,0 +1,7 @@
{\setbeamercolor{background canvas}{bg=TravauxPratiques}
\begin{frame}
\frametitle{ajout-application-pratique.tex}
fichier slides/modules\_EOLE\_envole/ajout-application-pratique.tex à éditer
% contenu (pas trop long) de la diapositive
\end{frame}
}

View File

@ -0,0 +1,5 @@
\begin{frame}
\frametitle{ajout-application.tex}
fichier slides/modules\_EOLE\_envole/ajout-application.tex à éditer
% contenu (pas trop long) de la diapositive
\end{frame}

View File

@ -0,0 +1,5 @@
\begin{frame}
\frametitle{nouveautes28.tex}
fichier slides/modules\_EOLE\_envole/commun/nouveautes28.tex à éditer
% contenu (pas trop long) de la diapositive
\end{frame}

View File

@ -0,0 +1,7 @@
{\setbeamercolor{background canvas}{bg=TravauxPratiques}
\begin{frame}
\frametitle{onduleur-pratique.tex}
fichier slides/modules\_EOLE\_envole/commun/onduleur-pratique.tex à éditer
% contenu (pas trop long) de la diapositive
\end{frame}
}

View File

@ -0,0 +1,5 @@
\begin{frame}
\frametitle{onduleur.tex}
fichier slides/modules\_EOLE\_envole/commun/onduleur.tex à éditer
% contenu (pas trop long) de la diapositive
\end{frame}

View File

@ -0,0 +1,5 @@
\begin{frame}
\frametitle{description.tex}
fichier slides/modules\_EOLE\_envole/description.tex à éditer
% contenu (pas trop long) de la diapositive
\end{frame}

View File

@ -0,0 +1,5 @@
\begin{frame}
\frametitle{eportail.tex}
fichier slides/modules\_EOLE\_envole/eportail.tex à éditer
% contenu (pas trop long) de la diapositive
\end{frame}

View File

@ -0,0 +1,5 @@
\begin{frame}
\frametitle{cli.tex}
fichier slides/modules\_EOLE\_envole/hapy/cli.tex à éditer
% contenu (pas trop long) de la diapositive
\end{frame}

View File

@ -0,0 +1,5 @@
\begin{frame}
\frametitle{configuration-commutateur-virtuel.tex}
fichier slides/modules\_EOLE\_envole/hapy/configuration-commutateur-virtuel.tex à éditer
% contenu (pas trop long) de la diapositive
\end{frame}

View File

@ -0,0 +1,5 @@
\begin{frame}
\frametitle{configuration-hooks-vm.tex}
fichier slides/modules\_EOLE\_envole/hapy/configuration-hooks-vm.tex à éditer
% contenu (pas trop long) de la diapositive
\end{frame}

View File

@ -0,0 +1,5 @@
\begin{frame}
\frametitle{configuration-modeles-vm.tex}
fichier slides/modules\_EOLE\_envole/hapy/configuration-modeles-vm.tex à éditer
% contenu (pas trop long) de la diapositive
\end{frame}

View File

@ -0,0 +1,5 @@
\begin{frame}
\frametitle{configuration-multi-noeuds.tex}
fichier slides/modules\_EOLE\_envole/hapy/configuration-multi-noeuds.tex à éditer
% contenu (pas trop long) de la diapositive
\end{frame}

View File

@ -0,0 +1,5 @@
\begin{frame}
\frametitle{configuration-opennebula-flow.tex}
fichier slides/modules\_EOLE\_envole/hapy/configuration-opennebula-flow.tex à éditer
% contenu (pas trop long) de la diapositive
\end{frame}

View File

@ -0,0 +1,5 @@
\begin{frame}
\frametitle{configuration-virtualisation.tex}
fichier slides/modules\_EOLE\_envole/hapy/configuration-virtualisation.tex à éditer
% contenu (pas trop long) de la diapositive
\end{frame}

View File

@ -0,0 +1,5 @@
\begin{frame}
\frametitle{gestion-images-vm.tex}
fichier slides/modules\_EOLE\_envole/hapy/gestion-images-vm.tex à éditer
% contenu (pas trop long) de la diapositive
\end{frame}

View File

@ -0,0 +1,5 @@
\begin{frame}
\frametitle{gestion-modeles-vm.tex}
fichier slides/modules\_EOLE\_envole/hapy/gestion-modeles-vm.tex à éditer
% contenu (pas trop long) de la diapositive
\end{frame}

View File

@ -0,0 +1,5 @@
\begin{frame}
\frametitle{sunstone.tex}
fichier slides/modules\_EOLE\_envole/hapy/sunstone.tex à éditer
% contenu (pas trop long) de la diapositive
\end{frame}

View File

@ -0,0 +1,5 @@
\begin{frame}
\frametitle{liste-applications.tex}
fichier slides/modules\_EOLE\_envole/liste-applications.tex à éditer
% contenu (pas trop long) de la diapositive
\end{frame}

View File

@ -0,0 +1,5 @@
\begin{frame}
\frametitle{ninegate.tex}
fichier slides/modules\_EOLE\_envole/ninegate.tex à éditer
% contenu (pas trop long) de la diapositive
\end{frame}

View File

@ -20,7 +20,7 @@
\framesubtitle{Gérer le service vnstat}
\begin{enumerate}
\item Créer un dictionnaire dans le répertoire /usr/share/eole/creole/dicos/local,
\item ajouter lentête \emph{<?xml version="1.0" encoding="utf-8"?>},
\item ajouter lentête \mintinline{xml}{<?xml version="1.0" encoding="utf-8"?>},
\item ajouter une balise \emph{creole},
\item ajouter une balise \emph{files} dans la balise \emph{creole},
\item ajouter une balise \emph{service} dans la balise \emph{files},

View File

@ -24,7 +24,6 @@
\begin{frame}
\frametitle{Pratique}
\begin{itemize}
\item Faire un Schedule qui stop IRCD avant la sauvegarde ;
\item faire un script qui démarre IRCD après la sauvegarde.
\item Faire un schedule qui extrait les données de vnStat en vue de leur sauvegarde,
\end{itemize}
\end{frame}

View File

@ -10,6 +10,7 @@
%\usepackage{colortbtl}
\usepackage{graphicx}
\usepackage{verbatim} % Pour l'insertion de fichier en mode verbatim
\usepackage{minted}
\usepackage{ucs}
\usepackage{tabto}
\usepackage{tikz}

View File

@ -15,7 +15,7 @@
\skbinput[from=(((content)))]{style/preambule-(((class)))}
\newcommand{\departement}{Cadoles Formations}
\newcommand{\numeroversion}{0.1}
\newcommand{\adresse}{29 bis, rue de lArquebuse}
\newcommand{\adresse}{170, avenue Jean Jaurès}
\newcommand{\codepostal}{21000}
\newcommand{\ville}{Dijon}
\newcommand{\telephone}{03 73 27 02 86}

View File

@ -20,7 +20,11 @@
\skbinput[from=(((content)))]{style/preambule}
\newlength{\logospacing}
((* if intitutes|length > 1 *))
\setlength{\logospacing}{(\textwidth - 2cm*(((logos_count))))/(((logos_count - 1)))}
((* else *))
\setlength{\logospacing}{0 cm}
((* endif *))
\logo{
((* for institute in institutes *))
@ -40,14 +44,6 @@
\subject{Talks}
\AtBeginSubsection[]
{
\begin{frame}<beamer>
\frametitle{}
\tableofcontents[currentsection,currentsubsection]
\end{frame}
}
\begin{document}
\skbinput[from=(((content)))]{style/title}

View File

@ -15,7 +15,7 @@
\skbinput[from=(((content)))]{style/preambule-(((class)))}
\newcommand{\departement}{Cadoles}
\newcommand{\numeroversion}{0.1}
\newcommand{\adresse}{29 bis, rue de lArquebuse}
\newcommand{\adresse}{170, avenue Jean Jaurès}
\newcommand{\codepostal}{21000}
\newcommand{\ville}{Dijon}
\newcommand{\telephone}{03 73 27 02 86}

View File

@ -1,44 +0,0 @@
%\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={(((title)))},
pdfkeywords={},
pdfauthor={(((author)))},
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}}

55
templates/programme.tex Normal file
View File

@ -0,0 +1,55 @@
\documentclass[a4paper,11pt]{report}
\usepackage{skb}
\skbconfig[
root = (((root))),
rep = content,
pub = presentations,
fig = figures,
sli = slides,
acr = database/acr,
bib = database/bib
]{skblocal.tex}
\newcommand{\departement}{Cadoles Formations}
\newcommand{\numeroversion}{1.0}
\newcommand{\adresse}{170, avenue Jean Jaurès}
\newcommand{\codepostal}{21000}
\newcommand{\ville}{Dijon}
\newcommand{\telephone}{Tél : 03 73 27 02 86}
\newcommand{\fax}{Fax : 09 72 29 61 11}
\newcommand{\siteweb}{Site : http://www.cadoles.com/}
\newcommand{\formateur}{Emmanuel Garette}
\skbinput[from=rep]{style/preambule-programme}
% TITRE DU DOCUMENT !
\title{Programme de Formation}
\author{Emmanuel Garette}
%\date{}
\begin{document}
\maketitle
\newpage
\section{Public visé}
\input{./programme/public.tex}
\section{Conditions préalables}
\input{./programme/prerequis.tex}
\section{Objectifs de la formation}
\input{./programme/objectifs.tex}
\section{Durée de la formation}
\input{./programme/duree.tex}
\IfFileExists{./programme/moyens.tex}{%
\section{Moyens pédagogiques, techniques et d'encadrement}
\input{./programme/moyens.tex}
}{}
\section{Évaluation des acquis}
\input{./programme/evaluation.tex}
\newpage
\section{Contenu de la formation}
\input{./programme/contenu.tex}
\end{document}

42
templates/support.tex Normal file
View File

@ -0,0 +1,42 @@
\documentclass{article}
\usepackage{skb}
\skbconfig[
root = (((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}{170, avenue Jean Jaurès}
\newcommand{\codepostal}{21000}
\newcommand{\ville}{Dijon}
\newcommand{\telephone}{03 73 27 02 86}
\begin{document}
\title{(((title)))}
\author{(((author)))}
\date{{\small \today}}
\maketitle
\skbinput[from=rep]{style/title}
% Corps de la formation
%\skbinput[from=rep]{}
\skbinput[from=rep]{licences/(((license)))}
\end{document}

31
utils/hooks/pre-commit Executable file
View File

@ -0,0 +1,31 @@
#!/bin/sh
checkout_branch="$(git branch --show-current)"
presentations_indexed_files="$(git diff --cached --name-only -- presentations/ | wc -l)"
indexed_files="$(git diff --cached --name-only | wc -l)"
case "$checkout_branch" in
master)
if [ "${presentations_indexed_files}" -gt 0 ]
then
cat <<\EOF
Error: Attempt to add files in presentations folder in master branch.
Files in presentations folder are to be added in special branches xelatex/*.
EOF
exit 1
fi
;;
xelatex/*)
if [ $presentations_indexed_files -ne $indexed_files ]
then
cat <<\EOF
Error: Attempt to add files outside presentations folder in special branch xelatex/*.
This branch follows only files in presentations folder.
EOF
exit 1
fi
;;
*) exit 0;;
esac
exit 0