Ministère de l’Enseignement Supérieur Et
de la Recherche Scientifique
Université de Tunis
Institut Supérieur de Gestion
RAPPORT DE PROJET DE
FIN D’ÉTUDES
En vue de l’obtention du diplôme de licence
Appliquée en Informatique Décisionnelle
Développement d’une solution d’estimation des
Prix des voitures d'occasion en Tunisie
Entreprise d’accueil :
WIMBEE TECH
Elaboré par :
Gadhoum Mohamed Yassine & Maalej Zied
Encadrant pédagogique
Encadrant professionnel
Mr Badreddine Ahmed
Mr Mziou Kais
Année universitaire : 2019 - 2020
Remerciements
Nous voudrons tout d'abord remercier Madame Manel JRAD, la
directrice du département des ressources humaines au sein de
WIMBEE TECH, de nous avoir accueillis au sein de la société tout
au long du stage.
Nous tenons également à remercier M. Kais MZIOU, M. Hichem
FEHMI et M. Majdi TRABELSI, nos encadrants professionnels et
M. Ahmed BADREDDINE, maitre-assistant au sein de l'Institut
Supérieur de Gestion de Tunis, ISG Tunis, pour leur encadrement,
leur disponibilité et la richesse de cette expérience.
Nous tenons à remercier tout le personnel de Wimbee, qui a mis
tout en œuvre pour que notre stage se déroule dans les meilleures
conditions possibles, et tous nos collègues pour leur aide précieuse.
Dédicace
Du profond du cœur, nous dédions notre travail à toutes les
personnes qui nous ont encouragés et soutenus durant cette
période.
Particulièrement à …
Nos chers parents qui nous ont toujours poussé et motivé dans nos
études et pour avoir toujours supporté et apprécié tous
les efforts qui nous ont amenés à réaliser ce travail.
Nos frères et sœurs pour leurs grands dévouements, sacrifices et
amour éternel.
Tous nos amis qui n’ont jamais cessé de nous soutenir et avec qui
nous avons partagé de bons moments.
Table des matières :
Introduction générale ......................................................................................................................................... 9
Chapitre 1 : Présentation du cadre général ..................................................................................................... 1
I.
II.
Introduction ........................................................................................................................................... 1
Cadre du projet ...................................................................................................................................... 1
III.
Présentation de l’organisme d’accueil ................................................................................................... 1
IV.
Etude de l’existant ................................................................................................................................. 3
1. Critique de l’existant ............................................................................................................................................ 3
2. Travail demandé ................................................................................................................................................... 3
V.
Gestion de projet .................................................................................................................................... 5
1. Définition des méthodes Agiles ........................................................................................................................... 5
2. Comparaison entre les méthodes traditionnelles et les méthodes Agiles ............................................................. 5
3. Présentation de la méthode SCRUM ................................................................................................................... 6
4. Produit backlog .................................................................................................................................................... 8
VI.
Le Machine Learning........................................................................................................................... 10
1. Définition ........................................................................................................................................................... 10
2. La différence entre l’apprentissage supervisé et le non supervisé ..................................................................... 10
3. La relation de notre projet avec le Machine Learning ....................................................................................... 10
VII. Conclusion ........................................................................................................................................... 12
Chapitre 2 : Web scraping et chargement de données ................................................................................. 13
I.
II.
Introduction ......................................................................................................................................... 13
Backlog du sprint 1 .............................................................................................................................. 13
III. Web Scraping ...................................................................................................................................... 14
IV. Conception ........................................................................................................................................... 14
V.
Réalisation ........................................................................................................................................... 15
1. Analyse comparative entre les packages de web scraping ................................................................................. 15
2. Automatiser la lecture des urls ........................................................................................................................... 16
3. Lister les liens de toutes les annonces ................................................................................................................ 19
4. Scraper toutes les annonces et les classer dans un tableau de données .............................................................. 22
VI. Conclusion ........................................................................................................................................... 25
Chapitre 3 : Nettoyage de données et modélisation ...................................................................................... 26
I.
II.
Introduction ......................................................................................................................................... 26
Backlog des sprints .............................................................................................................................. 26
III.
Sprint 2 : Nettoyage de données .......................................................................................................... 27
1. Nettoyage spécifique pour chaque base de données : ........................................................................................ 28
2. Nettoyage commun pour la base de données commune : .................................................................................. 35
IV.
Sprint 3 : Modélisation et évaluation de différents modèles ............................................................... 41
1.
Introduction ........................................................................................................................................................ 41
2. Le modèle de régression linéaire et la régression en gradient............................................................................ 41
3. Analyse comparative entre les deux modèles .................................................................................................... 42
V.
Conclusion ........................................................................................................................................... 45
Chapitre 4 : Centralisation et Automatisation de données et Développement d’une interface ................ 46
I.
II.
Introduction ......................................................................................................................................... 46
Backlog des sprints .............................................................................................................................. 46
III. Conception ........................................................................................................................................... 48
IV. Réalisation ........................................................................................................................................... 50
1. Sprint 5 : construire une base de données SQL.................................................................................................. 50
2. Sprint 6: Mettre en place une interface web ...................................................................................................... 53
3. Sprint 7 : Automatisation des tâches : ................................................................................................................ 58
VI. Conclusion ........................................................................................................................................... 62
Conclusion générale ......................................................................................................................................... 63
Références ......................................................................................................................................................... 64
Liste des figures :
Figure 1: Fiche d’identité de WIMBEE ............................................................................................................... 2
Figure 2: L’organigramme de WIMBEE ............................................................................................................. 2
Figure 3:Méthode agile Scrum ............................................................................................................................. 7
Figure 4: Le processus de l'apprentissage automatique ..................................................................................... 11
Figure 5: Bouton Montrer plus ........................................................................................................................... 17
Figure 6: Automobile.tn ..................................................................................................................................... 18
Figure 7: Auto-plus.tn ........................................................................................................................................ 18
Figure 8: Karhabti.tn .......................................................................................................................................... 19
Figure 9: lien d'une annonce Karhabti.tn ........................................................................................................... 20
Figure 10: lien d'une annonce tayara.tn .............................................................................................................. 20
Figure 11: lien d'une annonce Automobile.tn .................................................................................................... 21
Figure 12: lien d'une annonce auto-plus.tn ........................................................................................................ 21
Figure 13: tableau de données non traité automobile.tn..................................................................................... 23
Figure 14: tableau de données non traité tayara.tn ............................................................................................. 23
Figure 15: tableau de données non traité auto-plus.tn ........................................................................................ 24
Figure 16: tableau de données non traité karhabti.tn ......................................................................................... 24
Figure 17: Marque et modèle dans la même colonne......................................................................................... 29
Figure 18: Marque et modèle séparées ............................................................................................................... 29
Figure 19: Prix avec DT ..................................................................................................................................... 31
Figure 20: Prix sans DT ..................................................................................................................................... 31
Figure 21: Kilométrage avec Km ....................................................................................................................... 32
Figure 22: Kilométrage sans Km ....................................................................................................................... 33
Publicité
Figure 23: Puissance fiscale avec CV ................................................................................................................ 34
Figure 24: Puissance fiscale sans CV ................................................................................................................. 34
Figure 25: Le tableau de données contant les quatre sites ................................................................................. 36
Figure 26: Boxplot de la colonne kilométrage avant nettoyage ......................................................................... 38
Figure 27: Boxplot de la colonne kilométrage après nettoyage ......................................................................... 38
Figure 28: Boxplot de la colonne Prix avant nettoyage ..................................................................................... 39
Figure 29: Boxplot de la colonne prix après nettoyage ...................................................................................... 40
Figure 30: résultat de l'évaluation (test) du modèle en gradient effectuée sur 30% de notre population .......... 43
Figure 31: résultat de l'évaluation (test) du modèle linéaire effectuée sur 30% de notre population ................ 44
Figure 32: Exemple d'une prédiction linéaire du prix d'une "Volkswagen Passat" ........................................... 44
Figure 33: Exemple d'une prédiction en gradient du prix d'une "Volkswagen Passat" .................................... 45
Figure 34: La base de données car_data1 ........................................................................................................... 50
Figure 35:Table voitures .................................................................................................................................... 51
Figure 36: Table voituresclean ........................................................................................................................... 51
Figure 37: Table marque et modèle.................................................................................................................... 52
Figure 38: Dossier « Interface PFE » ................................................................................................................. 53
Figure 39: Dossier « templates » ........................................................................................................................ 54
Figure 40: Dossier « testauto » (les deux parties SQL et Python) ..................................................................... 55
Figure 41: Dossier « static » (Javascript) ........................................................................................................... 55
Figure 42: Exécution du projet ........................................................................................................................... 56
Figure 43: Interface du projet ............................................................................................................................. 57
Figure 44: Estimation du prix d'une voiture ....................................................................................................... 57
Figure 45: Résultat d'estimation d'une voiture indisponible .............................................................................. 58
Figure 46: Créer une tâche ................................................................................................................................. 59
Figure 47: Nommer la tâche ............................................................................................................................... 59
Figure 48: Créer une action et spécifier le fichier à automatiser ....................................................................... 60
Figure 49: Action créée avec succès .................................................................................................................. 61
Figure 50: Programmer l'exécution du fichier ................................................................................................... 61
Figure 51: tâche créée avec succès ..................................................................................................................... 62
Liste des tableaux :
Tableau 1: Tableau comparatif entre les méthodes traditionnelles et agiles ........................................................ 6
Tableau 2 : produit backlog de notre projet ....................................................... Error! Bookmark not defined.
Tableau 3: Backlog du sprint 1 .......................................................................................................................... 13
Tableau 4: Tableau comparatif entre les deux outils.......................................................................................... 15
Tableau 5: Backlog du sprint 2 .......................................................................................................................... 26
Tableau 6: Backlog du sprint 3 .......................................................................................................................... 27
Tableau 7: analyse comparative entre les deux modèles .................................................................................... 42
Tableau 8: Backlog du sprint 5 .......................................................................................................................... 46
Tableau 9: Backlog du sprint 6 .......................................................................................................................... 47
Tableau 10: Backlog du sprint 7 ........................................................................................................................ 48
Introduction générale
De nos jours les données sont au cœur de nos discussions, leur collecte, leur propriété, leur traitement et leur
bonne utilisation peuvent mener à un résultat impressionnant.
Donc les données qui ont toujours été omniprésentes représentent d’ores et déjà un enjeu majeur pour les
entreprises et une source d’enrichissement et de développement économique.
Nous ne pouvons pas parler de l’importance de données sans citer les nouvelles sciences qui viennent
d’émerger pendant ces deux dernières décennies tels que l’intelligence artificielle, l’informatique
décisionnelle et le big data.
Dans ce cadre s’inscrit notre projet de fin d’études de trois mois au sein de la multinationale française
Wimbeetech. Notre projet intitulé « Développement d’une solution d’estimation des Prix des voitures
d'occasion en Tunisie » s’inscrit aussi dans le domaine de l’Intelligence Artificielle, plus précisément le
Machine Learning puisqu’il s’agit de collecter des données puis les nettoyer ensuite passer à la phase de
modélisation en se basant sur le principe de l’apprentissage supervisé c’est-à-dire le modèle va s’entrainer sur
notre base de données générée par Web Scraping pour pouvoir estimer le prix d’une voiture donnée.
Pour assurer la persistance de nos données nous avons construit une base de données comportant des tables
spécifiques dont nous aurons besoin dans le reste du projet.
Après cette étape nous avons couronné notre projet par une interface Web ergonomique contenant les
différents champs de saisie des caractéristiques d’une voiture donnée pour lui afficher un prix estimatif
adéquat aux prix du marché actuel grâce à la mise à jour régulière et périodique de données qui est due par
l’automatisation du Web Scraping et le nettoyage de données à l’aide du planificateur de tâches de Windows.
Ce rapport se compose essentiellement de 4 chapitres chacun comporte un nombre bien déterminé de sprints,
puisque notre projet est réalisé en suivant la méthode agile SCRUM :
Chapitre 1 « Présentation du cadre général » qui consiste à présenter l’entreprise et le cadre projet ainsi que de
faire l’étude de l’existant.
Chapitre 2 « Web scraping et chargement de données » : les techniques et les outils adoptés pour effectuer
l’opération du scraping des 4 site Tayara.tn, automobile.tn, auto-plus.tn et karhabti.tn.
Chapitre 3 « Nettoyage de données et modélisation » les bibliothèques et les techniques utilisées pour rendre
les données sous une forme standard et prêtes à être modéliser, puis effectuer une analyse comparative entre
les différents modèles adoptés et choisir le plus précis.
Chapitre 4 « Centralisation et Automatisation de données et Développement d’une interface » ce chapitre
traite les outils et les techniques utilisés pour développer une interface Web et pour assurer l’automatisation
des données et l’alimentation de notre base de données.
Chapitre 1 : Présentation du cadre général
I.
Introduction
Dans ce chapitre nous allons vous présenter l’organisme d’accueil, ses différents
compartiments, ses domaines d’expertise et son organigramme, puis nous allons vous décrire
notre projet et faire une étude de l’existant. Enfin nous allons vous parler de la méthode de
gestion de projet adoptée par notre société.
II. Cadre du projet
Ce travail s’inscrit dans le cadre d’un projet de fin d’études en vue de l’obtention du diplôme
de Licence Appliquée en Informatique décisionnelle de l’Institut Supérieur de Gestion de
Tunis. Ce stage de trois mois au sein de WIMBEE a pour but de réaliser un projet qui
consiste à mettre en place une solution permettant d’estimer le prix de vente des voitures
d’occasion en Tunisie à partir des prix de voitures de différents sites web puis couronner ce
programme par une interface web ergonomique et conviviale avec l’utilisateur.
III. Présentation de l’organisme d’accueil
WIMBEE est une société multinationale qui a été fondée en Tunisie en 2019, dotée d’une
équipe d’experts fonctionnels, métiers ainsi que des consultants et des développeurs qui
maitrisent les innovations et les nouvelles technologies.
En effet WIMBEE est spécialisée en plusieurs technologies de traitement de données et liées
essentiellement aux données tel que la stratégie data, Data Driven, Transformation digitale,
Risque & Conformité, Big Data, RGPD.
• La stratégie data : s’assurer que l’ensemble des données collectées soient fiables et
exploitables pour être utilisées, partagées et valorisées, au service des clients et des
collaborateurs.
• Data Driven : une approche qui consiste à prendre des décisions stratégiques sur la base
d’une analyse et d’une interprétation des données.
1
• RGPD : Règlement général sur la protection des données.
• Big Data : le stockage, l'analyse et le traitement de données massives (mégadonnées).
Figure 1: Fiche d’identité de WIMBEE
La figure 1 représente la fiche technique de Wimbee, c’est-à-dire les coordonnées
géographiques, les emails et les numéros des bureaux.
Figure 2: L’organigramme de WIMBEE
La figure 2 montre les différents départements de Wimbee.
2
Le chef de département data science c’est Monsieur Hichem fehmi, Il a sous sa responsabilité,
un Chef de projet SAS, 2 consultants data science et 5 Stagiaires, Il est rattaché directement a
la direction générale, Fait partie de la codirection Wimbee.
IV. Etude de l’existant
1. Critique de l’existant
Dans le cadre de sa stratégie de développement de la vente des véhicules neuves par
l’acquisition des véhicules d’occasion, une entreprise X a des difficultés pour estimer le prix
des voitures d’occasion, cette dernière a donc fait appel à Wimbee pour lui proposer une
solution complète permettant de faire une veille sur les valeurs réelles de vente des voitures
d’occasion et d’estimer les prix de la majorité des marques des voitures sur le marché.
Actuellement l’estimation du prix des voitures se fait par la comparaison des prix après
consultation des différents sites de vente en ligne.
En Tunisie on n’a pas encore réalisé ce type de projet (un estimateur de prix de voiture
d’occasion).
Notre entreprise Wimbee veut créer son propre produit c’est-à-dire elle souhaite développer
son propre code de scraping au niveau de la construction d’une base de donnée, qui sera
automatiquement mise à jour pour prendre en considération la fluctuation des prix sur le
marché au cours du temps.
- Problème d’actualisation : au niveau de mise à jour de données (les données sont statiques).
- même s’il y a des programmes sur ce projet, ils ne sont pas couronnés par une interface web
conviviale avec l’utilisateur et ergonomique.
2. Travail demandé
Mise en place d’une solution permettant d’estimer le prix de vente des voitures d’occasion en
Tunisie à partir des prix de voitures dans différents sites :
• Construction de base de données par web scraping de plusieurs sites.
• Construction d’un modèle de machine learning (modèle de régression, modèle en gradient
boosting) qui permet d’estimer le prix d’une voiture à partir de ses caractéristiques
(kilométrage puissance fiscale, année de mise en circulation, carburant, modèle …).
3
Publicité
• Enregistre les données dans une base transactionnelle que se met à jour automatiquement.
• Développer une interface web qui permet à l’utilisateur de fournir les informations
nécessaires de la voiture et lui afficher son prix estimé en temps réel.
Architecture fonctionnelle cible
Online
Offline
Paramètres recherches
Choix des paramètres de recherche
Serveur Request
BO : Serveur d’application
Commercial
Front office
Prix estimé
Fourchette de prix
Modèle de prédiction
Web Scraping
BD d’apprentissage et évaluation du modèle
Mise à jour du modèle
Evaluation et auto apprentissage
4
V. Gestion de projet
1. Définition des méthodes Agiles
Une méthode Agile est une approche itérative et collaborative (avec le client), qui nous
permet de prendre en considération les besoins initiaux du client et ceux liés aux évolutions
du produit en cours de réalisation.
La méthode Agile se base sur un cycle de développement qui met le client au centre. Ce
dernier est impliqué dans la réalisation du début à la fin du projet. Grâce à la méthode agile le
demandeur bénéficie d’un suivi continu et d’une meilleure visibilité de la gestion des travaux.
2. Comparaison entre les méthodes traditionnelles et les méthodes Agiles
L’objectif de cette partie est de choisir la méthode adéquate qui assure le bon déroulement du
projet et l’obtention des meilleurs résultats possibles.
Il existe deux méthodes de gestion de projet qui peuvent être mises en œuvre :
Cycle en V (Méthode standard)
SCRUM (Méthode agile)
Séquentielle : Un flux d’activités
Itératif : le modèle itératif implique la
Cycle de vie
représentés par des séquences.
répétition d’un cycle d’opérations. Le
Linéaire .
projet est affiné au fur et à mesure de
chaque itération.
Incrémental : construire le produit
morceau par morceau jusqu’au rendu
final.
Plans détaillés basés sur des
Planification adaptative et ajustements
Planification
exigences stables définies dès le
si nécessaires en fonction des nouvelles
début du projet.
demandes.
5
Une équipe avec des ressources
Une équipe responsabilisée où
Équipe
spécialisée et dirigée par un chef de
l’initiative et la communication sont
projet.
privilégiées, soutenue par le chef de
projet.
Contrôle qualité à la fin du cycle de
Un contrôle qualité précoce et
Contrôle
développement. Le client découvre le
permanent, au niveau du produit et du
qualité
produit fini.
processus. Le client visualise les
résultats tôt et fréquemment.
Pas de changement possible sans
Spécifications plus souples en
Changement
revenir à la phase de spécifications et
ajoutant/modifiant les fonctionnalités
repasser par toutes les autres phases.
aux sprints suivants qui n’étaient pas
prévues au départ.
Documentation
Quantité importante
Strict nécessaire
Respect des engagements initiaux en
Satisfaction client par la livraison de
Mesures de
termes de coûts, de budget et de
valeur ajoutée.
succès
niveau de qualité.
Tableau 1: Tableau comparatif entre les méthodes traditionnelles et agiles
Le tableau 1 consiste une comparaison entre deux méthodes de gestion de projet ( cycle en V
et scrum).
3. Présentation de la méthode SCRUM
On a choisi de travailler avec SCRUM qui est une approche destinée à assurer la gestion et le
bon déroulement de certains projets considérés comme étant complexes. Cette méthode a pour
but d’améliorer la productivité des membres de l’équipe de développement et de favoriser le
client en premier lieu et essayer de répondre à ses besoins.
6
(1)
Figure 3:Méthode agile Scrum
La figure 3 illustre le déroulement de la méthode scrum.
SCRUM implique la présence de trois principaux acteurs :
Product Owner :
Sorte de chef de projet, il porte la vision du produit. Par conséquent, il établit les priorités,
définit les spécificités fonctionnelles et les valide, Il doit donc élaborer le product backlog.
Scrum Master
Il s’assure de faire respecter la méthode et les valeurs Scrum. Il veille sur la bonne démarche
des taches accordées à l’équipe du développement et insiste sur le respect des délais.
7
L’équipe
Les membres de l’équipe du développement accomplissent les tâches recommandées et
délivrent le produit final.
4. Produit backlog
L’approche Scrum propose de commencer par lister les exigences du client afin de produire le
Product Backlog sous forme de liste d’item ou User Story.
Id
User stories
Description
Priorité
1
2
3
4
Charger les annonces du site
Charger toutes les
Obligatoire
Tayara.tn
informations :kilométrage
,marque , modèle ,année…
Charger les annonces du site
Charger toutes les
Obligatoire
karhabti.tn
informations :kilométrage
,marque ,modèle ,année…
Charger les annonces du site
Charger toutes les
Publicité
Obligatoire
automobile.tn
informations :kilométrage
,marque, modèle, année…
Charger les annonces du site auto-
Charger toutes les
Obligatoire
plus.tn
informations :kilométrage
,marque, modèle, année…
Nettoyer et standardiser les données
Faire un diagnostic de données ,
Obligatoire
5
issues des différents sites
et lister les opérations à faire
pour les nettoyer.
8
Centraliser les annonces de voitures
La base de données doit être,
Obligatoire
6
dans une base de données.
transactionnelle qui se met à
jour automatiquement.
Mettre en place un modèle prédictif
Le modèle doit se baser sur un
Obligatoire
permettant d'estimer le prix de
apprentissage supervisée sur
7
chaque marque de voiture
l'historique des offres de
voitures.
Disposer d'une interface Web pour
L'interface Web prend en input :
Obligatoire
consulter les prix des voitures
la marque, l'année de mise en
d'occasion
circulation, le kilométrage et
donne une estimation du prix.
Automatiser toute la chaine de
Paramétrage et planification à la
Obligatoire
chargement de données
demande de la chaine de mise à
jour de la base de données.
8
9
Tableau 2: Produit backlog de notre projet
Le tableau 2 représente notre produit backlog ainsi que tous les sprints de notre projet.
9
VI. Le Machine Learning
1. Définition
Le machine Learning est une nouvelle technologie d’intelligence artificielle qui permet aux
machines d’apprendre, analyser et construire des modèles à partir des données collectées qui
représentent une base sur laquelle les machines s’entrainent.
Dans l’apprentissage automatisé on trouve deux types, l’apprentissage supervisé et
l’apprentissage non supervisé.
2. La différence entre l’apprentissage supervisé et le non supervisé
Dans le domaine du Machine Learning, il existe deux principaux types d’apprentissage :
supervisé et non supervisé. La principale différence entre les deux types réside dans le fait que
l’apprentissage supervisé se fait sur la base d’une vérité. En d’autres termes, nous avons une
connaissance préalable de ce que devraient être les valeurs de sortie de nos échantillons. Par
conséquent, l’objectif de l’apprentissage supervisé est de réaliser un modèle qui, à partir d’un
échantillon de données et des résultats souhaités, se rapproche le mieux de la relation entre
entrée et sortie observable dans les données. En revanche, l’apprentissage non supervisé n’a
pas de résultats étiquetés.
3. La relation de notre projet avec le Machine Learning
Pourquoi notre projet contient une grande partie de Machine Learning ? Et dans quel type
d’apprentissage se situe-il ?
En effet notre projet consiste à mettre en place un modèle de prédiction de prix à partir d’un
ensemble de données collectées contenant les attributs et la cible ce qui rend notre
apprentissage basé sur une vérité et des résultats préalablement connus, de ce fait on peut dire
qu’on est dans le cas de l’apprentissage supervisé.
En fait dans notre projet le processus du machine Learning va se dérouler comme suit dans
notre projet :
10
Générer une base de données contenant plusieurs annonces de plusieurs sites classée dans un
tableau de données puis effectuer le nettoyage de données ensuite voir la corrélation entre
toutes les variables (colonnes) de notre base et notre variable cible qui est le Prix dans notre
cas, ceci peut aussi se faire par des visualisations. Après avoir terminé cette étape, nous
devons choisir les attributs ou les variables qui peuvent influencer notre modèle c’est-à-dire
les variables les plus corrélées avec notre cible et qui peuvent nous donner le prix estimatif le
plus précis, proche et approximatif aux prix réels du marché tels que le kilométrage, marque,
modèle, l’année de mise en circulation puissance fiscale et carburant tous ces paramètres
constitueront les caractéristiques de notre modèle qui va être déployé en utilisant des
algorithmes d’apprentissage prédéfinis se basant sur les données préalablement fournies.
Figure 4: Le processus de l'apprentissage automatique
(2)
La figure 4 illustre le processus de l’apprentissage automatique.
11
VII. Conclusion
Durant ce premier chapitre nous avons présenté un aperçu général sur notre projet dont la
problématique ne peut se résoudre que par un programme de machine Learning, puis nous
avons mis le sujet dans son contexte en contiguïté avec l’organisme d’accueil au sein duquel
nous avons passé notre stage.
Nous allons dans les chapitre qui suivent, partager avec vous d’une manière approfondie et
détaillée des sprints que nous avons réalisés pour pouvoir achever notre produit final.
12
Chapitre 2 : Web scraping et chargement de données
I.
Introduction
Durant ce chapitre nous allons vous présenter la partie de conception qui comporte les
différentes technologies utilisées tout au long de notre projet, ensuite et après avoir donné un
petit aperçu sur le Web Scraping, nous allons commencer par vous décrire d’une manière
détaillée les premiers sprints de chargement de données à partir des différents sites web.
II. Backlog du sprint 1
Sprint 1: chargement de données.
User stories
Tâches à faire durant ce sprint.
Charger les annonces du site Tayara.
Analyse comparative entre les packages
de web scraping.
Charger les annonces du site
automobile.tn.
Automatiser de la lecture des urls.
Scraper toutes les annonces.
Charger les annonces du site karhabti.
Charger toutes les annonces dans un seul
fichier structuré.
Charger les annonces du site autoplus.
Tableau 3: Backlog du sprint 1
Le tableau 3 décrit les tâches à faire durant le sprint 1
13
III. Web Scraping
Recueillir un nombre massif de données sur un site web n’est pas du tout une opération facile
à moins que nous soyons dotés d’une technique ou une méthode qui sort du commun qui nous
fait gagner du temps, et c’est là d’où vient ce qu’on appelle le web Scraping qui est une
technique permettant l’extraction des données d’un site via un programme, un logiciel
automatique. L’objectif ultime de cette technique est donc de pouvoir extraire des données sur
un site d’une façon structurée, et cela nous permettra de réutiliser ces informations.
IV. Conception
• Python
« Python est un langage portab