Non classé

Magento – Mise à jour version 1.51.0 à 1.6.1

Mettre à jour un Magento, çà semble facile comme ça…et ça l’est…du moment qu’on a tous les éléments en main ! Je vais décrire ici une mise à jour depuis une version 1.5.1.0 à 1.6.1.0

Faites une Backup !

Ce paragraphe pour vous dire faites une backup de votre site et aussi…faites une backup de votre base de données…bref tout çà pour vous dire : faites une backup !!!

Droits devant !

Comme l’avait dit Raphael, il faut mieux donner les bons droits pour nous permettre de bien accéder à Magento Connect [Admin> System > Magento Connect > Magento Connect Manager ]. Je vous invite à effectuer ces commandes sur votre répertoire où se trouve votre Magento.

A faire avant votre manipulation

  • cd <votre_dossier_contenant_votre_magento>;
    find . -type d -exec chmod 777 {}\;
    chmod 666 downloader/config.ini;

A faire après votre manipulation (pour éviter de laisser trop de fichiers sans protections)

  • find . -type d -exec chmod 755 {} \;
    find . -type f -exec chmod 644 {} \;
    #il est possible que cette dernière ligne ne fonctionne pas
    chmod o+w var media app/etc/use_cache.ser ;

Mise à jour via Magento Connect en 1.6.1

On suppose maintenant que vous avez bien accès à Magento Connect et que vous êtes prêt à mettre à jour. Pourquoi ne pas tenter ?

Collez ce chemin dans les « clefs d’extensions » une fois sur la Connect Manager et appuyez sur Installer :

http://connect20.magentocommerce.com/community/Mage_All_Latest

Si tout marche, tant mieux pour vous ! N’oubliez pas de vider le cache et enjoy !

Sinon…

Package … is invalid

Si comme l’indique cet article, vous obtenez un ensemble d’erreurs du type « Package Mage_All_Latest is invalid » alors procédez comme suit :

  1. Télécharger ce fichier ( ou miroir ici )
  2. Décompressez le et copiez les fichiers dans var/package [ ceci indique les modules enregistrés dans votre ConnectManager]
  3. Retournez dans Magento Connect / ou resortez et retournez ici pour actualiser la liste des packages
  4. Retester ensuite le paragraphe ci-dessus

Peut-être qu’il vous faudra-t-il mettre à jour « manuellement » les différents packages. Pour celà, cliquez sur Check For Upgrade (toujours dans Magento Connect) et prenez les dernières versions stables. Retentez ensuite l’installation avec le paragraphe ci-dessus si votre version n’a pas été mis à jour.

Oufff…c’est réussi. N’oubliez pas de repassez les droits en mode sécurité si vous les aviez changé.

N’hésitez pas à nous contacter pour plus d’informations.

Google Merchant Center et Magento

Lorsqu’on a un site e-commerce, il est important de travailler le référencement. Nous allons découvrir comment booster ses ventes grâce à l’outil Google Shopping (ou Merchant Center)

Création de compte Google Merchant Center

Afin de vous lancer dans l’aventure Google Shopping, il vous faut tout d’abord un compte chez Google. Une fois celui-ci créé avec l’ensemble des informations de votre entreprise, vous pouvez commencer à utiliser l’outil en vous rendant sur http://www.google.fr/merchants/dashboard . Vour retrouverez dans vos paramètres les différentes informations que vous avez préalablement rempli. Pas de panique, vous pourrez les changer !

Formatages des flux

Google Merchant Center travaille avec les flux pour inscrire dans ses bases de données vos différents produits. Vous devez donc être capable de lui fournir un formattage précis afin qu’il puisse le lire. Nous détaillerons ci-dessous le formatage texte. Pour d’autres, notamment xml, je vous renvoie vers leur API.

Configuration de votre flux texte

  1. Rendez-vous dans votre tableau de bord Merchant Center
  2. Sélectionnez l’onglet « flux de données » dans le menu de gauche
  3. Cliquez sur Nouveaux flux de données
  4. Remplir le Pays cible ainsi que le nom de votre flux (sans espaces)
  5. Enregistrer les modifications. Votre flux sera créé !

