Archived
1
0
Fork 0
forked from Anri/cal8tor
This repository has been archived on 2023-04-23. You can view files and clone it, but cannot push or open issues or pull requests.
cal8tor/report/document.tex

90 lines
3.1 KiB
TeX
Raw Normal View History

2023-04-19 08:55:51 +02:00
\documentclass{article}
\usepackage[T1]{fontenc} % encodage
\renewcommand{\familydefault}{\sfdefault} % police en sans-serif
\usepackage[french]{babel} % langue
\frenchsetup{SmallCapsFigTabCaptions=false}
\usepackage[hidelinks]{hyperref} % liens cliquable dans la table des matières
\usepackage{graphicx} % images
\usepackage{caption}
\usepackage[a4paper, left=20mm, top=20mm]{geometry} % dimensions de la page
\usepackage{minted} % intégration code
\usemintedstyle{emacs}
\title{Projet - Scraper}
2023-04-19 09:04:06 +02:00
\author{\href{mailto:anri.kennel@etud.univ-paris8.fr}{
Anri Kennel}\thanks{Numéro d'étudiant : 20010664}\, (L3-Y)
2023-04-19 08:55:51 +02:00
\\Ingénierie des langues $\cdot$ Université Paris 8}
\date{Année universitaire 2022-2023}
\begin{document}
\maketitle
\tableofcontents
\clearpage
\section{Projet}
2023-04-19 09:04:06 +02:00
Dans ce projet j'ai créé un scraper qui récupère les emplois du temps
des étudiants depuis le site de la licence informatique de Paris 8.
J'ai ensuite étendu le projet en traitant les données récupérées afin de
proposer deux résultats :
\begin{itemize}
\item un fichier de sortie au format \texttt{.ics}
\item une sortie dans le terminal sous forme de tableau
\end{itemize}
2023-04-19 08:55:51 +02:00
\section{Implémentation}
\subsection{Scraper}
2023-04-19 10:36:57 +02:00
Le programme est écrit en Rust. Pour la partie scraping, j'ai utilisé le module
\texttt{scraper}. Ensuite pour le traitement des données, j'ai ajouté
l'utilisation de \texttt{regex}. J'ai aussi utilisé le module \texttt{chrono}
qui m'as permis de traiter les dates.
2023-04-19 08:55:51 +02:00
\subsection{Données récupérées}
2023-04-19 10:36:57 +02:00
Deux pages sont scrapées par le programme :
\begin{enumerate}
\item \label{1} La page d'emploi du temps principal : \url{
https://informatique.up8.edu/licence-iv/edt/}
\begin{itemize}
\item Cette page contient les informations nécessaires pour
connaître la position temporelle des cours (exemple :
quelle année ? quel mois commence les cours ? combien de
temps les cours durent ?)
\end{itemize}
\item \label{2} La page qui contient l'emploi du temps : \url{
https://informatique.up8.edu/licence-iv/edt/CLASSE.html} avec
\texttt{CLASSE} demandée par l'utilisateur
\begin{itemize}
\item Cette page contient l'emploi du temps en tant quel tel, avec
les noms des matières, des professeurs et les numéros de
salles.
\end{itemize}
\end{enumerate}
2023-04-19 08:55:51 +02:00
2023-04-19 10:36:57 +02:00
\begin{itemize}
\item Le point \no\ref{2} est traité dans un premier temps dans le fichier
\texttt{src/timetable.rs}
Les cours ainsi récupérés sont récupérés dans une structure
\texttt{Course} définie dans \texttt{src/timetable/models.rs}
\item Le point \no\ref{1} est traité dans un second temps dans le fichier
\texttt{info.rs}. Elle n'est faite que lorsque l'on veut générer un
calendrier au format \texttt{.ics}, sinon le repère temporelle
n'est pas nécessaire.
\end{itemize}
2023-04-19 08:55:51 +02:00
\section{Calendrier}
\subsection{Fichier}
\subsection{Terminal}
\section{Exemple d'utilisation}
\end{document}