Twenga et PHP, un duo gagnant pour le moteur de recherche de shopping
Pourriez-vous, dans un premier temps, nous présenter votre profil ainsi que celui de votre société ( nom, prénom, nombre d'employés, chiffre d'affaire,...)
Je m'appelle Steven VAN POECK et je suis le responsable de l’équipe BackOffice au sein du Pôle Web & Mobile chez Twenga.
Twenga a été créé par Bastien Duclaux et Cédric Anès en 2006 avec l’ambition d’être le moteur de recherche de shopping le plus complet du Web. Aujourd’hui, Twenga est déployé sur 16 pays et nous comptons 150 collaborateurs dont environ 40% sont dédiés à la recherche et développement.
Quelle est, plus en détails, l'activité de votre département ?
Le Pôle Web & Mobile est organisé en lignes de produit :
-
L’équipe B2C s’occupe de tous les sites publics de Twenga (16 sites - un par pays, bientôt 19)
-
L’équipe B2B gère l’extranet des marchands
-
L’équipe BackOffice a la responsabilité de toutes les applications de gestion internes
-
L’équipe Mobile produit les applications iOs et Androïd
Deux équipes transverses complètent le pôle : l’équipe Qualité et l’équipe Architecture.
Quelles sont les caractéristiques de votre plate-forme technique ?
La plupart de nos serveurs sont sur CentOS 5, mais une migration vers Debian 6 est en cours.
A part cela, nous utilisons PHP 5.3.3 avec Apache 2.2 et MySQL 5.x (cela va de MySQL 5.1 à 5.5.9), plus une instance de MariaDB en phase de test. Nous avons ensuite quelques serveurs MemCache.
Côté librairies, nous utilisons AdoDb en extension C/PHP.
Apparemment la grande majorité de votre plate-forme tourne grâce au logiciel Open Source. Pourquoi ? (choix technique ou financier ? )
Ce choix est historique et technique : les fondateurs de Twenga connaissaient bien la plateforme LAMP (Cédric et Bastien ont tous les deux contribué à MySQL et AdoDb) et c'était donc un choix naturel dès le départ.
Quel est le premier projet sur lequel vous avez mis en œuvre du PHP ?
Une partie de l'interface de gestion du « crawler » de Twenga, ainsi que le site Web ont été les deux premiers projets à voir le jour chez Twenga, et ont été codés en PHP.
Pouvez-vous lister rapidement les différents projets / applications dans lesquels vous utilisez PHP aujourd'hui ?
PHP est utilisé chez Twenga pour des applications diverses et variées telles que des scripts batch, des applications Web métier (extranet marchands, applications internes, etc.) et bien sûr nos sites Web publics.
Quelle est la volumétrie de ces projets ? (nombre de connexions, users simultanés, pages vues, etc.)
Sur l’ensemble des sites Web, nous enregistrons plus de 40 millions de visites uniques par mois, avec jusqu'à 10 000 connexions simultanés. Le nombre de pages vues s'élève à plus de 2 millions de pages vues par jour. Twenga représente plus de 150 000 marchands totalisant plus de 300 millions de produits.
Le back-office interne est utilisé quotidiennement par environs 200 personnes.
Quel est votre serveur d'application ?
Nous n'utilisons aucun serveur d'application aujourd'hui.
Le BackOffice, avec une autre équipe faisant du Java, a mis en place un serveur d'intégration continu (Jenkins : http://jenkins-ci.org) et fait ses premiers pas vers l'industrialisation des développements PHP (tests unitaires, tests fonctionnels, …)
Avec quoi utilisez vous PHP ? (Oracle, XML, Postgres, Mysql, …)
Nous utilisons PHP avec MySQL, XML, XSL, en CLI sur les batchs
Un récent sondage sur hotscripts.com dénote que PHP est le langage préféré des informaticiens (56,9%avec 15500 voies), avez-vous ce sentiment chez vous ?
Les équipes R&D de Twenga utilisent plusieurs technologies : PHP, Python, C++, Java, Objective C, ... Chaque développeur ayant une préférence pour le langage qu'il code, je ne peux pas dire que PHP soit plébiscité plus que les autres langages. Mais l'équipe de développement PHP est de loin celle qui compte le plus de membres et le réflexe naturel chez Twenga est de se tourner vers le PHP pour tout nouveau projet.
Quel est le ratio de votre équipe technique qui est susceptible de développer en PHP ? Pouvez-vous le comparer aux autres langages que vous utilisez (Perl, C ... ) ?
Plus de la moitié des développeurs chez Twenga codent avec PHP. L'autre grande équipe est celle qui utilise C++. D'autres langages sont utilisé tels que Python, Java, Objective C, … mais ce ne sont souvent qu'une ou deux personnes.
Quelles sont les principales briques logicielles que vous utilisez ? (application : Phorum, visiteur, FUDForum, Wordpress... / framework : zend, symfony, ez components, PEAR...) ?
Mis à part quelques composants PEAR, AdoDb et SugarCRM (pour un besoin spécifique), nous n'utilisons pas de briques logicielles particulières.
http://www.twenga.fr/