jan 31

Oula…

Alors en préparant le lancement de ce blog, forcément on googlise un peu autour de soi et ? au surprise ? Aujourd’hui, samedi 31/01/09, 16h00, google bloque tous  les sites dans les résultats de recherche avec un lien « ce site risque d’endommager votre ordinateur ».

Gros gros craquage les gars là.
Le plus drôle ? Google se bloque lui même en expliquant que ses sites aussi ne sont pas sûrs !

Gros plantage chez Google...

Gros plantage chez Google...

Allez, vous aussi faites votre shoot d’écran collector, ca arrive pas tous les jours :)

Les explications ?

  • Ratage d’une mise en production ?
  • Hacking ?
  • Intoxication alimentaire des admins ?
  • Grosse paranoïa subite ?

Visiblement ca à commencé vers 15h30 et ca s’est finit vers 16h30…

Merci à LôLô pour l’information.

écrit par Philippe Humeau \\ tags: ,

jan 29

On y est, Bargento c’est lundi prochain.

Une belle première réussite à laquelle je suis fier de participer comme conférencier mais aussi comme organisateur. Cependant, je tiens à m’excuser dans ce billet auprès de ceux qui n’ont pas pu venir par manque de places.

On avait prévu 50 au début. 100 est devenu tout de suite plus réaliste vu les personnes qui ont voulu s’impliquer. Puis à 150 inscrits on s’est posé des questions et à 200 on a dit stop. Pourquoi ?

Parce qu’en qualité d’organisateurs, nous avons des responsabilités vis-à-vis de la salle, vis-à-vis des visiteurs, de la sécurité, du confort de tous. Alors 200 c’était la limite maximale.

Par contre, nous avons tous perçu votre motivation et compris que ce format est déjà trop petit par rapport à l’engouement que suscite la technologie Magento. Du coup, on prépare la suite, forcément.

Alors voila, désolé pour ceux qui n’ont pas pu venir, mais sachez qu’on organise déjà une nouvelle rencontre, fin mars, on vous tiendra tous au courant, sur ce blog ou chez nos amis Capitaine Commerce, François Ziserman, Fragento etc…

Le format sera plus large, plus de places grâce à une salle plus grande, une meilleure logistique bref, on fera ca avec plus de temps, méthode, moyen et surtout… plus de places !

écrit par Philippe Humeau \\ tags: , ,

jan 28

Au début de cette histoire, quelques acteurs…

Zadig & Voltaire, le Vieux Campeur, Discouteo, Saint Maclou, Téléshopping, des chefs de projets fonctionnels, des SSII, des administrateurs, des développeurs, brefs un petit microcosme Magento qui avait besoin de parler technique et fonctionnel ensemble…  Ainsi est né TFMFG, un bête mail en carbon copy. Lire la suite »

écrit par Philippe Humeau \\ tags: , , , ,

jan 21

Aujourd’hui un petit topo sur la latence. Première question simple : qu’est-ce donc ? D’où provient le temps d’attente, de quoi est-il composé ?

Quand je clique sur une page, entre le temps de mon action sur la page et le moment où je reçois la donnée demandée, il se passe une cascade de choses. Quel % de temps peut être attribué à chaque élément, ping de la liaison xDSL du client, chargement d’Apache, traitement php/zend, actions Magento, recherche dans la base de données, etc… ?

D’après Amazon, si 0,1s de latence me coûte 1% de CA et c’est loin d’être linéaire.

A 10 secondes de ping, c’est plus dans les 95% de CA qu’on perd ! La latence c’est un peu le pire ennemie des E-commerçant et de leurs clients. C’est le moment de flottement où je pense à autre chose qu’à acheter, où je me dis « il est lent ce site » où je me déconnecte etc…

Dans le cas de Magento, qu’est-ce qui pèse ?

Comment la diminuer globalement cette latence : où agir ?

Voici un premier schéma qui montre une architecture d’hébergement :

archi-serveur-complete

Ce schéma montre plus d’un point de vue logique les enchainements entre les serveurs, ce qui permet de mieux comprendre le suivant : Lire la suite »

écrit par Philippe Humeau \\ tags: ,

jan 17

Comme vous le savez, NBS System fait aussi de la sécurité informatique et notamment pas mal de test d’intrusion, externe, interne, web, applicatifs etc…

Dans ce contexte, nous créons régulièrement des petits articles de synthèse pour nos connaissances, pour des journalistes ou des clients. Certains de ces articles sont maintenant un peu vieillots (6 mois à deux ans) mais les principes de fond ne changent pas si vite que cela.

Je me permets donc de vous faire cadeau de trois de nos articles sur la sécurité des technologies Web et plus particulièrement Web 2.0, en espérant que cela servira à vos équipes pour faire baisser le taux de sites vulnérables. (D’après un rapport de notre labo de sécurité, sur 15 applicatifs web testés l’an dernier, 12 étaient très vulnérables, 2 légèrement (par Xss) et 1 seulement sans faille connue)

Une chance cependant pour les aficionados de Zend et Magento, le Framework Zend est bien sécurisé sur le point des XSS et SQL Injections. Les hébergeurs ont un rôle important également à jouer en patchant et sécurisant en continu, les développeurs également, en ne déportant pas de décisionnel ou de code sensible en Ajax/Javascript sur le poste client etc…

D’une manière générale :

  • Pas de code sensible et/ou décisionnel déporté sur le browser du client
  • Pas de version vulnérables des services LAMP (Apache et PHP tout particulièrement)
  • Pas de certificat auto signés
  • Un filtrage DRASTIQUE des entrées utilisateurs (formulaires, champs recherches etc…)
  • Si possible n’accepter que [a-z][A-Z][0-9] et le tiret pour les adresse
  • Un bon Firewall et un bon Reverse Proxy
  • Un DNS en dernière version non vulnérable à la faille de Kaminsky
  • Protéger toute zone d’administration par un .htaccess

Trois maximes guident notre métier :

  • La sécurité est un processus, pas un produit
  • La sécurité est une chaine, le maillon faible est toujours visé
  • La sécurité à un coût mais elle n’a pas de prix

(Ca semble plus commercial au premier abord mais ceux qui se sont déjà fait hacker savent de quoi je parle ;) )

article-dns-pinning
web-20
sécurité & web 2.0

écrit par Philippe Humeau \\ tags: , ,

jan 16

Sur ce blog vous allez trouver de l’info. Technique essentiellement mais pas forcément seulement.

La bête est gourmande… Très gourmande, donc le principe de ce blog c’est de la nourrir et de gêrer cette faim, pas de remettre en cause la techno en elle même.

TFMFG était indépendant, donc critique à l’occasion et Wikigento l’est tout également.

Mais il faut également reconnaitre les victoires de cette technologie. Ne serait-ce que pour montrer qu’il n’y a aucun acharnement, bien au contraire et que quand je dis que ca consomme, c’est un fait, pas un critique en soit.

Pour le « coût » supplémentaire en ressources, il faut également prendre en compte la révolution qu’apporte le produit. Une facilité de développement, un moteur sous jacent (Zend) très propre et bien conçu, une très grande fonctionnalité…

Le feedback de mes clients est relativement unanime, on passe le cap de la consommation de ressources et on apprécie le plein potentiel de la bête ! Mise à jour du catalogue produit très simple, belle efficacité, joli rendu visuel, une palette d’outils complets, une bibliothèque de plugin qui grossit.

Donc rendons à Magento ce qui lui appartient, si je fais un blog à son sujet, c’est bien que c’est passionant de voir naitre un acteur majeur ;)

écrit par Philippe Humeau \\ tags: , ,

jan 15

Bienvenue !

Participez au premier barcamp Magento à Paris !

Une journée riche en échanges et retours d’expériences de tous les acteurs du e-commerce autour de cette solution très prometteuse qu’est Magento.

Les partenaires de cet événement :

Horaires :
9h30 – 18h30

Lieu :
Espace ABC
3 rue de la Chapelle
75018 PARIS
Métro  : Ligne 12, station Marx Dormoy

Le programme :

  • Keynote par Roy Rubin : La roadmap de Varien pour Magento
  • Témoignage d’un Webcommerçant bientôt sous Magento : Daniel Broche, Discounteo
  • Témoignage d’un Webcommerçant sous Magento : Ségolène De Cassagne, Zadig & Voltaire
  • Témoignage d’un grand chantier sur le point d’aboutir : TF1 Shopping par Caroline Korn
  • Conférence « Hébergement et optimisation d’un site Magento » par Philippe Humeau, NBS System
  • Conférence « Connecteurs de paiement » par Charly Clairmont, CTO d’Altic
  • Conférence « Implémentation de la taxe DEEE » par SQLI
  • Conférence « Référencement payant » par Pierre Laromiguière de Baobaz
  • Conférence « Découplage fonctionnel du back et du front office » par François Ziserman
  • Conférence « La communauté Magento FR, histoire et future » par Sébastien « Sel » Lepers

écrit par Philippe Humeau \\ tags:

