Open Source

Magento vs PrestaShop vs OsCommerce

2

Ces dernières années les solutions open-source dédiés au e-commerce se sont professionnalisées et ont beaucoup gagné en maturité. Le e-commerce est devenu un canal de distribution normal et efficace, les consommateurs ont pris confiance, et les prestataires web (agences web e-commerce) savent répondre précisément aux besoins des e-commerçants.
Pour autant, il n’y a pas pléthore d’applications open-source fiables et évolutives. Seules deux solutions se dégagent actuellement : Magento caractérisée par sa richesse fonctionnelle, mais aussi par sa complexité de mise en oeuvre, et Prestashop, d’origine française, qui tire son épingle du jeu grâce à sa plus grande simplicité. Nous avons choisi de vous présenter rapidement aussi OsCommerce, qui fait un peu figure de dinosaure, mais qui a encore une présence importante sur le marché des e-commerces existants.

Pour être complet à propos des solutions qui s’offrent au futur e-commerçant pour son projet de boutique en ligne , il convient de mentionner la possibilité de faire développer son site sur mesure, en spécifique. Cela ne veut pas forcément dire réinventer la roue, car on peut s’appuyer sur des frameworks de niveau industriels comme Zend Framework (base de Magento), ou Symfony (un framework très « agile », qui a largement fait ses preuves, en particulier dans des applications Yahoo!). Lorsque trop d’adaptations sont nécessaires pour utiliser des solutions standards, il est parfois préférable d’opter pour un développement spécifique qui permet d’obtenir une solution 100% personnalisée (à partir de briques open-source bien connues et éprouvées bien sûr).

Magento vs Prestashop

A tout seigneur tout honneur, nous commençons par le leader.

Ce projet publié en Mars 2008 à le vent en poupe ces derniers temps. Il permet la mise en place rapide d’une boutique en ligne avec des fonctionnalités poussées. A contrario,  plus les fonctionnalités sont poussées plus il est difficile de les adapter si vous désirez du spécifique.

Voici une liste non complète de ces possibilités :

  • Gestion de plusieurs sites et de plusieurs boutiques à partir d’une unique interface d’administration.
  • Support international (Gestion Multi-devise, multi-langue)
  • Gestion souple des taxes (TVA)
  • Gestion de différents types de produits (Produits téléchargeables, Produits configurables..)
  • Adapté à tous les moyens de paiement (Chèque, Mandat, Paypal, Google Checkout, Modules pour les banques françaises..)
  • Outils Marketing (Code de réduction, Livraison gratuite en option, vente croisée, vente incitative)
  • Optimisation pour les moteurs de recherche (Google Sitemap, réécriture des URLs..)
  • Statistiques (Module Google Analytics)
  • Les fonctionnalités sont encore très nombreuses, et la communauté ne cesse d’en développer de nouvelles.
  • Et puis dans les prochaines version, gestion d’une boutique pour Iphone avec l’application dédiée.

Site Officiel : http://www.magentocommerce.com/fr/
Démonstration (Anglais) :  http://demo.magentocommerce.com/
Un exemple parmi d’autres de Réalisation Applibox avec plusieurs développements spécifiques (interface d’import simplifiée, produits imprimables…) : http://www.geovie.eu

Prestashop vs Magento

En deuxième position, voici l’outsider.

La première version publique est apparue en aôut 2007. Cet outil est réputé être moins « lourd » que son concurrent Magento et plus facile à gérer peut être car il propose moins de fonctionnalités. C’est ce qui en fait son avantage dans des projets e-commerce simples. Il est aussi moins gourmand en ressources au niveau du serveur qui l’héberge.

Voici une liste non complète de ces possibilités :

  • Affichage des offres spéciales (bons de réduction, promotions) ou offre sur les frais de port
  • Mise en avant de produits sur la page d’accueil de type meilleures ventes, nouveautés…
  • Plusieurs moyens de paiement disponibles : carte bleu, paypal, virement bancaire, paiement à la livraison…
  • Un processus de commande qui prévoit la possibilité de générer des retours et avoirs, de demander un emballage cadeau pour une commande à offrir.
  • Gestion des devises et taxes par pays ou par zone et taux de change en temps réel
  • Transporteurs et destinations illimités, notification par e mail ou par sms des statuts de livraison
  • Importation de fichiers CSV, exportation des contacts newsletter
  • Statistiques

Site Officiel : http://www.prestashop.com
Démonstration : http://www.prestashop.com/fr/showcase_demo/

 

OsCommerce vs Magento vs Prestashop

Pour finir, voici l’ancêtre.