Afin de minimiser les erreurs, vous pouvez lui indiquer comment vous aller formater votre fichier en cliquant sur le bouton Modifier a coté du nom de votre flux. Vous pourrez ainsi sélectionner le format du fichier, l’encodage, la langue, etc…Référer vous à l’API pour connaître le libéllé des champs en français. En détection automatique anglais, c’est assez simple !

Voici un exemple avec les champs obligatoires :

id    title    link    price    description    condition
1    "Niveau laser rotatif automatique"    http://www.topographie-laser.eu/nouveau-telemetre-leica-disto-d5/laser-de-chantier/laser-interieurexterieur-rotatif/niveau-laser-rotatif-automatique-grl300-hv-bosch-trepied-alu-mire-4m    795.00    "Niveau laser rotatif automatique"    new

On constate que :

  • La tabulation est le caractère de délimitation
  • les champs textes peuvent être entourés de quotes
  • Il est nécessaire d’indiquer les colonnes sur la première ligne

Cliquer maintenant sur Importation manuelle (sur le flux) > Sélectionner le fichier et Importer ! Vous pouvez constater les erreurs (ou pas) dans l’onglet Produit. La validation par Google de vos produits peut-être longue (sablier sur ligne produit).

Vous pouvez aussi programmer une importation automatique. Pour cela, sur le flux de donnés, cliquez sur Créer (à coté de Aucun) et renseignez l’adresse du fichier.

Merchant Center et Magento

L’outil d’e-commerce que nous proposons, propose d’interfacer directement le site internet avec la base Google (Google Base). Plus besoin de configurer les flux et formatter les fichiers ! Magento se charge de le faire pour vous.

Comment réaliser cette liaison ?

  1. Tout d’abord, assurez vous d’avoir configurer votre Merchant Center comme vu ci-dessus.
  2. Suivre ce tutoriel si vous souhaitez inscrire des produits avec Pays = France pour Magento. Oui, c’est obligatoire sinon vos prix seront en $ !

Ensuite toutes les manipulations se font du coté de Magento.

  1. Se rendre dans l’administration du site
  2. Système > Configuration > API Google > Onglet Google Base
  3. Renseignez vos identifiants. Pour pouvoir sélectionner la France comme pays cible, (si vous avez bien suivi ce tutoriel).

Vous êtes donc prêt à créer le mapping pour la synchronisation avec Google Merchant Center. Pour celà :

  1. Assurez vous que vos jeux d’attributs possèdent tous les champs minimums (rappel). Généralement il manque l’attribut « condition » – mettez le à « new » par défaut.
  2. Puis Catalogue > Google Base > Gérer les Attributs : créez en un. Sur la version 1.4.0.1, en mettant France, le site plante. Laissez donc USA. Pas de soucis, vos prix seront tout de même en € ! Choisissez Products ensuite.
  3. Créez le mapping des champs que vous souhaitez lui transmettre. Pas besoin de préciser l’URL, Google la trouve tout seul ;)
  4. Validez puis Catalogue > Google Base > Gérer les articles : sélectionnez en bas les articles que vous souhaitez synchroniser puis cliquer sur ajouter (liste déroulante à droite)

Problèmes rencontrés avec Magento

Page blanche dans Google Base > Gérer les attributs => réindexer la base ( Configuration > Index management ) et vider le cache !

Ressources pour Magento Google Base

http://www.ehumeurs.com/google-base-et-shopping-sur-magento.html

http://www.jbcreation.fr/2011/02/22/google-base-et-pourquoi-pas-la-france-2/

http://www.google.com/support/merchants/bin/answer.py?answer=188494

Changer le design du back end Magento

Vous avez déja modifier le design de votre frontend Magento ? Vous souhaitez à présent modifier l’administration du site ? Voilà un tutoriel expliquant les étapes à suivre.

Commencez par créer l’arborescence