jan 11
Nous avions déjà fais nos tests et le Shanghaï d’AMD sortait vainqueur du duel, ce qui nous avait encouragé à équiper notre nouvelle infrastructure d’hébergement Magento entièrement en Shanghaï. Anandthec, très sérieux site se concentrant sur les performances des processeurs, a lui aussi fait des tests de performances, notamment sous Mysql et le résultat est le même, une franche avance pour les nouveaux AMD. De plus, d’après nos essais, ce qui est vrai pour le Mysql l’est également pour les pages générées par le combo PHP/Zend/Magento.
Vous pouvez donc y aller franchement car, en conclusion, on peut dire que « Magento loves Shanghaï » :
perf shanghai/mysql
Le différentiel de performances ne laisse pas l’ombre d’un doute, 27% de requêtes traitées en plus, c’est un résultat écrasant (backend en InnoDB).
Par contre, grosse méfiance, ce qui est vrai pour le hosting LAMP ne l’est pas pour du MS+Oracle ou du calcul pur ou encore de la virtualisation. Attention aussi au fait qu’il faut privilégier les processeurs plus puissants à nombre de coeurs identiques puisque Mysql n’est pas simple à scaler au delà de 4 coeurs.

écrit par Philippe Humeau \\ tags: , , ,

jan 10

Mais oui, pourquoi au fait ?

Voici une analyse philosophico-technique d’une question existentielle qu’on se pose tous : « Pourquoi Magento est un gouffre de puissance ? »

En premier lieu, Magento dépend d’un autre framework : Zend. Et ce n’est pas le seul à être gourmand, les Ruby on Rail et autres sont aussi des affamés.

Pour revenir à Magento, c’est un framework de deuxième niveau, de l’objet d’objet. Or, revenons aux racines, à l’époque ou Stroustrup, Kernighan et Ritchie nous inventent l’objet et le C++. L’objet c’est une méthode de programmation pensée pour factoriser le code source, faciliter sa réutilisation ainsi que permettre à des humains de manipuler des concepts plus agréables que des (char *), des pointeurs et des librairies à rallonge.

Donc en gros, à partir du C, le C++ a été créé et d’autres langages ont suivi le même processus.

Mais… Car il y a (toujours) un mais, cette structuration objet est plus « lourde ». Simplifier, en général ca veut dire qu’en dessous quelqu’un a fait quelque chose de plus complexe pour vous simplifier la vie. Voyez ca comme un canard, calme en surface mais qui pédale dur en dessous. En objet c’est pareil, la simplicité pour l’humain a impliqué un code plus lourd à digérer pour la machine et puis si on fait des objets c’est bien pour développer des programmes plus utiles, complexes, effiaces etc… La programmation objet a donc une tendance naturelle à compliquer les choses pour la machine mais le compilateur, quand il est performant, réduit tout cela à un assembleur très comparable. Une même fonction en C et en C++ va fournir un code assembleur assez comparable pour que les performances soient proches. Le compilateur est plus complexe, il met plus de temps à compiler, mais l’éxécution du binaire ne sera qu’imperceptiblement plus lente, ce compilateur « gomme » donc la lourdeur engendrée par l’objet.

Résultat : c’est tout bénéfice, l’humain manipule des objets plus agréables et plus utilisables, se lance dans le fonctionnel au lieu d’avoir les mains dans le camboui (ceux qui ont fait du x86 savent de quoi je parle), la machine interprete une fois un peu plus longtemps avec son compilateur et au final, quand le programme se lance, il est aussi rapide !

Oui mais……… PHP n’est pas un langage compilé. C’est un langage interprété. Et la complexité supplémentaire pour la machine qui était gommée par le compilateur ne l’est plus. A chaque interprétation, on reprend le même code, on replonge dans les niveaux d’abstraction objets et on force le CPU a interpréter tout cela. Alors avec juste du PHP « non objet » ca allait encore. Avec du PHP 5, on attaque la notion d’objet, on s’alourdit un peu mais ca tient toujours la route. Avec Zend, c’est déjà nettement plus consommateur de ressources, on est sur une couche d’abstraction supplémentaire et ca comme à se sentir. Lire la suite »

écrit par Philippe Humeau \\ tags: , ,

jan 09
La paramètres d’un site Magento qui font vraiment changer les performances :
  • complexité de l’interface Web
  • complexité / historique dans le back office
  • taille de base
  • nombre d’articles et de sous catégories
  • version de magento
  • qualité du code & optimisation de celui-ci
  • réglages des composants de cache
  • réglages des LAMP
Il faut donc très fortement adapter les réglages des caches (APC, magento interne, zend), d’apache, de mysql, de php et adapter son infrastructure technique également en fonction de ces paramètres et du site considéré.
En résumé, je conseil :
- Opensta pour simuler le trafic, on approcha à ~10% de la charge réelle
- L’architecture Blade pour l’hébergement, avec des coeurs sur vos web frontaux si la présentation est exigeante et de la ram pour la BDD si il y a de nombreux articles
- Bien étudier les optimisations à mener, avec les 18 recommandations de notre guide, on a gagné un facteur 2,8 en rapidité/capacité d’accueil sur certains sites


écrit par Philippe Humeau \\ tags: ,