Archived
1
0
Fork 0
forked from Anri/cal8tor
This commit is contained in:
Mylloon 2023-04-19 10:46:29 +02:00
parent 82f9456db6
commit 65d1f8ebbe
Signed by: Anri
GPG key ID: A82D63DFF8D1317F

View file

@ -37,9 +37,15 @@ proposer deux résultats :
\item une sortie dans le terminal sous forme de tableau \item une sortie dans le terminal sous forme de tableau
\end{itemize} \end{itemize}
Le programme propose une interface simple via des arguments passés en ligne de
commande, j'ai utilisé le module \texttt{clap}.
\section{Implémentation} \section{Implémentation}
\subsection{Scraper} \subsection{Scraper}
Le programme est écrit en Rust. Pour la partie scraping, j'ai utilisé le module Le programme est écrit en Rust.
Pour faire les requêtes sur les pages web, j'ai utilisé les modules
\texttt{reqwest} et \texttt{tokio}.
Pour la partie scraping, j'ai utilisé le module
\texttt{scraper}. Ensuite pour le traitement des données, j'ai ajouté \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} l'utilisation de \texttt{regex}. J'ai aussi utilisé le module \texttt{chrono}
qui m'as permis de traiter les dates. qui m'as permis de traiter les dates.
@ -77,11 +83,22 @@ Deux pages sont scrapées par le programme :
\end{itemize} \end{itemize}
\section{Calendrier} \section{Calendrier}
\subsection{Fichier} Après scraping, on traite l'information.
\subsection{Fichier}
Lors de l'exportation du calendrier dans un fichier, au format \texttt{.ics},
on utilise le module \texttt{ics} pour la structure du fichier, et \texttt{uuid}
pour générer des ID unique pour chaque évènement.
Le fichier en sortie est conforme à la \href{
https://icalendar.org/RFC-Specifications/iCalendar-RFC-5545/
}{norme RFC 5545} et est donc compatible avec les programmes de calendriers,
pour en être sûr j'ai utilisé le validateur mis à disposition sur
\url{https://icalendar.org/validator.html}.
\subsection{Terminal} \subsection{Terminal}
Par défaut, on affiche le calendrier sous forme de tableau dans la sortie
standard du terminal.
\section{Exemple d'utilisation} \section{Exemple d'utilisation}