Apparu en mars 2000, ce logiciel offre une série de fonctionnalités de base qui répondent aux besoins principaux de la plupart des commerces en ligne. Le succès de OsCommerce assure la présence d’une importante communauté d’utilisateurs et de développeurs de plugins permettant une évolution constante de l’outil et l’ajout de nombreuses fonctionnalités dans le même esprit que Magento.

Son âge en fait un logiciel aux inconvénients que d’autres n’ont pas :

  • un code assez vieux et dispersé
  • un design en brut dans le code difficile à faire évoluer
  • des contributions qui remplacent certaines parties du code (donc à maintenir )

Voici une liste non complète de ces possibilités :

  • Contact avec les clients soit par mail soit newsletter
  • Statistiques par produits et clients
  • Administration multi langue
  • Supporte les multi devises
  • Affichage des critiques sur les produits
  • Accepte de nombreuses solutions de paiement hors ligne (chèque, contre remboursement ….)
  • Accepte de nombreuses solutions de paiement en ligne (2CheckOut, PayPal, Authorize.net, iPayment, ..)
  • Fonctionnement temps réel avec (UPS, USPS, FedEx, ..)
  • Implémentation de taxes flexible selon état, pays
  • Création de différentes taxes pour différents produits
  • taxe sur les frais d’expédition ou par type d’expédition

Site Officiel (Anglais) : http://www.oscommerce.com
Démonstration (Anglais) : http://www.oscommerce.com/shops/demonstration

 

Pour clôturer : le choix d’une solution plutôt qu’une autre dépend vraiment des besoins de l’utilisateur. Il faut réfléchir à tout ce que l’on veux et l’on va vouloir faire dans sa boutique en ligne. N’hésitez pas à nous consulter, nous serons là pour vous guider.

Quelques réalisations à retrouver sur AppliBox.com

  • Ami2CV – vendeur de pièces détachées pour 2CV et Méhari ( Magento depuis 2010 )
  • Geovie / Egcomm – distributeurs de solutions électroniques ( Magento depuis 2009 )
  • Leduc Pesage – installation et maintenance de tous produits de pesage ( Magento depuis 2009 )
  • Sans faute – accessoires pour équitation ( Prestashop 2012 )

 

 

Google Shopping et Magento

Google (Shopping) Merchant Center et Magento v1.5

2

Si vous avez mis votre e-commerce en ligne, vous souhaitez peut-être exporter vos produits sur des comparateurs en ligne comme Google Shopping ? Ceci permet de donner un coup de pouce à votre référencement car toutes les caractéristiques de votre produit sont envoyés au moteur de recherche. Voici les manipulations nécessaires à l’export vers Google Shopping.

Suite à cet article prévu pour les versions précédentes de Magento, voici les manipulations pour la version 1.5  et + (testé aussi sous 1.7 )

 

L’extension a été mise à jour et fonctionne plus simplement ! Vous pourrez la trouver de base avec la Magento 1.5 +. Que vous reste-t-il à faire ?

  1. Configurer votre administration
  2. Mapper les attributs
  3. Etre Whitelisté par Google
  4. Configurer vos frais de livraison

Configurer votre administration pour Google Shopping

 

Afin de configurer votre extension, rendez vous dans votre administration > Configuration > Api Google > onglet Google Shopping puis munissez vous de ces informations :

  • Identifiant de compte (présent dans votre page Google Merchant Center en haut à gauche)
  • Identifiant et mot de passe de votre compte Google Merchant Center
  • Type de compte, choisissez Google
  • Le pays, donc France dans notre cas
  • Mise à jour Google quand le produit est modifié : oui 
  • Débug : oui. Vous aurez accès aux logs dans var/log/googleshopping.log sur votre FTP
Vous pouvez laisser par défaut sur l’ensemble des liste déroulantes présentes en dessous de ces champs.

Mapper les attributs pour Google Shopping

Dans la version Magento 1.5, il n’y a que deux attributs obligatoires à mapper ( les autres le sont par défaut). Il s’agit de la description du produit (item) et le Title soit le nom du produit.

Néanmoins, si vous aller configurer vos frais de livraison en fonction du poids des produits, il sera nécessaire de transmettre aussi cette information. Le champ est Shipping Weight ;)

WhileLister votre site

Afin que Google autorise les intéractions entre votre Magento et leurs serveurs, il est nécessaire de remplir ce formulaire : http://support.google.com/merchants/bin/request.py?contact_type=content_api
Donnez l’url et l’identifiant Merchant center. Nous avons reçu notre réponse sous trois jours.

Configurer vos frais de livraison

Il est maintenant requis d’indiquer comment vos livraisons sont effectuées. Soit vous transmettez à Google cette information, soit vous allez dans votre compte Merchant Center et vous indiquez vos grilles de tarifications. Si jamais vous oubliez cette étape, le log Google Shopping vous le rappelera :)

 

