CONFIDENTIAL © Wengo SAS 2013
Reproduction prohibited without prior authorization
CLERMONT’ECH API HOUR #8
1.Etat des lieux
2.Détails de la mission
3.Choix technologiques
4.Conclusion
CONFIDENTIAL © Wengo SAS 2013
Reproduction prohibited without prior authorization
Plateforme Astrocenter
• 4 langues
• 70 environnements graphiques
• 1500 contenus éditoriaux
• 100 000 pages différentes
• des dizaines de pays
• Boutique 10 devises
• CB / WHA / paypal
• 2 500 000 de V.U.
• 4 500 000 Visites
• 19 300 000 Pages Vues
• 80 jeux payants en 3 langues
• 30 jeux gratuits en 4 langues
• Horoscope quotidien / hebdo
• Amour / travail / santé / ...
• 20 Newsletters différentes
customisées aux couleurs des
partenaires
• 2 000 pages / secondes
• 25 000 Utilisateurs Simultanés
1. Etat des lieux
2. Détails de la mission
3. Choix technologiques
4. Conclusion
CONFIDENTIAL © Wengo SAS 2013
Reproduction prohibited without prior authorization
Mais une plateforme de 15 ans d'âge,
ça donne quoi ?
1. Etat des lieux
2. Détails de la mission
3. Choix technologiques
4. Conclusion
CONFIDENTIAL © Wengo SAS 2013
Reproduction prohibited without prior authorization
État des lieux TECHNIQUE
• 2 Boutiques C# + ASP
• 1 Boutique PHP/Symphony
• 5 CMS C# + ASP
• 1 CMS VBScript + XSLT
• 3 CMS PHP
• 20 systèmes de maintenance des environnements graphiques
• Base de Données : MSSQL / PostgreSQL / sqlite / GoogleDoc / ...
• 3 systèmes de versioning (CVS, SVN, GIT)
X systèmes de déploiement …
X WebServices
Bref, 5 équipes de développeurs successives …
• 3 BackOffice C#
• 4 BackOffice PHP
• Google Docs (BO)
• 25 Interfaces de Back-office différentes
1. Etat des lieux
2. Détails de la mission
3. Choix technologiques
4. Conclusion
CONFIDENTIAL © Wengo SAS 2013
Reproduction prohibited without prior authorization
Ma mission :
Unifier, Nettoyer, Améliorer
Les Outils :
PHP, PostGreSQL, Linux, GIT
1. Etat des lieux
2. Détails de la mission
3. Choix technologiques
4. Conclusion
CONFIDENTIAL © Wengo SAS 2013
Reproduction prohibited without prior authorization
Mais quel est notre métier, et
que devons-nous mettre en place ?
Des pages WEB
HTML / CSS / JS / Images
1. Etat des lieux
2. Détails de la mission
3. Choix technologiques
4. Conclusion
CONFIDENTIAL © Wengo SAS 2013
Reproduction prohibited without prior authorization
1. Etat des lieux
2. Détails de la mission
3. Choix technologiques
4. Conclusion
CONFIDENTIAL © Wengo SAS 2013
Reproduction prohibited without prior authorization
1. Etat des lieux
2. Détails de la mission
3. Choix technologiques
4. Conclusion
1
CONFIDENTIAL © Wengo SAS 2013
Reproduction prohibited without prior authorization
Nous pouvons tout mettre en cache
Des pages entières et/ou par blocks
Et nous injecterons des
données personnalisées en Javascript
1. Etat des lieux
2. Détails de la mission
3. Choix technologiques
4. Conclusion
1
CONFIDENTIAL © Wengo SAS 2013
Reproduction prohibited without prior authorization
Nous utiliserons Twig : moteur de template
PHP => génération des pages
mises en cache
UserCenter => production Live
JavaScript => Injection de données
dans des blocks (tpl)
1. Etat des lieux
2. Détails de la mission
3. Choix technologiques
4. Conclusion
1
CONFIDENTIAL © Wengo SAS 2013
Reproduction prohibited without prior authorization
Redéfinition des règles pour le front
Pages référençables :
• Injection de données en JS
• Temps d'accès < 80ms
• Charge serveur minimale
Pages non-référencées :
• Construction PHP (Blocks + MVC)
• Inaccessible sans JS
• Espace Sécurisé 1. Etat des lieux
2. Détails de la mission
3. Choix technologiques
4. Conclusion
1
CONFIDENTIAL © Wengo SAS 2013
Reproduction prohibited without prior authorization
Qu'existe-t-il sur le marché ?
Essentiellement,
des stockeurs de pages générées
1. Etat des lieux
2. Détails de la mission
3. Choix technologiques
4. Conclusion
1
CONFIDENTIAL © Wengo SAS 2013
Reproduction prohibited without prior authorization
Pourquoi ne pas UTILISER un générateur de
fichiers cachables ?
Lié à une plateforme de déploiement ?
Et un/des gestionnaire(s) de versioning ?
1. Etat des lieux
2. Détails de la mission
3. Choix technologiques
4. Conclusion
1
CONFIDENTIAL © Wengo SAS 2013
Reproduction prohibited without prior authorization
AstroClermont
1. Etat des lieux
2. Détails de la mission
3. Choix technologiques
4. Conclusion
1
CONFIDENTIAL © Wengo SAS 2013
Reproduction prohibited without prior authorization
Résultat :
• 1 BO multi-langue MVC PHP
• 1 Système de déploiement automatique
• 1 Front publiant du cache
• 1 User-center (MVC) PHP
• 1 Générateur de données JSON
• 1 Serveur statique (CDN)
1. Etat des lieux
2. Détails de la mission
3. Choix technologiques
4. Conclusion
1
CONFIDENTIAL © Wengo SAS 2013
Reproduction prohibited without prior authorization
Conclusion
Réfléchir au but rechercher avant
de penser aux techniques de réalisation
Réaliser une application Génétiquement optimisée
sera rentabilisé sur le moyen terme.
1. Etat des lieux
2. Détails de la mission
3. Choix technologiques
4. Conclusion
1
CONFIDENTIAL © Wengo SAS 2013
Reproduction prohibited without prior authorization
Des Questions ?

