\documentclass[a4paper,12pt]{report}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{geometry}
\geometry{top=2.5cm, bottom=2.5cm, left=2.5cm, right=2.5cm}
\usepackage{xcolor}
\usepackage{graphicx}
\usepackage{titlesec}
\usepackage{hyperref}
\usepackage{fancyhdr}
% Couleurs personnalisées pour un thème noir
\definecolor{myblack}{rgb}{0.1, 0.1, 0.1}
\definecolor{mywhite}{rgb}{1, 1, 1}
\definecolor{mygray}{rgb}{0.7, 0.7, 0.7}
% Configuration du thème noir
\pagecolor{myblack}
\color{mywhite}
\hypersetup{
colorlinks=true,
linkcolor=mygray,
filecolor=mygray,
urlcolor=mygray,
citecolor=mygray,
}
% Style des titres
\titleformat{\chapter}[hang]{\normalfont\LARGE\bfseries\color{mywhite}}{\
thechapter.}{20pt}{\LARGE}
\titleformat{\section}{\large\bfseries\color{mywhite}}{\thesection.}{10pt}{\large}
% En-tête et pied de page
\pagestyle{fancy}
\fancyhf{}
\fancyhead[L]{\textcolor{mygray}{Mini-projet Web Scraping}}
\fancyhead[R]{\textcolor{mygray}{\thepage}}
\fancyfoot[C]{\textcolor{mygray}{Meryem Benhettal - Université Abdelmalek Essaâdi}}
% Page de garde
\begin{document}
\thispagestyle{empty}
\begin{center}
\vspace*{4cm}
{\Huge \bfseries \textcolor{mywhite}{Développement d'une Application de Web
Scraping}}\\
\vspace{1.5cm}
{\LARGE \textcolor{mygray}{Compte Rendu N°1}}\\
\vspace{3cm}
\textbf{\Large \textcolor{mygray}{Préparé par : Meryem Benhettal}}\\
\vspace{0.5cm}
\textbf{\Large \textcolor{mygray}{Encadré par : Pr. ZANNOU Abderrahim}}\\
\vfill
\textbf{\Large \textcolor{mywhite}{Année Universitaire : 2024/2025}}\\
\vspace{2cm}
\end{center}
\newpage
% Introduction et Données à Scraper (page 2)
\chapter*{Introduction et Données à Scraper}
\addcontentsline{toc}{chapter}{Introduction et Données à Scraper}
Ce projet a pour but de développer une application de web scraping utilisant
Python. Les données sont extraites de plusieurs dépôts GitHub.
Les dépôts GitHub sélectionnés pour l'extraction sont :
\begin{itemize}
\item \href{https://github.com/python/cpython}{python/cpython}
\item \href{https://github.com/django/django}{django/django}
\item \href{https://github.com/pallets/flask}{pallets/flask}
\item \href{https://github.com/tensorflow/tensorflow}{tensorflow/tensorflow}
\end{itemize}
Les informations extraites sont : le nom du dépôt, la description, le nombre
d'étoiles et de contributeurs. Ces données sont sauvegardées dans un fichier CSV.
\newpage
% Étapes Clés et Conclusion (page 3)
\chapter*{Étapes Clés et Conclusion}
\addcontentsline{toc}{chapter}{Étapes Clés et Conclusion}
\section*{1. Choix du site}
GitHub a été choisi pour la richesse des informations à scraper, notamment la
popularité des projets et les contributions.
\section*{2. Scraping des données}
Le scraping a été réalisé en Python en utilisant \textit{requests} et \
textit{BeautifulSoup}. Les informations ont été organisées et sauvegardées dans un
fichier CSV intitulé \textit{github\_multiple\_data.csv}.
\section*{3. Enregistrement des données}
Les informations extraites (description du projet, nombre d'étoiles et
contributeurs) sont enregistrées dans le fichier CSV. Chaque dépôt contient des
données pertinentes pour l'analyse.
\section*{Conclusion}
Ce projet m'a permis de comprendre le processus de scraping et d'apprendre à
manipuler les données extraites dans un format structuré. Le code peut être
réutilisé pour d'autres projets similaires.
\end{document}