Vous êtes sur la page 1sur 58

RAPPORT

DATA
WAREHOUSE

PREPARE PAR : CHAOUI NAHID


ELKANFAOUY AICHA
SAMHI FERDAOUSS
SOMMAIRE

01 Introduction

02 Specifications Fonctionnelles

03 Specifications Operationnelles

04 Technologies Utilisees

05 Methodologies

06 Realisation

07 Conclusion
INTRODUCTION

Dans un monde où l'incertitude est devenue la norme


et où la complexité des marchés s'accroît, les
entreprises sont confrontées à des défis sans
précédent. La capacité à prendre des décisions
éclairées n'est plus simplement un avantage, mais une
nécessité absolue. Les évolutions rapides des
technologies, les changements dans les
comportements des consommateurs et la
mondialisation ont intensifié la concurrence, créant un
paysage commercial exigeant.

La Business Intelligence, en tant que discipline


stratégique, s'est imposée comme un atout majeur
dans la quête de compétitivité des entreprises. Au-delà
de la simple collecte de données, la BI englobe un
ensemble sophistiqué de processus et d'outils qui
permettent aux organisations de transcender le simple
stockage d'informations pour les transformer en
véritables insights exploitables.
SCÉNARIO
PROBLÉMATIQUE :

ABC Industries est un acteur majeur de l'industrie


technologique, spécialisé dans le développement de
logiciels et les technologies émergentes. L'entreprise
cherche à améliorer son processus de prise de décision
stratégique en acquérant une compréhension approfondie
du paysage industriel global, en identifiant les tendances
émergentes et en comprenant les sentiments du marché.

Objectif
Le projet a pour objectif de fournir à ABC Industries une
compréhension approfondie du paysage de l'industrie
technologique en analysant les données des médias sociaux,
principalement à partir de la plateforme Twitter. Les
spécifications fonctionnelles et opérationnelles détaillées ci-
dessous guideront le développement du système pour
atteindre cet objectif.
SPÉCIFICATIONS
FONCTIONNELLES

Pré-Processing de Données :
Utiliser Python pour implémenter des scripts pour le
pré-traitement des données.
Les scripts doivent inclure des étapes de nettoyage
des données, de transformation et de gestion des
valeurs manquantes.

ETL des Données :


Utiliser Talend pour extraire les données Twitter vers
la base de données.
Les données extraites doivent inclure des
informations telles que le texte du tweet, le nombre
de favoris, le nombre de retweets, le code pays, la
langue, le lieu, la source, etc.

Analyse et Visualisation :
Utiliser Power BI pour créer des visualisations
interactives et des tableaux de bord dynamiques.
Les visualisations doivent couvrir les dimensions
spécifiques.
SPÉCIFICATIONS
OPERATIONNELLES

Pré-Processing de Données (Utilisation de Python) :


Nettoyage des Données :
Opération : Identifier et éliminer les valeurs
aberrantes à l'aide de scripts Python.
Objectif : Garantir la qualité des données en
supprimant les anomalies.
Transformation des Données :
Opération : Appliquer des transformations pour
adapter les données à la structure requise.
Objectif : Assurer la cohérence et la pertinence des
données pour l'analyse.
Gestion des Valeurs Manquantes :
Opération : Utiliser des méthodes appropriées pour
gérer les valeurs manquantes.
Objectif : Minimiser l'impact des données
manquantes sur les résultats.
SPÉCIFICATIONS
OPERATIONNELLES

Extraction des Données (Utilisation de Talend) :

Mapping et Transformation des Données :


Opération : Définir des mappings pour transformer et
charger les données dans le data warehouse.
Objectif : Organiser les données de manière cohérente et
conforme à la structure du data warehouse pour faciliter
l'analyse ultérieure.

Analyse et Visualisation (Utilisation de Power BI) :


Création de Visualisations :
Opération : Utiliser Power BI pour concevoir des
visualisations interactives.
Objectif : Présenter les insights de manière
visuellement attrayante et compréhensible.
Couverture des Dimensions Spécifiques :
Opération : S'assurer que les visualisations abordent
toutes les dimensions spécifiques mentionnées dans
les résultats attendus.
Objectif : Offrir une compréhension holistique du
paysage de l'industrie technologique.
TECHNOLOGIES
UTILISEES

Talend est une plateforme


d'intégration de données open
source qui excelle dans l'extraction, la
transformation et le chargement
(ETL) des données.

Power BI est une suite d'outils d'analyse


commerciale de Microsoft permettant
la visualisation interactive et le partage
des insights à travers des tableaux de
bord interactifs. Avec Power BI, les
utilisateurs peuvent créer des
visualisations percutantes à partir de
diverses sources de données, facilitant
la prise de décision éclairée.
TECHNOLOGIES
UTILISEES
Dans notre démarche de gestion de projet et de collaboration, nous
avons opté pour l'utilisation de Notion. Cette plateforme polyvalente
offre une interface conviviale, une flexibilité exceptionnelle pour la
création et l'organisation de contenus, ainsi qu'une collaboration en
temps réel. Notion nous a permis de centraliser nos informations, de
suivre efficacement l'avancement des tâches et de faciliter la
communication au sein de l'équipe. Sa capacité à intégrer divers
types de contenus, tels que des tableaux, des documents, des bases
de données, a renforcé notre productivité et a contribué à la
cohérence globale de notre gestion de projet.

Dans notre projet, Python a été la solution privilégiée pour la phase


de nettoyage des données. Cette décision a été motivée par
plusieurs avantages que le langage Python offre dans le domaine
du traitement des données : Richesse des Bibliothèques, Flexibilité,
et Intégration avec d'Autres Outils.
TECHNOLOGIES
UTILISEES

Dans le cadre de notre projet, nous avons choisi d'utiliser


Microsoft SQL Server comme système de gestion de base de
données (SGBD). SQL Server a été sélectionné en raison de ses
performances robustes, de sa fiabilité et de sa facilité
d'intégration avec d'autres composants de notre infrastructure.
Pour la modélisation et l'analyse des données
multidimensionnelles, nous avons mis en œuvre SQL Server
Analysis Services (SSAS) pour la création de cubes OLAP (Online
Analytical Processing). Cette approche nous a permis de fournir
des analyses approfondies et des rapports interactifs,
améliorant ainsi la prise de décision en exploitant efficacement
les données stockées dans notre base de données SQL Server.
METHODOLOGIE
TECHNOLOGIES
UTILISEES
Choix de la Méthodologie Scrum :
La méthodologie Scrum a été choisie en raison de sa flexibilité
et de sa capacité à s'adapter aux changements tout en
favorisant la collaboration au sein de l'équipe de
développement.
METHODOLOGIE
TECHNOLOGIES
UTILISEES

Compréhension des Besoins :


Objectifs : L'objectif principal est de développer une
plateforme de reporting pour visualiser les données
extraites de Twitter.
Technologies : Les technologies choisies sont
Python pour le développement, Talend pour l'ETL
(Extract, Transform, Load), et Microsoft SQL Server
pour le stockage (Notre datawarehouse).
METHODOLOGIE
TECHNOLOGIES
UTILISEES

Planification :
Création du Backlog Produit :
1.1 Collecte de données Twitter
1.2 Stockage dans la base de données
1.3 Création de rapports visuels
User Stories :
En tant qu'utilisateur, je veux pouvoir visualiser les
tendances générales dans les rapports
En tant qu'utilisateur, je veux avoir accès à des
analyses approfondies pour chaque métrique
METHODOLOGIE
TECHNOLOGIES
UTILISEES
METHODOLOGIE
TECHNOLOGIES
UTILISEES
Sprint1
METHODOLOGIE
TECHNOLOGIES
UTILISEES
Sprint2
METHODOLOGIE
TECHNOLOGIES
UTILISEES
Sprint3
METHODOLOGIE
TECHNOLOGIES
UTILISEES
Sprint4
INTÉGRATION DE
TECHNOLOGIES
L'API TWITTER
UTILISEES

Le processus de collecte et de structuration des données à


partir de Twitter commence par l'utilisation d'un spider Scrapy,
un outil de scraping en Python, pour extraire les tweets depuis
des pages web archivées.

Pour alimenter notre projet en données, nous avons exploré les


archives Twitter disponibles sur l'Internet Archive, un important
référentiel de sauvegarde numérique. Le lien fourni
(archive.org/download/archiveteam-twitter-stream-2017-
07/twitter-stream-2017-07-
01.tar/2017%2F07%2F01%2F00%2F30.json.bz2) pointe vers un
fichier JSON compressé extrait des archives de tweets datant
du 1er juillet 2017 à 00h30 UTC. Cette structure d'URL organisée
par date et heure est caractéristique des archives Web,
permettant une récupération précise de données à partir
d'instantanés temporels spécifiques. Le processus d'extraction
et de traitement de ces données provenant de l'Internet
Archive sera essentiel pour notre analyse ultérieure des
tendances et des informations sur les médias sociaux.
INTÉGRATION DE
TECHNOLOGIES
L'API TWITTER
UTILISEES
INTÉGRATION DE
TECHNOLOGIES
L'API TWITTER
UTILISEES

Une fois les données extraites à l'aide du spider Scrapy, nous


avons procédé à une étape cruciale de pré-traitement pour
garantir la qualité et la pertinence des informations collectées.
Le fichier JSON résultant de cette étape a adopté un format
structuré, essentiel pour notre analyse ultérieure.

Exemple d’un fichier json :


INTÉGRATION DE
TECHNOLOGIES
L'API TWITTER
UTILISEES
TweetDataType :
INTÉGRATION DE
TECHNOLOGIES
L'API TWITTER
UTILISEES

Face à la complexité inhérente des données JSON,


caractérisées par une structure imbriquée, nous avons entrepris
de simplifier le processus d'analyse en créant deux fichiers CSV
distincts à partir du fichier JSON initial. Un fichier CSV a été
dédié à la représentation des tweets, tandis que l'autre a été
spécifiquement conçu pour les informations utilisateur. Cette
approche a été adoptée afin de contourner les défis liés à la
manipulation directe du format JSON dans notre flux de travail.
Chaque fichier CSV offre une vision tabulaire claire et
indépendante des données, facilitant ainsi une manipulation
plus aisée dans des environnements tels que Talend et
répondant à nos besoins spécifiques d'analyse de données.
INTÉGRATION DE
TECHNOLOGIES
L'API TWITTER
UTILISEES

La gestion des caractères de fin de ligne (end of line) et des


séparateurs a posé des défis lors de la conversion du fichier
JSON en fichiers CSV, en raison de la présence de nombreux
caractères spéciaux dans les tweets. Ces caractères spéciaux
pouvaient potentiellement perturber la structure tabulaire du
CSV, entraînant ainsi une perte de données. Pour atténuer ces
problèmes potentiels, des stratégies spécifiques ont été mises
en place lors du processus de conversion, visant à assurer
l'intégrité des données tout en préservant la lisibilité et la
qualité des informations extraites des tweets.
INTÉGRATION DE
TECHNOLOGIES
L'API TWITTER
UTILISEES
TRANSFORMATION
TECHNOLOGIES
ETL AVEC TALEND
UTILISEES

L'objectif de la création des fichiers CSV distincts à partir de


tweet.csv et user.csv était de générer une série de fichiers
spécifiques, chacun répondant à des besoins d'analyse
particuliers. Les fichiers résultants comprennent :
1. date.csv
2. location.csv
3. timestamp.csv
4. tweet_date.csv
5. tweet_location.csv
6. tweet_md.csv
7. tweet_timestamp.csv
8. tweets.csv
9. twitto_md.csv
10. twittos.csv
Chaque fichier a été créé en extrayant les informations
pertinentes des fichiers d'origine, permettant ainsi une
segmentation claire des données en fonction de différents
aspects, tels que la date, la localisation, le timestamp, et
d'autres dimensions spécifiques à l'analyse. Cette approche
modulaire facilite une exploration plus approfondie des
données en isolant les caractéristiques clés dans des fichiers
dédiés, simplifiant ainsi le processus d'analyse ultérieure.
TRANSFORMATION
TECHNOLOGIES
ETL AVEC TALEND
UTILISEES

Donc le schéma de notre base de données relationnelles était :

date(id, weekday, monthname, day, year, month)


location (id, utc_offset, time_zone)
timestamp(id, hour, minute, second)
tweet_date(id, weekday, monthname, day, year, month)
tweet_location(id, place_type, place_name, place_full_name
country_code, country)
tweet_md(id, tw_id, tweet_type, is_quote, source, is_truncated,
is_possibly_sensitive, lang, has_hashtags, has_urls,
has_user_mentions, has_symbols, media_type)
tweet_timestamp(id,hour,minute,second )
tweets(id, tw_id, usr_id, favorite_count, retweet_count,
reply_count)
twitto_md(id, lang, user_activity, user_category)
twittos(id, us_id, is_protected, is_verified, followers_count,
friends_count, listed_count, favourites_count, statuses_count)
TRANSFORMATION
TECHNOLOGIES
ETL AVEC TALEND
UTILISEES
TRANSFORMATION
TECHNOLOGIES
ETL AVEC TALEND
UTILISEES

Pour atteindre cet objectif, nous avons mis en œuvre une


combinaison de Talend et de scripts Python. Talend a été utilisé
pour la conception et l'exécution des flux d'intégration de
données, facilitant le processus d'extraction, de transformation
et de chargement (ETL). Les fonctionnalités graphiques de
Talend ont permis une modélisation visuelle efficace des flux de
données, assurant ainsi une gestion transparente des
opérations.
Parallèlement, des scripts Python ont été développés pour
effectuer des opérations spécifiques de traitement des
données, offrant une flexibilité accrue dans la manipulation des
fichiers CSV générés. Cette approche hybride a été adoptée
pour tirer parti des forces respectives de Talend et de Python,
assurant une synergie optimale dans le processus global de
préparation et d'organisation des données en vue de l'analyse
ultérieure.
TRANSFORMATION
TECHNOLOGIES
ETL AVEC TALEND
UTILISEES
TRANSFORMATION
TECHNOLOGIES
ETL AVEC TALEND
UTILISEES
TRANSFORMATION
TECHNOLOGIES
ETL AVEC TALEND
UTILISEES

Resultat :
TRANSFORMATION
TECHNOLOGIES
ETL AVEC TALEND
UTILISEES

Tweet_Date en se basant sur created_at :

Objectif :
TRANSFORMATION
TECHNOLOGIES
ETL AVEC TALEND
UTILISEES

Test pour parser la date depuis string :


TRANSFORMATION
TECHNOLOGIES
ETL AVEC TALEND
UTILISEES

Resultat :
TRANSFORMATION
TECHNOLOGIES
ETL AVEC TALEND
UTILISEES

pour twitto metadata on a user_activity


TRANSFORMATION
TECHNOLOGIES
ETL AVEC TALEND
UTILISEES

test
TRANSFORMATION
TECHNOLOGIES
ETL AVEC TALEND
UTILISEES
TRANSFORMATION
TECHNOLOGIES
ETL AVEC TALEND
UTILISEES

Explication :
On veut déterminer l'activité de l'utilisateur en fonction de la
différence entre la date de création de l'utilisateur (created_at dans
le profil de l'utilisateur) et la date de création du tweet (created_at
dans les données du tweet). La logique générale est la suivante :
1. Convertir les dates de création en objets datetime.
2. Calculer la différence en jours entre la date de création de
l'utilisateur et la date de création du tweet.
3. Basé sur la différence en jours, catégoriser l'activité de
l'utilisateur comme "old" (ancien) s'il existe depuis un certain
temps ou "new" (nouveau) sinon.
4. En fonction du ratio entre le nombre de statuts de l'utilisateur et
le temps depuis sa création, déterminer si l'activité est "active"
ou "passive".
La catégorie d'activité résultante est ensuite concaténée pour
former une étiquette complète, par exemple, "old-active", "old-
passive", "new-active", "new-passive".
TRANSFORMATION
TECHNOLOGIES
ETL AVEC TALEND
UTILISEES
TRANSFORMATION
ETL AVEC TALEND
TRANSFORMATION
ETL AVEC TALEND
TRANSFORMATION
ETL AVEC TALEND

Ces nouveaux fichiers, soigneusement préparés, ont été


conçus pour alimenter notre base de données et
soutenir l'analyse approfondie.
INTÉGRATION AVEC
TECHNOLOGIES
MICROSOFT SQL
UTILISEES
SERVER

Datawarehouse schema :
INTÉGRATION AVEC
TECHNOLOGIES
MICROSOFT SQL
UTILISEES
SERVER

Sentiment Analysis :
Nous avons pris la décision d'enrichir la table des faits tweet
en y intégrant des analyses de sentiments. Les colonnes
telles que sentiment_score, magnitude_score, et
sentiment_tag ont été ajoutées pour fournir des
informations supplémentaires sur le sentiment associé à
chaque tweet. Cela permettra une analyse plus approfondie
des données dans le contexte de l'opinion et du ton des
tweets.
INTÉGRATION AVEC
TECHNOLOGIES
MICROSOFT SQL
UTILISEES
SERVER
INTÉGRATION AVEC
TECHNOLOGIES
MICROSOFT SQL
UTILISEES
SERVER

Pour construire notre Data Warehouse SQL Server, point


central de notre projet, nous avons adopté une approche
méthodique en intégrant les données à partir de fichiers
CSV vus précédemment. Ces fichiers, contenant des
informations cruciales sur les tweets et les utilisateurs actifs,
ont été transformés à l'aide de processus dédiés avant
d'être insérés dans notre entrepôt de données.
INTÉGRATION AVEC
TECHNOLOGIES
MICROSOFT SQL
UTILISEES
SERVER
INTÉGRATION AVEC
TECHNOLOGIES
MICROSOFT SQL
UTILISEES
SERVER
OLAP ET
TECHNOLOGIES
VISUALISATION
UTILISEES
DANS POWER BI

Pour faciliter l'analyse multidimensionnelle, des OLAP cubes ont été


créés sur la base des données stockées dans le Data Warehouse. Ces
cubes ont permis une exploration approfondie du paysage Twitter
selon les dimensions clés.
OLAP ET
TECHNOLOGIES
VISUALISATION
UTILISEES
DANS POWER BI

Afin de répondre aux besoins spécifiques


d'analyse de données dans notre projet, nous
avons mis en œuvre avec succès la création
d'un cube OLAP dans SQL Server Analysis
Services (SSAS). Ce cube intègre deux tables
de faits essentielles, à savoir les données sur
les tweets et les informations sur les
utilisateurs (twittos). Pour enrichir l'analyse,
nous avons défini plusieurs dimensions clés,
comprenant la localisation, la date, le
timestamp, les métadonnées des tweets et
les métadonnées des utilisateurs (twittos).
Cette approche multidimensionnelle permet
une exploration approfondie des données,
facilitant une compréhension holistique du
paysage de l'industrie technologique à partir
des informations extraites de la plateforme
Twitter. Grâce à cette modélisation avancée,
nous sommes en mesure d'effectuer des
analyses complexes et d'extraire des insights
significatifs
OLAP ET
TECHNOLOGIES
VISUALISATION
UTILISEES
DANS POWER BI
OLAP ET
TECHNOLOGIES
VISUALISATION
UTILISEES
DANS POWER BI
OLAP ET
TECHNOLOGIES
VISUALISATION
UTILISEES
DANS POWER BI
OLAP ET
TECHNOLOGIES
VISUALISATION
UTILISEES
DANS POWER BI
TECHNOLOGIES
CONCLUSION
UTILISEES

Bilan et Apprentissages :

La réalisation de ce projet a été riche en enseignements et a


permis d'acquérir des compétences significatives dans
divers domaines. Voici un résumé des acquis, des défis
relevés et des leçons apprises :

Acquis :

Maîtrise des Technologies : Une compréhension


approfondie et une maîtrise de technologies variées telles
que Python, Talend, Microsoft SQL Server, Power BI, et
Scrapy.

ETL (Extract, Transform, Load) : La conception et la mise


en œuvre d'un processus ETL avec Talend ont été
essentielles pour transformer les données brutes en un
format adéquat pour le stockage et l'analyse.

Analyse des Sentiments : L'intégration de l'analyse des


sentiments a ajouté une dimension qualitative au projet,
permettant d'évaluer la tonalité des tweets.
TECHNOLOGIES
CONCLUSION
UTILISEES

Défis Relevés :

Extraction de Données : La gestion du volume important


de données extraites de Twitter a été un défi, nécessitant
une optimisation du processus d'extraction pour assurer la
rapidité et l'efficacité.

Transformation des Données : La phase ETL a exigé une


attention particulière pour s'assurer que les données étaient
correctement transformées et prêtes pour l'analyse.

Intégration d'Analyse des Sentiments : L'intégration d'une


analyse des sentiments précise a demandé une
compréhension approfondie des techniques d'analyse de
texte.

Conception des Schémas Relationnels et Data


Warehouse : La conception des schémas relationnels et des
schémas de data warehouse en constellation a été un défi
majeur, impliquant une analyse minutieuse des structures
nécessaires pour garantir une représentation précise et
efficace des données.
TECHNOLOGIES
CONCLUSION
UTILISEES

En résumé, cette entreprise a constitué une aventure riche


en enseignements, fusionnant habilement des
compétences techniques de pointe, une gestion de projet
agile, et une vision approfondie des exigences analytiques.
Les défis rencontrés ont agi comme autant d'opportunités
d'affiner notre aptitude à résoudre des problèmes
complexes, en mettant à l'épreuve notre créativité et notre
perspicacité. Les succès obtenus au cours de ce projet ont,
quant à eux, attesté de l'efficacité d'une approche
méthodique et collaborative, soulignant l'importance
cruciale d'une communication transparente et d'une
alignement constant sur les objectifs définis. Cette
expérience a non seulement élargi nos compétences
techniques et notre compréhension des processus, mais a
également renforcé notre engagement envers l'excellence
dans la conception, le développement, et la mise en œuvre
de solutions analytiques novatrices.

Vous aimerez peut-être aussi