app/code/local/MonInterfaceAdmin/Adminhtml/Block

et copiez le fichier Page.php présent dans

/app/code/core/Mage/Adminhtml/Block/

Une fois copié, modifiez le nom de la classe en modifiant

Mage_Adminhtml_Block_Page par MonInterfaceAdmin_Adminhtml_Block_Page

et vider le contenu de la classe et insérer uniquement le constructeur

public function __construct(){
   Mage::getDesign()->setTheme('MonInterfaceAdmin');
}

On indique donc à Magento où aller chercher le dossier de design. Il se basera ainsi sur le dossier app/design/adminhtml/MonInterfaceAdmin.

Il faut aussi copier le dossier dans skin/adminhtml

Je vous conseille de copier le contenu du dossier default de adminhtml et de repartir de là.

La dernière étape consiste à rediriger magento sur votre classe Page.php. Je ne suis pas sur des modifications à effectuer selon les versions

Soit on surcharge le fichier Action.php dans app/code/local/Mage/Adminhtml/Controller et on change

Mage::getDesign()
 ->setArea($this->_currentArea)
 ->setPackageName((string)Mage::getConfig()->getNode('stores/admin/design/package/name'))
 ->setTheme((string)Mage::getConfig()->getNode('stores/admin/design/theme/default'))
 ;

par

Mage::getDesign()->setArea('MonInterfaceAdmin')
 ->setPackageName('MonInterfaceAdmin')
 ->setTheme('default');

Soit j’ai trouvé une autre solution (non testée)

Pour celà ouvrez le fichier /app/etc/local.xml

Dans le block adminhtml

<adminhtml>
          <rewrite>
                <page>Ami2CVAdmin_Adminhtml_Block_Page</page>
	</rewrite>          
</adminhtml>

Forum Php 2010 2ème journée

Deuxième journée du forum qui a débuté (pour moi) sur une super présentation du framework Symfony.

Introduction à symfony (Hugo Hamon)

Tout d’abord, présentation du framework, son histoire, ses commandes utiles, son arborescence bien pensée. Le framework est basé sur le modèle MVC et met à disposition des développeurs tout un tas d’outils :

  • Configuration des URLs via des fichier yaml,
  • Possibilité d’utiliser Propel ou Doctrine pour la gestion de BDD,
  • Gestion des formulaires simplifiées,
  • Gestion d’authentification et des droits,
  • Gestion des normes i18n et l10n pour les langues,
  • Génération de BackOffice.
  • Gestion de l’envoi des mails avec la librairie swiftmailer qui gère les files d’attentes.

Le framework est très sécurisé, notamment contre les failles XSS et les injections SQL. Il est même possible (et recommandé) d’exposer qu’un seul dossier de l’application au web en modifiant la config Apache.

Il y a un millier de plugins disponibles pour apporter de nouvelles fonctionnalités.

Des frameworks pour les tests unitaires et fonctionnels sont incorporés et facilite la vie des développeurs.

Un inconvénient du framework est qu’il est très gourmand en ressources. Pour palier à ce problème il existe une batterie d’accessoires comme le cache APC, le cache de config yaml et le cache de requête SQL Doctrine.

La communauté est énorme et par conséquent on peut retrouver énormément de ressources sur la toile.

Quelques mots sur Symfony 2. Il utilisera nécesserement php 5.3 et utilisera un conteneur d’injection de dépendances qui permettra entre autre d’instancier uniquement les objets que l’on désire et donc de gagner en mémoire.

Introduction à Zend Framework (Gauthier Delamarre)

Contrairement à la précédente, j’ai trouvé beaucoup moins intéressant cette conférence.

Par principe nous avons eu droit à une présentation de l’histoire du Framework et son fonctionnement. Comme Symfony il utilise un design MVC et exploite au mieux php 5. Le couplage du code est faible et cela donne une extrême aisance aux développeurs.

ZF met à disposition un ensemble de fonctionnalités (Zend_Form, Zend_Db, Zend_ACl).

Le script Zf.sh (ou zf.bat pour les windows) permet, tout comme symfony, de créer sa structure de code. ZF met aussi à disposition une gestion d’erreurs qui récupère toutes les exceptions soulevées.

ZF 2 est prévu pour bientôt. Il sera lui aussi basé sur php 5.3 et il y aura normalement un moyen «facile» de faire migrer son code depuis l’ancienne version.

Et maintenant direction les nuages ;)

Le Cloud Computing pour PHP (Guillaume Plessis)

Un interlocuteur très captivant nous attendait à cette conférence.

Le cloud est très en vogue en ce moment mais suscite beaucoup d’interrogations.

Il existe 3 modèles de Cloud :

IaaS : Infrastructure As A Service

Souvent basé sur la virtualisation, il s’agit en fait d’instances virtuelles jetables type Amazon que l’on utilise lorsque la demande est trop élevée en terme de montée en charge. Les avantages d’une telle solution sont que le système est totalement scalable. Les coûts sont ajouté avec en général une facturation à l’heure utilisée. De même on se décharge de la gestion du matériel. Cependant il est indispensable d’avoir un architecte pour gérer l’ensemble.

Dans tout ceci Php joue un rôle de pilotage (ex durant la conférence avec Amazon et quelques lignes de codes).

D’autres acteurs sont sur le marché : RockSpace, Gandi, SoPrivé

PaaS : Platform As A Sevice

C’est un serveur d’application clé en main. Ici on ajoute la couche logiciel système c’est à dire que les offres sont dédiées à un certain langage.

Les acteurs dans le milieu sont Heroku, Google App Engine, Windows Azure et bientôt Baobapp (Inscription gratuite pour la beta : http://www.baobapp.com Profitez-en !)

SaaS : Software As A Service

On ajoute encore une couche, cette fois-ci la couche application. C’est en général des applications dédiées en ligne (ex : Gmail).

Dans le cas de SaaS le language Php est assez restreint il possède juste un rôle de pilotage (exemple avec Zend_GData et Google Apps).

Le cloud c’est bien, mais attention à quelques points :

  • Pas de support,
  • Attention à la sécurité, les données se «baladent» sur la toile,
  • Grosse dépendance vis à vis des fournisseurs, attention au taux d’indisponibilité

Le conseil de Guillaume est d’avoir un système hybride et donc des applications php capables d’être utilisées sur tous les types de cloud. Bien entendu cela nécessite un grand travail de réflexion avant d’avoir son application «cloud ready» ;)

Suivi de qualité – PIC, Plate-forme d’Intégration Continue (Gabriele Santini)

Présentation d’un membre de chez SQLi sur le travail qu’ils ont mené sur un projet de la Gendarmerie nationale.

Mr Santini a commencé par mettre  en avant toute la phase de réflexion qu’ils ont mené. Notamment de gros problèmes de code et de régressions au moment des livraisons. De même beaucoup de problèmes de maintenance sur l’application.

Une fois leur travail de réflexion terminé ils ont mis en place une plateforme d’intégration continue basée sur PhpUnderControl avec un ensemble de tests unitaires et fonctionnels exécutés à chaque build de l’application. Une grosse infrastructure a été mis en place pour l’occasion avec séparation des rôles sur les serveurs : seveur d’intégration, serveur PIC, serveur de versionning… L’objectif étant d’avoir un projet stable et sans régressions sur lequel la gendarmerie nationale peut avoir entièrement confiance. De même l’équipe doit avoir en temps réel des infos immédiates sur la structure du code.

Pour ce projet ils ont travaillé avec des partenaires comme Zend pour le côté structuration du code et AlterWay pour l’hébergement et la gestion des ressources matérielles.

Ils ont utilisé l’ensemble des modules présents dans PhpUnderControl (phpUnit, PMD, PHPCodeSniffer..) afin d’avoir des rapports quotidiens en xml adaptables en graph.