Astroclermont @clermontech

  • 2.
    CONFIDENTIAL © WengoSAS 2013 Reproduction prohibited without prior authorization CLERMONT’ECH API HOUR #8 1.Etat des lieux 2.Détails de la mission 3.Choix technologiques 4.Conclusion
  • 3.
    CONFIDENTIAL © WengoSAS 2013 Reproduction prohibited without prior authorization Plateforme Astrocenter • 4 langues • 70 environnements graphiques • 1500 contenus éditoriaux • 100 000 pages différentes • des dizaines de pays • Boutique 10 devises • CB / WHA / paypal • 2 500 000 de V.U. • 4 500 000 Visites • 19 300 000 Pages Vues • 80 jeux payants en 3 langues • 30 jeux gratuits en 4 langues • Horoscope quotidien / hebdo • Amour / travail / santé / ... • 20 Newsletters différentes customisées aux couleurs des partenaires • 2 000 pages / secondes • 25 000 Utilisateurs Simultanés 1. Etat des lieux 2. Détails de la mission 3. Choix technologiques 4. Conclusion
  • 4.
    CONFIDENTIAL © WengoSAS 2013 Reproduction prohibited without prior authorization Mais une plateforme de 15 ans d'âge, ça donne quoi ? 1. Etat des lieux 2. Détails de la mission 3. Choix technologiques 4. Conclusion
  • 5.
    CONFIDENTIAL © WengoSAS 2013 Reproduction prohibited without prior authorization État des lieux TECHNIQUE • 2 Boutiques C# + ASP • 1 Boutique PHP/Symphony • 5 CMS C# + ASP • 1 CMS VBScript + XSLT • 3 CMS PHP • 20 systèmes de maintenance des environnements graphiques • Base de Données : MSSQL / PostgreSQL / sqlite / GoogleDoc / ... • 3 systèmes de versioning (CVS, SVN, GIT) X systèmes de déploiement … X WebServices Bref, 5 équipes de développeurs successives … • 3 BackOffice C# • 4 BackOffice PHP • Google Docs (BO) • 25 Interfaces de Back-office différentes 1. Etat des lieux 2. Détails de la mission 3. Choix technologiques 4. Conclusion
  • 6.
    CONFIDENTIAL © WengoSAS 2013 Reproduction prohibited without prior authorization Ma mission : Unifier, Nettoyer, Améliorer Les Outils : PHP, PostGreSQL, Linux, GIT 1. Etat des lieux 2. Détails de la mission 3. Choix technologiques 4. Conclusion
  • 7.
    CONFIDENTIAL © WengoSAS 2013 Reproduction prohibited without prior authorization Mais quel est notre métier, et que devons-nous mettre en place ? Des pages WEB HTML / CSS / JS / Images 1. Etat des lieux 2. Détails de la mission 3. Choix technologiques 4. Conclusion
  • 8.
    CONFIDENTIAL © WengoSAS 2013 Reproduction prohibited without prior authorization 1. Etat des lieux 2. Détails de la mission 3. Choix technologiques 4. Conclusion
  • 9.
    CONFIDENTIAL © WengoSAS 2013 Reproduction prohibited without prior authorization 1. Etat des lieux 2. Détails de la mission 3. Choix technologiques 4. Conclusion
  • 10.
    1 CONFIDENTIAL © WengoSAS 2013 Reproduction prohibited without prior authorization Nous pouvons tout mettre en cache Des pages entières et/ou par blocks Et nous injecterons des données personnalisées en Javascript 1. Etat des lieux 2. Détails de la mission 3. Choix technologiques 4. Conclusion
  • 11.
    1 CONFIDENTIAL © WengoSAS 2013 Reproduction prohibited without prior authorization Nous utiliserons Twig : moteur de template PHP => génération des pages mises en cache UserCenter => production Live JavaScript => Injection de données dans des blocks (tpl) 1. Etat des lieux 2. Détails de la mission 3. Choix technologiques 4. Conclusion
  • 12.
    1 CONFIDENTIAL © WengoSAS 2013 Reproduction prohibited without prior authorization Redéfinition des règles pour le front Pages référençables : • Injection de données en JS • Temps d'accès < 80ms • Charge serveur minimale Pages non-référencées : • Construction PHP (Blocks + MVC) • Inaccessible sans JS • Espace Sécurisé 1. Etat des lieux 2. Détails de la mission 3. Choix technologiques 4. Conclusion
  • 13.
    1 CONFIDENTIAL © WengoSAS 2013 Reproduction prohibited without prior authorization Qu'existe-t-il sur le marché ? Essentiellement, des stockeurs de pages générées 1. Etat des lieux 2. Détails de la mission 3. Choix technologiques 4. Conclusion
  • 14.
    1 CONFIDENTIAL © WengoSAS 2013 Reproduction prohibited without prior authorization Pourquoi ne pas UTILISER un générateur de fichiers cachables ? Lié à une plateforme de déploiement ? Et un/des gestionnaire(s) de versioning ? 1. Etat des lieux 2. Détails de la mission 3. Choix technologiques 4. Conclusion
  • 15.
    1 CONFIDENTIAL © WengoSAS 2013 Reproduction prohibited without prior authorization AstroClermont 1. Etat des lieux 2. Détails de la mission 3. Choix technologiques 4. Conclusion
  • 16.
    1 CONFIDENTIAL © WengoSAS 2013 Reproduction prohibited without prior authorization Résultat : • 1 BO multi-langue MVC PHP • 1 Système de déploiement automatique • 1 Front publiant du cache • 1 User-center (MVC) PHP • 1 Générateur de données JSON • 1 Serveur statique (CDN) 1. Etat des lieux 2. Détails de la mission 3. Choix technologiques 4. Conclusion
  • 17.
    1 CONFIDENTIAL © WengoSAS 2013 Reproduction prohibited without prior authorization Conclusion Réfléchir au but rechercher avant de penser aux techniques de réalisation Réaliser une application Génétiquement optimisée sera rentabilisé sur le moyen terme. 1. Etat des lieux 2. Détails de la mission 3. Choix technologiques 4. Conclusion
  • 18.
    1 CONFIDENTIAL © WengoSAS 2013 Reproduction prohibited without prior authorization Des Questions ?