En cas de problème de validation de vos produits, voici le formulaire Google approprié : http://support.google.com/merchants/bin/request.py?hl=en-GB&contact_type=item_noshow

Bonne configuration de votre e-commerce !

AppliBoxement,


Import Magento en arrière plan

1

Parfois Magento peut être lent à s’éxécuter. C’est d’ailleurs le cas sur les profils avancés d’import , export…

Pour palier à cet obstacle voilà un petit script, pouvant être lancé sans être connecté pour lancer l’import/export indépendamment de l’application. Attention à la sécurité tout de même…

Pour lancer ce script :

http://monsite.fr/monscript.php/?file=NomDuFichier.csv

Vous devez avoir au préalable placer votre fichier d’import dans /var/import/ ou un chemin particulier en fonction de votre profil

require_once 'app/Mage.php';
umask(0);
Mage::app();
$profileId = 17; //Insérer ici le profil d'import /export ( Système > Importer/Exporter > Colonne Id )
$filename = Mage::app()->getRequest()->getParam('files'); // set the filename that is to be imported - file needs to be present in var/import directory
if (!isset($filename))  {
die("No file has been set!");
}
$logFileName= $filename.'.log';
$recordCount = 0;
Mage::log("Import Started",null,$logFileName);
$profile = Mage::getModel('dataflow/profile');
$userModel = Mage::getModel('admin/user');
$userModel->setUserId(0);
Mage::getSingleton('admin/session')->setUser($userModel);
if ($profileId) {
$profile->load($profileId);
if (!$profile->getId()) {
Mage::getSingleton('adminhtml/session')->addError('The profile you are trying to save no longer exists');
}
}
Mage::register('current_convert_profile', $profile);
$profile->run();
$batchModel = Mage::getSingleton('dataflow/batch');
if ($batchModel->getId()) {
if ($batchModel->getAdapter()) {
$batchId = $batchModel->getId();
$batchImportModel = $batchModel->getBatchImportModel();
$importIds = $batchImportModel->getIdCollection();
$batchModel = Mage::getModel('dataflow/batch')->load($batchId);
$adapter = Mage::getModel($batchModel->getAdapter());
foreach ($importIds as $importId) {
$recordCount++;
try{
$batchImportModel->load($importId);
if (!$batchImportModel->getId()) {
$errors[] = Mage::helper('dataflow')->__('Skip undefined row');
continue;
}
$importData = $batchImportModel->getBatchData();
try {
$adapter->saveRow($importData);
} catch (Exception $e) {
Mage::log($e->getMessage(),null,$logFileName);
continue;
}
if ($recordCount%20 == 0) {
Mage::log($recordCount . ' - Completed!!',null,$logFileName);
}
} catch(Exception $ex) {
Mage::log('Record# ' . $recordCount . ' - SKU = ' . $importData['sku']. ' - Error - ' . $ex->getMessage(),null,$logFileName);
}
}
foreach ($profile->getExceptions() as $e) {
Mage::log($e->getMessage(),null,$logFileName);
}
}
}

Voilà pour votre prochain import ;) Enjoy !

Liens en rapport avec Magento

http://www.creation-site-lyon.com/tag/magento/

Besoin d’un site magento ?

http://www.applibox.com

Forum Php 2010 2ème journée

3

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

1

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 ;)

Les utilitaires système Open Source indispensables

0

Un petit problème sur votre ordinateur, vous aimez les lignes de commandes :)  ?  vous ne savez pas comment le résoudre ? Voici une liste d’utilitaires open source qui peuvent s’avérer utiles :

  • System Rescue CD
    The Best ! Regroupe beaucoup de programmes vous permettant de restaurer votre système, Gparted, Ntfs3g, MemTest, Rsync..
    Vous trouverez aussi des programme vous permettant de réparer disque dur, ram, bios.. classé par marques de matériel.
    Site :  http://www.sysresccd.org
  • Ultimate Boot CD
    Dans le même esprit que System Rescue CD mais seulement orienté pour la réparation des éléments de votre ordinateur.
    Site : http://www.ultimatebootcd.com
  • Rescatux / SuperGrub2 Disk / Super Grub Disk
    Vous avez installé Linux sur votre ordinateur et vous n’arrivez plus à redémarrer sur votre partition Windows. Ce site propose 3 logiciels vous proposant de récréer votre grub* ou de le simuler au démarrage de votre ordinateur.
    Site : http://www.supergrubdisk.org
  • Les Cd Live des distributions Linux
    Quoi de mieux qu’un Cd Linux pour réparer votre installation !
    Site : Distribution Ubuntu :  http://www.ubuntu-fr.org

Bonne réparation :)

*Grub : GRUB est un programme informatique permettant de charger un système d’exploitation (de type Windows ou Linux par exemple).

Haut de page