L’installation a été très difficile (cela me rappelle de bon souvenir chez Applibox ;) ) avec une documentation d’installation dépassant les 100 pages ! Ils ont aussi développé un applicatif afin d’avoir aussi des résultats sur les performances des équipes.

L’ensemble a été «débianisé» de manière à ce que tout leur travaille s’installe en deux lignes de commandes (pas bête !).

A ce jour l’application n’est pas totalement livrée mais est en phase de test. Les risques devraient être mieux maitrisés et les équipes ont gagné en compétence de façon extraordinaire.

Certains parlent de migrer l’application sous Hudson avec l’utilisation du module Sonar.

HTML 5 : prêt à l’usage ? (Stéphane Deschamps, Julien Wajsberg)

Une présentation fort intéressante ayant pour but de faire le point sur cette nouvelle technologie dont tout le monde parle. Nous avons pu ainsi aborder rapidemment quelques notions :

  • Possibilité d’utiliser des balises de structure (<header></header>..) et non plus des divs,
  • Il existe des indicateurs de progression (barres de chargement),
  • Apparition de nouveaux champs de type date, tel.. qui s’avère très utiles (exemple un Champ Téléphone sur Iphone affiche le clavier numérique),
  • De même il est possible de donner des attributs de validation à ces nouveaux champs,
  • Possibilité d’utiliser des canvas,
  • Gestion Audio, Vidéo,
  • Possibilité d’utiliser des bases de données côté client (je ne me souviens plus du nom :( )

Le bon conseil est de commencer à « saupoudrer » nos sites d’html5, même si les navigateurs ne le gère pas tous, le code est conçu de telle manière que celà ne peut pas nuire à un site (un champ téléphone sera transformer en champ texte sur IE6).

Présentation de Doctrine 2 (Juozas Kaziukenas)

Salle comble pour la présentation de Juozas. Full english bien entendu ! Voilà ce qu’il en est resté :

Juozas a mis en avant le fait que Doctrine 1 était basé sur Active Record et que celà était très lent ! Malgré ceci Doctrine 1 est à ce jour et selon lui le meilleur ORM. Cette version était aussi très facile d’utilisation et surtout très stable.

Dans la version 2 tout est revu. Il est nécessaire d’utiliser php 5.3. Le découplage est parfait : «Doctrine2 is more clever than you» :)

Le fonctionnement est basé sur JPA 2 et donc fortement inspiré de Java.

4 points importants :

  • Utilisation de Common : Collection de classe de caching event. Avec le passage d’information directement dans les commentaires comme dans Symfony.
  • Utilisation de DBAL
  • EntityManager : Plus besoins du «extends» pour les classes Model. On utilise directement un composant EntityManager pour traiter les données. De ce fait il est aussi plus simple de réaliser des tests unitaires sur les classes models. Grâce à ce procéder une seule transaction peut générer un grand nombre de requêtes.
  • ODM NoSQL: Enfin il est aussi possible de lier des objets à une base NoSQL comme MongoDB par exemple en utilisant le composant DocumentManager.

La migration de 1 vers 2 risque d’être difficile et le refactoring sera nécessaire.

APC & Memcached the High Performance Duo (Ilia Alshanetsky)

Encore une fois une conférence de qualité (toujours in english ;) ). Ilia nous a présenté APC et Memcached. Voici ce que j’ai pu retenir :

APC est très simple à utiliser, stable et puissant. Cependant il n’est utilisable que pour Php, seulement en local. De plus il met dans le même panier le cache d’upcode et le cache utilisateur.

Memcached est une amélioration de Memcache. Comme APC il peut directement être utilisé depuis le code PHP. Il est cependant utilisé uniquement pour le cache Utilisateur. Il est aussi capable de gérer plusieurs serveurs en utilisant des sockets (et non pas le protocole TCP).

Memcached peut aussi utiliser IgBinary qui permet de sérialiser le code. Cet outil permet de gagner 45% de rapidité par rapport aux méthodes PHP Classique. A l’inverse d’APC il est aussi utilisable par d’autres langages.

State of the MySQL Ecosystem (Kaj Arnö & Rasmus Johansson)

