Je travaille depuis très exactement 13 jours sur un projet Magento histoire de changer un peu d'eZ Publish. Bon, en réalité j'ai fait 2 jours de formation et 11 de développement plus une petite expérience d'optimisations côté système. C'est certes trop court pour en saisir toutes les subtilités techniques mais c'est largement suffisant pour y voir de très bonnes choses et de beaucoup moins bonnes.
Parmi les excellents points :
Dans les moins bons points :
Apple avait fait un tel battage médiatique quand son offre musicale avec iTunes s'était affranchie des DRM. Dans le secteur du livre, on y arrive pas à pas. Lekti-écriture y creuse un sillon original : des livres de qualité, une indépendance farouche et des PDF sans DRM. Pas mal pour une petite structure avec en face d'elle des mastodontes tel la FNAC ou Amazon...
Parmi les auteurs à découvrir pour l'instant : des classiques de la poésie tel Charles Beaudelaire, des fictions comptemporaines (Eric Chevillard par exemple) ou des trucs improbables pour lecteur e-garé (Au buffet de la gare d'Angoulème). Bref un projet intéressant auquel No Parking contribue en code avec Drupal !
Ce week-end je m'apprêtait à développer un système de plugin pour Zend_Db_Table quand j'ai eu la présence d'esprit de consulter la feuille de route du ZF (http://framework.zend.com/roadmap). Bien m'en a pris car ce composant est justement prévu pour la prochaine version du framework (1.10). Il a même failli être intégré à la 1.9.
Depuis hier, les extensions sont activées par défaut dans la version de Google Chrome spécifique aux développeurs (dev channel). On peut donc facilement tester les premières extensions disponibles. On en a une par exemple qui affiche le nombre de messages reçus dans une boite aux lettres Gmail ou une autre qui permet de s'abonner à des flux RSS.
J’entends déjà : « Pourquoi utiliser memcached sous windows? C’est pas fait pour la prod. Windows! ».
Ok, ok, mais dites moi? Comment je vais faire pour développer mon appli qui utilise memcached avec mon WampServer préféré si je ne peux pas la tester?
Avant de rentrer dans le détail, voyons un peu ce qu’est memcached.
Memcached est un serveur de mémoire partagé développé par Danga Interactive permettant de mettre des objets de toute sorte en cache.
Pour simplifier, à partir d’un script PHP, vous allez pouvoir mettre des variables en mémoire et donc rendre ces variables persistantes et accessibles à tous vos autres scripts PHP. Vous pouvez bien sûr déjà faire cela avec d’autres extensions telle que APC qui vous offre une solution de mémoire partagée. Sauf qu’avec APC, votre mémoire partagée ne sera accessible que depuis votre serveur local.
Memcached sera accessible à toutes les machines de votre environnement de production et leur permettra ainsi de partager la même mémoire et donc le même cache.
Toujours pas convaincu de l’intérêt ou ca reste pas très clair?
Et bien prenons un exemple.
Vous avez développé un site international de vente en ligne de Bandanas. Vous avez une centaine de références. Le site marche pas mal, vous êtes seul sur votre marché (qui penserait à vendre des bandanas sur internet?), quelques centaines de milliers de visiteurs par jour, tout va bien. Pour gérer la charge, vous avez une infrastructure avec deux serveurs en front et un serveur de bases de données.
C’est alors que Madonna décide de relancer la mode des bandanas en en portant un dans son dernier clip. Britney et Rihanna (ca doit s’écrire comme ca) suivent, la mode prend, tout le monde veut son bandana pour se l’attacher autour du bras ou de la jambe (la classe hein…rigolez pas, ca pourrait arriver)!
Le trafic de votre site explose, votre module permettant d’ajouter des commentaires sur les articles est pris d’assaut, pour gérer la charge, vous ajoutez 3 serveurs supplémentaires.
Ca permet au site de souffler un peu mais vous vous rendez rapidement compte que cela ne suffit pas!
Vous faites donc du profiling sur votre code pour optimiser les performances de votre site et vous rendez compte que c’est la base de données qui pose problème. Trop de connexions, requêtes trop lentes, etc…mais vous ne pouvez pas vous en passer, les pages du site évoluent rapidement avec les commentaires, l’affichage du stock disponible, etc… et vous vous devez d’avoir des pages à jour.
Vous faites le calcul, 10 000 000 de pages du catalogue vues par heure, soit 100 000 pour chaque produit (100 produits) et au moins autant de requêtes sur la base.
Après le livre sur Symfony, on continue avec mes lectures de l'été. Le deuxième bouquin que j'ai lu, c'est Améliorer ses taux de conversion Web de Serge Roukine. L'ouvrage traite de l'optimisation des sites Web dans le but de convaincre ses visiteurs à passer à l'action.
Envoyez un email avec l'URL du site et du flux à planetephpfr AT afup POINT org
Gestion