Détection des commandes (d'après motscles.yaml) pour mise en forme en texttt
This commit is contained in:
parent
d529a09bd1
commit
d975db9e40
@ -74,7 +74,7 @@ précédemment.\\[3pt]}
|
|||||||
\item
|
\item
|
||||||
Consulter et modifier les variables d'environnement
|
Consulter et modifier les variables d'environnement
|
||||||
\item
|
\item
|
||||||
Commandes réseau (wget, curl, ping, traceroute, netstat, nmap)
|
Commandes réseau (wget, curl, \texttt{ping}, \texttt{traceroute}, netstat, \texttt{nmap})
|
||||||
\item
|
\item
|
||||||
Initiation aux scripts pour l'automatisation de séquences de
|
Initiation aux scripts pour l'automatisation de séquences de
|
||||||
commandes, aux structures de contrôle
|
commandes, aux structures de contrôle
|
||||||
|
@ -23,8 +23,8 @@ de sortie accédant à Internet via les ressources informatiques du
|
|||||||
département.On peut caractériser simplement l'adressage \textabbrv{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 \textabbrv{DNS}.
|
le masque de sous-réseaux, la passerelle par défaut, les serveurs \textabbrv{DNS}.
|
||||||
On peut également faire paramétrer un adressage \textabbrv{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~: ipconfig,
|
poste client.On peut s'appuyer sur les commandes de base~: \texttt{ipconfig},
|
||||||
ifconfig, ip, ping, arp, traceroute, arp-scan (ArpCacheWatch sous
|
\texttt{ifconfig}, \texttt{ip}, \texttt{ping}, \texttt{arp}, \texttt{traceroute}, arp-scan (ArpCacheWatch sous
|
||||||
Windows) pour lister les adresses \textabbrv{MAC} présentes dans le réseau local.\\
|
Windows) pour lister les adresses \textabbrv{MAC} présentes dans le réseau local.\\
|
||||||
On peut faire découvrir les outils pour connaître son adresse \textabbrv{IP}
|
On peut faire découvrir les outils pour connaître son adresse \textabbrv{IP}
|
||||||
Publique par ex: \url{http://www.monip.org/} ,
|
Publique par ex: \url{http://www.monip.org/} ,
|
||||||
@ -35,7 +35,7 @@ On peut faire découvrir l'application Android WiFi Analyser pour lister
|
|||||||
les points d'accès à proximité ou les fréquences utilisées~:
|
les points d'accès à proximité ou les fréquences utilisées~:
|
||||||
\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 \textabbrv{VM} avec l'outil nmap
|
distribution Linux Kali en \textabbrv{VM} avec l'outil \texttt{nmap}
|
||||||
(\url{https://nmap.org/}) pour découvrir (en interne) les ports ouverts
|
(\url{https://nmap.org/}) pour découvrir (en interne) les ports ouverts
|
||||||
sur les équipements du réseau local domestique. Bien expliquer que
|
sur les équipements du réseau local domestique. Bien expliquer que
|
||||||
l'usage de cet outil de test de pénétration doit être réalisé en
|
l'usage de cet outil de test de pénétration doit être réalisé en
|
||||||
|
@ -20,7 +20,7 @@ réseau autonome réel ou simulé qui comportera quelques éléments actifs,
|
|||||||
serveurs et clients opérationnels.\\
|
serveurs et clients opérationnels.\\
|
||||||
Cette étude permettra de se familiariser avec l'utilisation des
|
Cette étude permettra de se familiariser avec l'utilisation des
|
||||||
principaux outils utilisés tout autant par les hackers que par les
|
principaux outils utilisés tout autant par les hackers que par les
|
||||||
administrateurs des systèmes (nmap, john the ripper, burp suite, scapy,
|
administrateurs des systèmes (\texttt{nmap}, john the ripper, burp suite, scapy,
|
||||||
metasploit, \ldots) afin d'exploiter les vulnérabilités volontairement
|
metasploit, \ldots) afin d'exploiter les vulnérabilités volontairement
|
||||||
introduites dans la configuration.\\
|
introduites dans la configuration.\\
|
||||||
La maquette devra illustrer les techniques d'exploitations d'un nombre
|
La maquette devra illustrer les techniques d'exploitations d'un nombre
|
||||||
|
@ -134,7 +134,6 @@ else:
|
|||||||
# Export latex des sae
|
# Export latex des sae
|
||||||
for sem in saes:
|
for sem in saes:
|
||||||
for s in saes[sem]:
|
for s in saes[sem]:
|
||||||
|
|
||||||
fichierlatex = REPERTOIRE_LATEX_SAES + "/" + "{}.tex".format(s.sae["code"].replace("É", "E"))
|
fichierlatex = REPERTOIRE_LATEX_SAES + "/" + "{}.tex".format(s.sae["code"].replace("É", "E"))
|
||||||
contenu = s.to_latex()
|
contenu = s.to_latex()
|
||||||
with open(fichierlatex, "w", encoding="utf8") as fid:
|
with open(fichierlatex, "w", encoding="utf8") as fid:
|
||||||
|
@ -17,9 +17,12 @@ with open(Config.ROOT+"/python/pn/saes.yml", 'r', encoding="utf8") as fid:
|
|||||||
## Les compétences
|
## Les compétences
|
||||||
with open(Config.ROOT+"/yaml/competences/RT123.yml", 'r', encoding="utf8") as fid:
|
with open(Config.ROOT+"/yaml/competences/RT123.yml", 'r', encoding="utf8") as fid:
|
||||||
DATA_COMPETENCES = yaml.load(fid.read(), Loader=yaml.Loader)
|
DATA_COMPETENCES = yaml.load(fid.read(), Loader=yaml.Loader)
|
||||||
## Les abbréviations
|
## Les abréviations
|
||||||
with open(Config.ROOT+"/yaml/abbreviations.yml", "r", encoding="utf8") as fid:
|
with open(Config.ROOT+"/yaml/abbreviations.yml", "r", encoding="utf8") as fid:
|
||||||
DATA_ABBREVIATIONS = yaml.load(fid.read(), Loader=yaml.Loader)
|
DATA_ABBREVIATIONS = yaml.load(fid.read(), Loader=yaml.Loader)
|
||||||
|
## Les mostcles (commandes, logiciels, etc...)
|
||||||
|
with open(Config.ROOT+"/yaml/motscles.yml", "r", encoding="utf8") as fid:
|
||||||
|
DATA_MOTSCLES = yaml.load(fid.read(), Loader=yaml.Loader)
|
||||||
|
|
||||||
AUCUN_PREREQUIS = "Aucun"
|
AUCUN_PREREQUIS = "Aucun"
|
||||||
|
|
||||||
|
@ -17,7 +17,7 @@ __LOGGER = logging.getLogger(__name__)
|
|||||||
def nettoie_latex(chaine):
|
def nettoie_latex(chaine):
|
||||||
"""Purge certains éléments de la chaine latex générée par pypandoc"""
|
"""Purge certains éléments de la chaine latex générée par pypandoc"""
|
||||||
chaine = chaine.replace("\\tightlist\n", "")
|
chaine = chaine.replace("\\tightlist\n", "")
|
||||||
chaine = ajoute_abbr_latex(chaine)
|
chaine = ajoute_abbr_latex(chaine) # détecte les abréviations
|
||||||
|
|
||||||
# detecte les espaces insécables
|
# detecte les espaces insécables
|
||||||
chaine = chaine.replace(" :", "~:")
|
chaine = chaine.replace(" :", "~:")
|
||||||
@ -171,6 +171,9 @@ class Ressource:
|
|||||||
|
|
||||||
|
|
||||||
def contient_abbr(chaine):
|
def contient_abbr(chaine):
|
||||||
|
"""Détecte les abréviations présentes dans la chaine
|
||||||
|
(dont la liste est fournie par DATA_ABBREVIATIONS lues depuis le .yml) et
|
||||||
|
les renvoie sous forme d'une liste par abréviations de nombre de caractères décroissants"""
|
||||||
mots = []
|
mots = []
|
||||||
for lettre in DATA_ABBREVIATIONS:
|
for lettre in DATA_ABBREVIATIONS:
|
||||||
for mot in DATA_ABBREVIATIONS[lettre]:
|
for mot in DATA_ABBREVIATIONS[lettre]:
|
||||||
@ -183,7 +186,10 @@ def contient_abbr(chaine):
|
|||||||
|
|
||||||
|
|
||||||
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 et les remplacer par
|
||||||
|
\\textabbrv{abreviation}
|
||||||
|
"""
|
||||||
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)
|
||||||
@ -194,6 +200,34 @@ def ajoute_abbr_latex(chaine):
|
|||||||
chaine = chaine.replace("/IP", "/\\textabbrv{IP}")
|
chaine = chaine.replace("/IP", "/\\textabbrv{IP}")
|
||||||
return chaine
|
return chaine
|
||||||
|
|
||||||
|
def contient_commandes(chaine):
|
||||||
|
"""Détecte si la chaine est une commande (éventuellement avec un caractère
|
||||||
|
de ponctuation final)"""
|
||||||
|
chaine_texte = ""
|
||||||
|
for car in chaine:
|
||||||
|
if car in string.ascii_lowercase:
|
||||||
|
chaine_texte += car
|
||||||
|
if "ipc" in chaine:
|
||||||
|
print("ici")
|
||||||
|
if chaine_texte in DATA_MOTSCLES["commandes"]:
|
||||||
|
return chaine_texte
|
||||||
|
return None
|
||||||
|
|
||||||
|
def ajoute_cmd_latex(chaine):
|
||||||
|
"""
|
||||||
|
Parse la chaine latex pour ajouter les abbréviations et les remplacer par
|
||||||
|
\\textabbrv{abreviation}
|
||||||
|
"""
|
||||||
|
mots = chaine.split(" ")
|
||||||
|
for (i, mot) in enumerate(mots):
|
||||||
|
champs = mot.split("\n")
|
||||||
|
for (j, champ) in enumerate(champs):
|
||||||
|
cmd = contient_commandes(champ)
|
||||||
|
if cmd:
|
||||||
|
champs[j] = champs[j].replace(cmd, "\\texttt{" + cmd + "}")
|
||||||
|
mots[i] = "\n".join(champs)
|
||||||
|
chaine = " ".join(mots)
|
||||||
|
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"""
|
||||||
@ -385,6 +419,9 @@ def md_to_latex(contenu):
|
|||||||
contenu = contenu.replace("\\\\" * 2, "\\\\[25pt]")
|
contenu = contenu.replace("\\\\" * 2, "\\\\[25pt]")
|
||||||
if not contenu.endswith("\\end{itemize}"):
|
if not contenu.endswith("\\end{itemize}"):
|
||||||
contenu += "\\\\[3pt]"
|
contenu += "\\\\[3pt]"
|
||||||
|
|
||||||
|
contenu = ajoute_cmd_latex(contenu) # détecte les commandes
|
||||||
|
|
||||||
return contenu
|
return contenu
|
||||||
|
|
||||||
|
|
||||||
@ -759,7 +796,10 @@ def to_latex_matrice_coeffs(matrice_vols, matrice_coeffs, saes, ressources, sem)
|
|||||||
for (i, r) in enumerate(ressem): # pour chaque SAE
|
for (i, r) in enumerate(ressem): # pour chaque SAE
|
||||||
chaine += "\\textcolor{ressourceC}{" + r.ressource["code"] + "} & " + "\n"
|
chaine += "\\textcolor{ressourceC}{" + r.ressource["code"] + "} & " + "\n"
|
||||||
chaine += "\\begin{tabular}{p{5.7cm}}"
|
chaine += "\\begin{tabular}{p{5.7cm}}"
|
||||||
chaine += "\\tiny{" + r.ressource["nom"] + "} \\end{tabular} & \n"
|
# chaine += "\hyperlink{res:" + r.ressource["code"] + "}{"
|
||||||
|
chaine += "\\tiny{" + r.ressource["nom"] + "}"
|
||||||
|
# chaine += "}"
|
||||||
|
chaine += " \\end{tabular} & \n"
|
||||||
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 += " & "
|
||||||
|
Loading…
Reference in New Issue
Block a user