Avec index #1

Merged
emmanuelito merged 7 commits from avec_index into main 2021-04-11 19:22:32 +02:00
56 changed files with 705 additions and 474 deletions
Showing only changes of commit 18310eed83 - Show all commits

View File

@ -23,7 +23,7 @@ python python/export_docx_to_yaml.py "$ressources" -o "python/export" -r . || di
python python/export_sae_docx_to_yaml.py "$saes" -o "python/export" -r . || die "echec de export_sae_docx_to_yaml.py" python python/export_sae_docx_to_yaml.py "$saes" -o "python/export" -r . || die "echec de export_sae_docx_to_yaml.py"
python python/export_yaml_to_latex.py -a -r . || die "echec de export_yaml_to_latex.py" python python/export_yaml_to_latex.py -a -r . || die "echec de export_yaml_to_latex.py"
cd latex cd latex || die "repertoire manquant: latex"
pdflatex pn_formation pdflatex pn_formation
pdflatex pn_formation pdflatex pn_formation

Binary file not shown.

After

Width:  |  Height:  |  Size: 117 KiB

View File

@ -89,8 +89,8 @@
\newcommand{\listeTitreRessourceIndex}[1]{ \newcommand{\listeTitreRessourceIndex}[1]{
\setlength{\tabcolsep}{0.125cm} % Marge des colonnes \setlength{\tabcolsep}{0.125cm} % Marge des colonnes
\setlength{\extrarowheight}{2pt} % Marge des lignes \setlength{\extrarowheight}{2pt} % Marge des lignes
\begin{center} \begin{center}\small
\begin{tabular}[t]{|l|l|l|} \begin{tabular}[t]{|X|Y|Z|}
\hline {\bfseries Code} & {\bfseries Nom} & {\bfseries Page} \\ \hline {\bfseries Code} & {\bfseries Nom} & {\bfseries Page} \\
\hline \hline
@ -116,8 +116,8 @@
\newcommand{\listeTitreSAEIndex}[1]{ \newcommand{\listeTitreSAEIndex}[1]{
\setlength{\tabcolsep}{0.125cm} % Marge des colonnes \setlength{\tabcolsep}{0.125cm} % Marge des colonnes
\setlength{\extrarowheight}{2pt} % Marge des lignes \setlength{\extrarowheight}{2pt} % Marge des lignes
\begin{center} \begin{center}\small
\begin{tabular}[t]{|l|l|l|} \begin{tabular}[t]{|X|Y|Z|}
\hline {\bfseries Code} & {\bfseries Titre} & {\bfseries Page} \\ \hline \hline {\bfseries Code} & {\bfseries Titre} & {\bfseries Page} \\ \hline
\forLoop{1}{\value{cptS#1}}{nosae}{ % Pour chaque SAE \forLoop{1}{\value{cptS#1}}{nosae}{ % Pour chaque SAE

View File

@ -17,6 +17,11 @@
\newcolumntype{V}{>{}p{8.45cm}<{}} % 12.825cm \newcolumntype{V}{>{}p{8.45cm}<{}} % 12.825cm
% Pour les tables d'index
\newcolumntype{X}{>{}m{1.2cm}<{}} % Code
\newcolumntype{Y}{>{}p{10.50cm}<{}} % Nom
\newcolumntype{Z}{>{}w{c}{1.0cm}<{}} % No page
% Compteur de ligne pour les tableaux % Compteur de ligne pour les tableaux
\newcounter{noligne} \newcounter{noligne}
@ -50,7 +55,7 @@
\begin{tabular}[t]{@{}T@{}}% \begin{tabular}[t]{@{}T@{}}%
\forLoop{1}{\value{cptRsae\CODE}}{noligne}{ \forLoop{1}{\value{cptRsae\CODE}}{noligne}{
\xdef\saecode{\csname Rsaecode\CODE\Alph{noligne}\endcsname} \xdef\saecode{\csname Rsaecode\CODE\Alph{noligne}\endcsname}
\hyperlink{sae:\saecode}{\textcolor{saeC}{\saecode}}~| \hyperlink{sae:\saecode}{\textcolor{saeC}{\saecode}}~
{\csname Rsaename\CODE\Alph{noligne}\endcsname} {\csname Rsaename\CODE\Alph{noligne}\endcsname}
\tabularnewline % \tabularnewline %
} }

View File

@ -29,6 +29,9 @@
\usepackage{fontawesome} \usepackage{fontawesome}
\usepackage{amssymb} \usepackage{amssymb}
\usepackage{multicol} \usepackage{multicol}
\usepackage[framemethod=tikz]{mdframed}
\usepackage{fancyhdr}
\setlist{leftmargin=1em,topsep=0pt,partopsep=0pt,itemsep=0pt,itemindent=0em} \setlist{leftmargin=1em,topsep=0pt,partopsep=0pt,itemsep=0pt,itemindent=0em}
@ -65,7 +68,9 @@
\urlstyle{rm} \urlstyle{rm}
% ******************************************************** % ********************************************************
\title{Référentiel de formation\\Spécialité : Réseaux et Télécommunications} \title{Bachelor Universitaire de Technologie\\
Réseaux et Télécommunications\\
Référentiel de formation}
\hypersetup{ \hypersetup{
pdfinfo={ pdfinfo={
@ -77,7 +82,7 @@
%\institute{ACD R\&T} %\institute{ACD R\&T}
%\date{\today} %\date{\today}
%\author{(many people)}% \author{ACD R\&T}%
% ******************************************************** % ********************************************************
% Les macros % Les macros
@ -97,14 +102,57 @@
\input{modeles/affichages.tex} \input{modeles/affichages.tex}
\input{modeles/tableau_competence.tex} \input{modeles/tableau_competence.tex}
\pagestyle{fancy}
\fancyhf{}
\renewcommand{\headrulewidth}{0pt}
\lfoot{ACD R\&T - Référentiel de Formation}
\rfoot{\thepage}
\begin{document} \begin{document}
% Les listes % Les listes
\renewcommand{\labelitemi}{$\bullet$} \renewcommand{\labelitemi}{$\bullet$}
\renewcommand{\labelitemii}{$\circ$} \renewcommand{\labelitemii}{$\circ$}
\maketitle % \maketitle
\thispagestyle{empty}
\begin{center}
~\\
\vskip 3cm
{\huge
{\em Bachelor Universitaire de Technologie}
\vskip 1cm
Réseaux et Télécommunications
}
\vskip 2cm
{\em Proposition de}
{\huge
Référentiel de formation
}
\vskip 2cm
\includegraphics[height=12mm]{img/logo_IUT_R_T_condense}
\vskip 1cm
{\Large
ACD R\&T
}
\vskip 5mm
\today
\vskip 2cm
\begin{boitepagetitre}
Document de travail formulant les propositions de l'ACD R\&T pour l'ensemble de la formation pour les deux premiers semestres (S1 et S2) de l'année universitaire 2021-2022.
\medskip
Élaboré par les enseignants des départements Réseaux et Télécommunications, sous la direction du groupe de travail constitué de~: Cléo Baras, Jean-Jacques Bascou, Christine Bolou-Chiaravalli, Anne-Sophie Capelle, Michel Gautero, Denis Genon-Catalot, Willy Guillemin, Said Hoceini, Fabrice Peyrard, Marie-Bernadette Piel et Emmanuel Viennet (Président de l'ACD).
\end{boitepagetitre}
\end{center}
\clearpage
% ------ TABLE DES MATIERES (en version draft seulement) % ------ TABLE DES MATIERES (en version draft seulement)
%\ifdef{\draft}{ %\ifdef{\draft}{
%\section*{Table des matières} %\section*{Table des matières}
@ -202,7 +250,7 @@
\section{Abbréviations} \section{Abbréviations}
\begin{multicols}{2} \begin{multicols}{2}\small
\input{synthese/abbreviations.tex} \input{synthese/abbreviations.tex}
\end{multicols} \end{multicols}

View File

@ -47,9 +47,9 @@ d'équipements et de prise en main des fonctions de base des systèmes
d'exploitation, l'étudiant découvrira les principaux concepts utilisés d'exploitation, l'étudiant découvrira les principaux concepts utilisés
dans les réseaux informatiques, et commencera à comprendre le rôle et dans les réseaux informatiques, et commencera à comprendre le rôle et
les principes des normes et protocoles essentiels des réseaux locaux, les principes des normes et protocoles essentiels des réseaux locaux,
comme Ethernet, \texttt{TCP}/\texttt{IP}, \texttt{DHCP}, \texttt{DNS}.\\ comme Ethernet, \textabbrv{TCP}/\textabbrv{IP}, \textabbrv{DHCP}, \textabbrv{DNS}.\\
On introduira des notions de sécurité informatique (les ressources On introduira des notions de sécurité informatique (les ressources
associées aux recommandations de l'\texttt{ANSSI}, CyberEdu, CyberMalveillance associées aux recommandations de l'\textabbrv{ANSSI}, CyberEdu, CyberMalveillance
pourront servir de support).} pourront servir de support).}
% Contenus % Contenus
@ -62,10 +62,10 @@ pourront servir de support).}
\item \item
Découverte et prise en main du réseau local Découverte et prise en main du réseau local
\item \item
Adressage \texttt{IP}v4 : classes d'adresses, masques naturels, adressage Adressage \textabbrv{IP}v4 : classes d'adresses, masques naturels, adressage
statique, adressage dynamique (\texttt{DHCP}) statique, adressage dynamique (\textabbrv{DHCP})
\item \item
Notion de routage, de passerelle et de serveur \texttt{DNS} Notion de routage, de passerelle et de serveur \textabbrv{DNS}
\end{itemize} \end{itemize}
\item \item
Bases du système d'exploitation Bases du système d'exploitation
@ -96,4 +96,4 @@ pourront servir de support).}
} }
% Mots-clés % Mots-clés
\ajoutRmotscles{Réseau, Système d'exploitation, \texttt{TCP}/\texttt{IP}, \texttt{LAN}, Hygiène informatique.} \ajoutRmotscles{Réseau, Système d'exploitation, \textabbrv{TCP}/\textabbrv{IP}, \textabbrv{LAN}, Hygiène informatique.}

View File

@ -51,9 +51,9 @@ les notions de services rendus et de performance du réseau.}
\item \item
Approche en couches et encapsulation. Approche en couches et encapsulation.
\item \item
Étude détaillée des protocoles Ethernet, \texttt{ARP}, \texttt{ICMP}. Étude détaillée des protocoles Ethernet, \textabbrv{ARP}, \textabbrv{ICMP}.
\item \item
Découverte des protocoles \texttt{IP}v4, \texttt{IP}v6, \texttt{ICMP}v6, \texttt{TCP}, \texttt{UDP} et des Découverte des protocoles \textabbrv{IP}v4, \textabbrv{IP}v6, \textabbrv{ICMP}v6, \textabbrv{TCP}, \textabbrv{UDP} et des
protocoles applicatifs. protocoles applicatifs.
\item \item
Topologies de réseaux. Topologies de réseaux.
@ -69,11 +69,11 @@ Des éléments relatifs à la sécurité et aux risques informatiques et
réseaux seront progressivement introduits au travers des différents réseaux seront progressivement introduits au travers des différents
contenus étudiés afin que ces éléments deviennent une préoccupation contenus étudiés afin que ces éléments deviennent une préoccupation
routinière. Les éléments de cybersécurité pourront être abordés via des routinière. Les éléments de cybersécurité pourront être abordés via des
exemples tels que l'\emph{arp-spoofing}, la prise d'empreintes via \texttt{ICMP}, exemples tels que l'\emph{arp-spoofing}, la prise d'empreintes via \textabbrv{ICMP},
des captures, la génération et analyse de trames. Des liens avec les des captures, la génération et analyse de trames. Des liens avec les
aspects sécurité informatique et réseaux mentionnés en R101 seront aspects sécurité informatique et réseaux mentionnés en R101 seront
également faits. également faits.
} }
% Mots-clés % Mots-clés
\ajoutRmotscles{Architecture en couches, Topologies, Protocoles, Modèle \texttt{TCP}/\texttt{IP}.} \ajoutRmotscles{Architecture en couches, Topologies, Protocoles, Modèle \textabbrv{TCP}/\textabbrv{IP}.}

View File

@ -46,10 +46,10 @@ quant à elle renforcée à travers la mise en place et la configuration de
matériels actifs comme des commutateurs, la gestion de la sûreté de matériels actifs comme des commutateurs, la gestion de la sûreté de
fonctionnement du réseau local Ethernet (\emph{spanning tree}) et la fonctionnement du réseau local Ethernet (\emph{spanning tree}) et la
participation à la sécurisation du système d'information dont il est le participation à la sécurisation du système d'information dont il est le
support (segmentation physique et virtuelle (\texttt{VLAN})). Ces deux support (segmentation physique et virtuelle (\textabbrv{VLAN})). Ces deux
compétences s'appuient sur la compréhension des mécanismes intrinsèques compétences s'appuient sur la compréhension des mécanismes intrinsèques
aux réseaux locaux Ethernet : adressage \texttt{MAC}, commutation/routage de aux réseaux locaux Ethernet : adressage \textabbrv{MAC}, commutation/routage de
niveau 2, \texttt{ARP}, passage d'un type de support physique à un autre, niveau 2, \textabbrv{ARP}, passage d'un type de support physique à un autre,
changements de débit, \ldots{}\\ changements de débit, \ldots{}\\
Elle contribue aussi à la compétence ``Créer des outils et applications Elle contribue aussi à la compétence ``Créer des outils et applications
informatiques pour les R\&T'' (RT3) à travers la découverte du poste informatiques pour les R\&T'' (RT3) à travers la découverte du poste
@ -66,20 +66,20 @@ client et de son environnement logiciel.}
\item \item
Normalisation Ethernet 802 (802.1, 802.2, 802.3). Normalisation Ethernet 802 (802.1, 802.2, 802.3).
\item \item
Commutation Ethernet : apprentissage des adresses \texttt{MAC}, diffusion, Commutation Ethernet : apprentissage des adresses \textabbrv{MAC}, diffusion,
Broadcast. Broadcast.
\item \item
Différents équipements actifs : commutateur, routeur\ldots{} Différents équipements actifs : commutateur, routeur\ldots{}
\item \item
Configuration d'un réseau segmenté en \texttt{VLAN}, lien multi-\texttt{VLAN}, Configuration d'un réseau segmenté en \textabbrv{VLAN}, lien multi-\textabbrv{VLAN},
communication inter-\texttt{VLAN}. communication inter-\textabbrv{VLAN}.
\item \item
Redondance et détection de boucles dans un réseau commuté: \texttt{STP}, Redondance et détection de boucles dans un réseau commuté: \textabbrv{STP},
\texttt{RSTP}\ldots{} \textabbrv{RSTP}\ldots{}
\end{itemize} \end{itemize}
Sur chaque thème, faire le lien avec les notions de cybersécurité Sur chaque thème, faire le lien avec les notions de cybersécurité
abordées en R101. abordées en R101.
} }
% Mots-clés % Mots-clés
\ajoutRmotscles{Réseaux locaux, Ethernet, Commutateurs, Routeurs, \texttt{VLAN}, 8021Q, 8021P, \texttt{STP}, \texttt{RSTP}.} \ajoutRmotscles{Réseaux locaux, Ethernet, Commutateurs, Routeurs, \textabbrv{VLAN}, 8021Q, 8021P, \textabbrv{STP}, \textabbrv{RSTP}.}

View File

@ -53,7 +53,7 @@ transmission.}
passante,\ldots{} ) à partir de mesures passante,\ldots{} ) à partir de mesures
et d'analyse des signaux et d'analyse des signaux
\item \item
Prolongement possible : recettage, certification \texttt{LAN}. Prolongement possible : recettage, certification \textabbrv{LAN}.
\end{itemize} \end{itemize}
} }

View File

@ -51,13 +51,13 @@ permettra aux étudiants de relier ces systèmes au monde extérieur.}
Codage des nombres, des caractères, des images. Codage des nombres, des caractères, des images.
\item \item
Fonctions logiques - Logique combinatoire et séquentielle - Notion Fonctions logiques - Logique combinatoire et séquentielle - Notion
d'\texttt{ALU}. d'\textabbrv{ALU}.
\item \item
Structure d'un processeur - Différents types de mémoires. Structure d'un processeur - Différents types de mémoires.
\item \item
Périphériques et entrées-sorties (par ex : \texttt{GPIO}, liaison série). Périphériques et entrées-sorties (par ex : \textabbrv{GPIO}, liaison série).
\end{itemize} \end{itemize}
} }
% Mots-clés % Mots-clés
\ajoutRmotscles{Nombres binaires, Codage, Fonctions logiques, Processeur, \texttt{ALU}.} \ajoutRmotscles{Nombres binaires, Codage, Fonctions logiques, Processeur, \textabbrv{ALU}.}

View File

@ -52,11 +52,11 @@ navigateur Web.}
\item \item
Utilisation avancée d'un navigateur Web Utilisation avancée d'un navigateur Web
\item \item
Structure d'un site Web : client-serveur, arborescence, \texttt{URL} Structure d'un site Web : client-serveur, arborescence, \textabbrv{URL}
\item \item
Structure d'une page : langage à balise, mise en forme et feuilles de Structure d'une page : langage à balise, mise en forme et feuilles de
styles (notions élémentaires styles (notions élémentaires
de \texttt{CSS}), notions de \emph{responsive design} de \textabbrv{CSS}), notions de \emph{responsive design}
\item \item
Contenu d'une page : éléments multimédia, encodage des caractères Contenu d'une page : éléments multimédia, encodage des caractères
\item \item
@ -66,4 +66,4 @@ navigateur Web.}
} }
% Mots-clés % Mots-clés
\ajoutRmotscles{Web, \texttt{HTML}, \texttt{CSS}, Client/serveur, Codage de l'information.} \ajoutRmotscles{Web, \textabbrv{HTML}, \textabbrv{CSS}, Client/serveur, Codage de l'information.}

View File

@ -31,7 +31,7 @@
% Le descriptif % Le descriptif
\ajoutRancrage{Le Projet Personnel et Professionnel (\texttt{PPP}) des semestres 1 et 2 de la \ajoutRancrage{Le Projet Personnel et Professionnel (\textabbrv{PPP}) des semestres 1 et 2 de la
première année de B.U.T. permet à l'étudiant : première année de B.U.T. permet à l'étudiant :
\begin{itemize} \begin{itemize}
\item \item

View File

@ -47,7 +47,7 @@ Dans le cadre de cette ressource transversale, l'étudiant devra :
\begin{itemize} \begin{itemize}
\item \item
Utilisation avancée du courriel : création d'une adresse générique, Utilisation avancée du courriel : création d'une adresse générique,
utilisation du \texttt{CC} et du \texttt{CCi}. utilisation du \textabbrv{CC} et du \textabbrv{CCi}.
\item \item
Utilisation d'outils collaboratifs adaptés (par ex : Mattermost, Utilisation d'outils collaboratifs adaptés (par ex : Mattermost,
Slack, MSTeams, Google Drive, Slack, MSTeams, Google Drive,
@ -55,7 +55,7 @@ Dans le cadre de cette ressource transversale, l'étudiant devra :
\end{itemize} \end{itemize}
\item \item
Organiser son travail et celui de l'équipe à partir d'outils de Organiser son travail et celui de l'équipe à partir d'outils de
planification (Gantt, \texttt{PERT}) planification (Gantt, \textabbrv{PERT})
\item \item
Prendre sa place dans une équipe en connaissant les différents rôles Prendre sa place dans une équipe en connaissant les différents rôles
d'une équipe projet d'une équipe projet

View File

@ -48,7 +48,7 @@ Elle contribue aussi à la compétence ``Créer des outils et applications
informatiques pour les R\&T'' (RT3) à travers la découverte du poste informatiques pour les R\&T'' (RT3) à travers la découverte du poste
client et de son environnement logiciel.\\ client et de son environnement logiciel.\\
On introduira des notions de sécurité informatique (les ressources On introduira des notions de sécurité informatique (les ressources
associées aux recommandations de l'\texttt{ANSSI}, CyberEdu, CyberMalveillance associées aux recommandations de l'\textabbrv{ANSSI}, CyberEdu, CyberMalveillance
pourront servir de support)} pourront servir de support)}
% Contenus % Contenus
@ -56,17 +56,17 @@ pourront servir de support)}
\vspace{-5pt} \vspace{-5pt}
\begin{itemize} \begin{itemize}
\item \item
Protocole et adressage \texttt{IP}v4\&6. Protocole et adressage \textabbrv{IP}v4\&6.
\item \item
Traduction d'adresses (\texttt{NAT}/PAT). Traduction d'adresses (\textabbrv{NAT}/PAT).
\item \item
Routage statique et routage dynamique (\texttt{OSPF}). Routage statique et routage dynamique (\textabbrv{OSPF}).
\item \item
\texttt{TCP}, \texttt{UDP}. \textabbrv{TCP}, \textabbrv{UDP}.
\item \item
Politiques de filtrage \texttt{ACL}. Politiques de filtrage \textabbrv{ACL}.
\end{itemize} \end{itemize}
} }
% Mots-clés % Mots-clés
\ajoutRmotscles{Plan d'adressage, Routage état de lien, Stratégies de filtrage, \texttt{CIDR}, \texttt{VLSM}, Agrégation de routes, \texttt{IP}v6, \texttt{NDP}.} \ajoutRmotscles{Plan d'adressage, routage état de lien, stratégies de filtrage, \textabbrv{CIDR}, \textabbrv{VLSM}, agrégation de routes, \textabbrv{IP}v6, \textabbrv{NDP}.}

View File

@ -52,18 +52,18 @@ client et de son environnement logiciel.}
\vspace{-5pt} \vspace{-5pt}
\begin{itemize} \begin{itemize}
\item \item
Gestion des systèmes de fichiers (volumes, droits, types de fichiers). Gestion des systèmes de fichiers (volumes, droits, types de fichiers)
\item \item
Gestion de processus et services. Gestion de processus et services
\item \item
Gestion de ressources utilisateurs (comptes, quotas). Gestion de ressources utilisateurs (comptes, quotas)
\item \item
Scripts pour l'automatisation de séquences de commandes. Scripts pour l'automatisation de séquences de commandes
\item \item
Utilisation de fichiers de traces (logs). Utilisation de fichiers de traces (logs)
\item \item
Initiation et mise en oeuvre d'infrastructures de virtualisation et/ou Initiation et mise en oeuvre d'infrastructures de virtualisation et/ou
de conteneurisation. de conteneurisation
\end{itemize} \end{itemize}
} }

View File

@ -39,14 +39,14 @@
\ajoutRancrage{Cette ressource apporte les connaissances et compétences de base \ajoutRancrage{Cette ressource apporte les connaissances et compétences de base
nécessaires à la mise en oeuvre des services réseaux dans un système nécessaires à la mise en oeuvre des services réseaux dans un système
d'information\\ d'information\\
Les services abordés sont des services essentiels à tout système Les services abordés sont des services essentiels à tout SI tels que le
d'information tels que le \texttt{DNS}, le \texttt{DHCP} ou le transfert de fichiers pour \textabbrv{DNS}, le \textabbrv{DHCP} ou le transfert de fichiers pour les configurations
les configurations d'appareils réseaux pour n'en citer que quelques-uns. d'appareils réseaux pour n'en citer que quelques-uns. Cette découverte
Cette découverte des premiers protocoles applicatifs permettra également des premiers protocoles applicatifs permettra également de sensibiliser
de sensibiliser les étudiants aux risques de sécurité liés à la les étudiants aux risques de sécurité liés à la configuration de ces
configuration de ces services\\ services\\
On introduira des notions de sécurité informatique (les ressources On introduira des notions de sécurité informatique (les ressources
associées aux recommandations de l'\texttt{ANSSI}, CyberEdu, CyberMalveillance associées aux recommandations de l'\textabbrv{ANSSI}, CyberEdu, CyberMalveillance
pourront servir de support).} pourront servir de support).}
% Contenus % Contenus
@ -54,25 +54,23 @@ pourront servir de support).}
\vspace{-5pt} \vspace{-5pt}
\begin{itemize} \begin{itemize}
\item \item
Rappels sur les protocoles de transport (\texttt{TCP}, \texttt{UDP}). Rappels sur les protocoles de transport (\textabbrv{TCP}, \textabbrv{UDP})
\item \item
Utilisation de ssh pour l'accès distant. Utilisation de ssh pour l'accès distant
\item \item
Principe, installation, configuration et tests des services : Principe, installation, configuration et tests des services :
\begin{itemize} \item
\item \textabbrv{DHCP}
\texttt{DHCP}; \item
\item \textabbrv{DNS} (fonctions de base)
\texttt{DNS} (fonctions de base); \item
\item \textabbrv{HTTP}
\texttt{HTTP}; \item
\item \textabbrv{TFTP}, \textabbrv{FTP}
\texttt{TFTP}, \texttt{FTP}; \item
\item \textabbrv{NTP}
\texttt{NTP}.
\end{itemize}
\end{itemize} \end{itemize}
} }
% Mots-clés % Mots-clés
\ajoutRmotscles{Protocoles et ports applicatifs, Services, Systèmes d'exploitation.} \ajoutRmotscles{Protocoles et ports applicatifs, services, systèmes d'exploitation.}

View File

@ -38,11 +38,11 @@
de mise en œuvre d'un système téléphonique d'entreprise. Il permettra de mise en œuvre d'un système téléphonique d'entreprise. Il permettra
d'aborder les différents types de téléphonie (hors téléphonie mobile) d'aborder les différents types de téléphonie (hors téléphonie mobile)
utilisés de nos jours, que ce soit sur un réseau dédié (téléphonie utilisés de nos jours, que ce soit sur un réseau dédié (téléphonie
analogique, numérique) ou un réseau partagé (\texttt{ToIP}). Une découverte des analogique, numérique) ou un réseau partagé (\textabbrv{ToIP}). Une découverte des
services téléphoniques utiles à la communication dans l'entreprise sera services téléphoniques utiles à la communication dans l'entreprise sera
réalisée, ainsi qu'une première approche des réseaux publics existants.\\ réalisée, ainsi qu'une première approche des réseaux publics existants.\\
En fonction du contexte local, on pourra orienter l'étude vers un réseau En fonction du contexte local, on pourra orienter l'étude vers un réseau
téléphonique mixte (\texttt{TDM}/\texttt{IP}) ou \texttt{ToIP}.} téléphonique mixte (\textabbrv{TDM}/\textabbrv{IP}) ou \textabbrv{ToIP}.}
% Contenus % Contenus
\ajoutRcontenudetaille{ \ajoutRcontenudetaille{
@ -58,7 +58,7 @@ téléphonique mixte (\texttt{TDM}/\texttt{IP}) ou \texttt{ToIP}.}
\item \item
Architectures des réseaux publics et privés (commutation, Architectures des réseaux publics et privés (commutation,
signalisation, services, normes de câblage, signalisation, services, normes de câblage,
\texttt{PoE}). \textabbrv{PoE}).
\item \item
Installation d'un système téléphonique d'entreprise Installation d'un système téléphonique d'entreprise
(insertion/raccordement de postes, connexion au (insertion/raccordement de postes, connexion au
@ -72,4 +72,4 @@ informatique.
} }
% Mots-clés % Mots-clés
\ajoutRmotscles{\texttt{IPBX}, \texttt{PABX}, \texttt{TDM}/\texttt{IP}, Postes et services téléphoniques, Visiophonie, Plan de numérotation, Réseaux téléphoniques publics.} \ajoutRmotscles{\textabbrv{IPBX}, \textabbrv{PABX}, \textabbrv{TDM}/\textabbrv{IP}, Postes et services téléphoniques, Visiophonie, Plan de numérotation, Réseaux téléphoniques publics.}

View File

@ -56,7 +56,7 @@ modifications ces signaux vont subir dans un système télécom.}
\item \item
Représentations temporelles et fréquentielles des signaux ; Analyse Représentations temporelles et fréquentielles des signaux ; Analyse
spectrale de signaux réels (par ex: spectrale de signaux réels (par ex:
audio, WiFi, \texttt{ADSL}, etc.). audio, WiFi, \textabbrv{ADSL}, etc.).
\item \item
Influence de la fonction de transfert d'un système sur un signal (par Influence de la fonction de transfert d'un système sur un signal (par
ex: audio, numérique, \ldots). ex: audio, numérique, \ldots).

View File

@ -62,4 +62,4 @@ en téléphonie, ou en télécommunications numériques.}
} }
% Mots-clés % Mots-clés
\ajoutRmotscles{Numérisation, Échantillonnage, Quantification, Acquisition/restitution, \texttt{CAN} et \texttt{CNA}.} \ajoutRmotscles{Numérisation, Échantillonnage, Quantification, Acquisition/restitution, \textabbrv{CAN} et \textabbrv{CNA}.}

View File

@ -40,15 +40,14 @@
% Le descriptif % Le descriptif
\ajoutRancrage{Le professionnel R\&T traite un grand nombre de données (par ex: \ajoutRancrage{Le professionnel R\&T traite un grand nombre de données (par ex:
l'annuaire des utilisateurs du réseau ou l'état des équipements l'annuaire des utilisateurs du réseau ou l'état des équipements
informatiques). Elles peuvent servir à configurer ou à administrer les informatiques). Elles peuvent servir à configurer et à administrer les
services réseau d'une entreprise (RT1) ou à alimenter les pages d'un services réseau d'une entreprise (RT1) ou à alimenter les pages d'un
site Web (RT3). Il est donc amené à stocker, organiser, gérer, protéger site Web (RT3). Il est donc amené à stocker, organiser, gérer, protéger
des données provenant de différentes sources (thématiques du des données provenant de différentes sources (thématiques du PIX,
\href{https://pix.fr/competences}{PIX}), mais aussi à les traiter en cf.~https://pix.fr/competences), mais aussi à les traiter en développant
développant différents outils informatiques pour ses besoins personnels différents outils informatiques pour ses besoins personnels ou pour son
ou pour son équipe (RT3). Plus largement, il contribue activement à équipe (RT3). Plus largement, il contribue activement à l'exploitation
l'exploitation et à la maintenance du système d'information de et à la maintenance du système d'information de l' entreprise.\\
l'entreprise.\\
Cette ressource introduit les éléments fondamentaux des systèmes de Cette ressource introduit les éléments fondamentaux des systèmes de
gestion de base de données. Elle présente différentes alternatives gestion de base de données. Elle présente différentes alternatives
technologiques pour le stockage et le codage de l'information, en technologiques pour le stockage et le codage de l'information, en
@ -63,13 +62,13 @@ langages et des scripts spécifiques qui seront introduits.}
Stockage et accès aux données : Stockage et accès aux données :
\begin{itemize} \begin{itemize}
\item \item
Système de gestion de données (relationnel/non relationnel); système de gestion de données (relationnel/non relationnel);
\item \item
Structuration des données: fichiers (\texttt{CSV}, \texttt{JSON}), exemples de sources structuration des données: fichiers (\textabbrv{CSV}, \textabbrv{JSON}), exemples de sources
ouvertes (\emph{open data}), \emph{web scraping}; ouvertes (open data), web scraping;
\item \item
Sensibilisation à la réglementation française et internationale sensibilisation à la réglementation française et internationale
(\texttt{CNIL}, \texttt{RGPD}). (\textabbrv{CNIL}, \textabbrv{RGPD}).
\end{itemize} \end{itemize}
\item \item
Base de données relationnelles : Base de données relationnelles :
@ -84,7 +83,7 @@ langages et des scripts spécifiques qui seront introduits.}
Interrogation de données, ajout et modification de données. Interrogation de données, ajout et modification de données.
\end{itemize} \end{itemize}
\item \item
Lecture d'une documentation technique (\texttt{UML}, diagramme de classes) Lecture d'une documentation technique (\textabbrv{UML}, diagramme de classes)
\end{itemize} \end{itemize}
L'utilisation de l'anglais est préconisée dans la documentation du code. L'utilisation de l'anglais est préconisée dans la documentation du code.
} }

View File

@ -37,14 +37,15 @@
% Le descriptif % Le descriptif
\ajoutRancrage{Le professionnel R\&T est amené à développer différents outils \ajoutRancrage{Le professionnel R\&T est amené à développer différents outils
informatiques à usage personnel ou interne à l'équipe (RT3). Ces outils informatiques à usage personnel ou interne à l'équipe (compétence
peuvent traiter des données complexes, viser des fonctionnalités RT3-Programmer). Ces outils peuvent traiter des données complexes, viser
multiples et être développé en équipe : il est alors nécessaire - pour des fonctionnalités multiples et être développé en équipe : il est alors
le professionnel R\&T - de structurer son travail, tant sur les nécessaire - pour le professionnel R\&T - de structurer son travail,
variables manipulant les données, les fichiers qui les sauvegardent ou tant sur les variables manipulant les données, les fichiers qui les
les restaurent, que sur l'organisation (arborescence) de son projet. La sauvegardent ou les restaurent, que sur l'organisation (arborescence) de
ressource introduit ses éléments structurels en contribuant à son projet. La ressource introduit ses éléments structurels en
l'acquisition des apprentissages critiques mentionnés précédemment.} contribuant à l'acquisition des apprentissages critiques mentionnés
précédemment.}
% Contenus % Contenus
\ajoutRcontenudetaille{ \ajoutRcontenudetaille{
@ -52,35 +53,35 @@ l'acquisition des apprentissages critiques mentionnés précédemment.}
\begin{itemize} \begin{itemize}
\item \item
Structure d'un programme : arborescence de fichiers, modules et Structure d'un programme : arborescence de fichiers, modules et
packages. packages
\item \item
Contexte d'exécution : programme principal \emph{vs} script. Contexte d'exécution : programme principal vs script
\item \item
Structure complexe de données : Structure complexe de données :
\begin{itemize} \begin{itemize}
\item \item
Listes \texttt{2D}, tableaux associatifs/dictionnaires; listes \textabbrv{2D}, tableaux associatifs/dictionnaires
\item \item
Notion de classes (instance, attributs, méthodes). notion de classes (instance, attributs, méthodes)
\end{itemize} \end{itemize}
\item \item
Manipulation de fichiers avancée : Manipulation de fichiers avancée :
\begin{itemize} \begin{itemize}
\item \item
Fichiers structurés (\texttt{XML}, \texttt{CSV}, \texttt{JSON}, YAML); fichiers structurés (\textabbrv{XML}, \textabbrv{CSV}, \textabbrv{JSON}, YAML)
\item \item
Gestion de l'arborescence par le code; gestion de l'arborescence par le code
\item \item
Lecture/écriture de fichiers structurés; lecture/écriture de fichiers structurés
\item \item
Notion de sérialisation; notion de sérialisation
\item \item
Notion de persistance des données. notion de persistance des données
\end{itemize} \end{itemize}
\item \item
Initiation aux expressions régulières. Initiation aux expressions régulières
\item \item
Introduction au traitement des erreurs. Introduction au traitement des erreurs
\end{itemize} \end{itemize}
L'utilisation de l'anglais est préconisée dans la documentation du code. L'utilisation de l'anglais est préconisée dans la documentation du code.
} }

View File

@ -48,7 +48,7 @@ Il doit en appréhender tous les éléments : il doit aussi bien connaître
les protocoles de communication du Web que veiller à la sécurité de les protocoles de communication du Web que veiller à la sécurité de
ceux-ci. Il doit également pouvoir accéder, traiter et afficher des ceux-ci. Il doit également pouvoir accéder, traiter et afficher des
informations provenant de différentes sources de données telles que des informations provenant de différentes sources de données telles que des
\texttt{SGBD}, des \texttt{API} ou des fichiers structurés. La présente ressource \textabbrv{SGBD}, des \textabbrv{API} ou des fichiers structurés. La présente ressource
contribue de fait aux apprentissages critiques mentionnés précédemment.} contribue de fait aux apprentissages critiques mentionnés précédemment.}
% Contenus % Contenus
@ -56,31 +56,31 @@ contribue de fait aux apprentissages critiques mentionnés précédemment.}
\vspace{-5pt} \vspace{-5pt}
\begin{itemize} \begin{itemize}
\item \item
Introduction au protocole \texttt{HTTP}. Introduction au protocole \textabbrv{HTTP}.
\item \item
Mise en forme de pages Web : Mise en forme de pages Web :
\begin{itemize} \begin{itemize}
\item \item
Balises \texttt{HTML} avancées; Balises \textabbrv{HTML} avancées;
\item \item
Structure d'une page avec son \texttt{DOM}; Structure d'une page avec son \textabbrv{DOM};
\item \item
\texttt{CSS} avancé ou \emph{Framework}; \textabbrv{CSS} avancé ou \emph{Framework};
\item \item
Initiation au dynamisme côté client (JavaScript, jQuery, \ldots). Initiation au dynamisme côté client (JavaScript, jQuery, \ldots).
\end{itemize} \end{itemize}
\item \item
Scripts côté serveur. Scripts côté serveur.
\item \item
Éléments d'interaction client-serveur (requête \texttt{HTTP}, \texttt{URL}, formulaire). Éléments d'interaction client-serveur (requête \textabbrv{HTTP}, \textabbrv{URL}, formulaire).
\item \item
Interrogation d'un \texttt{SGBD} ou d'une \texttt{API}. Interrogation d'un \textabbrv{SGBD} ou d'une \textabbrv{API}.
\item \item
Sensibilisation à la sécurisation de sites : failles \texttt{XSS}/\texttt{XSS} Sensibilisation à la sécurisation de sites : failles \textabbrv{XSS}/\textabbrv{XSS}
stockée/injections \texttt{SQL}. stockée/injections \textabbrv{SQL}.
\end{itemize} \end{itemize}
L'utilisation de l'anglais est préconisée dans la documentation du code. L'utilisation de l'anglais est préconisée dans la documentation du code.
} }
% Mots-clés % Mots-clés
\ajoutRmotscles{Web, Développement, Algorithmes, \texttt{SGBD}, \texttt{API}, Sécurité, Environnement client-serveur.} \ajoutRmotscles{Web, Développement, Algorithmes, \textabbrv{SGBD}, \textabbrv{API}, Sécurité, Environnement client-serveur.}

View File

@ -53,7 +53,7 @@ contexte professionnel technique.}
téléphonique, visioconférence, téléphonique, visioconférence,
réunion, débat). réunion, débat).
\item \item
Présenter son parcours professionnel à l'oral et à l'écrit (\texttt{CV}, lettre Présenter son parcours professionnel à l'oral et à l'écrit (\textabbrv{CV}, lettre
de motivation, entretien). de motivation, entretien).
\item \item
Analyser des problèmes et proposer des solutions. Analyser des problèmes et proposer des solutions.
@ -63,7 +63,7 @@ contexte professionnel technique.}
Développer le vocabulaire technique des domaines cibles. Développer le vocabulaire technique des domaines cibles.
\item \item
Extensions possibles : télécollaboration, télétandem, parcours Extensions possibles : télécollaboration, télétandem, parcours
international, dispositif \texttt{EMILE}. international, dispositif \textabbrv{EMILE}.
\end{itemize} \end{itemize}
} }

View File

@ -81,4 +81,4 @@ Les activités notamment proposées dans cette ressource sont :
} }
% Mots-clés % Mots-clés
\ajoutRmotscles{\texttt{CV}, Lettre de motivation, Entretien de recrutement, Stage, Alternance.} \ajoutRmotscles{\textabbrv{CV}, Lettre de motivation, Entretien de recrutement, Stage, Alternance.}

View File

@ -57,7 +57,7 @@ l'exploitation d'algorithmes mis en œuvre via un outil informatique.}
Convergence d'une suite (opérations sur les limites) Convergence d'une suite (opérations sur les limites)
\end{itemize} \end{itemize}
\item \item
Vecteurs en \texttt{2D} et \texttt{3D} Vecteurs en \textabbrv{2D} et \textabbrv{3D}
\begin{itemize} \begin{itemize}
\item \item
Définitions Définitions

View File

@ -36,7 +36,7 @@ conscient, averti et responsable. L'hygiène informatique et les bonnes
pratiques de l'usage du numérique sont des connaissances que doivent pratiques de l'usage du numérique sont des connaissances que doivent
maîtriser et appliquer les étudiants avant d'aller en stage/alternance maîtriser et appliquer les étudiants avant d'aller en stage/alternance
en entreprise, où ils devront respecter la charte informatique imposée en entreprise, où ils devront respecter la charte informatique imposée
par la \texttt{DSI}. A plus long terme, en tant que professionnels des services par la \textabbrv{DSI}. A plus long terme, en tant que professionnels des services
informatiques de l'entreprise, ils auront à leur tour à charge de informatiques de l'entreprise, ils auront à leur tour à charge de
sensibiliser les utilisateurs et de leur faire connaître et accepter la sensibiliser les utilisateurs et de leur faire connaître et accepter la
charte de bon usage des moyens informatiques.} charte de bon usage des moyens informatiques.}

View File