Je n’ai pu assister qu’à la moitié de cette conférence (mon train m’attendait :) ). Comme pour l’ouverture, gros problème d’affichage des slides, donc uniquement basé sur l’écoute. Kaj Arnö (SkySQL) a mis en avant le statut de Mysql depuis sont « transfert » chez Oracle.

Présentation des divers partenaires et des autres technos comme MariaDb.

The End

Fin de ce forum. Superbe édition, avec beaucoup de retours d’expérience très intéressants. Merci l’AFUP !

Forum PHP 2010 : 1ère journée

Nous voici donc le jour du fameux Forum PHP.

Après quelques embuches sur le parcours, je suis arrivé entier à la Cité des Sciences et de l’industrie ou attendait toute l’équipe AFUP pour nous remettre nos badges et un petit sac rempli de choses « phpunny ».

Le temps de poser la veste et j’arrive juste après la KeyNote d’ouverture. Pour la présentation de Mr Rasmus Lerdorf (Le créateur de Php lui même).

PHP, son ecosystème : passé, présent et futur (Rasmus Lerdorf)

Début difficile avec des problèmes d’ordinateurs pendant une petite demi-heure, Mr PHP nous a présenté son parcours et l’ensemble des versions de php en relatant pour chacune d’elles les évolutions majeures.

Aux questions concernant l’avenir,  PHP a atteint selon lui sa maturité et son évolution (PHP 6) s’annonce difficile. Notamment dû à un manque de développeurs et à la gestion unicode pas super nécessaire..

Industrialisation PHP, l’exemple de Canal+ (Raphaël Carles)

Cette conférence a été très intéressante. Nous avons appris comment la société Interakting à utiliser l’industrilation du php afin de répondre aux besoins de la société Canal +.

Ceux-ci sont énormes, le taux de défaillance doit être faible avec des grands pics de visites et une multitude de sites à gérer. Pour celà la société Interacting à utiliser divers outils comme la virtualisation, la sélection de frameworks connus et de plateforme comme EzPublish et ZendPlateform. Beaucoup d’audits de sécurité et d’audits d’experts php (société Zend) afin d’obtenir des délais corrects avec un rendu de qualité (10 livraisons par semaine).

L’ensemble des applications est surveillé par un système de monitoring et des tests de montée en charge.

Le nombre de livraisons étant important ils utilisent un outil de workflow relié à chaque personne susceptible de valider la livraison. Ils gagnent ainsi un temps considérable.

Enfin pour terminer, ils sont en train de tester Hudson comme plateforme d’intégration continue.

Ligne de commande sous Linux : effrayant ? Non : indispensable ! (Pascal Martin)

Un petit passage dans cette conférence reprenant l’ensemble des commandes utiles linux. N’apprenant pas énormément plus, j’ai décidé de migrer pour la conf Prestathop.

e-commerce : Prestashop (Alain Folletête & Lucas Cherifi)

Présentation de la plateforme et surtout des dernières fonctionnalités. Etant arrivé en cours de route voici ce que j’ai retenu :

  • Prestashop met à disposition des développeurs des WebServices,
  • Gros boulot côté performances :
    • Nombre de requêtes divisé par 2 sur la Homepage,
    • Possibilité de mettre en place de la réplication SQL,
    • Possibilité de configurer memcache.
  • Travail aussi sur les perfomances navigateurs :
    • Objectif améliorer le google Page Speed à 98 dans la version 1.4,
    • Possibilité d’utiliser des serveurs de média différents pour les css, javascripts..
    • Smart Cache comme sous EzPublish,
    • Compression de css et JS.
  • Back Office Themable
  • Système d’onglet du Back Office revu
  • Facilité de modification du core. Un dossier est prévu à cet effet en surchageant simplement les classes.

A la question « Avez-vous une partie CMS efficace ? », Les intervenant ont répondu que oui et un système très simple à utiliser. Peut être plus simple que celle de magento !

Déjeuner

