Ajoute pré-requis de lycée + nettoyage du contexte (avec détection de listes à puces)
This commit is contained in:
parent
12ec264e7e
commit
4fb8649071
@ -150,6 +150,13 @@
|
||||
|
||||
% ****************************
|
||||
% Ajout des prerequis
|
||||
%% pré-requis autre qu'une ressource (ex: A2-B1 en anglais)
|
||||
\def\ajoutRprerequislycee#1{
|
||||
\begingroup\let\+\relax
|
||||
\expandafter\gdef\csname Rprerequislycee\currentRressource\endcsname{#1} % descriptif
|
||||
\endgroup
|
||||
}
|
||||
|
||||
\def\ajoutRprerequis#1#2{
|
||||
\addtocounter{cptRprerequis\currentRressource}{1} % le compteur du prerequis dans la ressource
|
||||
\xdef\currentprerequis{\Alph{cptRprerequis\currentRressource}} % La lettre
|
||||
|
@ -67,18 +67,23 @@
|
||||
% Liste des pré-requis
|
||||
\newcommand*{\listePrerequis}[1]{%
|
||||
\xdef\CODE{#1} % le code de la ressource sous la forme AA
|
||||
\ifthenelse{\equal{\value{cptRprerequis\CODE}}{0}}{ % Si pas de prérequis
|
||||
Aucun
|
||||
}{ % Si des pré-requis
|
||||
\begin{tabular}[t]{@{}T@{}}%
|
||||
\ifcsdef{Rprerequislycee\CODE}{ % si pre-requis simple
|
||||
{\csname Rprerequislycee\CODE\endcsname}
|
||||
}
|
||||
{
|
||||
\ifthenelse{\equal{\value{cptRprerequis\CODE}}{0}}{ % Si pas de prérequis
|
||||
Aucun
|
||||
}{ % Si des pré-requis
|
||||
\begin{tabular}[t]{@{}T@{}}%
|
||||
|
||||
\forLoop{1}{\value{cptRprerequis\CODE}}{noligne}{
|
||||
\xdef\rescode{\csname Rprerequiscode\CODE\Alph{noligne}\endcsname}
|
||||
\hyperlink{res:\rescode}{\textcolor{ressourceC}{\rescode}} {\csname Rprerequisname\CODE\Alph{noligne}\endcsname}
|
||||
\tabularnewline %
|
||||
}
|
||||
\end{tabular}%
|
||||
}
|
||||
\forLoop{1}{\value{cptRprerequis\CODE}}{noligne}{
|
||||
\xdef\rescode{\csname Rprerequiscode\CODE\Alph{noligne}\endcsname}
|
||||
\hyperlink{res:\rescode}{\textcolor{ressourceC}{\rescode}} {\csname Rprerequisname\CODE\Alph{noligne}\endcsname}
|
||||
\tabularnewline %
|
||||
}
|
||||
\end{tabular}%
|
||||
}
|
||||
}
|
||||
}%
|
||||
|
||||
|
||||
|
@ -153,6 +153,8 @@ Document de travail formulant les propositions de l'ACD R\&T pour l'ensemble de
|
||||
\end{center}
|
||||
|
||||
\clearpage
|
||||
\RprerequislyceeAJ
|
||||
|
||||
% ------ TABLE DES MATIERES (en version draft seulement)
|
||||
%\ifdef{\draft}{
|
||||
%\section*{Table des matières}
|
||||
|
@ -32,14 +32,21 @@
|
||||
\ajoutRsae{SAÉ15}{Traiter des données}
|
||||
|
||||
% Les pre-requis
|
||||
|
||||
\ajoutRprerequislycee{A2-B1}
|
||||
|
||||
% 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
|
||||
\ajoutRcontenudetaille{
|
||||
Objectifs visés
|
||||
\vspace{-5pt}
|
||||
\begin{itemize}
|
||||
\item
|
||||
Développer sa confiance en soi
|
||||
|
@ -31,11 +31,8 @@
|
||||
|
||||
|
||||
% Le descriptif
|
||||
\ajoutRancrage{}
|
||||
|
||||
% Contenus
|
||||
\ajoutRcontenudetaille{
|
||||
\vspace{-5pt}
|
||||
\ajoutRancrage{Le Projet Personnel et Professionnel des semestres 1 et 2 de la première
|
||||
année de B.U.T. permet à l'étudiant :
|
||||
\begin{itemize}
|
||||
\item
|
||||
s'approprier son champ d'activité ;
|
||||
@ -59,10 +56,12 @@
|
||||
d'avoir une compréhension exhaustive du référentiel de compétences de
|
||||
la formation et des éléments
|
||||
le structurant (composantes essentielles, niveaux, apprentissages
|
||||
critiques, famille de situations)
|
||||
;
|
||||
\end{itemize}
|
||||
Activités notamment proposées dans cette ressource :
|
||||
critiques, famille de situations).
|
||||
\end{itemize}}
|
||||
|
||||
% Contenus
|
||||
\ajoutRcontenudetaille{
|
||||
Les activités pouvant être proposées dans cette ressource sont :
|
||||
\begin{itemize}
|
||||
\item
|
||||
rencontres d'entrepreneurs, de chefs de service, de techniciens et
|
||||
|
@ -49,34 +49,34 @@ Dans le cadre de cette ressource transversale, l'étudiant devra :
|
||||
Utilisation avancée du courriel : création d'une adresse générique,
|
||||
utilisation du \textabbrv{CC} et du \textabbrv{CCi}.
|
||||
\item
|
||||
Utilisation d'outils collaboratifs adaptés (par ex : Mattermost,
|
||||
Utilisation d'outils collaboratifs adaptés (par exemple Mattermost,
|
||||
Slack, MSTeams, Google Drive,
|
||||
OnlyOffice)
|
||||
OnlyOffice).
|
||||
\end{itemize}
|
||||
\item
|
||||
Organiser son travail et celui de l'équipe à partir d'outils de
|
||||
planification (Gantt, \textabbrv{PERT})
|
||||
planification (Gantt, \textabbrv{PERT}).
|
||||
\item
|
||||
Prendre sa place dans une équipe en connaissant les différents rôles
|
||||
d'une équipe projet
|
||||
d'une équipe projet.
|
||||
\item
|
||||
Conceptualiser les étapes des tâches à réaliser à l'aide d'outils
|
||||
adaptés (cartes mentales, infographies,
|
||||
etc.)
|
||||
etc.).
|
||||
\item
|
||||
Prendre conscience des délais et échéances dans un travail en mode
|
||||
projet
|
||||
projet.
|
||||
\item
|
||||
Savoir s'adapter à des profils professionnels différents (manager,
|
||||
collaborateur, client) qui interviennent
|
||||
dans un projet
|
||||
dans un projet.
|
||||
\item
|
||||
Apprendre à faire un bilan régulier sur l'avancée d'un projet : points
|
||||
bloquants, solutions apportées
|
||||
bloquants, solutions apportées.
|
||||
\item
|
||||
Appliquer la critique constructive dans l'intérêt du projet
|
||||
\item
|
||||
Organiser des réunions de projet
|
||||
Organiser des réunions de projet.
|
||||
\item
|
||||
Présenter un projet selon ses spécificités et le public visé.
|
||||
\end{itemize}
|
||||
|
@ -37,16 +37,16 @@
|
||||
|
||||
% Le descriptif
|
||||
\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
|
||||
l'Internet\fg{} (RT1) et \og Connecter les entreprises et les
|
||||
usagers\fg{} (RT2). Elle vise à fournir à l'étudiant les connaissances
|
||||
et les compétences indispensables pour pouvoir concevoir, déployer et
|
||||
maintenir les infrastructures réseaux grande distance (Internet), plus
|
||||
précisément l'adressage, le routage et le transport de paquets. Une
|
||||
première approche du filtrage (sécurité) y est aussi abordée.\\
|
||||
Elle contribue aussi à la compétence \og Créer des outils et
|
||||
applications informatiques pour les R\&T\fg{} (RT3) à travers la
|
||||
découverte du poste client et de son environnement logiciel.\\
|
||||
les compétences de cœur de métier ``Administrer les réseaux et
|
||||
l'Internet'' (RT1) et ``Connecter les entreprises et les usagers''
|
||||
(RT2). Elle vise à fournir à l'étudiant les connaissances et les
|
||||
compétences indispensables pour pouvoir concevoir, déployer et maintenir
|
||||
les infrastructures réseaux grande distance (Internet), plus précisément
|
||||
l'adressage, le routage et le transport de paquets. Une première
|
||||
approche du filtrage (sécurité) y est aussi abordée.\\
|
||||
Elle contribue aussi à la compétence ``Créer des outils et applications
|
||||
informatiques pour les R\&T'' (RT3) à travers la découverte du poste
|
||||
client et de son environnement logiciel.\\
|
||||
On introduira des notions de sécurité informatique (les ressources
|
||||
associées aux recommandations de l'\textabbrv{ANSSI}, CyberEdu, CyberMalveillance
|
||||
pourront servir de support)}
|
||||
@ -69,4 +69,4 @@ pourront servir de support)}
|
||||
}
|
||||
|
||||
% 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}.}
|
||||
|
@ -38,32 +38,32 @@
|
||||
|
||||
% Le descriptif
|
||||
\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
|
||||
l'Internet\fg{} (RT1). Elle donne aux étudiants les compétences pour
|
||||
les compétences de cœur de métier ``Administrer les réseaux et
|
||||
l'Internet'' (RT1). Elle donne aux étudiants les compétences pour
|
||||
effectuer des tâches simples d'administration du système d'information
|
||||
de l'entreprise (processus, utilisateurs, automatisation) et pour
|
||||
utiliser des solutions de virtualisation, de conteneurisation.\\
|
||||
Elle contribue aussi à la compétence \og Créer des outils et
|
||||
applications informatiques pour les R\&T\fg{} (RT3) à travers la
|
||||
découverte du poste client et de son environnement logiciel.}
|
||||
Elle contribue aussi à la compétence ``Créer des outils et applications
|
||||
informatiques pour les R\&T'' (RT3) à travers la découverte du poste
|
||||
client et de son environnement logiciel.}
|
||||
|
||||
% Contenus
|
||||
\ajoutRcontenudetaille{
|
||||
\vspace{-5pt}
|
||||
\begin{itemize}
|
||||
\item
|
||||
Gestion des systèmes de fichiers (volumes, droits, types de fichiers)
|
||||
Gestion des systèmes de fichiers (volumes, droits, types de fichiers).
|
||||
\item
|
||||
Gestion de processus et services
|
||||
Gestion de processus et services.
|
||||
\item
|
||||
Gestion de ressources utilisateurs (comptes, quotas)
|
||||
Gestion de ressources utilisateurs (comptes, quotas).
|
||||
\item
|
||||
Scripts pour l'automatisation de séquences de commandes
|
||||
Scripts pour l'automatisation de séquences de commandes.
|
||||
\item
|
||||
Utilisation de fichiers de traces (logs)
|
||||
Utilisation de fichiers de traces (logs).
|
||||
\item
|
||||
Initiation et mise en oeuvre d'infrastructures de virtualisation et/ou
|
||||
de conteneurisation
|
||||
de conteneurisation.
|
||||
\end{itemize}
|
||||
}
|
||||
|
||||
|
@ -39,12 +39,12 @@
|
||||
\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
|
||||
d'information\\
|
||||
Les services abordés sont des services essentiels à tout SI tels que le
|
||||
\textabbrv{DNS}, le \textabbrv{DHCP} ou le transfert de fichiers pour les configurations
|
||||
d'appareils réseaux pour n'en citer que quelques-uns. Cette découverte
|
||||
des premiers protocoles applicatifs permettra également de sensibiliser
|
||||
les étudiants aux risques de sécurité liés à la configuration de ces
|
||||
services\\
|
||||
Les services abordés sont des services essentiels à tout système
|
||||
d'information tels que le \textabbrv{DNS}, le \textabbrv{DHCP} ou le transfert de fichiers pour
|
||||
les configurations d'appareils réseaux pour n'en citer que quelques-uns.
|
||||
Cette découverte des premiers protocoles applicatifs permettra également
|
||||
de sensibiliser les étudiants aux risques de sécurité liés à la
|
||||
configuration de ces services\\
|
||||
On introduira des notions de sécurité informatique (les ressources
|
||||
associées aux recommandations de l'\textabbrv{ANSSI}, CyberEdu, CyberMalveillance
|
||||
pourront servir de support).}
|
||||
@ -54,23 +54,25 @@ pourront servir de support).}
|
||||
\vspace{-5pt}
|
||||
\begin{itemize}
|
||||
\item
|
||||
Rappels sur les protocoles de transport (\textabbrv{TCP}, \textabbrv{UDP})
|
||||
Rappels sur les protocoles de transport (\textabbrv{TCP}, \textabbrv{UDP}).
|
||||
\item
|
||||
Utilisation de ssh pour l'accès distant
|
||||
Utilisation de ssh pour l'accès distant.
|
||||
\item
|
||||
Principe, installation, configuration et tests des services :
|
||||
\item
|
||||
\textabbrv{DHCP}
|
||||
\item
|
||||
\textabbrv{DNS} (fonctions de base)
|
||||
\item
|
||||
\textabbrv{HTTP}
|
||||
\item
|
||||
\textabbrv{TFTP}, \textabbrv{FTP}
|
||||
\item
|
||||
\textabbrv{NTP}
|
||||
\begin{itemize}
|
||||
\item
|
||||
\textabbrv{DHCP};
|
||||
\item
|
||||
\textabbrv{DNS} (fonctions de base);
|
||||
\item
|
||||
\textabbrv{HTTP};
|
||||
\item
|
||||
\textabbrv{TFTP}, \textabbrv{FTP};
|
||||
\item
|
||||
\textabbrv{NTP}.
|
||||
\end{itemize}
|
||||
\end{itemize}
|
||||
}
|
||||
|
||||
% Mots-clés
|
||||
\ajoutRmotscles{Protocoles et ports applicatifs, services, systèmes d'exploitation.}
|
||||
\ajoutRmotscles{Protocoles et ports applicatifs, Services, Systèmes d'exploitation.}
|
||||
|
@ -72,4 +72,4 @@ informatique.
|
||||
}
|
||||
|
||||
% Mots-clés
|
||||
\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.}
|
||||
\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.}
|
||||
|
@ -40,15 +40,15 @@
|
||||
% Le descriptif
|
||||
\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
|
||||
informatiques). Elles peuvent servir à configurer et à administrer les
|
||||
informatiques). Elles peuvent servir à configurer ou à administrer les
|
||||
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
|
||||
des données provenant de différentes sources (thématiques du PIX,
|
||||
cf.~\url{https://pix.fr/competences}), mais aussi à les traiter en
|
||||
des données provenant de différentes sources (thématiques du
|
||||
\href{https://pix.fr/competences}{PIX}), mais aussi à les traiter en
|
||||
développant différents outils informatiques pour ses besoins personnels
|
||||
ou pour son équipe (RT3). Plus largement, il contribue activement à
|
||||
l'exploitation et à la maintenance du système d'information de l'
|
||||
entreprise.\\
|
||||
l'exploitation et à la maintenance du système d'information de
|
||||
l'entreprise.\\
|
||||
Cette ressource introduit les éléments fondamentaux des systèmes de
|
||||
gestion de base de données. Elle présente différentes alternatives
|
||||
technologiques pour le stockage et le codage de l'information, en
|
||||
@ -63,12 +63,12 @@ langages et des scripts spécifiques qui seront introduits.}
|
||||
Stockage et accès aux données :
|
||||
\begin{itemize}
|
||||
\item
|
||||
système de gestion de données (relationnel/non relationnel);
|
||||
Système de gestion de données (relationnel/non relationnel);
|
||||
\item
|
||||
structuration des données: fichiers (\textabbrv{CSV}, \textabbrv{JSON}), exemples de sources
|
||||
ouvertes (open data), web scraping;
|
||||
Structuration des données: fichiers (\textabbrv{CSV}, \textabbrv{JSON}), exemples de sources
|
||||
ouvertes (\emph{open data}), \emph{web scraping};
|
||||
\item
|
||||
sensibilisation à la réglementation française et internationale
|
||||
Sensibilisation à la réglementation française et internationale
|
||||
(\textabbrv{CNIL}, \textabbrv{RGPD}).
|
||||
\end{itemize}
|
||||
\item
|
||||
|
@ -37,15 +37,14 @@
|
||||
|
||||
% Le descriptif
|
||||
\ajoutRancrage{Le professionnel R\&T est amené à développer différents outils
|
||||
informatiques à usage personnel ou interne à l'équipe (compétence
|
||||
RT3-Programmer). Ces outils peuvent traiter des données complexes, viser
|
||||
des fonctionnalités multiples et être développé en équipe : il est alors
|
||||
nécessaire - pour le professionnel R\&T - de structurer son travail,
|
||||
tant sur les variables manipulant les données, les fichiers qui les
|
||||
sauvegardent ou les restaurent, que sur l'organisation (arborescence) de
|
||||
son projet. La ressource introduit ses éléments structurels en
|
||||
contribuant à l'acquisition des apprentissages critiques mentionnés
|
||||
précédemment.}
|
||||
informatiques à usage personnel ou interne à l'équipe (RT3). Ces outils
|
||||
peuvent traiter des données complexes, viser des fonctionnalités
|
||||
multiples et être développé en équipe : il est alors nécessaire - pour
|
||||
le professionnel R\&T - de structurer son travail, tant sur les
|
||||
variables manipulant les données, les fichiers qui les sauvegardent ou
|
||||
les restaurent, que sur l'organisation (arborescence) de son projet. La
|
||||
ressource introduit ses éléments structurels en contribuant à
|
||||
l'acquisition des apprentissages critiques mentionnés précédemment.}
|
||||
|
||||
% Contenus
|
||||
\ajoutRcontenudetaille{
|
||||
@ -53,35 +52,35 @@ précédemment.}
|
||||
\begin{itemize}
|
||||
\item
|
||||
Structure d'un programme : arborescence de fichiers, modules et
|
||||
packages
|
||||
packages.
|
||||
\item
|
||||
Contexte d'exécution : programme principal vs script
|
||||
Contexte d'exécution : programme principal \emph{vs} script.
|
||||
\item
|
||||
Structure complexe de données :
|
||||
\begin{itemize}
|
||||
\item
|
||||
listes \textabbrv{2D}, tableaux associatifs/dictionnaires
|
||||
Listes \textabbrv{2D}, tableaux associatifs/dictionnaires;
|
||||
\item
|
||||
notion de classes (instance, attributs, méthodes)
|
||||
Notion de classes (instance, attributs, méthodes).
|
||||
\end{itemize}
|
||||
\item
|
||||
Manipulation de fichiers avancée :
|
||||
\begin{itemize}
|
||||
\item
|
||||
fichiers structurés (\textabbrv{XML}, \textabbrv{CSV}, \textabbrv{JSON}, YAML)
|
||||
Fichiers structurés (\textabbrv{XML}, \textabbrv{CSV}, \textabbrv{JSON}, YAML);
|
||||
\item
|
||||
gestion de l'arborescence par le code
|
||||
Gestion de l'arborescence par le code;
|
||||
\item
|
||||
lecture/écriture de fichiers structurés
|
||||
Lecture/écriture de fichiers structurés;
|
||||
\item
|
||||
notion de sérialisation
|
||||
Notion de sérialisation;
|
||||
\item
|
||||
notion de persistance des données
|
||||
Notion de persistance des données.
|
||||
\end{itemize}
|
||||
\item
|
||||
Initiation aux expressions régulières
|
||||
Initiation aux expressions régulières.
|
||||
\item
|
||||
Introduction au traitement des erreurs
|
||||
Introduction au traitement des erreurs.
|
||||
\end{itemize}
|
||||
L'utilisation de l'anglais est préconisée dans la documentation du code.
|
||||
}
|
||||
|
@ -1,6 +1,8 @@
|
||||
import os
|
||||
import glob
|
||||
import argparse
|
||||
import logging
|
||||
import sys
|
||||
|
||||
from config import Config
|
||||
|
||||
@ -36,8 +38,8 @@ REPERTOIRE_SYNTHESE = Config.ROOT + "/latex/synthese"
|
||||
|
||||
# Chargement des ressources : depuis les versions définitives du répertoire yaml d'abord,
|
||||
# puis dans python/export si manquantes
|
||||
fichiers_definitifs = os.listdir(REPERTOIRE_RESSOURCES_DEFINITIVES)
|
||||
fichiers_temp = os.listdir(REPERTOIRE_TEMP)
|
||||
fichiers_definitifs = [ os.path.split(x)[1] for x in glob.glob(REPERTOIRE_RESSOURCES_DEFINITIVES+'/*.yml') ]
|
||||
fichiers_temp = [ os.path.split(x)[1] for x in glob.glob(REPERTOIRE_TEMP+'/*.yml') ]
|
||||
fichiers_ressources = [REPERTOIRE_RESSOURCES_DEFINITIVES + "/" + f for f in fichiers_definitifs]
|
||||
for f in fichiers_temp:
|
||||
if f not in fichiers_definitifs and f.startswith("R"):
|
||||
|
@ -21,6 +21,8 @@ with open(Config.ROOT+"/yaml/competences/RT123.yml", 'r', encoding="utf8") as fi
|
||||
with open(Config.ROOT+"/yaml/abbreviations.yml", "r", encoding="utf8") as fid:
|
||||
DATA_ABBREVIATIONS = yaml.load(fid.read(), Loader=yaml.Loader)
|
||||
|
||||
AUCUN_PREREQUIS = "Aucun"
|
||||
|
||||
def supprime_accent_espace(chaine):
|
||||
"""Met en minuscule, supprime les accents, les ponctuations et les espaces"""
|
||||
purge = chaine.lower().replace("'", "").replace("’", "")
|
||||
|
@ -70,17 +70,23 @@ class Ressource:
|
||||
) # , code_latex))
|
||||
saes = "\n".join(saesRT)
|
||||
|
||||
ajoutprerequis = "\\ajoutRprerequis{%s}{%s}"
|
||||
if self.ressource["code"] == "R110":
|
||||
print("ici")
|
||||
prerequis = ""
|
||||
if self.ressource["prerequis"] == "Aucun":
|
||||
if self.ressource["prerequis"] == AUCUN_PREREQUIS:
|
||||
prerequis = ""
|
||||
else:
|
||||
liste = []
|
||||
for (no, mod) in enumerate(self.ressource["prerequis"]):
|
||||
liste.append(
|
||||
ajoutprerequis % (mod, get_officiel_ressource_name_by_code(mod))
|
||||
)
|
||||
prerequis = "\n".join(liste)
|
||||
# est-une liste de ressources
|
||||
if not self.ressource["prerequis"][0].startswith("R"):
|
||||
prerequis = "\\ajoutRprerequislycee{%s}" % (self.ressource["prerequis"])
|
||||
else:
|
||||
ajoutprerequis = "\\ajoutRprerequis{%s}{%s}"
|
||||
liste = []
|
||||
for (no, mod) in enumerate(self.ressource["prerequis"]):
|
||||
liste.append(
|
||||
ajoutprerequis % (mod, get_officiel_ressource_name_by_code(mod))
|
||||
)
|
||||
prerequis = "\n".join(liste)
|
||||
|
||||
# préparation du contexte
|
||||
contexte = self.ressource["contexte"]
|
||||
|
@ -5,7 +5,6 @@ from officiel import supprime_accent_espace, get_code_from_nom_using_dict
|
||||
import ruamel.yaml
|
||||
from ruamel.yaml.scalarstring import FoldedScalarString as folded
|
||||
|
||||
from tools import caracteres_recalcitrants
|
||||
|
||||
__LOGGER = logging.getLogger(__name__)
|
||||
|
||||
@ -15,6 +14,7 @@ class Docx():
|
||||
|
||||
def __init__(self, nom, brut):
|
||||
self.nom = nom
|
||||
self.code = None # chargé ultérieurement
|
||||
self.brut = brut # les données brutes de la ressource/saé
|
||||
self.semestre = None # le semestre de la ressource/saé (chargé ultérieurement)
|
||||
self.apprentissages = None # les acs (chargés ultérieurement)
|
||||
@ -129,8 +129,6 @@ class Docx():
|
||||
avec_marqueur = False
|
||||
last_marqueur = 0
|
||||
for (i, ligne) in enumerate(lignes):
|
||||
if "d’API" in ligne:
|
||||
print("ici")
|
||||
ligne = ligne.replace("\t", " "*2)
|
||||
if " *" in ligne and avec_marqueur == False:
|
||||
avec_marqueur = True
|
||||
@ -207,10 +205,12 @@ class RessourceDocx(Docx):
|
||||
|
||||
def nettoie_prerequis(self):
|
||||
"""Nettoie les prérequis"""
|
||||
if self.prerequis:
|
||||
self.prerequis = nettoie_liste_ressources(self.prerequis)
|
||||
if not self.prerequis:
|
||||
self.prerequis = "Aucun"
|
||||
if not self.prerequis or AUCUN_PREREQUIS.lower() in self.prerequis.lower():
|
||||
self.prerequis = AUCUN_PREREQUIS
|
||||
else:
|
||||
ressources = nettoie_liste_ressources(self.prerequis)
|
||||
if ressources:
|
||||
self.prerequis = ressources
|
||||
|
||||
def nettoie_sae(self):
|
||||
"""Nettoie le champ SAe d'une ressource en détectant les codes"""
|
||||
@ -224,7 +224,7 @@ class RessourceDocx(Docx):
|
||||
"""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
|
||||
dans un tuple"""
|
||||
|
||||
volumes = None
|
||||
if self.heures_encadrees: # si les heures encadrées sont renseignées
|
||||
volumes = nettoie_champ_heure(self.heures_encadrees)
|
||||
if self.tp:
|
||||
@ -252,8 +252,13 @@ class RessourceDocx(Docx):
|
||||
|
||||
indicec = 0
|
||||
contexte = []
|
||||
if True in [ligne.startswith("Contenus") for ligne in champs]: # la ligne commençant par Contenus
|
||||
indicec = [ligne.startswith("Contenus") for ligne in champs].index(True)
|
||||
marqueur = False
|
||||
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]:
|
||||
contexte = champs[indicea + 1:indicec]
|
||||
else:
|
||||
@ -276,6 +281,12 @@ class RessourceDocx(Docx):
|
||||
contenu = self.contenu.replace(" / ", "/")
|
||||
self.contenu = convert_to_markdown(contenu)
|
||||
|
||||
def nettoie_contexte(self):
|
||||
"""Partant du contexte détaillé d'une ressource, la transforme
|
||||
en markdown en générant les listes à puces"""
|
||||
contexte = self.contexte.replace(" / ", "/")
|
||||
self.contexte = convert_to_markdown(contexte)
|
||||
|
||||
def nettoie_champ(self):
|
||||
"""Lance le nettoyage des champs"""
|
||||
self.nettoie_code()
|
||||
@ -291,6 +302,7 @@ class RessourceDocx(Docx):
|
||||
|
||||
# Remet en forme le descriptif
|
||||
self.split_description()
|
||||
self.nettoie_contexte()
|
||||
self.nettoie_contenu()
|
||||
print(f"{self.code} {self.semestre}")
|
||||
|
||||
@ -543,8 +555,6 @@ class SAEDocx(Docx):
|
||||
|
||||
def nettoie_ressources(self):
|
||||
"""Nettoie le champ ressource d'une sae en détectant les codes"""
|
||||
if "24" in self.code:
|
||||
print("ici")
|
||||
self.ressources = nettoie_liste_ressources(self.ressources)
|
||||
if not self.ressources:
|
||||
SAEDocx.__LOGGER.warning(f"nettoie_ressources: dans {self.nom} pas de ressources (:")
|
||||
|
Loading…
Reference in New Issue
Block a user