Corrige erreur sur le découpage du champ descriptif/contenu dans les ressources

This commit is contained in:
Cléo Baras 2021-04-12 08:29:19 +02:00
parent ca4e0b293a
commit 9d468bee23
8 changed files with 106 additions and 90 deletions

View File

@ -35,11 +35,18 @@
% Le descriptif % Le descriptif
\ajoutRancrage{} \ajoutRancrage{Cette ressource apporte le socle de connaissances langagières pour les
compétences de cœur de métier \og Administrer les réseaux et
l'Internet\fg{} (RT1) et \og Connecter les entreprises et les
usagers\fg{} (RT2). Elle contribue aussi à la compétence \og Créer des
outils et applications informatiques pour les R\&T\fg{} (RT3) à travers
des mises en situations, jeux de rôle, dialogues qui permettent la prise
de parole en continu et en interaction, en développant les compétences
de compréhension dans un contexte professionnel technique.}
% Contenus % Contenus
\ajoutRcontenudetaille{ \ajoutRcontenudetaille{
Objectifs visés \vspace{-5pt}
\begin{itemize} \begin{itemize}
\item \item
Développer sa confiance en soi Développer sa confiance en soi

View File

@ -37,16 +37,16 @@
% Le descriptif % Le descriptif
\ajoutRancrage{Cette ressource apporte le socle de connaissances et savoirs-faire pour \ajoutRancrage{Cette ressource apporte le socle de connaissances et savoirs-faire pour
les compétences de cœur de métier \og Administrer les réseaux et les compétences de cœur de métier ``Administrer les réseaux et
l'Internet\fg{} (RT1) et \og Connecter les entreprises et les l'Internet'' (RT1) et ``Connecter les entreprises et les usagers''
usagers\fg{} (RT2). Elle vise à fournir à l'étudiant les connaissances (RT2). Elle vise à fournir à l'étudiant les connaissances et les
et les compétences indispensables pour pouvoir concevoir, déployer et compétences indispensables pour pouvoir concevoir, déployer et maintenir
maintenir les infrastructures réseaux grande distance (Internet), plus les infrastructures réseaux grande distance (Internet), plus précisément
précisément l'adressage, le routage et le transport de paquets. Une l'adressage, le routage et le transport de paquets. Une première
première approche du filtrage (sécurité) y est aussi abordée.\\ approche du filtrage (sécurité) y est aussi abordée.\\
Elle contribue aussi à la compétence \og Créer des outils et Elle contribue aussi à la compétence ``Créer des outils et applications
applications informatiques pour les R\&T\fg{} (RT3) à travers la informatiques pour les R\&T'' (RT3) à travers la découverte du poste
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'\textabbrv{ANSSI}, CyberEdu, CyberMalveillance associées aux recommandations de l'\textabbrv{ANSSI}, CyberEdu, CyberMalveillance
pourront servir de support)} pourront servir de support)}
@ -69,4 +69,4 @@ pourront servir de support)}
} }
% Mots-clés % Mots-clés
\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}.} \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