@ -19,7 +19,7 @@ On pourra faire un focus particulier sur les points suivants:
\item \item
Sécurité numérique : sauvegardez vos données régulièrement; Sécurité numérique : sauvegardez vos données régulièrement;
\item \item
Appliquez les mises à jour de sécurité sur tous vos appareils (\texttt{PC}, Appliquez les mises à jour de sécurité sur tous vos appareils (\textabbrv{PC},
tablettes, téléphones\ldots), et ce, tablettes, téléphones\ldots), et ce,
dès qu'elles vous sont proposées; dès qu'elles vous sont proposées;
\item \item
@ -40,10 +40,10 @@ On pourra faire un focus particulier sur les points suivants:
sur l'usage d'un faux point d'accès WiFi et de collecter des sur l'usage d'un faux point d'accès WiFi et de collecter des
identifiants de réseaux sociaux, \ldots; identifiants de réseaux sociaux, \ldots;
\item \item
Analysez les trames non chiffrées des protocoles (\texttt{TELNET}, \texttt{FTP}, \texttt{SMTP}, Analysez les trames non chiffrées des protocoles (\textabbrv{TELNET}, \textabbrv{FTP}, \textabbrv{SMTP},
\texttt{POP}, \texttt{IMAP}, \texttt{RTP}, \ldots) avec Wireshark, \textabbrv{POP}, \textabbrv{IMAP}, \textabbrv{RTP}, \ldots) avec Wireshark,
en extraire des champs significatifs avec Analyse/Follow/\texttt{TCP} Stream en extraire des champs significatifs avec Analyse/Follow/\textabbrv{TCP} Stream
(ou \texttt{HTTP} Stream). On peut utiliser (ou \textabbrv{HTTP} Stream). On peut utiliser
un site Web (création personnelle ou sur Internet) contenant un un site Web (création personnelle ou sur Internet) contenant un
formulaire d'enregistrement formulaire d'enregistrement
(ex: \url{http://www.supportduweb.com/signup.html}); (ex: \url{http://www.supportduweb.com/signup.html});
@ -57,7 +57,7 @@ On pourra également utiliser les supports :
Cybermalveillance: Cybermalveillance:
\url{https://www.cybermalveillance.gouv.fr/bonnes-pratiques} \url{https://www.cybermalveillance.gouv.fr/bonnes-pratiques}
\item \item
\texttt{MOOC} \texttt{ANSSI}: \url{https://secnumacademie.gouv.fr/} \textabbrv{MOOC} \textabbrv{ANSSI}: \url{https://secnumacademie.gouv.fr/}
\end{itemize} \end{itemize}
} }

View File

@ -14,11 +14,11 @@ On pourra faire un focus particulier sur les points suivants:
\item \item
L'arnaque au faux support technique; L'arnaque au faux support technique;
\item \item
Les attaques en déni de service (\texttt{DDoS}); Les attaques en déni de service (\textabbrv{DDoS});
\item \item
Chantage à l'ordinateur ou à la webcam prétendus piratés; Chantage à l'ordinateur ou à la webcam prétendus piratés;
\item \item
L'escroquerie aux faux ordres de virement (\texttt{FOVI}); L'escroquerie aux faux ordres de virement (\textabbrv{FOVI});
\item \item
La défiguration de site Internet; La défiguration de site Internet;
\item \item
@ -46,7 +46,7 @@ On pourra également utiliser les supports:
Cybermalveillance: Cybermalveillance:
\url{https://www.cybermalveillance.gouv.fr/bonnes-pratiques} \url{https://www.cybermalveillance.gouv.fr/bonnes-pratiques}
\item \item
\texttt{MOOC} \texttt{ANSSI}: \url{https://secnumacademie.gouv.fr/} \textabbrv{MOOC} \textabbrv{ANSSI}: \url{https://secnumacademie.gouv.fr/}
\end{itemize} \end{itemize}
} }

View File

@ -39,7 +39,7 @@ d'une bonne hygiène informatique, en découvrant :
\item \item
les dépassement de tampon; les dépassement de tampon;
\item \item
les usurpations diverses (\texttt{ARP}, \texttt{DNS}, \ldots); les usurpations diverses (\textabbrv{ARP}, \textabbrv{DNS}, \ldots);
\item \item
les écoutes de réseau. les écoutes de réseau.
\end{itemize} \end{itemize}
@ -50,7 +50,7 @@ On pourra également utiliser les supports :
Cybermalveillance: Cybermalveillance:
\url{https://www.cybermalveillance.gouv.fr/bonnes-pratiques} \url{https://www.cybermalveillance.gouv.fr/bonnes-pratiques}
\item \item
\texttt{MOOC} \texttt{ANSSI}: \url{https://secnumacademie.gouv.fr/} \textabbrv{MOOC} \textabbrv{ANSSI}: \url{https://secnumacademie.gouv.fr/}
\item \item
Malette CyberEdu: Malette CyberEdu:
\url{https://www.ssi.gouv.fr/entreprise/formations/secnumedu/contenu-pedagogique-cyberedu/} \url{https://www.ssi.gouv.fr/entreprise/formations/secnumedu/contenu-pedagogique-cyberedu/}

View File

@ -14,25 +14,25 @@ caractéristiques de consommation d'énergie des équipements du réseau.}
\ajoutESdescription{ \ajoutESdescription{
Il s'agit de comprendre l'agencement des briques réseaux (accès au Il s'agit de comprendre l'agencement des briques réseaux (accès au
réseau Internet, Box en général), des équipements (routeur, switch, réseau Internet, Box en général), des équipements (routeur, switch,
firewall, WiFi), des terminaux (\texttt{PC}, smartphone, imprimantes, consoles de firewall, WiFi), des terminaux (\textabbrv{PC}, smartphone, imprimantes, consoles de
jeux, media-center, \texttt{NAS}, \ldots) et des protocoles (\texttt{IP}, \texttt{DHCP}, \texttt{DNS}, Mail, jeux, media-center, \textabbrv{NAS}, \ldots) et des protocoles (\textabbrv{IP}, \textabbrv{DHCP}, \textabbrv{DNS}, Mail,
Web, \ldots) qui permettent leur fonctionnement.\\ Web, \ldots) qui permettent leur fonctionnement.\\
On peut s'appuyer sur le réseau domestique de chaque étudiant avec une On peut s'appuyer sur le réseau domestique de chaque étudiant avec une
Box d'accès Internet (\texttt{xDSL}, \texttt{FO}), ou bien une maquette TP avec un routeur Box d'accès Internet (\textabbrv{xDSL}, \textabbrv{FO}), ou bien une maquette TP avec un routeur
de sortie accédant à Internet via les ressources informatiques du de sortie accédant à Internet via les ressources informatiques du
département.On peut caractériser simplement l'adressage \texttt{IP}v4 dynamique, département.On peut caractériser simplement l'adressage \textabbrv{IP}v4 dynamique,
le masque de sous-réseaux, la passerelle par défaut, les serveurs \texttt{DNS}.\\ le masque de sous-réseaux, la passerelle par défaut, les serveurs \textabbrv{DNS}.\\
On peut également faire paramétrer un adressage \texttt{IP}v4 statique sur un On peut également faire paramétrer un adressage \textabbrv{IP}v4 statique sur un
poste client.On peut s'appuyer sur les commandes de base: poste client.On peut s'appuyer sur les commandes de base:
\texttt{ipconfig}, \texttt{ifconfig}, \texttt{ip}, \texttt{ping}, \texttt{ipconfig}, \texttt{ifconfig}, \texttt{ip}, \texttt{ping},
\texttt{arp}, \texttt{traceroute}, \texttt{arp-scan} \texttt{arp}, \texttt{traceroute}, \texttt{arp-scan}
(\emph{ArpCacheWatch} sous Windows) pour lister les adresses \texttt{MAC} (\emph{ArpCacheWatch} sous Windows) pour lister les adresses \textabbrv{MAC}
présentes dans le réseau local.\\ présentes dans le réseau local.\\
On peut faire découvrir les outils pour connaître son adresse \texttt{IP} On peut faire découvrir les outils pour connaître son adresse \textabbrv{IP}
Publique : Publique :
\url{https://github.com/VREMSoftwareDevelopment/WiFiAnalyzer}.\\ \url{https://github.com/VREMSoftwareDevelopment/WiFiAnalyzer}.\\
Enfin, on pourra initier les étudiants les plus avancés à l'usage de la Enfin, on pourra initier les étudiants les plus avancés à l'usage de la
distribution Linux Kali en \texttt{VM} avec l'outil \texttt{nmap} pour découvrir distribution Linux Kali en \textabbrv{VM} avec l'outil \texttt{nmap} pour découvrir
(en interne) les ports ouverts sur les équipements du réseau local (en interne) les ports ouverts sur les équipements du réseau local
domestique. Bien expliquer que l'usage de cet outil de test de domestique. Bien expliquer que l'usage de cet outil de test de
pénétration doit être réalisé en respectant l'éthique. pénétration doit être réalisé en respectant l'éthique.

View File

@ -5,9 +5,9 @@
\nouvelexemple{Concevoir un réseau informatique pour une manifestation évènementielle} \nouvelexemple{Concevoir un réseau informatique pour une manifestation évènementielle}
\ajoutESproblematique{L'objectif est d'être capable d'installer un réseau informatique avec \ajoutESproblematique{L'objectif est d'être capable d'installer un réseau informatique avec
l'interconnexion de switches, un routeur d'accès Internet (\texttt{FO} ou \texttt{4G}), un l'interconnexion de switches, un routeur d'accès Internet (\textabbrv{FO} ou \textabbrv{4G}), un
point d'accès WiFi, savoir effectuer la segmentation du réseau, point d'accès WiFi, savoir effectuer la segmentation du réseau,
configurer le plan d'adressage (statique/\texttt{DHCP}) et le routage, configurer le plan d'adressage (statique/\textabbrv{DHCP}) et le routage,
installation des postes clients (Windows, Linux) pour les utilisateurs.} installation des postes clients (Windows, Linux) pour les utilisateurs.}
\ajoutESdescription{ \ajoutESdescription{
@ -15,7 +15,7 @@ Il s'agit de répondre au cahier des charges, savoir dimensionner les
puissances électriques de l'installation réseau et télécom, savoir puissances électriques de l'installation réseau et télécom, savoir
dimensionner les équipements du réseau, assurer l'interconnexion d'une dimensionner les équipements du réseau, assurer l'interconnexion d'une
installation temporaire, garantir la sécurité des ports des switchs, installation temporaire, garantir la sécurité des ports des switchs,
utiliser des \texttt{VLAN} distincts (\emph{data}, \emph{management}), mettre en utiliser des \textabbrv{VLAN} distincts (\emph{data}, \emph{management}), mettre en
place une politique sécurisée de mots de passe (utilisateurs, place une politique sécurisée de mots de passe (utilisateurs,
équipements), savoir monitorer les éléments actifs et observer le trafic équipements), savoir monitorer les éléments actifs et observer le trafic
sur réseau, savoir diagnostiquer les dysfonctionnements. sur réseau, savoir diagnostiquer les dysfonctionnements.

View File

@ -22,7 +22,7 @@ d'en permettre leur administration dans l'avenir.\\
Une fois le réseau fonctionnel, définition d'un poste comme point Une fois le réseau fonctionnel, définition d'un poste comme point
d'administration. Ce poste dispose d'un accès à une interface de d'administration. Ce poste dispose d'un accès à une interface de
commande (console et ssh sur routeur et switch) et d'une interface commande (console et ssh sur routeur et switch) et d'une interface
capturant le trafic sur lien inter-\texttt{VLAN}. Possibilité d'analyser les flux capturant le trafic sur lien inter-\textabbrv{VLAN}. Possibilité d'analyser les flux
sur grâce aux outils de capture des trames (Tcpdump, Wireshark).\\ sur grâce aux outils de capture des trames (Tcpdump, Wireshark).\\
En synthèse, l'étudiant sera confronté à : En synthèse, l'étudiant sera confronté à :
\begin{itemize} \begin{itemize}
@ -31,7 +31,7 @@ En synthèse, l'étudiant sera confronté à :
\item \item
Construction (sertissage) des câbles et recettes de conformité. Construction (sertissage) des câbles et recettes de conformité.
\item \item
Déploiement et configuration d'un \texttt{LAN} multi-réseaux, multi-\texttt{VLAN}. Déploiement et configuration d'un \textabbrv{LAN} multi-réseaux, multi-\textabbrv{VLAN}.
\item \item
Déploiement des postes clients communicants. Déploiement des postes clients communicants.
\item \item

View File

@ -6,8 +6,8 @@
\ajoutESproblematique{Il s'agit de configurer un RaspberryPI pour que l'on puisse le \ajoutESproblematique{Il s'agit de configurer un RaspberryPI pour que l'on puisse le
programmer sans avoir à toujours y brancher un écran et un clavier mais programmer sans avoir à toujours y brancher un écran et un clavier mais
en y accédant simplement en \texttt{SSH}, peu important le réseau sur lequel il en y accédant simplement en \textabbrv{SSH}, peu important le réseau sur lequel il
est connecté. On peut placer sur le Raspberry une \texttt{LED} qui s'allumerait est connecté. On peut placer sur le Raspberry une \textabbrv{LED} qui s'allumerait
et pour les plus avancés une photoRésistance (avec un pont diviseur et pour les plus avancés une photoRésistance (avec un pont diviseur
entre photorésistance et une résistance de 10kOhms) pour récupérer la entre photorésistance et une résistance de 10kOhms) pour récupérer la
valeur de la luminosité ambiante.} valeur de la luminosité ambiante.}
@ -19,19 +19,19 @@ Les étapes à réaliser seraient les suivantes :
\begin{itemize} \begin{itemize}
\item \item
Connecter un Raspberry PI avec un clavier un écran et récupérer son Connecter un Raspberry PI avec un clavier un écran et récupérer son
adresse \texttt{MAC}. adresse \textabbrv{MAC}.
\item \item
Changer le login et le mot de passe par défaut. Changer le login et le mot de passe par défaut.
\item \item
Activer \texttt{SSH} sur le Raspberry PI. Récupérer l'adresse \texttt{IP} en \texttt{DHCP}. Voir Activer \textabbrv{SSH} sur le Raspberry PI. Récupérer l'adresse \textabbrv{IP} en \textabbrv{DHCP}. Voir
comment accéder en \texttt{SSH}. comment accéder en \textabbrv{SSH}.
\item \item
Débrancher le Raspberry PI et le brancher sur un autre réseau Débrancher le Raspberry PI et le brancher sur un autre réseau
ailleurs. Puis utiliser les commandes ailleurs. Puis utiliser les commandes
\texttt{SSH} pour retrouver l'adresse de la carte sur le nouveau réseau et \textabbrv{SSH} pour retrouver l'adresse de la carte sur le nouveau réseau et
communiquer avec elle. communiquer avec elle.
\item \item
Utiliser via \texttt{SSH} le Raspberry PI pour allumer la \texttt{LED} qui est connectée Utiliser via \textabbrv{SSH} le Raspberry PI pour allumer la \textabbrv{LED} qui est connectée
et pour les plus avancés récupérer et pour les plus avancés récupérer
la valeur du capteur (Photorésistance) pour évaluer la luminosité dans la valeur du capteur (Photorésistance) pour évaluer la luminosité dans
la pièce où on a placé la carte. la pièce où on a placé la carte.

View File

@ -52,7 +52,7 @@ L'évaluation s'appuiera sur tout ou partie des éléments suivants :
\item \item
rapport de mesures; rapport de mesures;
\item \item
\texttt{QCM} sur les mesures; \textabbrv{QCM} sur les mesures;
\item \item
grille de suivi du travail; grille de suivi du travail;
\item \item

View File

@ -8,7 +8,7 @@
(atténuation, bande passante, catégorie ou norme) et/ou analyser un (atténuation, bande passante, catégorie ou norme) et/ou analyser un
schéma de câblage cuivre, de caractériser par des mesures le support schéma de câblage cuivre, de caractériser par des mesures le support
cuivre (retard de propagation, atténuation, continuité, échos, bruit, cuivre (retard de propagation, atténuation, continuité, échos, bruit,
perturbations, identifier un défaut) voire de certifier un câblage \texttt{LAN} perturbations, identifier un défaut) voire de certifier un câblage \textabbrv{LAN}
cuivre afin de comprendre les principaux critères de choix d'un support cuivre afin de comprendre les principaux critères de choix d'un support
et/ou de savoir présenter des résultats à un client ou un collaborateur.\\ et/ou de savoir présenter des résultats à un client ou un collaborateur.\\
L'étudiant saura mobiliser les compétences pour réaliser des mesures ou L'étudiant saura mobiliser les compétences pour réaliser des mesures ou
@ -41,7 +41,7 @@ Exemples de mise en oeuvre :
\item \item
Mesure temporelle (échelon, sinus), retard de propagation, Mesure temporelle (échelon, sinus), retard de propagation,
atténuation,échos (réflexion), perturbations, atténuation,échos (réflexion), perturbations,
(\texttt{GBF}, oscillo, câble); (\textabbrv{GBF}, oscillo, câble);
\item \item
Vérifier la conformité par rapport à un cahier des charges, une norme, Vérifier la conformité par rapport à un cahier des charges, une norme,
ou une réglementation, comme ou une réglementation, comme
@ -71,7 +71,7 @@ On pourra s'appuyer sur:
\item \item
rapport de mesures ; rapport de mesures ;
\item \item
\texttt{QCM} sur les mesures; \textabbrv{QCM} sur les mesures;
\item \item
grille de suivi du travail; grille de suivi du travail;
\item \item

View File

@ -8,7 +8,7 @@
de mesure et/ou de mettre en place une liaison optique et/ou d'analyser de mesure et/ou de mettre en place une liaison optique et/ou d'analyser
la structure d'une liaison optique, de caractériser par des mesures le la structure d'une liaison optique, de caractériser par des mesures le
support fibre optique (crayon optique, sonde d'inspection, photométrie, support fibre optique (crayon optique, sonde d'inspection, photométrie,
identifier un défaut, \ldots) voire de certifier un câblage \texttt{LAN} fibre identifier un défaut, \ldots) voire de certifier un câblage \textabbrv{LAN} fibre
optique. L'étudiant pourra ainsi comprendre les principaux critères de optique. L'étudiant pourra ainsi comprendre les principaux critères de
choix d'un support et/ou de savoir présenter des résultats à un client choix d'un support et/ou de savoir présenter des résultats à un client
ou un collaborateur.\\ ou un collaborateur.\\
@ -54,7 +54,7 @@ On pourra s'appuyer sur:
\item \item
rapport de mesures; rapport de mesures;
\item \item
\texttt{QCM} sur les mesures; \textabbrv{QCM} sur les mesures;
\item \item
grille de suivi du travail; grille de suivi du travail;
\item \item

View File

@ -8,7 +8,7 @@
de mesure et/ou de mettre en place une liaison radio et/ou d'analyser la de mesure et/ou de mettre en place une liaison radio et/ou d'analyser la
structure d'une liaison radio, de caractériser par des mesures le structure d'une liaison radio, de caractériser par des mesures le
support radio (atténuation, effet des interférences, \ldots) voire de support radio (atténuation, effet des interférences, \ldots) voire de
certifier un câblage \texttt{LAN}. L'étudiant pourra ainsi comprendre les certifier un câblage \textabbrv{LAN}. L'étudiant pourra ainsi comprendre les
principaux critères de choix d'un support et/ou de savoir présenter des principaux critères de choix d'un support et/ou de savoir présenter des
résultats à un client ou un collaborateur.\\ résultats à un client ou un collaborateur.\\
L'étudiant saura mobiliser les compétences pour réaliser des mesures ou L'étudiant saura mobiliser les compétences pour réaliser des mesures ou
@ -53,7 +53,7 @@ On pourra s'appuyer sur:
\item \item
rapport de mesures ; rapport de mesures ;
\item \item
\texttt{QCM} sur les mesures; \textabbrv{QCM} sur les mesures;
\item \item
grille de suivi du travail; grille de suivi du travail;
\item \item

View File

@ -17,7 +17,7 @@ rédiger un compte-rendu de mesure.}
L'entreprise demande à l'étudiant de caractériser par des mesures un ou L'entreprise demande à l'étudiant de caractériser par des mesures un ou
plusieurs types de supports (retard de propagation, atténuation, plusieurs types de supports (retard de propagation, atténuation,
continuité, échos, bruit, perturbations, identifier un défaut) voire de continuité, échos, bruit, perturbations, identifier un défaut) voire de
certifier un câblage \texttt{LAN} (cuivre, fibre, radio) afin de comprendre et certifier un câblage \textabbrv{LAN} (cuivre, fibre, radio) afin de comprendre et
comparer les principaux critères de choix d'un support et/ou de savoir comparer les principaux critères de choix d'un support et/ou de savoir
présenter des résultats à un client ou un collaborateur.\\ présenter des résultats à un client ou un collaborateur.\\
L'étudiant devra s'appuyer sur ses connaissances, notamment les concepts L'étudiant devra s'appuyer sur ses connaissances, notamment les concepts
@ -50,9 +50,9 @@ Exemples de mise en oeuvre :
\item \item
sur un support cuivre : mesure temporelle (échelon, sinus), retard de sur un support cuivre : mesure temporelle (échelon, sinus), retard de
propagation, atténuation,échos propagation, atténuation,échos
(réflexion), perturbations, (\texttt{GBF}, oscillo, câble); (réflexion), perturbations, (\textabbrv{GBF}, oscillo, câble);
\item \item
sur un support \texttt{FO} : soudure, crayon optique, sonde d'inspection, sur un support \textabbrv{FO} : soudure, crayon optique, sonde d'inspection,
photométrie; photométrie;
\item \item
sur un support radio : atténuation,\ldots{} sur un support radio : atténuation,\ldots{}
@ -70,7 +70,7 @@ On pourra s'appuyer sur:
\item \item
rapport de mesures ; rapport de mesures ;
\item \item
\texttt{QCM} sur les mesures; \textabbrv{QCM} sur les mesures;
\item \item
grille de suivi du travail; grille de suivi du travail;
\item \item

View File

@ -36,13 +36,13 @@ Le contenu du site pourra par exemple :
Un affichage en anglais de tout ou partie pourra être envisagé.\\ Un affichage en anglais de tout ou partie pourra être envisagé.\\
Une attention particulière sera portée sur les contenus eux-mêmes qui Une attention particulière sera portée sur les contenus eux-mêmes qui
pourront par exemple être travaillés de concert avec les enseignants de pourront par exemple être travaillés de concert avec les enseignants de
communication, d'anglais, de \texttt{PPP} et d'informatique.\\ communication, d'anglais, de \textabbrv{PPP} et d'informatique.\\
La réalisation pourra éventuellement utiliser un système de gestion de La réalisation pourra éventuellement utiliser un système de gestion de
contenu (CMS, par exemple Wordpress).\\ contenu (CMS, par exemple Wordpress).\\
Le travail pourra être intégré au portfolio de l'étudiant. Le travail pourra être intégré au portfolio de l'étudiant.
} }
\ajoutESformes{TP, projet, séminaire de traces dans le cadre du \texttt{PPP}.} \ajoutESformes{TP, projet, séminaire de traces dans le cadre du \textabbrv{PPP}.}

View File

@ -63,7 +63,7 @@ différentes étapes :
\item \item
de sites web ; de sites web ;
\item \item
d'\texttt{API}, par exemple l'\texttt{API} Google pour cartographie permettant de d'\textabbrv{API}, par exemple l'\textabbrv{API} Google pour cartographie permettant de
traiter des données de géolocalisation, traiter des données de géolocalisation,
ou des sources ouvertes; ou des sources ouvertes;
\item \item

View File

@ -26,7 +26,7 @@
\ajoutSac{AC0211}{Mesurer et analyser les signaux} \ajoutSac{AC0211}{Mesurer et analyser les signaux}
\ajoutSac{AC0212}{Caractériser des systèmes de transmissions élémentaires et découvrir la modélisation mathématique de leur fonctionnement} \ajoutSac{AC0212}{Caractériser des systèmes de transmissions élémentaires et découvrir la modélisation mathématique de leur fonctionnement}
\ajoutSac{AC0213}{Déployer des supports de transmission} \ajoutSac{AC0213}{Déployer des supports de transmission}
\ajoutSac{AC0214}{Connecter les systèmes de \texttt{ToIP}} \ajoutSac{AC0214}{Connecter les systèmes de \textabbrv{ToIP}}
\ajoutSac{AC0215}{Communiquer avec un client ou un collaborateur} \ajoutSac{AC0215}{Communiquer avec un client ou un collaborateur}
\ajoutScompetence{RT3-Programmer}{\niveauA} \ajoutScompetence{RT3-Programmer}{\niveauA}
@ -50,7 +50,7 @@ documente et analyse sa trajectoire de développement en mobilisant des
traces, des preuves issues de l'ensemble des mises en situation traces, des preuves issues de l'ensemble des mises en situation
professionnelle (SAÉ) qu'il a vécues.\\ professionnelle (SAÉ) qu'il a vécues.\\
Le portfolio est un élément structurant des formations en Approche Par Le portfolio est un élément structurant des formations en Approche Par
Compétence (\texttt{APC}). En effet, le portfolio : Compétence (\textabbrv{APC}). En effet, le portfolio :
\begin{itemize} \begin{itemize}
\item \item
soutient l'apprentissage par la constitution d'un dossier de traces soutient l'apprentissage par la constitution d'un dossier de traces
@ -83,9 +83,9 @@ professionnelle vécues (SAÉ), le portfolio nécessite la mobilisation et
la combinaison de ressources telles que l'expression et la la combinaison de ressources telles que l'expression et la
communication. Et parce que cette démarche portfolio repose sur une communication. Et parce que cette démarche portfolio repose sur une
démonstration par l'apprenant de sa professionnalisation, le portfolio démonstration par l'apprenant de sa professionnalisation, le portfolio
s'appuie nécessairement sur le \texttt{PPP} en tant que ressource.\\ s'appuie nécessairement sur le \textabbrv{PPP} en tant que ressource.\\
Aussi, parallèlement à ses objectifs traditionnels issus de l'expérience Aussi, parallèlement à ses objectifs traditionnels issus de l'expérience
acquise dans le cadre du DUT, le \texttt{PPP} devra, tel un fil conducteur, acquise dans le cadre du DUT, le \textabbrv{PPP} devra, tel un fil conducteur,
permettre à l'étudiant d'être guidé dans la compréhension et permettre à l'étudiant d'être guidé dans la compréhension et
l'appropriation de son cursus de formation, ainsi que dans la l'appropriation de son cursus de formation, ainsi que dans la
méthodologie d'écriture du portfolio.\\ méthodologie d'écriture du portfolio.\\

View File

@ -55,8 +55,8 @@ fournir à la structure un réseau fonctionnel et structuré.}
\item \item
Maquette du projet Maquette du projet
\item \item
Dossier ou rapport décrivant l'architecture physique, les \texttt{VLAN}, Dossier ou rapport décrivant l'architecture physique, les \textabbrv{VLAN},
l'adressage \texttt{IP}, les principaux points l'adressage \textabbrv{IP}, les principaux points
de vérification du projet, des captures de trafic et différents de vérification du projet, des captures de trafic et différents
scénarios permettant de valider les scénarios permettant de valider les
contraintes du cahier des charges (scénarios de routage, d'accès aux contraintes du cahier des charges (scénarios de routage, d'accès aux
@ -67,4 +67,4 @@ fournir à la structure un réseau fonctionnel et structuré.}
} }
% Mots-clés % Mots-clés
\ajoutSmotscles{Adressage \texttt{IP}, \texttt{VLAN}, \texttt{VTP}, routage inter-\texttt{VLAN}, \texttt{NAT}, \texttt{PAT}, \texttt{ACL}, \texttt{DNS}, \texttt{HTTP}, \texttt{SSH}, routage (vecteur de distance / état de lien), \texttt{PXE}, \texttt{TFTP}.} \ajoutSmotscles{Adressage \textabbrv{IP}, \textabbrv{VLAN}, \textabbrv{VTP}, routage inter-\textabbrv{VLAN}, \textabbrv{NAT}, \textabbrv{PAT}, \textabbrv{ACL}, \textabbrv{DNS}, \textabbrv{HTTP}, \textabbrv{SSH}, routage (vecteur de distance / état de lien), \textabbrv{PXE}, \textabbrv{TFTP}.}

View File

@ -2,7 +2,7 @@
% Exemple de SAE % Exemple de SAE
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\nouvelexemple{Construction de réseau routé (statique/dynamique), routage inter-\texttt{VLAN} : approche matérielle ou virtuelle} \nouvelexemple{Construction de réseau routé (statique/dynamique), routage inter-\textabbrv{VLAN} : approche matérielle ou virtuelle}
\ajoutESproblematique{\vspace{-5pt} \ajoutESproblematique{\vspace{-5pt}
\begin{itemize} \begin{itemize}
@ -13,7 +13,7 @@
Élaborer une méthode efficace pour tester progressivement la Élaborer une méthode efficace pour tester progressivement la
configuration réalisée. configuration réalisée.
\item \item
Construire un réseau local virtuel \texttt{VLAN}. Construire un réseau local virtuel \textabbrv{VLAN}.
\item \item
Intercepter un trafic entre 2 ordinateurs et identifier le chemin Intercepter un trafic entre 2 ordinateurs et identifier le chemin
utilisé. utilisé.
@ -24,7 +24,7 @@
\ajoutESdescription{ \ajoutESdescription{
L'objectif est de construire un réseau local de niveau 2 (commutation) L'objectif est de construire un réseau local de niveau 2 (commutation)
et 3 (routage) en introduisant le concept de réseau local virtuel et 3 (routage) en introduisant le concept de réseau local virtuel
(\texttt{VLAN}). Le réseau répondra à un besoin d'entreprise ``simple'', par ex: (\textabbrv{VLAN}). Le réseau répondra à un besoin d'entreprise ``simple'', par ex:
le réseau d'une entreprise localisée dans 3 villes différentes. Un outil le réseau d'une entreprise localisée dans 3 villes différentes. Un outil
d'émulation est utilisé avec production d'un projet enregistrable pour d'émulation est utilisé avec production d'un projet enregistrable pour
que l'exercice puisse être construit progressivement au fur et à mesure que l'exercice puisse être construit progressivement au fur et à mesure
@ -32,10 +32,10 @@ des séances. L'étudiant doit s'organiser pour construire par étapes son
réseau et surtout vérifier à chaque étape que l'ajout qu'il vient réseau et surtout vérifier à chaque étape que l'ajout qu'il vient
d'effectuer permet au réseau de toujours fonctionner.\\ d'effectuer permet au réseau de toujours fonctionner.\\
Développement et configuration d'une architecture de réseau d'entreprise Développement et configuration d'une architecture de réseau d'entreprise
simple composée de 6 \texttt{VLAN} et 3 routeurs.\\ simple composée de 6 \textabbrv{VLAN} et 3 routeurs.\\
Équipements réseau : 4 switches et 3 routeurs.\\ Équipements réseau : 4 switches et 3 routeurs.\\
Extension possible : effectuer du \texttt{VRF}, ajouter des tunnels, introduire Extension possible : effectuer du \textabbrv{VRF}, ajouter des tunnels, introduire
un \texttt{NAT}, effectuer du filtrage sur un \texttt{VLAN} spécifique.\\ un \textabbrv{NAT}, effectuer du filtrage sur un \textabbrv{VLAN} spécifique.\\
Préconisations : Préconisations :
\begin{itemize} \begin{itemize}
\item \item
@ -59,7 +59,7 @@ Préconisations :
\item \item
Vérification d'une interconnexion complète. Vérification d'une interconnexion complète.
\item \item
Vérification de la sécurisation/isolement d'un \texttt{VLAN} vis à vis des Vérification de la sécurisation/isolement d'un \textabbrv{VLAN} vis à vis des
autres postes clients. autres postes clients.
\item \item
Démontrer à l'aide d'un document le respect du cahier des charges, Démontrer à l'aide d'un document le respect du cahier des charges,

View File

@ -14,7 +14,7 @@ Sa mission consiste à :
dotée de services réseaux et dotée de services réseaux et
de règles de sécurité. de règles de sécurité.
\item \item
Mettre en place une \texttt{DMZ} pour héberger les serveurs publics de Mettre en place une \textabbrv{DMZ} pour héberger les serveurs publics de
l'entreprise. l'entreprise.
\item \item
Configurer l'accès à Internet. Configurer l'accès à Internet.
@ -26,17 +26,17 @@ Sa mission consiste à :
\ajoutESdescription{ \ajoutESdescription{
L'objectif de cette SAÉ est de mettre en œuvre un réseau d'entreprise L'objectif de cette SAÉ est de mettre en œuvre un réseau d'entreprise
basé sur une architecture segmentée en \texttt{VLAN} qui intègre différents basé sur une architecture segmentée en \textabbrv{VLAN} qui intègre différents
services réseaux. Certaines applications serveur (\texttt{HTTP}, \texttt{DHCP}, \texttt{SSH}) services réseaux. Certaines applications serveur (\textabbrv{HTTP}, \textabbrv{DHCP}, \textabbrv{SSH})
seront à installer et à configurer par l'étudiant et d'autres seront seront à installer et à configurer par l'étudiant et d'autres seront
préalablement configurées (\texttt{DNS} notamment).\\ préalablement configurées (\textabbrv{DNS} notamment).\\
Le concept de \texttt{DMZ} sera abordé et les mécanismes de translation d'adresse Le concept de \textabbrv{DMZ} sera abordé et les mécanismes de translation d'adresse
statique et dynamique seront traités. L'initiation au filtrage de flux statique et dynamique seront traités. L'initiation au filtrage de flux
sera également amenée au travers de cette séquence d'apprentissage.\\ sera également amenée au travers de cette séquence d'apprentissage.\\
Un outil d'émulation est préférable à une solution matérielle afin que Un outil d'émulation est préférable à une solution matérielle afin que
l'exercice puisse être construit progressivement au fur et à mesure des l'exercice puisse être construit progressivement au fur et à mesure des
séances. Les logiciels d'émulation comme GNS3, VIRL, EVE-NG peuvent être séances. Les logiciels d'émulation comme GNS3, VIRL, EVE-NG peuvent être
utilisés et complétés avec VirtualBox ou \texttt{VM}ware. Il faut aussi que ces utilisés et complétés avec VirtualBox ou \textabbrv{VM}ware. Il faut aussi que ces
outils soient mis à disposition des étudiants pour qu'ils puissent outils soient mis à disposition des étudiants pour qu'ils puissent
continuer le projet en dehors des heures encadrées.\\ continuer le projet en dehors des heures encadrées.\\
L'étudiant doit adopter une approche de type projet et découper son L'étudiant doit adopter une approche de type projet et découper son
@ -47,26 +47,26 @@ résultats de commandes, acquisition de trames\ldots) obtenus devront
L'infrastructure réseau est volontairement simple afin que l'étudiant L'infrastructure réseau est volontairement simple afin que l'étudiant
puisse se concentrer sur des concepts fondamentaux. Cette architecture puisse se concentrer sur des concepts fondamentaux. Cette architecture
est constituée de 2 commutateurs d'accès (L2), d'un commutateur de est constituée de 2 commutateurs d'accès (L2), d'un commutateur de
distribution (L3) qui assure le routage inter-\texttt{VLAN} et d'un routeur distribution (L3) qui assure le routage inter-\textabbrv{VLAN} et d'un routeur
passerelle qui fait office de pare-feu. Les services réseaux \texttt{HTTP}, DNS, passerelle qui fait office de pare-feu. Les services réseaux \textabbrv{HTTP}, DNS,
\texttt{DHCP} et \texttt{SSH} sont installés sur des machines virtuelles.\\ \textabbrv{DHCP} et \textabbrv{SSH} sont installés sur des machines virtuelles.\\
A partir du cahier des charges fourni, l'étudiant sera amené à réaliser A partir du cahier des charges fourni, l'étudiant sera amené à réaliser
différentes activités dont voici quelques exemples : différentes activités dont voici quelques exemples :
\begin{itemize} \begin{itemize}
\item \item
Plan d'adressage. Plan d'adressage.
\item \item
Création des \texttt{VLAN}. Création des \textabbrv{VLAN}.
\item \item
Routage inter-\texttt{VLAN}. Routage inter-\textabbrv{VLAN}.
\item \item
Mise en place de \texttt{VM}. Mise en place de \textabbrv{VM}.
\item \item
Accès à Internet. Accès à Internet.
\item \item
Configuration du serveur \texttt{DHCP}, \texttt{SSH} et \texttt{HTTP}. Configuration du serveur \textabbrv{DHCP}, \textabbrv{SSH} et \textabbrv{HTTP}.
\item \item
Ajout d'entrées au serveur \texttt{DNS}. Ajout d'entrées au serveur \textabbrv{DNS}.
\item \item
Configuration du pare-feu (une règle de filtrage). Configuration du pare-feu (une règle de filtrage).
\end{itemize} \end{itemize}
@ -77,7 +77,7 @@ encadrées, l'étudiant ou l'équipe, sera confronté aux formes
pédagogiques suivantes : pédagogiques suivantes :
\begin{itemize} \begin{itemize}
\item \item
Création d'un réseau segmenté en \texttt{VLAN} avec mise en place d'une \texttt{DMZ} et Création d'un réseau segmenté en \textabbrv{VLAN} avec mise en place d'une \textabbrv{DMZ} et
de services réseaux de services réseaux
\item \item
Élaboration d'une méthode efficace pour tester progressivement la Élaboration d'une méthode efficace pour tester progressivement la
@ -98,14 +98,14 @@ pédagogiques suivantes :
\begin{itemize} \begin{itemize}
\item \item
un utilisateur interne à l'entreprise peut-il bénéficier des un utilisateur interne à l'entreprise peut-il bénéficier des
services \texttt{HTTP}, \texttt{DNS} et \texttt{DHCP} internes et services \textabbrv{HTTP}, \textabbrv{DNS} et \textabbrv{DHCP} internes et
se connecter à Internet. se connecter à Internet.
\item \item
un utilisateur lambda peut-il accéder au serveur \texttt{HTTP} de un utilisateur lambda peut-il accéder au serveur \textabbrv{HTTP} de
l'entreprise depuis Internet ? l'entreprise depuis Internet ?
\item \item
l'administrateur réseau de l'entreprise peut-il gérer les l'administrateur réseau de l'entreprise peut-il gérer les
équipements à l'aide d'une connexion \texttt{SSH} équipements à l'aide d'une connexion \textabbrv{SSH}
dans l'entreprise et hors de l'entreprise ? dans l'entreprise et hors de l'entreprise ?
\end{itemize} \end{itemize}
\item \item

View File

@ -21,9 +21,9 @@ embarqué quand le bootloader (U-boot) est accessible. La mise en oeuvre
comprend : comprend :
\begin{itemize} \begin{itemize}
\item \item
Démarrage réseau (\texttt{PXE}) pour charger un bootloader (\texttt{PXE} Linux). Démarrage réseau (\textabbrv{PXE}) pour charger un bootloader (\textabbrv{PXE} Linux).
\item \item
Configuration d'un serveur \texttt{TFTP} (\texttt{tftpd-hpa}). Configuration d'un serveur \textabbrv{TFTP} (\texttt{tftpd-hpa}).
\item \item
Modification du fichier de configuration pour choisir le mode Modification du fichier de configuration pour choisir le mode
(utilisation normale / installation). (utilisation normale / installation).
@ -46,8 +46,8 @@ encadrées, l'étudiant ou l'équipe, sera confronté aux formes
pédagogiques suivantes : pédagogiques suivantes :
\begin{itemize} \begin{itemize}
\item \item
Mise en place un serveur \texttt{TFTP} et permettre aux machines clientes de Mise en place un serveur \textabbrv{TFTP} et permettre aux machines clientes de
démarrer sur le réseau (\texttt{PXE}) pour démarrer sur le réseau (\textabbrv{PXE}) pour
récupérer une image du système d'exploitation. récupérer une image du système d'exploitation.
\item \item
Élaboration d'une méthode efficace pour tester progressivement la Élaboration d'une méthode efficace pour tester progressivement la

View File

@ -2,34 +2,34 @@
% Exemple de SAE % Exemple de SAE
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\nouvelexemple{Analyse de lignes \texttt{ADSL}} \nouvelexemple{Analyse de lignes \textabbrv{ADSL}}
\ajoutESproblematique{Les lignes \texttt{ADSL} peuvent être perturbées par des signaux parasites créés \ajoutESproblematique{Les lignes \textabbrv{ADSL} peuvent être perturbées par des signaux parasites créés
par exemple par une alimentation défectueuse ou un moteur d'ascenseur par exemple par une alimentation défectueuse ou un moteur d'ascenseur
avec des problèmes de \texttt{CEM}. Ces perturbateurs peuvent entraîner une avec des problèmes de \textabbrv{CEM}. Ces perturbateurs peuvent entraîner une
déconnexion totale d'une ligne \texttt{ADSL} voir de toutes les lignes d'un déconnexion totale d'une ligne \textabbrv{ADSL} voir de toutes les lignes d'un
immeuble. L'analyse spectrale et la recherche de ces perturbateurs est immeuble. L'analyse spectrale et la recherche de ces perturbateurs est
donc une fonction du maintien en condition opérationnelle de ces lignes.} donc une fonction du maintien en condition opérationnelle de ces lignes.}
\ajoutESdescription{ \ajoutESdescription{
La SAÉ porte sur l'analyse d'un signal \texttt{ADSL} dans le domaine spectral et La SAÉ porte sur l'analyse d'un signal \textabbrv{ADSL} dans le domaine spectral et
pourra comporter jusqu'à 5 parties : pourra comporter jusqu'à 5 parties :
\begin{itemize} \begin{itemize}
\item \item
Affichage de la \texttt{FFT} d'un signal \texttt{ADSL} ou \texttt{ADSL}2+. On donnera par exemple Affichage de la \textabbrv{FFT} d'un signal \textabbrv{ADSL} ou \textabbrv{ADSL}2+. On donnera par exemple
le signal sous forme d'un fichier le signal sous forme d'un fichier
Excel (une colonne pour le temps et une pour l'amplitude, soit 2 Excel (une colonne pour le temps et une pour l'amplitude, soit 2
vecteurs) et l'étudiant devra afficher vecteurs) et l'étudiant devra afficher
la \texttt{FFT}. la \textabbrv{FFT}.
\item \item
Détermination de la largeur de la bande montante et descendante Détermination de la largeur de la bande montante et descendante
(changement de valeur de la \texttt{DSP}). (changement de valeur de la \textabbrv{DSP}).
\item \item
Détermination de la norme \texttt{ADSL} ou \texttt{ADSL}2+ (en fonction de la largeur de Détermination de la norme \textabbrv{ADSL} ou \textabbrv{ADSL}2+ (en fonction de la largeur de
bande descendante). bande descendante).
\item \item
Calcul de puissance de la bande montante et descendante (intégration Calcul de puissance de la bande montante et descendante (intégration
de la \texttt{DSP}). de la \textabbrv{DSP}).
\item \item
Recherche d'un perturbateur électromagnétique : on donnera une autre Recherche d'un perturbateur électromagnétique : on donnera une autre
capture avec un perturbateur capture avec un perturbateur
@ -37,7 +37,7 @@ pourra comporter jusqu'à 5 parties :
fréquence de ce perturbateur dans le fréquence de ce perturbateur dans le
spectre. spectre.
\end{itemize} \end{itemize}
Le travail pourra s'appuyer sur une librairie pour calculer la \texttt{FFT} (par Le travail pourra s'appuyer sur une librairie pour calculer la \textabbrv{FFT} (par
ex : \texttt{numpy} en Python) et une autre pour l'affichage d'une ex : \texttt{numpy} en Python) et une autre pour l'affichage d'une
courbe (par ex : \texttt{matplotlib} en Python). courbe (par ex : \texttt{matplotlib} en Python).
} }

View File

@ -25,9 +25,9 @@ Les exemples de signaux à étudier pourront être de type :
\item \item
téléphonie portable; téléphonie portable;
\item \item
réception \texttt{TV} : \texttt{DVB-S} ou \texttt{DVB-T}; réception \textabbrv{TV} : \textabbrv{DVB-S} ou \textabbrv{DVB-T};
\item \item
réception \texttt{FM} ou \texttt{DAB}. réception \textabbrv{FM} ou \textabbrv{DAB}.
\end{itemize} \end{itemize}
} }

View File

@ -27,7 +27,7 @@ Les exemples de numérisation à comparer pourront être :
\item \item
de type audio en téléphonie; de type audio en téléphonie;
\item \item
de type audio avec une qualité \texttt{HiFi}; de type audio avec une qualité \textabbrv{HiFi};
\item \item
de type codec G711. de type codec G711.
\end{itemize} \end{itemize}

View File

@ -35,7 +35,7 @@ la SAé pourra être mise en oeuvre avec différentes étapes :
\item \item
Utilisation d'une machine virtuelle ou accès à distance aux Utilisation d'une machine virtuelle ou accès à distance aux
ressources (par ex : ferme ESX, ressources (par ex : ferme ESX,
Proxmox, Guacamole, Docker, \ldots), partage par clés \texttt{USB} Proxmox, Guacamole, Docker, \ldots), partage par clés \textabbrv{USB}
\item \item
Installation ou utilisation d'un serveur web non chiffré (type Nginx Installation ou utilisation d'un serveur web non chiffré (type Nginx
ou Apache) ou Apache)
@ -49,7 +49,7 @@ la SAé pourra être mise en oeuvre avec différentes étapes :
\item \item
Algorithmique (script serveur, dépôt de codes) Algorithmique (script serveur, dépôt de codes)
\item \item
Technologie Web (\texttt{HTML}, \texttt{CSS}) Technologie Web (\textabbrv{HTML}, \textabbrv{CSS})
\item \item
Base de données avec manipulation de données (ajout, suppression, Base de données avec manipulation de données (ajout, suppression,
modification) modification)

View File

@ -40,7 +40,7 @@ la SAÉ pourra être mise en oeuvre avec différentes étapes :
\item \item
Utilisation d'une machine virtuelle ou accès à distance aux Utilisation d'une machine virtuelle ou accès à distance aux
ressources (par ex : ferme ESX, ressources (par ex : ferme ESX,
Proxmox, Guacamole, Docker, \ldots), partage par clés \texttt{USB} Proxmox, Guacamole, Docker, \ldots), partage par clés \textabbrv{USB}
\item \item
Installation ou utilisation d'un serveur web non chiffré (type Nginx Installation ou utilisation d'un serveur web non chiffré (type Nginx
ou Apache) ou Apache)
@ -54,7 +54,7 @@ la SAÉ pourra être mise en oeuvre avec différentes étapes :
\item \item
Algorithmique (script serveur, dépôt de codes) Algorithmique (script serveur, dépôt de codes)
\item \item
Technologie Web (\texttt{HTML}, \texttt{CSS}) Technologie Web (\textabbrv{HTML}, \textabbrv{CSS})
\item \item
Base de données avec manipulation de données (ajout, suppression, Base de données avec manipulation de données (ajout, suppression,
modification) modification)
@ -75,7 +75,7 @@ la SAÉ pourra être mise en oeuvre avec différentes étapes :
\item \item
Site fonctionnel et dynamique Site fonctionnel et dynamique
\item \item
Données manipulées dans une \texttt{BDD} (ajout, suppression, modification) Données manipulées dans une \textabbrv{BDD} (ajout, suppression, modification)
\item \item
Documentation technique, informative Documentation technique, informative
\item \item

View File

@ -26,7 +26,7 @@
\ajoutSac{AC0211}{Mesurer et analyser les signaux} \ajoutSac{AC0211}{Mesurer et analyser les signaux}
\ajoutSac{AC0212}{Caractériser des systèmes de transmissions élémentaires et découvrir la modélisation mathématique de leur fonctionnement} \ajoutSac{AC0212}{Caractériser des systèmes de transmissions élémentaires et découvrir la modélisation mathématique de leur fonctionnement}
\ajoutSac{AC0213}{Déployer des supports de transmission} \ajoutSac{AC0213}{Déployer des supports de transmission}
\ajoutSac{AC0214}{Connecter les systèmes de \texttt{ToIP}} \ajoutSac{AC0214}{Connecter les systèmes de \textabbrv{ToIP}}
\ajoutSac{AC0215}{Communiquer avec un client ou un collaborateur} \ajoutSac{AC0215}{Communiquer avec un client ou un collaborateur}
\ajoutScompetence{RT3-Programmer}{\niveauA} \ajoutScompetence{RT3-Programmer}{\niveauA}
@ -77,9 +77,9 @@
Dossier ou rapport d'étude\\ Dossier ou rapport d'étude\\
Prototype ou montage\\ Prototype ou montage\\
Présentation orale avec diaporama\\ Présentation orale avec diaporama\\
Et / ou \texttt{QCM}\\ Et / ou \textabbrv{QCM}\\
Et / ou grille de suivi Et / ou grille de suivi
} }
% Mots-clés % Mots-clés
\ajoutSmotscles{Réseaux locaux, \texttt{LAN}, Programmation, Cybersécurité.} \ajoutSmotscles{Réseaux locaux, \textabbrv{LAN}, Programmation, Cybersécurité.}

View File

@ -6,13 +6,13 @@
\ajoutESproblematique{Le réseau informatique domestique est une « petite » instance d'un \ajoutESproblematique{Le réseau informatique domestique est une « petite » instance d'un
réseau d'entreprise (par exemple, box, points d'accès wifi, réseaux du réseau d'entreprise (par exemple, box, points d'accès wifi, réseaux du
CROUS, modem, \texttt{4G}, ordinateurs, téléphonie, objets connectés).\\ CROUS, modem, \textabbrv{4G}, ordinateurs, téléphonie, objets connectés).\\
Dans cette SAÉ, l'étudiant devra comprendre l'agencement des briques Dans cette SAÉ, l'étudiant devra comprendre l'agencement des briques
télécoms (accès au réseau), des équipements (routeur, switch, firewall, télécoms (accès au réseau), des équipements (routeur, switch, firewall,
WiFi), des terminaux (\texttt{PC}, smartphone, \ldots) et des protocoles (IP, WiFi), des terminaux (\textabbrv{PC}, smartphone, \ldots) et des protocoles (IP,
\texttt{DHCP}, \texttt{DNS}, Mail, Web, \ldots) qui permettent le fonctionnement de son \textabbrv{DHCP}, \textabbrv{DNS}, Mail, Web, \ldots) qui permettent le fonctionnement de son
réseau domestique.\\ réseau domestique.\\
Il devra également reconnaître les \texttt{OS} des différents appareils connectés Il devra également reconnaître les \textabbrv{OS} des différents appareils connectés
à ce réseau et décrire leurs caractéristiques, notamment en termes de à ce réseau et décrire leurs caractéristiques, notamment en termes de
sécurité.} sécurité.}

View File

@ -55,7 +55,7 @@ l'hygiène informatique en contexte professionnel.
\ajoutESmodalite{\vspace{-5pt} \ajoutESmodalite{\vspace{-5pt}
\begin{itemize} \begin{itemize}
\item \item
Une maquette autonome, réelle ou virtuelle, d'un réseau de \texttt{PME}, Une maquette autonome, réelle ou virtuelle, d'un réseau de \textabbrv{PME},
intégrant des vulnérabilités et des intégrant des vulnérabilités et des
outils permettant de les exploiter. outils permettant de les exploiter.
\item \item

View File

@ -53,3 +53,18 @@
{} {}
{} {}
\makeatother \makeatother
% Les mots "abbréviations"
\def\textabbrv{\textsc}
% Boite pour page de titre
\definecolor{mycolor}{rgb}{0.122, 0.435, 0.698}
\newmdenv[innerlinewidth=0.5pt, roundcorner=4pt,linecolor=mycolor, innerleftmargin=6pt,
innerrightmargin=6pt,
innertopmargin=6pt,
innerbottommargin=6pt,
leftmargin=15mm,
rightmargin=15mm
]{boitepagetitre}

View File

@ -1,372 +1,372 @@
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{ACL}} & Access Control List\\ \makebox[1.5cm][r]{\textabbrv{ACL}} & Access Control List\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{ADSL}} & Asymmetric Digital Subscriber Line\\ \makebox[1.5cm][r]{\textabbrv{ADSL}} & Asymmetric Digital Subscriber Line\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{ALU}} & Arithmetic and Logic Unit\\ \makebox[1.5cm][r]{\textabbrv{ALU}} & Arithmetic and Logic Unit\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{ANSSI}} & Agence nationale de la sécurité des systèmes d'information\\ \makebox[1.5cm][r]{\textabbrv{ANSSI}} & Agence nationale de la sécurité des systèmes d'information\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{API}} & Application Programming Interface\\ \makebox[1.5cm][r]{\textabbrv{API}} & Application Programming Interface\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{APC}} & Approche Par Compétence\\ \makebox[1.5cm][r]{\textabbrv{APC}} & Approche Par Compétence\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{ARP}} & Address Resolution Protocol\\ \makebox[1.5cm][r]{\textabbrv{ARP}} & Address Resolution Protocol\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{BDD}} & Base De Données\\ \makebox[1.5cm][r]{\textabbrv{BDD}} & Base De Données\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{CAN}} & Convertisseur Analogique-Numérique\\ \makebox[1.5cm][r]{\textabbrv{CAN}} & Convertisseur Analogique-Numérique\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{CC}} & Copie Carbone\\ \makebox[1.5cm][r]{\textabbrv{CC}} & Copie Carbone\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{CCi}} & Copie Carbone invisible\\ \makebox[1.5cm][r]{\textabbrv{CCi}} & Copie Carbone invisible\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{CEM}} & Compatibilité ÉlectroMagnétique\\ \makebox[1.5cm][r]{\textabbrv{CEM}} & Compatibilité ÉlectroMagnétique\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{CNA}} & Convertisseur Numérique-Analogique\\ \makebox[1.5cm][r]{\textabbrv{CNA}} & Convertisseur Numérique-Analogique\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{CNIL}} & Commission Nationale de l'Informatique et des Libertés\\ \makebox[1.5cm][r]{\textabbrv{CNIL}} & Commission Nationale de l'Informatique et des Libertés\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{CIDR}} & Classless Inter-Domain Routing\\ \makebox[1.5cm][r]{\textabbrv{CIDR}} & Classless Inter-Domain Routing\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{CSS}} & Cascading Style Sheets\\ \makebox[1.5cm][r]{\textabbrv{CSS}} & Cascading Style Sheets\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{CSV}} & Comma-Separated Values\\ \makebox[1.5cm][r]{\textabbrv{CSV}} & Comma-Separated Values\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{CV}} & Curriculum Vitae\\ \makebox[1.5cm][r]{\textabbrv{CV}} & Curriculum Vitae\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{DDoS}} & Distributed Denial of Service\\ \makebox[1.5cm][r]{\textabbrv{DDoS}} & Distributed Denial of Service\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{DHCP}} & Dynamic Host Configuration Protocol\\ \makebox[1.5cm][r]{\textabbrv{DHCP}} & Dynamic Host Configuration Protocol\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{DMZ}} & DeMilitarized Zone\\ \makebox[1.5cm][r]{\textabbrv{DMZ}} & DeMilitarized Zone\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{DNS}} & Domain Name System\\ \makebox[1.5cm][r]{\textabbrv{DNS}} & Domain Name System\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{DOM}} & Document Object Model\\ \makebox[1.5cm][r]{\textabbrv{DOM}} & Document Object Model\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{DSI}} & Direction des Systèmes d'Information\\ \makebox[1.5cm][r]{\textabbrv{DSI}} & Direction des Systèmes d'Information\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{DSP}} & Densité Spectrale de Puissance\\ \makebox[1.5cm][r]{\textabbrv{DSP}} & Densité Spectrale de Puissance\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{DAB}} & Digital Audio Broadcasting\\ \makebox[1.5cm][r]{\textabbrv{DAB}} & Digital Audio Broadcasting\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{DVB-S}} & Digital Video Broadcasting Satellite\\ \makebox[1.5cm][r]{\textabbrv{DVB-S}} & Digital Video Broadcasting Satellite\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{DVB-T}} & Digital Video Broadcasting Terrestre\\ \makebox[1.5cm][r]{\textabbrv{DVB-T}} & Digital Video Broadcasting Terrestre\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{EMILE}} & Enseignement d'une Matière par l'Intégration d'une Langue Etrangère\\ \makebox[1.5cm][r]{\textabbrv{EMILE}} & Enseignement d'une Matière par l'Intégration d'une Langue Etrangère\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{FFT}} & Fast Fourier Transform\\ \makebox[1.5cm][r]{\textabbrv{FFT}} & Fast Fourier Transform\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{FM}} & Frequency Modulation\\ \makebox[1.5cm][r]{\textabbrv{FM}} & Frequency Modulation\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{FO}} & Fibre Optique\\ \makebox[1.5cm][r]{\textabbrv{FO}} & Fibre Optique\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{FOVI}} & Faux Ordres de Virements Internationaux\\ \makebox[1.5cm][r]{\textabbrv{FOVI}} & Faux Ordres de Virements Internationaux\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{FTP}} & File Transfer Protocol\\ \makebox[1.5cm][r]{\textabbrv{FTP}} & File Transfer Protocol\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{GBF}} & Générateur de Basses Fréquences\\ \makebox[1.5cm][r]{\textabbrv{GBF}} & Générateur de Basses Fréquences\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{GPIO}} & General Purpose Input/Output\\ \makebox[1.5cm][r]{\textabbrv{GPIO}} & General Purpose Input/Output\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{HiFi}} & High Fidelity\\ \makebox[1.5cm][r]{\textabbrv{HiFi}} & High Fidelity\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{HTML}} & HyperText Markup Language\\ \makebox[1.5cm][r]{\textabbrv{HTML}} & HyperText Markup Language\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{HTTP}} & Hypertext Transfer Protocol\\ \makebox[1.5cm][r]{\textabbrv{HTTP}} & Hypertext Transfer Protocol\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{ICMP}} & Internet Control Message Protocol\\ \makebox[1.5cm][r]{\textabbrv{ICMP}} & Internet Control Message Protocol\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{IMAP}} & Internet Message Access Protocol\\ \makebox[1.5cm][r]{\textabbrv{IMAP}} & Internet Message Access Protocol\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{IP}} & Internet Protocol\\ \makebox[1.5cm][r]{\textabbrv{IP}} & Internet Protocol\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{IPBX}} & Internet Protocol Private Branch eXchange\\ \makebox[1.5cm][r]{\textabbrv{IPBX}} & Internet Protocol Private Branch eXchange\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{JSON}} & JavaScript Object Notation\\ \makebox[1.5cm][r]{\textabbrv{JSON}} & JavaScript Object Notation\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{LAN}} & Local Area Network\\ \makebox[1.5cm][r]{\textabbrv{LAN}} & Local Area Network\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{LED}} & Light-Emitting Diode\\ \makebox[1.5cm][r]{\textabbrv{LED}} & Light-Emitting Diode\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{MAC}} & Media Access Control\\ \makebox[1.5cm][r]{\textabbrv{MAC}} & Media Access Control\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{MOOC}} & Massive Open Online Course\\ \makebox[1.5cm][r]{\textabbrv{MOOC}} & Massive Open Online Course\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{NAS}} & Network Attached Storage\\ \makebox[1.5cm][r]{\textabbrv{NAS}} & Network Attached Storage\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{NAT}} & Network Address Translation\\ \makebox[1.5cm][r]{\textabbrv{NAT}} & Network Address Translation\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{NDP}} & Neighbor Discovery Protocol\\ \makebox[1.5cm][r]{\textabbrv{NDP}} & Neighbor Discovery Protocol\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{NTP}} & Network Time Protocol\\ \makebox[1.5cm][r]{\textabbrv{NTP}} & Network Time Protocol\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{OS}} & Operating System\\ \makebox[1.5cm][r]{\textabbrv{OS}} & Operating System\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{OSPF}} & Open Shortest Path First\\ \makebox[1.5cm][r]{\textabbrv{OSPF}} & Open Shortest Path First\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{PABX}} & Private Automatic Branch Exchange\\ \makebox[1.5cm][r]{\textabbrv{PABX}} & Private Automatic Branch Exchange\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{PAT}} & Port Address Translation\\ \makebox[1.5cm][r]{\textabbrv{PAT}} & Port Address Translation\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{PC}} & Personnal Computer\\ \makebox[1.5cm][r]{\textabbrv{PC}} & Personnal Computer\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{PERT}} & Program Evaluation and Review Technology\\ \makebox[1.5cm][r]{\textabbrv{PERT}} & Program Evaluation and Review Technology\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{PME}} & Petite et Moyenne Entreprise\\ \makebox[1.5cm][r]{\textabbrv{PME}} & Petite et Moyenne Entreprise\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{PoE}} & Power over Ethernet\\ \makebox[1.5cm][r]{\textabbrv{PoE}} & Power over Ethernet\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{POP}} & Post Office Protocol\\ \makebox[1.5cm][r]{\textabbrv{POP}} & Post Office Protocol\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{PPP}} & Projet Professionnel et Personnel\\ \makebox[1.5cm][r]{\textabbrv{PPP}} & Projet Professionnel et Personnel\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{PXE}} & Pre-boot eXecution Environment\\ \makebox[1.5cm][r]{\textabbrv{PXE}} & Pre-boot eXecution Environment\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{QCM}} & Questionnaire à Choix Multiples\\ \makebox[1.5cm][r]{\textabbrv{QCM}} & Questionnaire à Choix Multiples\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{RGPD}} & Règlement Général pour la Protection des Données\\ \makebox[1.5cm][r]{\textabbrv{RGPD}} & Règlement Général pour la Protection des Données\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{RSTP}} & Rapid Spanning Tree Protocol\\ \makebox[1.5cm][r]{\textabbrv{RSTP}} & Rapid Spanning Tree Protocol\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{RTP}} & Real-Time Transport Protocol\\ \makebox[1.5cm][r]{\textabbrv{RTP}} & Real-Time Transport Protocol\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{SGBD}} & Système de Gestion de Bases de Données\\ \makebox[1.5cm][r]{\textabbrv{SGBD}} & Système de Gestion de Bases de Données\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{SMTP}} & Simple Mail Transfer Protocol\\ \makebox[1.5cm][r]{\textabbrv{SMTP}} & Simple Mail Transfer Protocol\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{SQL}} & Structured Query Language\\ \makebox[1.5cm][r]{\textabbrv{SQL}} & Structured Query Language\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{SSH}} & Secure SHell\\ \makebox[1.5cm][r]{\textabbrv{SSH}} & Secure SHell\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{STP}} & Spanning Tree Protocol\\ \makebox[1.5cm][r]{\textabbrv{STP}} & Spanning Tree Protocol\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{TELNET}} & TELecommunication NETwork\\ \makebox[1.5cm][r]{\textabbrv{TELNET}} & TELecommunication NETwork\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{TCP}} & Transmission Control Protocol\\ \makebox[1.5cm][r]{\textabbrv{TCP}} & Transmission Control Protocol\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{TDM}} & Time Division Multiplexing\\ \makebox[1.5cm][r]{\textabbrv{TDM}} & Time Division Multiplexing\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{TFTP}} & Trivial File Transfer Protocol\\ \makebox[1.5cm][r]{\textabbrv{TFTP}} & Trivial File Transfer Protocol\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{ToIP}} & Telephony over Internet Protocol\\ \makebox[1.5cm][r]{\textabbrv{ToIP}} & Telephony over Internet Protocol\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{TV}} & TéléVision\\ \makebox[1.5cm][r]{\textabbrv{TV}} & TéléVision\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{UDP}} & User Datagram Protocol\\ \makebox[1.5cm][r]{\textabbrv{UDP}} & User Datagram Protocol\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{UML}} & Unified Modeling Language\\ \makebox[1.5cm][r]{\textabbrv{UML}} & Unified Modeling Language\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{URL}} & Uniform Resource Locator\\ \makebox[1.5cm][r]{\textabbrv{URL}} & Uniform Resource Locator\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{USB}} & Universal Serial Bus\\ \makebox[1.5cm][r]{\textabbrv{USB}} & Universal Serial Bus\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{VLAN}} & Virtual Local Area Network\\ \makebox[1.5cm][r]{\textabbrv{VLAN}} & Virtual Local Area Network\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{VLSM}} & Variable-Length Subnet Masking\\ \makebox[1.5cm][r]{\textabbrv{VLSM}} & Variable-Length Subnet Masking\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{VM}} & Virtual Machine\\ \makebox[1.5cm][r]{\textabbrv{VM}} & Virtual Machine\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{VRF}} & Virtual Routing Forwarding\\ \makebox[1.5cm][r]{\textabbrv{VRF}} & Virtual Routing Forwarding\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{VTP}} & VLAN Trunking Protocol\\ \makebox[1.5cm][r]{\textabbrv{VTP}} & VLAN Trunking Protocol\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{xDSL}} & x Digital Subscriber Line\\ \makebox[1.5cm][r]{\textabbrv{xDSL}} & x Digital Subscriber Line\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{XML}} & eXtensible Markup Language\\ \makebox[1.5cm][r]{\textabbrv{XML}} & eXtensible Markup Language\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{XSS}} & cross-Site Scripting\\ \makebox[1.5cm][r]{\textabbrv{XSS}} & cross-Site Scripting\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{2D}} & deux Dimensions\\ \makebox[1.5cm][r]{\textabbrv{2D}} & deux Dimensions\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{3D}} & trois Dimensions\\ \makebox[1.5cm][r]{\textabbrv{3D}} & trois Dimensions\\
\end{tabular} \end{tabular}
\begin{tabular}{rp{6.5cm}} \begin{tabular}{rp{6.5cm}}
\makebox[1.5cm][r]{\texttt{4G}} & 4th Generation\\ \makebox[1.5cm][r]{\textabbrv{4G}} & 4th Generation\\
\end{tabular} \end{tabular}

View File

@ -12,8 +12,10 @@ from tools import caracteres_recalcitrants
__LOGGER = logging.getLogger(__name__) __LOGGER = logging.getLogger(__name__)
class Ressource():
class Ressource:
"""Modélise une ressource lorsqu'elle est extraite d'un yaml""" """Modélise une ressource lorsqu'elle est extraite d'un yaml"""
__LOGGER = logging.getLogger(__name__) __LOGGER = logging.getLogger(__name__)
def __init__(self, fichieryaml): def __init__(self, fichieryaml):
@ -24,9 +26,9 @@ class Ressource():
except: except:
Ressource.__LOGGER.warning(f"Pb de chargement de {fichieryaml}") Ressource.__LOGGER.warning(f"Pb de chargement de {fichieryaml}")
def to_latex(self, modele=Config.ROOT+"/python/pn/modele_ressource.tex"): def to_latex(self, modele=Config.ROOT + "/python/pn/modele_ressource.tex"):
"""Génère le code latex décrivant la ressource""" """Génère le code latex décrivant la ressource"""
modlatex = get_modele(modele) #"pn/modele_ressource.tex") modlatex = get_modele(modele) # "pn/modele_ressource.tex")
# if self.ressource["code"] == "R107": # if self.ressource["code"] == "R107":
# print("ici") # print("ici")
@ -34,7 +36,7 @@ class Ressource():
# Préparation des coeffs # Préparation des coeffs
ajoutcoeff = "\\ajoutRcoeff{%s}" ajoutcoeff = "\\ajoutRcoeff{%s}"
coeffRT = [] coeffRT = []
for comp in ['RT1', 'RT2', 'RT3']: for comp in ["RT1", "RT2", "RT3"]:
if comp in self.ressource["coeffs"]: if comp in self.ressource["coeffs"]:
coeffRT.append(ajoutcoeff % (str(self.ressource["coeffs"][comp]))) coeffRT.append(ajoutcoeff % (str(self.ressource["coeffs"][comp])))
else: else:
@ -43,20 +45,29 @@ class Ressource():
# Préparation des ac # Préparation des ac
ajoutac = "\\ajoutRac{%s}{%s}" ajoutac = "\\ajoutRac{%s}{%s}"
compRT = [] compRT = []
for accomp in ['RT1', 'RT2', 'RT3']: for accomp in ["RT1", "RT2", "RT3"]:
comps = [] comps = []
if accomp in self.ressource["acs"]: if accomp in self.ressource["acs"]:
for no_ac in range(len(self.ressource["acs"][accomp])): # les ac de la comp for no_ac in range(
len(self.ressource["acs"][accomp])
): # les ac de la comp
code_ac = self.ressource["acs"][accomp][no_ac] code_ac = self.ressource["acs"][accomp][no_ac]
comps.append( ajoutac % (code_ac, DATA_ACS[accomp][code_ac]) ) comps.append(ajoutac % (code_ac, DATA_ACS[accomp][code_ac]))
compRT.append("\n".join(comps)) compRT.append("\n".join(comps))
# Préparation des sae # Préparation des sae
ajoutsaes = "\\ajoutRsae{%s}{%s}" # nom, intitule, code_latex ajoutsaes = "\\ajoutRsae{%s}{%s}" # nom, intitule, code_latex
saesRT = [] saesRT = []
for (i, sae) in enumerate(self.ressource["sae"]): # in range(len(self.apprentissages)): for (i, sae) in enumerate(
code_latex = string.ascii_uppercase[int(sae[-2])-1] + string.ascii_uppercase[int(sae[-1])-1] self.ressource["sae"]
saesRT.append(ajoutsaes % (sae, get_officiel_sae_name_by_code(sae))) # , code_latex)) ): # in range(len(self.apprentissages)):
code_latex = (
string.ascii_uppercase[int(sae[-2]) - 1]
+ string.ascii_uppercase[int(sae[-1]) - 1]
)
saesRT.append(
ajoutsaes % (sae, get_officiel_sae_name_by_code(sae))
) # , code_latex))
saes = "\n".join(saesRT) saes = "\n".join(saesRT)
ajoutprerequis = "\\ajoutRprerequis{%s}{%s}" ajoutprerequis = "\\ajoutRprerequis{%s}{%s}"
@ -66,7 +77,9 @@ class Ressource():
else: else:
liste = [] liste = []
for (no, mod) in enumerate(self.ressource["prerequis"]): for (no, mod) in enumerate(self.ressource["prerequis"]):
liste.append(ajoutprerequis % (mod, get_officiel_ressource_name_by_code(mod))) liste.append(
ajoutprerequis % (mod, get_officiel_ressource_name_by_code(mod))
)
prerequis = "\n".join(liste) prerequis = "\n".join(liste)
# préparation du contexte # préparation du contexte
@ -81,31 +94,31 @@ class Ressource():
# contexte = remove_ligne_vide(contexte) # contexte = remove_ligne_vide(contexte)
# préparation du contenu # préparation du contenu
contenu = self.ressource["contenu"] #supprime les passages à la ligne contenu = self.ressource["contenu"] # supprime les passages à la ligne
if contenu: if contenu:
if self.ressource["code"] == "R112": if self.ressource["code"] == "R112":
print("ici") print("ici")
contenu = md_to_latex(contenu) contenu = md_to_latex(contenu)
chaine = "" chaine = ""
chaine = TemplateLatex(modlatex).substitute(code=self.ressource["code"], chaine = TemplateLatex(modlatex).substitute(
nom=self.ressource["nom"], code=self.ressource["code"],
heures_formation=self.ressource["heures_formation"], nom=self.ressource["nom"],
heures_tp=self.ressource["heures_tp"], heures_formation=self.ressource["heures_formation"],
coeffRT1=coeffRT[0], heures_tp=self.ressource["heures_tp"],
coeffRT2=coeffRT[1], coeffRT1=coeffRT[0],
coeffRT3=coeffRT[2], coeffRT2=coeffRT[1],
compRT1=compRT[0], coeffRT3=coeffRT[2],
compRT2=compRT[1], compRT1=compRT[0],
compRT3=compRT[2], compRT2=compRT[1],
saes=saes, compRT3=compRT[2],
motscles=self.ressource["motscles"] + ".", saes=saes,
prerequis=prerequis, motscles=self.ressource["motscles"] + ".",
contexte=contexte, prerequis=prerequis,
contenu=contenu, contexte=contexte,
) contenu=contenu,
)
# chaine = chaine.replace("&", "\&") # chaine = chaine.replace("&", "\&")
# Supprime les \\tighlist ajoutés par pypandoc # Supprime les \\tighlist ajoutés par pypandoc
chaine = chaine.replace("\\tightlist\n", "") chaine = chaine.replace("\\tightlist\n", "")
@ -121,24 +134,28 @@ def contient_abbr(chaine):
for mot in DATA_ABBREVIATIONS[lettre]: for mot in DATA_ABBREVIATIONS[lettre]:
if mot in chaine: if mot in chaine:
mots.append(mot) mots.append(mot)
mots = sorted(mots, key=lambda m: len(m), reverse=True) # les mots triés par nbre de carac décroissant mots = sorted(
mots, key=lambda m: len(m), reverse=True
) # les mots triés par nbre de carac décroissant
return mots return mots
def ajoute_abbr_latex(chaine): def ajoute_abbr_latex(chaine):
"""Parse la chaine latex pour ajouter les abbréviations""" """Parse la chaine latex pour ajouter les abbréviations"""
mots = chaine.split(" ") mots = chaine.split(" ")
for (i, mot) in enumerate(mots): for (i, mot) in enumerate(mots):
abbrs = contient_abbr(mot) abbrs = contient_abbr(mot)
if abbrs: if abbrs:
mots[i] = mots[i].replace(abbrs[0], "\\texttt{" + abbrs[0] + "}") mots[i] = mots[i].replace(abbrs[0], "\\textabbrv{" + abbrs[0] + "}")
chaine = " ".join(mots) chaine = " ".join(mots)
if "/IP" in chaine: if "/IP" in chaine:
chaine = chaine.replace("/IP", "/\\texttt{IP}") chaine = chaine.replace("/IP", "/\\textabbrv{IP}")
return chaine return chaine
class SAE(): class SAE:
"""Modélise une saé (chapeau) lorsqu'elle est extraite d'un yaml""" """Modélise une saé (chapeau) lorsqu'elle est extraite d'un yaml"""
__LOGGER = logging.getLogger(__name__) __LOGGER = logging.getLogger(__name__)
def __init__(self, fichieryaml): def __init__(self, fichieryaml):
@ -149,41 +166,42 @@ class SAE():
except: except:
Ressource.__LOGGER.warning(f"Pb de chargement de {fichieryaml}") Ressource.__LOGGER.warning(f"Pb de chargement de {fichieryaml}")
def to_latex(self, modele=Config.ROOT + "/python/pn/modele_sae.tex"):
def to_latex(self, modele=Config.ROOT+"/python/pn/modele_sae.tex"):
"""Génère le code latex décrivant la ressource""" """Génère le code latex décrivant la ressource"""
modlatex = get_modele(modele) #"pn/modele_ressource.tex") modlatex = get_modele(modele) # "pn/modele_ressource.tex")
# Préparation des coeffs # Préparation des coeffs
ajoutcoeff = "\\ajoutScoeff{%s}" ajoutcoeff = "\\ajoutScoeff{%s}"
coeffRT = [] coeffRT = []
for comp in ['RT1', 'RT2', 'RT3']: for comp in ["RT1", "RT2", "RT3"]:
if comp in self.sae["coeffs"]: if comp in self.sae["coeffs"]:
coeffRT.append(ajoutcoeff % (str(self.sae["coeffs"][comp]))) coeffRT.append(ajoutcoeff % (str(self.sae["coeffs"][comp])))
else: else:
coeffRT.append("") coeffRT.append("")
# Préparation des ac # Préparation des ac
ajoutac = "\\ajoutSac{%s}{%s}" # nom, intitule, code latex ajoutac = "\\ajoutSac{%s}{%s}" # nom, intitule, code latex
compRT = [] compRT = []
for accomp in ['RT1', 'RT2', 'RT3']: for accomp in ["RT1", "RT2", "RT3"]:
comps = [] comps = []
if accomp in self.sae["acs"]: if accomp in self.sae["acs"]:
for no_ac in range(len(self.sae["acs"][accomp])): # les ac de la comp for no_ac in range(len(self.sae["acs"][accomp])): # les ac de la comp
code_ac = self.sae["acs"][accomp][no_ac] code_ac = self.sae["acs"][accomp][no_ac]
comps.append( ajoutac % (code_ac, DATA_ACS[accomp][code_ac]) ) comps.append(ajoutac % (code_ac, DATA_ACS[accomp][code_ac]))
compRT.append("\n".join(comps)) compRT.append("\n".join(comps))
# Préparation des ressources # Préparation des ressources
ajoutressources = "\\ajoutSressources{%s}{%s}" ajoutressources = "\\ajoutSressources{%s}{%s}"
resRT = [] resRT = []
for (i, res) in enumerate(self.sae["ressources"]): # in range(len(self.apprentissages)): for (i, res) in enumerate(
resRT.append(ajoutressources % (res, get_officiel_ressource_name_by_code(res))) self.sae["ressources"]
): # in range(len(self.apprentissages)):
resRT.append(
ajoutressources % (res, get_officiel_ressource_name_by_code(res))
)
ressources = "\n".join(resRT) ressources = "\n".join(resRT)
# préparation du descriptif # préparation du descriptif
descriptif = self.sae["description"] descriptif = self.sae["description"]
if descriptif == "Aucun": if descriptif == "Aucun":
@ -201,30 +219,33 @@ class SAE():
livrables = md_to_latex(livrables) livrables = md_to_latex(livrables)
chaine = "" chaine = ""
chaine = TemplateLatex(modlatex).substitute(code=self.sae["code"], chaine = TemplateLatex(modlatex).substitute(
titre=self.sae["titre"], code=self.sae["code"],
heures_encadrees=self.sae["heures_encadrees"], titre=self.sae["titre"],
heures_tp=self.sae["tp"], heures_encadrees=self.sae["heures_encadrees"],
heures_projet=self.sae["projet"], heures_tp=self.sae["tp"],
coeffRT1=coeffRT[0], heures_projet=self.sae["projet"],
coeffRT2=coeffRT[1], coeffRT1=coeffRT[0],
coeffRT3=coeffRT[2], coeffRT2=coeffRT[1],
compRT1=compRT[0], coeffRT3=coeffRT[2],
compRT2=compRT[1], compRT1=compRT[0],
compRT3=compRT[2], compRT2=compRT[1],
description=descriptif, compRT3=compRT[2],
ressources=ressources, description=descriptif,
livrables= livrables, ressources=ressources,
motscles = self.sae["motscles"] + ".", livrables=livrables,
) motscles=self.sae["motscles"] + ".",
)
# chaine = chaine.replace("&", "\&") # chaine = chaine.replace("&", "\&")
chaine = chaine.replace("\\tightlist\n", "") chaine = chaine.replace("\\tightlist\n", "")
chaine = ajoute_abbr_latex(chaine) chaine = ajoute_abbr_latex(chaine)
return chaine return chaine
class ExempleSAE():
class ExempleSAE:
"""Modélise un exemple de SAE lorsqu'elle est extraite d'un yaml""" """Modélise un exemple de SAE lorsqu'elle est extraite d'un yaml"""
__LOGGER = logging.getLogger(__name__) __LOGGER = logging.getLogger(__name__)
def __init__(self, fichieryaml): def __init__(self, fichieryaml):
@ -235,15 +256,17 @@ class ExempleSAE():
except: except:
Ressource.__LOGGER.warning(f"Pb de chargement de {fichieryaml}") Ressource.__LOGGER.warning(f"Pb de chargement de {fichieryaml}")
def to_latex(self, modele=Config.ROOT+"/python/pn/modele_exemple_sae.tex"): def to_latex(self, modele=Config.ROOT + "/python/pn/modele_exemple_sae.tex"):
"""Génère le code latex décrivant la ressource""" """Génère le code latex décrivant la ressource"""
modlatex = get_modele(modele) #"pn/modele_ressource.tex") modlatex = get_modele(modele) # "pn/modele_ressource.tex")
# préparation du descriptif # préparation du descriptif
description = self.exemple["description"] description = self.exemple["description"]
if not description: if not description:
description = "" description = ""
ExempleSAE.__LOGGER.warning(f"{self.exemple['titre']} n'a pas de description") ExempleSAE.__LOGGER.warning(
f"{self.exemple['titre']} n'a pas de description"
)
else: else:
description = md_to_latex(description) description = md_to_latex(description)
@ -259,7 +282,9 @@ class ExempleSAE():
problematique = self.exemple["problematique"] problematique = self.exemple["problematique"]
if not problematique: if not problematique:
problematique = "" problematique = ""
ExempleSAE.__LOGGER.warning(f"{self.exemple['titre']} n'a pas de problematique") ExempleSAE.__LOGGER.warning(
f"{self.exemple['titre']} n'a pas de problematique"
)
else: else:
problematique = md_to_latex(problematique) problematique = md_to_latex(problematique)
@ -272,43 +297,52 @@ class ExempleSAE():
modalite = md_to_latex(modalite) modalite = md_to_latex(modalite)
chaine = "" chaine = ""
chaine = TemplateLatex(modlatex).substitute(titre=self.exemple["titre"], chaine = TemplateLatex(modlatex).substitute(
description=description, titre=self.exemple["titre"],
formes=formes, description=description,
problematique = problematique, formes=formes,
modalite=modalite problematique=problematique,
) modalite=modalite,
)
# chaine = chaine.replace("&", "\&") # chaine = chaine.replace("&", "\&")
chaine = chaine.replace("\\tightlist\n", "") chaine = chaine.replace("\\tightlist\n", "")
chaine = ajoute_abbr_latex(chaine) chaine = ajoute_abbr_latex(chaine)
return chaine return chaine
def md_to_latex(contenu): def md_to_latex(contenu):
"""Réalise la conversion markdown to latex avec pypandoc""" """Réalise la conversion markdown to latex avec pypandoc"""
contenu = contenu.replace("\n", "\n\n") # corrige les suppressions de ligne à la relecture du yaml contenu = contenu.replace(
"\n", "\n\n"
) # corrige les suppressions de ligne à la relecture du yaml
contenu = pypandoc.convert_text(contenu, 'tex', format='md', contenu = pypandoc.convert_text(
extra_args=['--atx-headers']) contenu, "tex", format="md", extra_args=["--atx-headers"]
)
contenu = contenu.replace("\r\n", "\n") contenu = contenu.replace("\r\n", "\n")
lignes = contenu.split("\n\n") # Détecte les sauts de ligne lignes = contenu.split("\n\n") # Détecte les sauts de ligne
for (i, ligne) in enumerate(lignes): for (i, ligne) in enumerate(lignes):
if i < len(lignes)-1: if i < len(lignes) - 1:
if lignes[i].strip().startswith("\\") == False and \ if (
lignes[i].startswith(" ") == False and \ lignes[i].strip().startswith("\\") == False
lignes[i+1].strip().startswith("\\") == False and \ and lignes[i].startswith(" ") == False
lignes[i+1].startswith(" ") == False and \ and lignes[i + 1].strip().startswith("\\") == False
lignes[i].strip().endswith("\\\\") == False: and lignes[i + 1].startswith(" ") == False
lignes[i] = lignes[i] + "\\\\" # ajoute un passage à la ligne latex and lignes[i].strip().endswith("\\\\") == False
):
lignes[i] = lignes[i] + "\\\\" # ajoute un passage à la ligne latex
contenu = "\n\n".join(lignes) contenu = "\n\n".join(lignes)
# contenu = caracteres_recalcitrants(contenu) # contenu = caracteres_recalcitrants(contenu)
contenu = remove_ligne_vide(contenu) contenu = remove_ligne_vide(contenu)
lignes = contenu.split("\n") # pour debug lignes = contenu.split("\n") # pour debug
if contenu.startswith("\\begin{itemize}"): if contenu.startswith("\\begin{itemize}"):
contenu = "\\vspace{-5pt}\n" + contenu # ajout d'un offset en cas de liste à puces contenu = (
contenu = contenu.replace("\\\\"*2, "\\\\") "\\vspace{-5pt}\n" + contenu
) # ajout d'un offset en cas de liste à puces
contenu = contenu.replace("\\\\" * 2, "\\\\")
return contenu return contenu
@ -317,18 +351,18 @@ def get_matrices_ac_ressource(saes, ressources, sem):
les_codes_acs = [code for comp in DATA_ACS for code in DATA_ACS[comp]] les_codes_acs = [code for comp in DATA_ACS for code in DATA_ACS[comp]]
nbre_acs = len(les_codes_acs) nbre_acs = len(les_codes_acs)
saesem = saes[sem] # les saé du semestre saesem = saes[sem] # les saé du semestre
ressem = ressources[sem] # les ressources du semestre ressem = ressources[sem] # les ressources du semestre
nbre_saes = len(DATA_SAES[sem]) nbre_saes = len(DATA_SAES[sem])
nbre_ressources = len(DATA_RESSOURCES[sem]) nbre_ressources = len(DATA_RESSOURCES[sem])
if len(saesem)!= nbre_saes or len(ressem) != nbre_ressources: if len(saesem) != nbre_saes or len(ressem) != nbre_ressources:
__LOGGER.warning(f"Pb => il manque des saes/ressources au {sem}") __LOGGER.warning(f"Pb => il manque des saes/ressources au {sem}")
matrice = [[False] * (nbre_saes + nbre_ressources) for i in range(nbre_acs)] matrice = [[False] * (nbre_saes + nbre_ressources) for i in range(nbre_acs)]
for (i, s) in enumerate(saesem): # pour chaque SAE for (i, s) in enumerate(saesem): # pour chaque SAE
for comp in s.sae["acs"]: # pour chaque comp for comp in s.sae["acs"]: # pour chaque comp
for (j, ac) in enumerate(DATA_ACS[comp]): # pour chaque ac for (j, ac) in enumerate(DATA_ACS[comp]): # pour chaque ac
if ac in s.sae["acs"][comp]: # si l'ac est prévue dans la ressource if ac in s.sae["acs"][comp]: # si l'ac est prévue dans la ressource
k = les_codes_acs.index(ac) k = les_codes_acs.index(ac)
@ -337,65 +371,82 @@ def get_matrices_ac_ressource(saes, ressources, sem):
for (i, r) in enumerate(ressem): # pour chaque ressource for (i, r) in enumerate(ressem): # pour chaque ressource
for comp in r.ressource["acs"]: # pour chaque comp for comp in r.ressource["acs"]: # pour chaque comp
for (j, ac) in enumerate(DATA_ACS[comp]): # pour chaque ac for (j, ac) in enumerate(DATA_ACS[comp]): # pour chaque ac
if ac in r.ressource["acs"][comp]: # si l'ac est prévue dans la ressource if (
ac in r.ressource["acs"][comp]
): # si l'ac est prévue dans la ressource
k = les_codes_acs.index(ac) k = les_codes_acs.index(ac)
matrice[k][i+nbre_saes] = True matrice[k][i + nbre_saes] = True
return matrice return matrice
def get_matrices_coeffs(saes, ressources, sem): def get_matrices_coeffs(saes, ressources, sem):
"""Calcule la matrice AC vs sae + ressource pour un sem donné et la renvoie""" """Calcule la matrice AC vs sae + ressource pour un sem donné et la renvoie"""
comps = ['RT1', 'RT2', 'RT3'] comps = ["RT1", "RT2", "RT3"]
saesem = saes[sem] # les saé du semestre saesem = saes[sem] # les saé du semestre
ressem = ressources[sem] # les ressources du semestre ressem = ressources[sem] # les ressources du semestre
nbre_saes = len(DATA_SAES[sem]) nbre_saes = len(DATA_SAES[sem])
nbre_ressources = len(DATA_RESSOURCES[sem]) nbre_ressources = len(DATA_RESSOURCES[sem])
if len(saesem)!= nbre_saes or len(ressem) != nbre_ressources: if len(saesem) != nbre_saes or len(ressem) != nbre_ressources:
__LOGGER.warning(f"Pb => il manque des saes/ressources au {sem}") __LOGGER.warning(f"Pb => il manque des saes/ressources au {sem}")
matrice = [[None] * (len(comps)) for i in range(nbre_saes + nbre_ressources)] matrice = [[None] * (len(comps)) for i in range(nbre_saes + nbre_ressources)]
for (i, s) in enumerate(saesem): # pour chaque SAE for (i, s) in enumerate(saesem): # pour chaque SAE
for (j, comp) in enumerate(comps): # pour chaque comp for (j, comp) in enumerate(comps): # pour chaque comp
if comp in s.sae["coeffs"]: if comp in s.sae["coeffs"]:
matrice[i][j] = s.sae["coeffs"][comp] matrice[i][j] = s.sae["coeffs"][comp]
for (i, r) in enumerate(ressem): # pour chaque ressource for (i, r) in enumerate(ressem): # pour chaque ressource
for (j, comp) in enumerate(comps): # pour chaque comp for (j, comp) in enumerate(comps): # pour chaque comp
if comp in r.ressource["coeffs"]: # pour chaque ac if comp in r.ressource["coeffs"]: # pour chaque ac
matrice[i+nbre_saes][j] = r.ressource["coeffs"][comp] matrice[i + nbre_saes][j] = r.ressource["coeffs"][comp]
return matrice return matrice
def get_matrices_volumes(saes, ressources, sem): def get_matrices_volumes(saes, ressources, sem):
"""Calcule la matrice AC vs sae + ressource pour un sem donné et la renvoie""" """Calcule la matrice AC vs sae + ressource pour un sem donné et la renvoie"""
format = ['CM/TD', 'TP', 'Projet'] format = ["CM/TD", "TP", "Projet"]
saesem = saes[sem] # les saé du semestre saesem = saes[sem] # les saé du semestre
ressem = ressources[sem] # les ressources du semestre ressem = ressources[sem] # les ressources du semestre
nbre_saes = len(DATA_SAES[sem]) nbre_saes = len(DATA_SAES[sem])
nbre_ressources = len(DATA_RESSOURCES[sem]) nbre_ressources = len(DATA_RESSOURCES[sem])
if len(saesem)!= nbre_saes or len(ressem) != nbre_ressources: if len(saesem) != nbre_saes or len(ressem) != nbre_ressources:
__LOGGER.warning(f"Pb => il manque des saes/ressources au {sem}") __LOGGER.warning(f"Pb => il manque des saes/ressources au {sem}")
matrice = [[0] * (len(format)) for i in range(nbre_saes + nbre_ressources)] matrice = [[0] * (len(format)) for i in range(nbre_saes + nbre_ressources)]
for (i, s) in enumerate(saesem): # pour chaque SAE for (i, s) in enumerate(saesem): # pour chaque SAE
formation = s.sae["heures_encadrees"] if not isinstance(s.sae["heures_encadrees"], str) else 0 formation = (
s.sae["heures_encadrees"]
if not isinstance(s.sae["heures_encadrees"], str)
else 0
)
tp = s.sae["tp"] if not isinstance(s.sae["tp"], str) else 0 tp = s.sae["tp"] if not isinstance(s.sae["tp"], str) else 0
matrice[i][0] = formation - tp matrice[i][0] = formation - tp
matrice[i][1] = tp matrice[i][1] = tp
matrice[i][2] = s.sae["projet"] if not isinstance(s.sae["projet"], str) else 0 matrice[i][2] = s.sae["projet"] if not isinstance(s.sae["projet"], str) else 0
for (i, r) in enumerate(ressem): # pour chaque ressource for (i, r) in enumerate(ressem): # pour chaque ressource
formation = r.ressource["heures_formation"] if not isinstance(r.ressource["heures_formation"], str) else 0 formation = (
tp = r.ressource["heures_tp"] if not isinstance(r.ressource["heures_tp"], str) else 0 r.ressource["heures_formation"]
if not isinstance(r.ressource["heures_formation"], str)
else 0
)
tp = (
r.ressource["heures_tp"]
if not isinstance(r.ressource["heures_tp"], str)
else 0
)
matrice[i + nbre_saes][0] = formation - tp matrice[i + nbre_saes][0] = formation - tp
matrice[i + nbre_saes][1] = tp matrice[i + nbre_saes][1] = tp
return matrice return matrice
def str_matrice(matrice, saes, ressources, sem): def str_matrice(matrice, saes, ressources, sem):
"""Renvoie une chaine de caractère affichant la matrice""" """Renvoie une chaine de caractère affichant la matrice"""
les_codes_acs = [code for comp in DATA_ACS for code in DATA_ACS[comp]] les_codes_acs = [code for comp in DATA_ACS for code in DATA_ACS[comp]]
@ -412,61 +463,82 @@ def str_matrice(matrice, saes, ressources, sem):
valeurs = ("" for i in range(nbre_saes + nbre_ressources + 1)) valeurs = ("" for i in range(nbre_saes + nbre_ressources + 1))
trait = "-" * len(ligne.format(*valeurs)) trait = "-" * len(ligne.format(*valeurs))
valeurs = [""] + [s.sae["code"] if s.sae["code"] else "????" for s in saesem] +\ valeurs = (
[r.ressource["code"] if r.ressource["code"] else "????" for r in ressem] + [""] * (nbre_saes - len(saesem) + nbre_ressources - len(ressem)) [""]
+ [s.sae["code"] if s.sae["code"] else "????" for s in saesem]
+ [r.ressource["code"] if r.ressource["code"] else "????" for r in ressem]
+ [""] * (nbre_saes - len(saesem) + nbre_ressources - len(ressem))
)
valeurs = tuple(valeurs) valeurs = tuple(valeurs)
chaine += ligne.format(*valeurs) + "\n" + trait + "\n" chaine += ligne.format(*valeurs) + "\n" + trait + "\n"
for (j, ac) in enumerate(les_codes_acs): for (j, ac) in enumerate(les_codes_acs):
valeurs = [ac] + [("X" if matrice[j][i] == True else "") for i in range(nbre_saes + nbre_ressources )] valeurs = [ac] + [
("X" if matrice[j][i] == True else "")
for i in range(nbre_saes + nbre_ressources)
]
valeurs = tuple(valeurs) valeurs = tuple(valeurs)
chaine += ligne.format(*valeurs) + "\n" chaine += ligne.format(*valeurs) + "\n"
chaine += trait + "\n" chaine += trait + "\n"
return chaine return chaine
def cesure_contenu(contenu, long_max = 30):
def cesure_contenu(contenu, long_max=30):
chaine = "\\rotatebox[origin=c]{90}{\n" chaine = "\\rotatebox[origin=c]{90}{\n"
chaine += "\\begin{tabular}{ll}\n" chaine += "\\begin{tabular}{ll}\n"
contenu_cesure = [] contenu_cesure = []
while contenu: while contenu:
indice_espace = contenu.find(" ", long_max) indice_espace = contenu.find(" ", long_max)
if indice_espace<0: if indice_espace < 0:
contenu_cesure.append(contenu) contenu_cesure.append(contenu)
contenu = "" contenu = ""
else: else:
contenu_cesure.append(contenu[:indice_espace]) contenu_cesure.append(contenu[:indice_espace])
contenu = contenu[indice_espace+1:] contenu = contenu[indice_espace + 1 :]
chaine += " \\\\ ".join(contenu_cesure) chaine += " \\\\ ".join(contenu_cesure)
chaine += "\\end{tabular} }" chaine += "\\end{tabular} }"
return chaine return chaine
def rotation_entete_colonne(contenu, pos="l"): def rotation_entete_colonne(contenu, pos="l"):
chaine = "\\rotatebox[origin=" + pos + "]{90}{" chaine = "\\rotatebox[origin=" + pos + "]{90}{"
chaine += contenu + "}" chaine += contenu + "}"
return chaine return chaine
def to_latex_matrice_acs(matrice, saes, ressources, sem): def to_latex_matrice_acs(matrice, saes, ressources, sem):
"""Renvoie le tableau latex affichant la matrice""" """Renvoie le tableau latex affichant la matrice"""
les_codes_acs = [code for comp in DATA_ACS for code in DATA_ACS[comp]] les_codes_acs = [code for comp in DATA_ACS for code in DATA_ACS[comp]]
nbre_acs = len(les_codes_acs) nbre_acs = len(les_codes_acs)
lettresem = "A" if sem=="S1" else "B" lettresem = "A" if sem == "S1" else "B"
saesem = saes[sem] # les saé du semestre saesem = saes[sem] # les saé du semestre
ressem = ressources[sem] # les ressources du semestre ressem = ressources[sem] # les ressources du semestre
nbre_saes = len(DATA_SAES[sem]) nbre_saes = len(DATA_SAES[sem])
nbre_ressources = len(DATA_RESSOURCES[sem]) nbre_ressources = len(DATA_RESSOURCES[sem])
nbre_colonnes = nbre_saes + nbre_ressources + 2 nbre_colonnes = nbre_saes + nbre_ressources + 2
longueur = 4 longueur = 4
chaine = "\\begin{tabular}[c]{|lp{%scm}|" % str(longueur) + "c|"*(nbre_saes) + "c|"*(nbre_ressources) + "}" + "\n" chaine = (
chaine += "\\hline \n" # % (nbre_saes + nbre_ressources+1)+ "\n" "\\begin{tabular}[c]{|lp{%scm}|" % str(longueur)
+ "c|" * (nbre_saes)
+ "c|" * (nbre_ressources)
+ "}"
+ "\n"
)
chaine += "\\hline \n" # % (nbre_saes + nbre_ressources+1)+ "\n"
# l'entete # l'entete
chaine += " & & " chaine += " & & "
chaine += "\multicolumn{%d}{c|}{\\textcolor{saeC}{\\bfseries SAÉs}}" % (nbre_saes) + "\n" chaine += (
"\multicolumn{%d}{c|}{\\textcolor{saeC}{\\bfseries SAÉs}}" % (nbre_saes) + "\n"
)
chaine += " & " chaine += " & "
chaine += "\multicolumn{%d}{c|}{\\textcolor{ressourceC}{\\bfseries Ressources}}" % (nbre_ressources) + "\\\\ \n" chaine += (
"\multicolumn{%d}{c|}{\\textcolor{ressourceC}{\\bfseries Ressources}}"
% (nbre_ressources)
+ "\\\\ \n"
)
chaine += "\\cline{3-%d}" % (nbre_colonnes) chaine += "\\cline{3-%d}" % (nbre_colonnes)
chaine += " & & " chaine += " & & "
# les noms des SAE et des ressources # les noms des SAE et des ressources
@ -509,12 +581,18 @@ def to_latex_matrice_acs(matrice, saes, ressources, sem):
nom_comp = DATA_COMPETENCES[comp]["nom"] nom_comp = DATA_COMPETENCES[comp]["nom"]
niveau = list(DATA_COMPETENCES[comp]["niveaux"].keys())[0] niveau = list(DATA_COMPETENCES[comp]["niveaux"].keys())[0]
couleur = "\\textcolor{compC" + string.ascii_uppercase[noc] + "}" couleur = "\\textcolor{compC" + string.ascii_uppercase[noc] + "}"
chaine += "\\multicolumn{%d}{|l|}{\hyperlink{comp:%s}{%s{\\bfseries %s - %s }}} \\\\" % (nbre_colonnes, comp, couleur, comp, nom_comp.replace("&", "\&")) chaine += (
chaine += "\\multicolumn{%d}{|l|}{\small Niveau 1 - %s} \\\\" % (nbre_colonnes, niveau.replace("&", "\&")) "\\multicolumn{%d}{|l|}{\hyperlink{comp:%s}{%s{\\bfseries %s - %s }}} \\\\"
% (nbre_colonnes, comp, couleur, comp, nom_comp.replace("&", "\&"))
)
chaine += "\\multicolumn{%d}{|l|}{\small Niveau 1 - %s} \\\\" % (
nbre_colonnes,
niveau.replace("&", "\&"),
)
chaine += "\\hline \n" chaine += "\\hline \n"
for (k, ac) in enumerate(DATA_ACS[comp]): for (k, ac) in enumerate(DATA_ACS[comp]):
chaine += couleur + "{" + ac + "}" + " & " + "\n" chaine += couleur + "{" + ac + "}" + " & " + "\n"
chaine += "\\begin{tabular}{p{%scm}} " % (str(longueur-0.2)) chaine += "\\begin{tabular}{p{%scm}} " % (str(longueur - 0.2))
chaine += "\\tiny{" + DATA_ACS[comp][ac] + "}" chaine += "\\tiny{" + DATA_ACS[comp][ac] + "}"
chaine += "\\end{tabular} & \n" chaine += "\\end{tabular} & \n"
@ -526,7 +604,9 @@ def to_latex_matrice_acs(matrice, saes, ressources, sem):
chaine += " & " chaine += " & "
croix = [] croix = []
for (j, r) in enumerate(ressem): # pour chaque SAE for (j, r) in enumerate(ressem): # pour chaque SAE
croix.append("$\\times$" if matrice[indice_ac][nbre_saes + j] == True else "") croix.append(
"$\\times$" if matrice[indice_ac][nbre_saes + j] == True else ""
)
chaine += " & ".join(croix) + "\\\\ \n" chaine += " & ".join(croix) + "\\\\ \n"
# if k < len(DATA_ACS[comp]) -1: # if k < len(DATA_ACS[comp]) -1:
# chaine += "\\cline{2-%d}" % (nbre_saes+ nbre_ressources+3) # chaine += "\\cline{2-%d}" % (nbre_saes+ nbre_ressources+3)
@ -552,7 +632,7 @@ def to_latex_matrice_coeffs(matrice_vols, matrice_coeffs, saes, ressources, sem)
else: else:
return " " return " "
comps = ['RT1', 'RT2', 'RT3'] comps = ["RT1", "RT2", "RT3"]
lettresem = "A" if sem == "S1" else "B" lettresem = "A" if sem == "S1" else "B"
saesem = saes[sem] # les saé du semestre saesem = saes[sem] # les saé du semestre
@ -561,9 +641,15 @@ def to_latex_matrice_coeffs(matrice_vols, matrice_coeffs, saes, ressources, sem)
nbre_saes = len(saesem) nbre_saes = len(saesem)
nbre_colonnes = len(comps) + 2 nbre_colonnes = len(comps) + 2
chaine = (
chaine = "\\begin{tabular}[c]{|rp{6cm}|" + "c|" * 2 + "c|" + "c|"*(len(comps)) + "}" + "\n" "\\begin{tabular}[c]{|rp{6cm}|"
chaine += "\\hline \n" # % (nbre_saes + nbre_ressources+1)+ "\n" + "c|" * 2
+ "c|"
+ "c|" * (len(comps))
+ "}"
+ "\n"
)
chaine += "\\hline \n" # % (nbre_saes + nbre_ressources+1)+ "\n"
# le début # le début
chaine += " & & " + "\\multicolumn{3}{c|}{\\bfseries Volumes} \n" chaine += " & & " + "\\multicolumn{3}{c|}{\\bfseries Volumes} \n"
chaine += " & " + "\\multicolumn{3}{c|}{\\bfseries Coefficients} \n" chaine += " & " + "\\multicolumn{3}{c|}{\\bfseries Coefficients} \n"
@ -579,7 +665,14 @@ def to_latex_matrice_coeffs(matrice_vols, matrice_coeffs, saes, ressources, sem)
for (i, comp) in enumerate(comps): # pour chaque SAE for (i, comp) in enumerate(comps): # pour chaque SAE
contenu = "\\begin{tabular}{p{5cm}}\n" contenu = "\\begin{tabular}{p{5cm}}\n"
couleur = "\\textcolor{compC" + string.ascii_uppercase[i] + "}" couleur = "\\textcolor{compC" + string.ascii_uppercase[i] + "}"
contenu += couleur + "{\\bfseries " + comp + "} - " + DATA_COMPETENCES[comp]["nom"].replace("&", "\&") + "\\\\ \n" contenu += (
couleur
+ "{\\bfseries "
+ comp
+ "} - "
+ DATA_COMPETENCES[comp]["nom"].replace("&", "\&")
+ "\\\\ \n"
)
niveau = list(DATA_COMPETENCES[comp]["niveaux"].keys())[0] niveau = list(DATA_COMPETENCES[comp]["niveaux"].keys())[0]
contenu += " \\small Niveau 1 - " + niveau.replace("&", "\&") + "\n" contenu += " \\small Niveau 1 - " + niveau.replace("&", "\&") + "\n"
contenu += "\\end{tabular}\n" contenu += "\\end{tabular}\n"
@ -590,21 +683,34 @@ def to_latex_matrice_coeffs(matrice_vols, matrice_coeffs, saes, ressources, sem)
chaine += "\\hline" chaine += "\\hline"
chaine += "\\hline" chaine += "\\hline"
chaine += "\multicolumn{%d}{|l}{\\textcolor{saeC}{\\bfseries SAÉs}}" % (nbre_colonnes) + "\n" chaine += (
"\multicolumn{%d}{|l}{\\textcolor{saeC}{\\bfseries SAÉs}}" % (nbre_colonnes)
+ "\n"
)
chaine += "\\\\ \n" chaine += "\\\\ \n"
chaine += "\\hline " chaine += "\\hline "
# le nom des SAE # le nom des SAE
for (i, s) in enumerate(saesem): # pour chaque SAE for (i, s) in enumerate(saesem): # pour chaque SAE
chaine += "\\textcolor{saeC}{" + s.sae["code"] + "} & " + "\n" chaine += "\\textcolor{saeC}{" + s.sae["code"] + "} & " + "\n"
chaine += "\\begin{tabular}{p{5.7cm}} \\tiny{" + s.sae["titre"] + "} \\end{tabular} & \n" chaine += (
"\\begin{tabular}{p{5.7cm}} \\tiny{"
+ s.sae["titre"]
+ "} \\end{tabular} & \n"
)
chaine += str_volume(matrice_vols[i][0]) + " & " chaine += str_volume(matrice_vols[i][0]) + " & "
chaine += str_volume(matrice_vols[i][1]) + " & " chaine += str_volume(matrice_vols[i][1]) + " & "
chaine += str_volume(matrice_vols[i][2]) + " & " chaine += str_volume(matrice_vols[i][2]) + " & "
chaine += " & ".join([str_coeff(matrice_coeffs[i][j]) for j in range(len(comp))]) chaine += " & ".join(
[str_coeff(matrice_coeffs[i][j]) for j in range(len(comp))]
)
chaine += "\\\\ \n" chaine += "\\\\ \n"
chaine += "\\hline " chaine += "\\hline "
# Les ressources et les coeff # Les ressources et les coeff
chaine += "\multicolumn{%d}{|l}{\\textcolor{ressourceC}{\\bfseries Ressources}}" % (nbre_colonnes) + "\n" chaine += (
"\multicolumn{%d}{|l}{\\textcolor{ressourceC}{\\bfseries Ressources}}"
% (nbre_colonnes)
+ "\n"
)
chaine += "\\\\ \n" chaine += "\\\\ \n"
chaine += "\\hline " chaine += "\\hline "
@ -615,7 +721,9 @@ def to_latex_matrice_coeffs(matrice_vols, matrice_coeffs, saes, ressources, sem)
chaine += str_volume(matrice_vols[i + nbre_saes][0]) + " & " chaine += str_volume(matrice_vols[i + nbre_saes][0]) + " & "
chaine += str_volume(matrice_vols[i + nbre_saes][1]) + " & " chaine += str_volume(matrice_vols[i + nbre_saes][1]) + " & "
chaine += " & " chaine += " & "
chaine += " & ".join([str_coeff(matrice_coeffs[i + nbre_saes][j]) for j in range(len(comp))]) chaine += " & ".join(
[str_coeff(matrice_coeffs[i + nbre_saes][j]) for j in range(len(comp))]
)
chaine += "\\\\ \n" chaine += "\\\\ \n"
chaine += "\\hline " chaine += "\\hline "
@ -627,7 +735,6 @@ def to_latex_matrice_coeffs(matrice_vols, matrice_coeffs, saes, ressources, sem)
total_coeffs_sae = get_total_coeffs_saes(matrice_coeffs, sem) total_coeffs_sae = get_total_coeffs_saes(matrice_coeffs, sem)
total_coeffs_ressources = get_total_coeffs_ressources(matrice_coeffs, sem) total_coeffs_ressources = get_total_coeffs_ressources(matrice_coeffs, sem)
chaine += "\\hline " chaine += "\\hline "
chaine += "\multicolumn{%d}{|l}{\\bfseries Total}" % (nbre_colonnes) + "\n" chaine += "\multicolumn{%d}{|l}{\\bfseries Total}" % (nbre_colonnes) + "\n"
chaine += "\\\\ \n" chaine += "\\\\ \n"
@ -647,7 +754,7 @@ def to_latex_matrice_coeffs(matrice_vols, matrice_coeffs, saes, ressources, sem)
chaine += "\\\\ \hline " chaine += "\\\\ \hline "
chaine += "\multicolumn{2}{|r|}{\\bfseries SAÉs + Ressources}" chaine += "\multicolumn{2}{|r|}{\\bfseries SAÉs + Ressources}"
for i in range(3): for i in range(3):
chaine += " & {\\bfseries " + str(total_heures[i]) + "h}" chaine += " & {\\bfseries " + str(total_heures[i]) + "h}"
for i in range(3): for i in range(3):
chaine += " & {\\bfseries " + str(total_coeffs[i]) + "}" chaine += " & {\\bfseries " + str(total_coeffs[i]) + "}"
chaine += "\\\\ \\hline" chaine += "\\\\ \\hline"
@ -657,42 +764,100 @@ def to_latex_matrice_coeffs(matrice_vols, matrice_coeffs, saes, ressources, sem)
def get_total_nbre_heures(matrice_heures): def get_total_nbre_heures(matrice_heures):
"""Calcul le nombre d'heures total des SAé d'après la matrice""" """Calcul le nombre d'heures total des SAé d'après la matrice"""
sommes = [sum([matrice_heures[i][j] for i in range(len(matrice_heures)) if matrice_heures[i][j]]) for j in range(3)] sommes = [
sum(
[
matrice_heures[i][j]
for i in range(len(matrice_heures))
if matrice_heures[i][j]
]
)
for j in range(3)
]
return sommes return sommes
def get_total_nbre_heures_saes(matrice_heures, sem): def get_total_nbre_heures_saes(matrice_heures, sem):
"""Calcul le nombre d'heures total des SAé d'après la matrice""" """Calcul le nombre d'heures total des SAé d'après la matrice"""
nbre_sae = len(DATA_SAES[sem]) nbre_sae = len(DATA_SAES[sem])
sommes = [sum([matrice_heures[i][j] for i in range(nbre_sae) if matrice_heures[i][j]]) for j in range(3)] sommes = [
sum([matrice_heures[i][j] for i in range(nbre_sae) if matrice_heures[i][j]])
for j in range(3)
]
return sommes return sommes
def get_total_nbre_heures_ressources(matrice_heures, sem): def get_total_nbre_heures_ressources(matrice_heures, sem):
"""Calcul le nombre d'heures total des SAé d'après la matrice""" """Calcul le nombre d'heures total des SAé d'après la matrice"""
nbre_sae = len(DATA_SAES[sem]) nbre_sae = len(DATA_SAES[sem])
sommes = [sum([matrice_heures[i][j] for i in range(nbre_sae, len(matrice_heures)) if matrice_heures[i][j]]) for j in range(3)] sommes = [
sum(
[
matrice_heures[i][j]
for i in range(nbre_sae, len(matrice_heures))
if matrice_heures[i][j]
]
)
for j in range(3)
]
return sommes return sommes
def get_total_coeffs(matrice_coeffs): def get_total_coeffs(matrice_coeffs):
sommes = [sum([matrice_coeffs[i][j] for i in range(len(matrice_coeffs)) if matrice_coeffs[i][j]]) for j in range(3)] sommes = [
sum(
[
matrice_coeffs[i][j]
for i in range(len(matrice_coeffs))
if matrice_coeffs[i][j]
]
)
for j in range(3)
]
return sommes return sommes
def get_total_coeffs_saes(matrice_coeffs, sem): def get_total_coeffs_saes(matrice_coeffs, sem):
nbre_sae = len(DATA_SAES[sem]) nbre_sae = len(DATA_SAES[sem])
sommes = [sum([matrice_coeffs[i][j] for i in range(nbre_sae) if matrice_coeffs[i][j]]) for j in range(3)] sommes = [
sum([matrice_coeffs[i][j] for i in range(nbre_sae) if matrice_coeffs[i][j]])
for j in range(3)
]
return sommes return sommes
def get_total_coeffs_ressources(matrice_coeffs, sem): def get_total_coeffs_ressources(matrice_coeffs, sem):
nbre_sae = len(DATA_SAES[sem]) nbre_sae = len(DATA_SAES[sem])
sommes = [sum([matrice_coeffs[i][j] for i in range(nbre_sae, len(matrice_coeffs)) if matrice_coeffs[i][j]]) for j in range(3)] sommes = [
sum(
[
matrice_coeffs[i][j]
for i in range(nbre_sae, len(matrice_coeffs))
if matrice_coeffs[i][j]
]
)
for j in range(3)
]
return sommes return sommes
def str_latex_abbreviations(): def str_latex_abbreviations():
"""Renvoie le code latex d'un tableau pour les abbréviations""" """Renvoie le code latex d'un tableau pour les abbréviations"""
liste = [ [cle, DATA_ABBREVIATIONS[lettre][cle]] for lettre in DATA_ABBREVIATIONS for cle in DATA_ABBREVIATIONS[lettre]] liste = [
[cle, DATA_ABBREVIATIONS[lettre][cle]]
for lettre in DATA_ABBREVIATIONS
for cle in DATA_ABBREVIATIONS[lettre]
]
nbre_abbreviations = len(liste) nbre_abbreviations = len(liste)
chaine = "" chaine = ""
for i in range(nbre_abbreviations): for i in range(nbre_abbreviations):
chaine += "\\begin{tabular}{rp{6.5cm}} \n" chaine += "\\begin{tabular}{rp{6.5cm}} \n"
chaine += "\makebox[1.5cm][r]{\\texttt{" + liste[i][0] + "}} & " + liste[i][1] + "\\\\ \n" chaine += (
"\makebox[1.5cm][r]{\\textabbrv{"
+ liste[i][0]
+ "}} & "
+ liste[i][1]
+ "\\\\ \n"
)
chaine += "\\end{tabular}\n\n" chaine += "\\end{tabular}\n\n"
return chaine return chaine