Petit break Quick avec la team de la Ferme du Web et M6 Web et direction la conférence sur Magento.

Magento, un framework de E-Commerce (Hubert Desmarest, Guillaume Babik & Roy Rubin !)

Un peu déçu de cette présentation mis à part l’intervention du fondateur Roy Rubin. Les interlocuteurs ont présentés les caractéristiques de Magento.

Magento est ainsi construit à l’aide du Zend Framework et sur le modèle EAV.

L’architecture de l’applicaition est modulaire et il est possible de surcharger les modules existants afin de les utiliser/modifier.

Petite présentation des avantages :

  • Modèle très souple,
  • Utilisation avec un large choix possible de types de catalogues produits,
  • Vente croisée, incitative.. génial pour les marketeux qui ont la main directement sur le backoffice.

Inconvénients :

  • Solution peu documentée,
  • Difficile à prendre en main (4 mois minimum pour un bon développeur),
  • Il faut un hébergement adapté à la solution. Le modèle EAV nécessite beaucoup de ressources pour l’accès en base.

Nous avons eu droit ensuite à la présentation d’un cas, celui de la start-up SmartBox. Il me semble que c’était la même présentation que pour le Bargento ? Puis à la présentation des projets futurs, notamment l’apparition d’application mobile, bref rien de nouveau à se mettre sous la dent ;)

Comprendre pour choisir son hébergement (Sébastien Lucas)

Petit tour ensuite dans cette conférence dont le but était d’aider à choisir un bon hébergement pour son application web. Rien de bien spécifique mis à part quelques conseils et une démarcation des offres d’infrastuctures (type Ovh) et des offres de Services (Type Alterway) ou les sociétés sont là pour amener un réel service à l’entreprise et la conseiller. Un petit chiffre marquant : un taux de disponibilité de 99% correspond à une indisponibilité des sites pendant 7h18 dans un mois. Soyez donc prudent et visez les 99,99% ;)

Optimisation des performances LAMP (Guillaume Plessis & Cyril Pierre de Geyer)

Conférence super intéressante sur les optimisations des solutions LAMP. En parallèle une présentation d’un site drupal hébergé sur Amazon pour l’occasion. Les intervenants ont ajoutés des optimisations et fait augmenter le nombre de requêtes possibles sur le site drupal.

Ainsi au premier test le nombre de requêtes par seconde sans optimisations était de 15 requêtes.

Après l’ajout de cache d’upcode avec des solutions comme APC, Xcache et Zend Optimizer le nombre de requêtes est passé à 45 (x3) !

Ensuite à l’aide des optimisations spécifiées par Yahoo (Compression Gzip, Expiration dans les en têtes, Etags, Server limit..) nous sommes arrivés à 55 requêtes.

Un tas de conseils a été donné durant cette conférence, en voici quelques uns :

  • Utiliser des profiler pour améliorer les performances des applications,
  • Utiliser des caches de code,
  • Desinstaller les modules apache et extensions linux qui ne sont pas utilisées,
  • Selon l’usage (serveur medias) utiliser des serveur comme nGinx,
  • Améliorer la BDD et utiliser un noyau Linux 2.6 en 64 bits pour allouer au mieux la mémoire de mysql (limiter sous les autres noyaux).

Introduction au monde No-SQL (Damien Tournoud)

Pour terminer je suis aller voir la conférence sur les technos dites « No-SQL ». Damien Tournoud nous a montré les avantages de Mongo DB. Base de données non relationnelle ou l’on stocke les objets directement (sans structure relationnelle).  Cet outil va être utilisé dans la nouvelle de version de Drupal qui devrait être sortie d’ici la fin de l’année.

D’autres outils on été présentés ; couchDb, pheantalk, Redis.. L’attention n’était plus trop présente ;)

Voilà pour cette première journée. Je pense avoir fait un résumé assez succinct montrant les principales idées dévoilées. Il est temps d’aller se coucher pour une présentation du framwork Symfony demain à 9h ;)

N’oubliez pas rendez vous sur notre twitter ;)