@ -38,32 +38,32 @@
% Le descriptif % Le descriptif
\ajoutRancrage{Cette ressource apporte le socle de connaissances et savoir-faire pour \ajoutRancrage{Cette ressource apporte le socle de connaissances et savoir-faire pour
les compétences de cœur de métier \og Administrer les réseaux et les compétences de cœur de métier ``Administrer les réseaux et
l'Internet\fg{} (RT1). Elle donne aux étudiants les compétences pour l'Internet'' (RT1). Elle donne aux étudiants les compétences pour
effectuer des tâches simples d'administration du système d'information effectuer des tâches simples d'administration du système d'information
de l'entreprise (processus, utilisateurs, automatisation) et pour de l'entreprise (processus, utilisateurs, automatisation) et pour
utiliser des solutions de virtualisation, de conteneurisation.\\ utiliser des solutions de virtualisation, de conteneurisation.\\
Elle contribue aussi à la compétence \og Créer des outils et Elle contribue aussi à la compétence ``Créer des outils et applications
applications informatiques pour les R\&T\fg{} (RT3) à travers la informatiques pour les R\&T'' (RT3) à travers la découverte du poste
découverte du poste client et de son environnement logiciel.} client et de son environnement logiciel.}
% Contenus % Contenus
\ajoutRcontenudetaille{ \ajoutRcontenudetaille{
\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,12 +39,12 @@
\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 SI tels que le Les services abordés sont des services essentiels à tout système
\textabbrv{DNS}, le \textabbrv{DHCP} ou le transfert de fichiers pour les configurations d'information tels que le \textabbrv{DNS}, le \textabbrv{DHCP} ou le transfert de fichiers pour
d'appareils réseaux pour n'en citer que quelques-uns. Cette découverte les configurations d'appareils réseaux pour n'en citer que quelques-uns.
des premiers protocoles applicatifs permettra également de sensibiliser Cette découverte des premiers protocoles applicatifs permettra également
les étudiants aux risques de sécurité liés à la configuration de ces de sensibiliser les étudiants aux risques de sécurité liés à la
services\\ configuration de ces 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'\textabbrv{ANSSI}, CyberEdu, CyberMalveillance associées aux recommandations de l'\textabbrv{ANSSI}, CyberEdu, CyberMalveillance
pourront servir de support).} pourront servir de support).}
@ -54,23 +54,25 @@ pourront servir de support).}
\vspace{-5pt} \vspace{-5pt}
\begin{itemize} \begin{itemize}
\item \item
Rappels sur les protocoles de transport (\textabbrv{TCP}, \textabbrv{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 :
\item \begin{itemize}
\textabbrv{DHCP} \item
\item \textabbrv{DHCP};
\textabbrv{DNS} (fonctions de base) \item
\item \textabbrv{DNS} (fonctions de base);
\textabbrv{HTTP} \item
\item \textabbrv{HTTP};
\textabbrv{TFTP}, \textabbrv{FTP} \item
\item \textabbrv{TFTP}, \textabbrv{FTP};
\textabbrv{NTP} \item
\textabbrv{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,22 +38,22 @@
\ajoutRprerequis{R109}{Introduction aux technologies Web} \ajoutRprerequis{R109}{Introduction aux technologies Web}
% Le descriptif % Le descriptif
\ajoutRancrage{Le professionnel R\&T traite un grand nombre de données, comme \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 et à administrer les informatiques). Elles peuvent servir à configurer ou à administrer les
services réseau d'une entreprise (compétence RT1) ou à alimenter les services réseau d'une entreprise (RT1) ou à alimenter les pages d'un
pages d'un site Web (compétence RT3). Il est donc amené à stocker, site Web (RT3). Il est donc amené à stocker, organiser, gérer, protéger
organiser, gérer, protéger des données provenant de différentes sources des données provenant de différentes sources (thématiques du
(thématiques du référentiel PIX, \url{https://pix.fr/competences}), mais \href{https://pix.fr/competences}{PIX}), mais aussi à les traiter en
aussi à les traiter en développant différents outils informatiques pour développant différents outils informatiques pour ses besoins personnels
ses besoins personnels ou pour son équipe (compétence RT3). Plus ou pour son équipe (RT3). Plus largement, il contribue activement à
largement, il contribue activement à l'exploitation et à la maintenance l'exploitation et à la maintenance du système d'information de
du système d'information de l'entreprise.\\ l'entreprise.\\
Cette ressource introduit les systèmes de gestion de base de données. Cette ressource introduit les éléments fondamentaux des systèmes de
Elle présente différentes alternatives technologiques pour le stockage gestion de base de données. Elle présente différentes alternatives
et le codage de l'information en fonction des données et de leur usage. technologiques pour le stockage et le codage de l'information, en
L'accès aux données utilise des langages et des outils spécifiques qui fonction des données, de leur usage. L'accès aux données utilise des
seront introduits.} langages et des scripts spécifiques qui seront introduits.}
% Contenus % Contenus
\ajoutRcontenudetaille{ \ajoutRcontenudetaille{
@ -63,23 +63,23 @@ 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 (\textabbrv{CSV}, \textabbrv{JSON}), exemples de sources Structuration des données: fichiers (\textabbrv{CSV}, \textabbrv{JSON}), exemples de sources
ouvertes (open data), web scraping; ouvertes (\emph{open data}), \emph{web scraping};
\item \item
sensibilisation à la réglementation française et internationale Sensibilisation à la réglementation française et internationale
(\textabbrv{CNIL}, \textabbrv{RGPD}). (\textabbrv{CNIL}, \textabbrv{RGPD}).
\end{itemize} \end{itemize}
\item \item
Base de données relationnelles : Base de données relationnelles :
\begin{itemize} \begin{itemize}
\item \item
schéma relationnel d'une base de données; Schéma relationnel d'une base de données;
\item \item
sensibilisation aux contraintes d'intégrité; Sensibilisation aux contraintes d'intégrité;
\item \item
création de tables simples; Création de tables simples;
\item \item
Interrogation de données, ajout et modification de données. Interrogation de données, ajout et modification de données.
\end{itemize} \end{itemize}

View File

@ -37,15 +37,14 @@
% 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 (compétence informatiques à usage personnel ou interne à l'équipe (RT3). Ces outils
RT3-Programmer). Ces outils peuvent traiter des données complexes, viser peuvent traiter des données complexes, viser des fonctionnalités
des fonctionnalités multiples et être développé en équipe : il est alors multiples et être développé en équipe : il est alors nécessaire - pour
nécessaire - pour le professionnel R\&T - de structurer son travail, le professionnel R\&T - de structurer son travail, tant sur les
tant sur les variables manipulant les données, les fichiers qui les variables manipulant les données, les fichiers qui les sauvegardent ou
sauvegardent ou les restaurent, que sur l'organisation (arborescence) de les restaurent, que sur l'organisation (arborescence) de son projet. La
son projet. La ressource introduit ses éléments structurels en ressource introduit ses éléments structurels en contribuant à
contribuant à l'acquisition des apprentissages critiques mentionnés l'acquisition des apprentissages critiques mentionnés précédemment.}
précédemment.}
% Contenus % Contenus
\ajoutRcontenudetaille{ \ajoutRcontenudetaille{
@ -53,38 +52,38 @@ 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 vs script Contexte d'exécution : programme principal \emph{vs} script.
\item \item
Structure complexe de données : Structure complexe de données :
\begin{itemize} \begin{itemize}
\item \item
listes \textabbrv{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 (\textabbrv{XML}, \textabbrv{CSV}, \textabbrv{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.
} }
% Mots-clés % Mots-clés
\ajoutRmotscles{Algorithmes, Langages informatiques, Programmation, Structure de données, Méthodologie de développement, gestion de versions.} \ajoutRmotscles{Algorithmes, langages de programmation, structure de données, méthodologie de développement, gestion de versions.}

View File

@ -2,6 +2,7 @@ import os
import glob import glob
import argparse import argparse
import logging import logging
import sys
from config import Config from config import Config

View File

@ -5,7 +5,6 @@ from officiel import supprime_accent_espace, get_code_from_nom_using_dict
import ruamel.yaml import ruamel.yaml
from ruamel.yaml.scalarstring import FoldedScalarString as folded from ruamel.yaml.scalarstring import FoldedScalarString as folded
from tools import caracteres_recalcitrants
__LOGGER = logging.getLogger(__name__) __LOGGER = logging.getLogger(__name__)
@ -15,6 +14,7 @@ class Docx():
def __init__(self, nom, brut): def __init__(self, nom, brut):
self.nom = nom self.nom = nom
self.code = None # chargé ultérieurement
self.brut = brut # les données brutes de la ressource/saé self.brut = brut # les données brutes de la ressource/saé
self.semestre = None # le semestre de la ressource/saé (chargé ultérieurement) self.semestre = None # le semestre de la ressource/saé (chargé ultérieurement)
self.apprentissages = None # les acs (chargés ultérieurement) self.apprentissages = None # les acs (chargés ultérieurement)
@ -224,7 +224,7 @@ class RessourceDocx(Docx):
"""Nettoie le champ (horaire) (de la forme 46h ou 33...) pour en extraire la valeur numérique : """Nettoie le champ (horaire) (de la forme 46h ou 33...) pour en extraire la valeur numérique :
le champ peut contenir 2 volumes (heures formation puis heures tp), auquel cas les 2 valeurs sont renvoyées le champ peut contenir 2 volumes (heures formation puis heures tp), auquel cas les 2 valeurs sont renvoyées
dans un tuple""" dans un tuple"""
volumes = None
if self.heures_encadrees: # si les heures encadrées sont renseignées if self.heures_encadrees: # si les heures encadrées sont renseignées
volumes = nettoie_champ_heure(self.heures_encadrees) volumes = nettoie_champ_heure(self.heures_encadrees)
if self.tp: if self.tp:
@ -243,6 +243,8 @@ class RessourceDocx(Docx):
def split_description(self): def split_description(self):
"""Découpe le champ description en un contexte+un contenu ; si pas possible """ """Découpe le champ description en un contexte+un contenu ; si pas possible """
if self.code == "R110":
print("ici")
champs = self.description.split("\n") champs = self.description.split("\n")
champs = [c for c in champs if c] # supprime les lignes vides champs = [c for c in champs if c] # supprime les lignes vides
@ -252,8 +254,13 @@ class RessourceDocx(Docx):
indicec = 0 indicec = 0
contexte = [] contexte = []
if True in [ligne.startswith("Contenus") for ligne in champs]: # la ligne commençant par Contenus marqueur = False
indicec = [ligne.startswith("Contenus") for ligne in champs].index(True) identifiants = ["Contenus", "Objectifs visés"] # Identifiant marquant la ligne des contenus
for id in identifiants:
presence = [ligne.startswith(id) for ligne in champs]
if True in presence and not marqueur: # la ligne commençant par l'identifiant
indicec = presence.index(True)
marqueur = True
if True in [ligne.startswith("Contexte et ") for ligne in champs]: if True in [ligne.startswith("Contexte et ") for ligne in champs]:
contexte = champs[indicea + 1:indicec] contexte = champs[indicea + 1:indicec]
else: else: