Expériences professionnelles
L'expérience est une bougie qui n'éclaire que celui qui la porte.
Je travaille en tant qu’ingénieur de data quality, dans un contexte de migration de données entre un ancien système et une nouvelle base de données qui est souvent mise à jour selon le besoin du business.
Je mène des campagne de tests de plusieurs niveaux pour assurer la qualité de donnée qui peut aller de :
- Un simple check de présence d’une nouvelle colonne sur une table, ou bien une nouvelle table sur le dataset.
- Vérification d’ajout d’une page sur un rapport Power BI, un graphe, ou bien modification d’un titre …etc
- Automatisation des tests entre Google bigquery et Power BI pour assurer que les valeurs des KPIs sur les tableaux de bord sont alignés avec les données de la base de données.
– Afin d’automatiser cela, il existe un module Tosca qui permet de scanner l’interface web d’un navigateur et de récupérer des valeurs texte.
– Je scan la page de PBI sur laquelle je souhaite récupérer des valeurs de KPIs
– J’applique multiples transformations sur le texte brut récupéré, comme par exemple, suppression des virgules de séparation des milliers, ou bien la convertion de string à integer. Et je stocke cette valeur dans une variable KPI_pbi.
– j’intègre le module d’exécution de requêtes SQL, afin de mettre la requête correspondante au KPI que je souhaite comparer. Et que je stocke sous KPI_gcp.
– Enfin, avec le module de comparaison, j’ai le statut OK ou bien KO - Aussi je mène des sessions d’ User Acceptance testing avec des utilisateurs de nos dashboard, qui sont basés un peu partout en Europe. On peut concédérer cela comme un déploiement de nos dashboard sur différent pays. Chacun devrait tester de son côté l’ensemble des KPIs en comparant les chiffres avec ce qu’ils ont comme données sur SAP (la source initiale de données à partir de laquelle on se base pour construire nos tables de base de données) et en cas de soucis, c’est moi qui m’occupe de checker en leur demandant un extract, pour vérifier s’il y a des données qu’on prends en compte et pas eux et vice versa.
- Automatisation des tests de non régression, après la fin des session d’UAT de chaque Hub (groupe de pays : Benelux, Cess, Iberia, Nordics, DACH…etc) : En utilisant Tosca, je me sers des modules de comparaison de données. Dans un bloc de test, je définis la requête correspondante à un KPI donné, et dans un autre je mets le chiffre communiqué par un Key user, et lors d’exécution j’ai un statut vert
si tout est bon ou
si le test a échoué. Je fais pareil avec l’ensemble des KPIs d’un projet. Et à la fin je plannifie l’exécution de ces tests par exemple une fois par jour ou par semaine, tout dépend de la demande du PO. Les résultts sont communiqué par email après chaque exécution !
- Campagnes de test sur différentes améliorations des data ingénieurs et experts Power BI sur notre base de données et tableaux de bord côté datavisulaisation.
Pendant cette aventure j’ai travaillé sur différents projets, et Sales HQ en fait partie. L’objectif du projet Sales HQ est de pouvoir analyser les performances de l’entreprise et de la force de vente en fonction du catalogue de produits, du client et du territoire.
Pour ce faire, à la fois des rapports unifiés et une solution en libre-service pour les utilisateurs sont fournis.
Exemple de KPis par pages de rapports :
Sales Performance Tracking page : (Suivi des ventes)
Actuals invoiced sales : La valeur totale des ventes faites aux clients après déduction des remises ou des retours
Portfolio net sales : Livraison non facturée Chiffre d’affaires net + Commande en cours Chiffre d’affaires net
Numeric distribution : Nombre de magasins dans lesquels un produit ou une référence est disponible, tous étant considérés comme d’importance égale
Invoiced units : Le nombre total d’unités vendues aux clients après déduction des retours éventuels
Sales Performance Deep Dive page : (Suivi approfondi des ventes)
Actual customer investment : La part de l’investissement du client qui est incluse dans le montant de la facture.
Actual returns in value : La valeur des produits retournés par les clients après leur facturation.
Actual conso net sales : Le chiffre d’affaires net consolidé, qui représente le revenu total généré par les ventes après déduction des retours, des remises et des provisions
Launches Performance Tracking page : (Suivi des lancements de produits)
Sur cette page, on trouve la valeur totale des vente, le nombre total d’unités vendues aux clients et le nombre de magasins dans lesquels un produit ou une référence est disponible sur les produits lancés.
Par sous marque, ean code et description de produit.
- On trouve des graphs d’évolution de ventes par mois
- On peut faire une comparaison entre deux produits lancé en termes de valeur totale des vente / nombre total d’unités vendues/ nombre de magasins dans lesquels un produit ou une référence est disponible afin de voir par exemple quel produit est le plus vendu que l’autre…etc
Promo Performance Tracking page : (Suivi des promotions)
Promo invoiced sales : Valeur des ventes réalisées au cours d’une période de promotion, après déduction des remises ou des retours.
Promo invoiced sales : Le nombre total d’unités vendues aux clients pendant une période de promotion , après déduction des retours éventuels
Promo numeric distribution : Nombre de magasins dans lesquels un produit ou une référence est disponible pendant une période de promotion spécifique. Cela permet de mesurer la disponibilité effective du produit sur le réseau de distribution durant la campagne promotionnelle.
- Il y a des graphs qui permettent de faire une comparaison entre deux produits en promotion en termes de valeur totale des vente / nombre total d’unités vendues/ nombre de magasins dans lesquels un produit ou une référence est disponible afin d’identifier quel produit a bénéficié le plus de la promotionen termes de ventes, analyser quels produits en promotion attirent davantage les consommateurs.
Distribution Tracking page :
Une page dédiée au suivi des chaines de distributions, on y trouve un tableau pour le nombre de magasins par type de chaine de distribution (Pharmacies/Parfumeries/ Super marchés …etc
L’objectif de ce projet est de suivre et gérer les litiges sur les produits, les retours et le temps nécessaire pour les résoudre.
KPI et définitions :
Number of disputes : Nombre de litiges
Disputes value : Valeur des litiges en euro
Disputes rate (Documents) : Nombre de litiges/ Nombre de factures dont la valeur en euro > 0
Disputes rate (Value) : Valeur des litiges en euro / Valeur des factures en euro
Number of returns : Nombre de retours produits
Returns value: Valeur des retours produits en euro
Returns rate (Documents): Nombre de retours produits/ Nombre de factures dont la valeur en euro > 0
Returns rate (Value): Valeur des retours produits en euro / Valeur des factures en euro
Number of invoices > 0 : Nombre de factures dont la valeur en euro > 0
invoices value : Valeur des factures en euro
J’étais amené à travailler sur :
- Google Cloud Platform/ BigQuery pour exécuter les requêtes SQL.
- Tosca Tricentis pour l’automatisation des tests.
- Qtest Tricentis pour mettre à jour notre cahier des charge et des tests effectués par user story.
- Power BI comme outil de data visualisation de nos tableaux de bord.

Prestataire chez Disneyland Paris en tant que consultant qualité logiciel dans un contexte de migration des données sur AWS.
Mission proposée sur le workstream Hotel :
- Automatisation des tests des table de données via la rédaction de scripts Soda SQL.
- Rédaction et exécution de requêtes Sql manuellement via Snowflake.
Mission proposée sur le workstream Digital :
- Essentiellement sur les addons (produits additionnels en plus des réservations parc, hotel …) ainsi que sur rooms (réservation de chambres d’hotels), exécuter des requêtes manuelles sur Insomnia afin de faire des appels API et s’assurer que les réponses sont bien correctes
Initiative de ma part sur le workstream Digital :
- Développement de 4 testeurs automatiques en python pour remplacer la procédure manuelle des requêtes Postman
- Testeur Auto sur Addons sur API
- Testeur Auto sur Addons pour site web
- Testeur Auto Rooms sur API
- Testeur Auto Rooms pour site web
- Connection des testeurs automatiques avec Slack pour communiquer et notifier les équipes concernées des résultats des tests une fois les tests sont fini.
Le fonctionnement des testeurs auto :
Ce sont des outils développés en python pour remplacer les tests d’appel manuels sur Insomnia. Ils effectuent deux tâches principales.
- La première consiste à générer la matrice de prédiction (la génération est une fonction développée par d’autres équipes, ici je l’appelle pour bénéficier de ce service) sous forme de fichier csv, qui représente les scénarios de test.
- La seconde est d’effectuer ces tests en lançant une boucle d’appel à l’Api correspondante selon le testeur concerné avec ces scenarios comme body et paramètres d’appels et de s’assurer que les réponses Api sont les mêmes que celles prédites sur la matrice.
- Ceci est possible sur les différents environnement grâce à un paramètre de choix (latest – stage – prod)
Avantage de mes solutions apportées :
- Multiplication de nombre de tests fois 10, le passage d’une vingtaine de tests manuels par jour sur chaque service à des milliers de tests automatique en à peine 2 heures.
- Plus d’assurance pour les développeurs et toute l’équipe sur les mises à jour de produits.
- Plus de livraisons en environnement de production en si peu de temps.
Prestataire chez Disneyland Paris en tant que consultant qualité logiciel dans un contexte de migration des données sur AWS.
Mission proposée sur le workstream Hotel :
- Automatisation des tests des table de données via la rédaction de scripts Soda SQL.
- Rédaction et exécution de requêtes Sql manuellement via Snowflake.
Mission proposée sur le workstream Digital :
- Essentiellement sur les addons (produits additionnels en plus des réservations parc, hotel …) ainsi que sur rooms (réservation de chambres d’hotels), exécuter des requêtes manuelles sur Insomnia afin de faire des appels API et s’assurer que les réponses sont bien correctes
Initiative de ma part sur le workstream Digital :
- Développement de 4 testeurs automatiques en python pour remplacer la procédure manuelle des requêtes Postman
- Testeur Auto sur Addons sur API
- Testeur Auto sur Addons pour site web
- Testeur Auto Rooms sur API
- Testeur Auto Rooms pour site web
- Connection des testeurs automatiques avec Slack pour communiquer et notifier les équipes concernées des résultats des tests une fois les tests sont fini.
Le fonctionnement des testeurs auto :
Ce sont des outils développés en python pour remplacer les tests d’appel manuels sur Insomnia. Ils effectuent deux tâches principales.
- La première consiste à générer la matrice de prédiction (la génération est une fonction développée par d’autres équipes, ici je l’appelle pour bénéficier de ce service) sous forme de fichier csv, qui représente les scénarios de test.
- La seconde est d’effectuer ces tests en lançant une boucle d’appel à l’Api correspondante selon le testeur concerné avec ces scenarios comme body et paramètres d’appels et de s’assurer que les réponses Api sont les mêmes que celles prédites sur la matrice.
- Ceci est possible sur les différents environnement grâce à un paramètre de choix (latest – stage – prod)
Avantage de mes solutions apportées :
- Multiplication de nombre de tests fois 10, le passage d’une vingtaine de tests manuels par jour sur chaque service à des milliers de tests automatique en à peine 2 heures.
- Plus d’assurance pour les développeurs et toute l’équipe sur les mises à jour de produits.
- Plus de livraisons en environnement de production en si peu de temps.

- Piloter le portefeuille de projets SI de la FFT.
- Recueillir les besoins des directions opérationnelles.
- Concevoir l’architecture du SI – Choisir les solutions SI.
- Concevoir et développer les outils et solutions à destination de l’ensemble des publics de la FFT (interne ou externe).
- Assurer la maintenance et le support des applications.
- Concevoir et développer des logiciels auprès des équipes de développement présent à la FFT.
- Assister les chefs de projets SI dans leurs missions de gestion de projet.
- Appréhender les concepts et les méthodes du test logiciel auprès de la responsable recette de l’équipe.
- Designer et concevoir l’architecture des nouvelles applications ou des évolutions de notre système d’information auprès de l’architecte SI.
- Travailler sur des projets d’industrialisation du SI comme d’innovation.
- Piloter le portefeuille de projets SI de la FFT.
- Recueillir les besoins des directions opérationnelles.
- Concevoir l’architecture du SI – Choisir les solutions SI.
- Concevoir et développer les outils et solutions à destination de l’ensemble des publics de la FFT (interne ou externe).
- Assurer la maintenance et le support des applications.
- Concevoir et développer des logiciels auprès des équipes de développement présent à la FFT.
- Assister les chefs de projets SI dans leurs missions de gestion de projet.
- Appréhender les concepts et les méthodes du test logiciel auprès de la responsable recette de l’équipe.
- Designer et concevoir l’architecture des nouvelles applications ou des évolutions de notre système d’information auprès de l’architecte SI.
- Travailler sur des projets d’industrialisation du SI comme d’innovation.
Développeur Web
Tester l’ensemble des fonctionnalités livrées sur l’e-shop (suite à la migration du Back Office de Magento à Proximis), sur les différents devices [Desktop – Tablettes et mobiles] et s’assurer qu’il n y a aucun bug sur l’interface utilisateur et que ça respecte bien les règles de gestion définies sur le cahier de charge et les tickets Jira.

Assistant Socle Data
Fédération Familles de France [Septembre 2018 - Août 2019]
Enquête scolaire
Ce site web que j’ai créé from scratch est très basique, il consiste en une plateforme qui facilite à l’ensemble des agents de la fédération sur le terrain de mener l’enquête des coût pour la rentrée scolaire en remplissant des formulaires avec des données qui seront stockée en base de donnée que j’ai aussi créée from scratch pour la structure, et qui seront traitées pour les afficher infini sur le tableau de bord pour le suivi.


Base de données
Une base de données qui stocke l’ensemble de données de la structure de la fédération