SlideShare uma empresa Scribd logo
1 de 23
Représentation de données, analyse de
données et développement JavaScript
The MIG – New York City



Jerome Champigny – MTI 2012
En quelques mots

 Maitre de stage
  – Jad Nehme
     Vice président « Engineering »
 « Engineering associates »
 Equipe de développent UI (Interface Utilisateur)
 Siege social au cœur de New York City




2
24/7 Media & The Media Innovation Group

 “Powered by 24/7 Media”
 100 Millions de dollars de CA
 600+ employés
 18 bureau a travers le monde
 12 pays
 Siège social
    – 132 West 31st Street New York, NY 10001
 PDG
    – David J. Moore
 WPP group
    – Valorisation totale de 25 Milliard de dollars

3
Reconstruction




4
Sujet de pré-embauche VS sujet actuel

 Data mining                                      Opt out système

    –   Recherche de récurrences                    –   Bibliothèque JavaScript

    –   Catégorisation                              –   Apache / PHP
                                                   Etude des cookies
    –   Framework de génération de statistiques
    –   Optimisation                                –   Comportement sur Safari
                                                   Graphes 3D
 Porter les outils d‟analyse de BDD
                                                    –   Bibliothèque JavaScript
    –   Evaluation des technologies telle que
        MongoDB, InfiniDB, etc.                     –   Web GL
                                                    –   Three.js
 Visualisation
                                                   Zebra
    –   IU en HTML5
                                                    –   C++
    –   Analyse multidimensionnelle
                                                   ZAP Administrator
    –   Améliorer l‟IU
                                                    –   J2EE / Web Service
                                                    –   Python
                                                    –   JavaScript


5
Planning




6
Etude des cookies

 Défaut de Safari (Third party cookies)
 Technologies
    –   Apache
    –   PHP5
    –   JavaScript
 Test de cas sur Safari
    –   Iframe avec FORM en méthode POST ou GET et blocage
    –   Création après blocage et présence antérieure
    –   Création de sous domaine
 Résultats

                                    Safari       IE9          Chrome       Firefox
                 With security      Has cookie   No cookie    No cookie    No cookie
                 Without security   Has cookie   Has cookie   Has cookie   Has cookie




7
Opt out

 C‟est ?
    – Devenir invisible aux yeux des traqueurs
 Objectifs
    – Réunir les scripts de Real Media et du MIG
    – Créer un script client générique
 Technologies
    – JavaScript
    – Python
    – Apache



8
Opt out

 Ancienne solution




 Problèmes
    – Boucle de redirection code 310
    – IE6 ne supporte pas trop de redirections
 Solution
    – Client JavaScript appelant simultanément chaque domaines
    – Utilisation des jetons CSRF (Cross-site Request Forgery)



9
Opt out

 Bibliothèque OOP
     – Mot clef prototype
 Appel par une simple fonction
 Retour asynchrone des résultats
 Affichage singulier du succès (OK) ou de l‟ échec (KO)
 Problèmes rencontrés
     – Domaine plus ou moins long à joindre
     – Erreur 404 d‟une iframe plante l‟exécution totale
 Résolution
     – Mise en place d‟un timeout général



10
Graphes 3D

 Volume de données du MIG considérable
 Ecarts sur un même graphe importants
 Technologies web obligatoires
     – Flex
        Applications du MIG en cours de changement de technologie
     – Flash
        Très proche de Flex
     – JavaScript WebGL
        Nouvelle technologie
        Three.js
        Intéressant


11
Three.js

 « Lightweight » 3D Library
 Grosse communauté
 Bonne documentation
 Support rapide
 Mainteneurs chez Google
 Portable sur
     – Safari
     – Firefox
     – Chrome
 Bibliothèque objet
     – Camera, Scene, Lights, etc.
     – Object3D, Face3, Face4, etc.

12
Dat.gui

 Interagis avec des objets
 Modifie dynamiquement les attributs
     – String
     – Int
     – Bool
     – Drop down list
 Appelle les fonctions
 Crée des répertoires
 Simple et très efficace
     – Suffit d„une déclaration
     – Ajout des attributs

13
L‟idée

 Forme en couverture
     – Impossible car trop de fluctuation dans les données
 Volumes
     – Toujours une valeur constante
     – Line chart mais ferme
 Récupération des données en JSON
     – Apache
     – PHP5
 Grille dynamique
     – Adapte la taille des axes



14
Création des volumes




15
Autres fonctionnalités

 Souris
     – Zoom
     – Rotation
        Droite
        Gauche
     – Translation
     – Survol avec affichage des données
     – Cliquer centre la camera
 Cacher certaines géométries



16
Example 1




17
Example 2




18
Analyse de logs

 Objectifs
     – Débusquer les utilisateurs de Safari visés par l‟erreur
     – Créer un filtre afin de ne plus les voir apparaitre
 Etapes
     – Liste d‟identifiant utilisateurs
     – Recherche dans les logs
     – Extraction de l‟activité des utilisateurs
     – Analyse de chaque lignes
 Comment?
     – Ecriture d‟un parseur en C++
         Liste d‟identifiant
         Fichiers de logs
         Fichier de resultats filtrés

19
Analyse de logs

 Example

                                Field                                    Description
        2603648971646124                                    User ID
        C                                                   Request status: C for “Cookied”, T
                                                            for “Test”, U for “Uncookied”
        imp                                                 Request type: impression, event …
        210.104.146.253                                     User IP
        1330905600                                          Request timestamp
        "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; User Agent
        Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR
        3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0;
        MASM; InfoPath.2; .NET4.0C)"




20
ZAP Administrator UI

 Management de campagnes
     –   Fonctionne avec de nombreux serveurs de pub
     –   Permet de gérer les placements
     –   Visualisation analytiques
 Technologies
     –   Python (Django), J2EE, Tomcat
 Problèmes
     –   Arrivé de gros acteurs (Macy‟s)
     –   “Data error” dans certains tableaux comme placements
     –   Requête SQL
          Imbrication de plus de 80 000 identifiants
          Oracle limite à 1000
 Solution
     –   Pagination dans les requêtes


21
Conclusion

 Entreprise dynamique et technologique
 Projet divers et intéressant
 Technologies de pointes et innovante
 Très bonne ambiance, très bonne intégration
 Formation Epita en adéquation avec le stage
 Futur
     – The MIG - Agence Marketing
     – Employé à 24/7 Media - Produits techniques
     – Debut 1er Oct. 2012


22
Jerome Champigny
 Software Developer
 jerome.champigny@247realmedia.com




23

Mais conteúdo relacionado

Destaque

Lune the beautiful_moon
Lune the beautiful_moonLune the beautiful_moon
Lune the beautiful_moon
marinero22
 
10 bis prédelle du rétable de san zenon roy
10 bis  prédelle du rétable de san zenon roy10 bis  prédelle du rétable de san zenon roy
10 bis prédelle du rétable de san zenon roy
seminaire_venitien
 
Logiciel de gestion - Comarch ERP
Logiciel de gestion - Comarch ERPLogiciel de gestion - Comarch ERP
Logiciel de gestion - Comarch ERP
COMARCH SAS
 
Le tango en_peinture
Le tango en_peintureLe tango en_peinture
Le tango en_peinture
Denise Rivera
 
Sustentación proyecto 4
Sustentación proyecto 4Sustentación proyecto 4
Sustentación proyecto 4
000Mariana000
 
Projet de Benjamin Lancar
Projet de Benjamin LancarProjet de Benjamin Lancar
Projet de Benjamin Lancar
blogactujpop
 

Destaque (20)

Urgente
UrgenteUrgente
Urgente
 
Lune the beautiful_moon
Lune the beautiful_moonLune the beautiful_moon
Lune the beautiful_moon
 
Proceso proyecto bioclimático
Proceso proyecto bioclimáticoProceso proyecto bioclimático
Proceso proyecto bioclimático
 
Mission Val de Loire 2010 - juin 2012
Mission Val de Loire 2010 - juin 2012Mission Val de Loire 2010 - juin 2012
Mission Val de Loire 2010 - juin 2012
 
10 bis prédelle du rétable de san zenon roy
10 bis  prédelle du rétable de san zenon roy10 bis  prédelle du rétable de san zenon roy
10 bis prédelle du rétable de san zenon roy
 
Casas antiguas
Casas antiguasCasas antiguas
Casas antiguas
 
Caro
CaroCaro
Caro
 
Logiciel de gestion - Comarch ERP
Logiciel de gestion - Comarch ERPLogiciel de gestion - Comarch ERP
Logiciel de gestion - Comarch ERP
 
Bill gates
Bill gates Bill gates
Bill gates
 
Le tango en_peinture
Le tango en_peintureLe tango en_peinture
Le tango en_peinture
 
Sustentación proyecto 4
Sustentación proyecto 4Sustentación proyecto 4
Sustentación proyecto 4
 
Pmi 2008 2009
Pmi 2008 2009Pmi 2008 2009
Pmi 2008 2009
 
Webinar : Quelles solutions à la fin de la fan gate ?
Webinar : Quelles solutions à la fin de la fan gate ? Webinar : Quelles solutions à la fin de la fan gate ?
Webinar : Quelles solutions à la fin de la fan gate ?
 
Presentación edusol iesfa
Presentación edusol iesfaPresentación edusol iesfa
Presentación edusol iesfa
 
Folleto de Ventas Expo Canitec 2011
Folleto de Ventas Expo Canitec 2011Folleto de Ventas Expo Canitec 2011
Folleto de Ventas Expo Canitec 2011
 
Red bull
Red bullRed bull
Red bull
 
A New Moment of Promise (translated in French)
A New Moment of Promise (translated in French)A New Moment of Promise (translated in French)
A New Moment of Promise (translated in French)
 
Agrandir ! n°13
Agrandir ! n°13Agrandir ! n°13
Agrandir ! n°13
 
Projet de Benjamin Lancar
Projet de Benjamin LancarProjet de Benjamin Lancar
Projet de Benjamin Lancar
 
Reseller Marketingevolution.com.ar
Reseller Marketingevolution.com.arReseller Marketingevolution.com.ar
Reseller Marketingevolution.com.ar
 

Semelhante a Soutenance

Présentation OCSInventory SolutionsLinux 2009
Présentation OCSInventory SolutionsLinux 2009Présentation OCSInventory SolutionsLinux 2009
Présentation OCSInventory SolutionsLinux 2009
Gonéri Le Bouder
 
Démocratisation des images de relevé mobile sur le Web
Démocratisation des images de relevé mobile sur le WebDémocratisation des images de relevé mobile sur le Web
Démocratisation des images de relevé mobile sur le Web
ACSG - Section Montréal
 
Developper une application mobile
Developper une application mobileDevelopper une application mobile
Developper une application mobile
Eutech SSII
 
PowerPoint sur le Web 2.0
PowerPoint sur le Web 2.0PowerPoint sur le Web 2.0
PowerPoint sur le Web 2.0
guest4ca1b
 
Slideshare - Web 2.0
Slideshare - Web 2.0Slideshare - Web 2.0
Slideshare - Web 2.0
agirard003
 
Battle opendata logilab
Battle opendata   logilabBattle opendata   logilab
Battle opendata logilab
liberTIC
 

Semelhante a Soutenance (20)

Présentation OCSInventory SolutionsLinux 2009
Présentation OCSInventory SolutionsLinux 2009Présentation OCSInventory SolutionsLinux 2009
Présentation OCSInventory SolutionsLinux 2009
 
Evolutions et nouveaux outils SEO
Evolutions et nouveaux outils SEOEvolutions et nouveaux outils SEO
Evolutions et nouveaux outils SEO
 
L'expérience client au centre de la donnée @AirFrance
L'expérience client au centre de la donnée @AirFranceL'expérience client au centre de la donnée @AirFrance
L'expérience client au centre de la donnée @AirFrance
 
Démocratisation des images de relevé mobile sur le Web
Démocratisation des images de relevé mobile sur le WebDémocratisation des images de relevé mobile sur le Web
Démocratisation des images de relevé mobile sur le Web
 
Developper une application mobile
Developper une application mobileDevelopper une application mobile
Developper une application mobile
 
L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8L'histoire d'html5 pour les développeurs windows phone 8
L'histoire d'html5 pour les développeurs windows phone 8
 
Cv hassen benabdelhafidh
Cv hassen benabdelhafidhCv hassen benabdelhafidh
Cv hassen benabdelhafidh
 
Les défis d’une application mobile multi-périphériques avec HTML5
Les défis d’une application mobile multi-périphériques avec HTML5Les défis d’une application mobile multi-périphériques avec HTML5
Les défis d’une application mobile multi-périphériques avec HTML5
 
Le Web comme plateforme applicative - comment programme-t-on le Web?
Le Web comme plateforme applicative - comment programme-t-on le Web?Le Web comme plateforme applicative - comment programme-t-on le Web?
Le Web comme plateforme applicative - comment programme-t-on le Web?
 
Presentation ZONE-project pour INRIA de mi-temps
Presentation ZONE-project pour INRIA de mi-tempsPresentation ZONE-project pour INRIA de mi-temps
Presentation ZONE-project pour INRIA de mi-temps
 
Optimisation des applications Windows 8/HTML5/WinJS
Optimisation des applications Windows 8/HTML5/WinJSOptimisation des applications Windows 8/HTML5/WinJS
Optimisation des applications Windows 8/HTML5/WinJS
 
Floss ceram-full
Floss ceram-fullFloss ceram-full
Floss ceram-full
 
PowerPoint sur le Web 2.0
PowerPoint sur le Web 2.0PowerPoint sur le Web 2.0
PowerPoint sur le Web 2.0
 
Slideshare - Web 2.0
Slideshare - Web 2.0Slideshare - Web 2.0
Slideshare - Web 2.0
 
Le Web 2.0
Le Web 2.0Le Web 2.0
Le Web 2.0
 
Web 2.0
Web 2.0Web 2.0
Web 2.0
 
CdP QA - QA hackathon - Intelligence artificielle - Meetup du 9 mars
CdP QA - QA hackathon - Intelligence artificielle - Meetup du 9 marsCdP QA - QA hackathon - Intelligence artificielle - Meetup du 9 mars
CdP QA - QA hackathon - Intelligence artificielle - Meetup du 9 mars
 
Battle opendata logilab
Battle opendata   logilabBattle opendata   logilab
Battle opendata logilab
 
Battle Opendata - Logilab - Cubicweb
Battle Opendata - Logilab - CubicwebBattle Opendata - Logilab - Cubicweb
Battle Opendata - Logilab - Cubicweb
 
Battle opendata logilab
Battle opendata   logilabBattle opendata   logilab
Battle opendata logilab
 

Soutenance

  • 1. Représentation de données, analyse de données et développement JavaScript The MIG – New York City Jerome Champigny – MTI 2012
  • 2. En quelques mots  Maitre de stage – Jad Nehme  Vice président « Engineering »  « Engineering associates »  Equipe de développent UI (Interface Utilisateur)  Siege social au cœur de New York City 2
  • 3. 24/7 Media & The Media Innovation Group  “Powered by 24/7 Media”  100 Millions de dollars de CA  600+ employés  18 bureau a travers le monde  12 pays  Siège social – 132 West 31st Street New York, NY 10001  PDG – David J. Moore  WPP group – Valorisation totale de 25 Milliard de dollars 3
  • 5. Sujet de pré-embauche VS sujet actuel  Data mining  Opt out système – Recherche de récurrences – Bibliothèque JavaScript – Catégorisation – Apache / PHP  Etude des cookies – Framework de génération de statistiques – Optimisation – Comportement sur Safari  Graphes 3D  Porter les outils d‟analyse de BDD – Bibliothèque JavaScript – Evaluation des technologies telle que MongoDB, InfiniDB, etc. – Web GL – Three.js  Visualisation  Zebra – IU en HTML5 – C++ – Analyse multidimensionnelle  ZAP Administrator – Améliorer l‟IU – J2EE / Web Service – Python – JavaScript 5
  • 7. Etude des cookies  Défaut de Safari (Third party cookies)  Technologies – Apache – PHP5 – JavaScript  Test de cas sur Safari – Iframe avec FORM en méthode POST ou GET et blocage – Création après blocage et présence antérieure – Création de sous domaine  Résultats Safari IE9 Chrome Firefox With security Has cookie No cookie No cookie No cookie Without security Has cookie Has cookie Has cookie Has cookie 7
  • 8. Opt out  C‟est ? – Devenir invisible aux yeux des traqueurs  Objectifs – Réunir les scripts de Real Media et du MIG – Créer un script client générique  Technologies – JavaScript – Python – Apache 8
  • 9. Opt out  Ancienne solution  Problèmes – Boucle de redirection code 310 – IE6 ne supporte pas trop de redirections  Solution – Client JavaScript appelant simultanément chaque domaines – Utilisation des jetons CSRF (Cross-site Request Forgery) 9
  • 10. Opt out  Bibliothèque OOP – Mot clef prototype  Appel par une simple fonction  Retour asynchrone des résultats  Affichage singulier du succès (OK) ou de l‟ échec (KO)  Problèmes rencontrés – Domaine plus ou moins long à joindre – Erreur 404 d‟une iframe plante l‟exécution totale  Résolution – Mise en place d‟un timeout général 10
  • 11. Graphes 3D  Volume de données du MIG considérable  Ecarts sur un même graphe importants  Technologies web obligatoires – Flex  Applications du MIG en cours de changement de technologie – Flash  Très proche de Flex – JavaScript WebGL  Nouvelle technologie  Three.js  Intéressant 11
  • 12. Three.js  « Lightweight » 3D Library  Grosse communauté  Bonne documentation  Support rapide  Mainteneurs chez Google  Portable sur – Safari – Firefox – Chrome  Bibliothèque objet – Camera, Scene, Lights, etc. – Object3D, Face3, Face4, etc. 12
  • 13. Dat.gui  Interagis avec des objets  Modifie dynamiquement les attributs – String – Int – Bool – Drop down list  Appelle les fonctions  Crée des répertoires  Simple et très efficace – Suffit d„une déclaration – Ajout des attributs 13
  • 14. L‟idée  Forme en couverture – Impossible car trop de fluctuation dans les données  Volumes – Toujours une valeur constante – Line chart mais ferme  Récupération des données en JSON – Apache – PHP5  Grille dynamique – Adapte la taille des axes 14
  • 16. Autres fonctionnalités  Souris – Zoom – Rotation  Droite  Gauche – Translation – Survol avec affichage des données – Cliquer centre la camera  Cacher certaines géométries 16
  • 19. Analyse de logs  Objectifs – Débusquer les utilisateurs de Safari visés par l‟erreur – Créer un filtre afin de ne plus les voir apparaitre  Etapes – Liste d‟identifiant utilisateurs – Recherche dans les logs – Extraction de l‟activité des utilisateurs – Analyse de chaque lignes  Comment? – Ecriture d‟un parseur en C++  Liste d‟identifiant  Fichiers de logs  Fichier de resultats filtrés 19
  • 20. Analyse de logs  Example Field Description 2603648971646124 User ID C Request status: C for “Cookied”, T for “Test”, U for “Uncookied” imp Request type: impression, event … 210.104.146.253 User IP 1330905600 Request timestamp "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; User Agent Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; MASM; InfoPath.2; .NET4.0C)" 20
  • 21. ZAP Administrator UI  Management de campagnes – Fonctionne avec de nombreux serveurs de pub – Permet de gérer les placements – Visualisation analytiques  Technologies – Python (Django), J2EE, Tomcat  Problèmes – Arrivé de gros acteurs (Macy‟s) – “Data error” dans certains tableaux comme placements – Requête SQL  Imbrication de plus de 80 000 identifiants  Oracle limite à 1000  Solution – Pagination dans les requêtes 21
  • 22. Conclusion  Entreprise dynamique et technologique  Projet divers et intéressant  Technologies de pointes et innovante  Très bonne ambiance, très bonne intégration  Formation Epita en adéquation avec le stage  Futur – The MIG - Agence Marketing – Employé à 24/7 Media - Produits techniques – Debut 1er Oct. 2012 22
  • 23. Jerome Champigny Software Developer jerome.champigny@247realmedia.com 23