Installer / Désinstaller les prochaines versions de Firefox sur Ubuntu

Installer une version future de FirefoxAujourd’hui, après une bonne heure perdue à essayer de réinstaller mon Firefox 5.0 correctement, j’ai décidé d’écrire un petit billet sur comment installer /désinstaller les prochaines versions de Firefox sur Ubuntu / Kubuntu.

Tout d’abord, pour les impatients comme moi, voyons comment installer les versions futures de Firefox (version béta) :

Vous pouvez, à l’heure où j’écris ce billet, installer jusqu’à la version 8 de Firefox.

Petite mise en garde avant de commencer, en utilisant la procédure d’installation suivante, dès qu’une nouvelle version de Firefox sortira, une mise à jour de votre système vous l’installera automatiquement :). Attention donc car vous risquez de vous trouver avec des extensions non compatibles avec cette toute nouvelle version (exemple Firebug 1.7.3 non compatible avec Firefox 6) et si vous faites du développement web, ça risque de bien vous géner ! Heureusement, un peu plus bas dans ce billet j’explique comment revenir à une version antérieure de Firefox.

Vous voilà donc avec votre tout nouveau Firefox 5 qui roxe sur votre Ubuntu mais vous voulez savoir à quoi ressemblera la version 6 ? Tapez ceci dans votre terminal :

1
sudo add-apt-repository ppa:mozillateam/firefox-next
2
sudo apt-get update
3
sudo apt-get install firefox

Et voila, vous venez d’installer une nouvelle source de ppa (repository) qui contiendra toujours la future version de Firefox. Et vous diposez maintenant de la version 6 de votre navigateur favori.

Bon, vous avez fait joujou avec cette nouvelle version mais vous voulez revenir à l’ancienne sans perdre vos données ?

Au lieu de supprimer le paquet et l’archive et ensuite re-installer, je vous propose d’installer un paquet d’une efficacité redoutable : ppa-purge disponible ici : ppa-purge (ppa-purge-0.2.7).

En effet, ce paquet va se charger non seulement de supprimer le depôt mozilla installé mais il va également supprimer tous les paquets installés par ce biais pour ensuite vous reinstaller les anciennes versions de vos logiciels.

Après avoir téléchargé votre paquet .deb puis l’avoir installé, tapez ceci dans votre terminal :

1
sudo ppa-purge ppa:mozillateam/firefox-next

Une validation de votre part plus tard et vous voilà en possesion de votre ancienne version de Firefox 5 !

Simple et rapide …

A la recherche de la doc Smarty V3 …

Moteur de template php SmartyCa fait un moment que je n’avais pas écrit et j’en profite pour pousser un petit coup de gueule dans ce billet, ça change un peu :) !

Cela fait maintenant plusieurs mois que je travaille avec Smarty et notamment la toute nouvelle version 3 du moteur de template Smarty.

Ce moteur de templating est un des plus utilisés dans le monde Php car il a été repris de nombreuses fois par des projets plus ou moins importants.

Un de ceux-ci est le logiciel e-commerce Prestashop. En effet celui-ci utilise le moteur de template Smarty V2 depuis ses toutes premières versions et ce n’est que très récemment qu’il est venu à utiliser la version 3.

Cependant en tant que développeur Prestashop cela me pose un léger problème car autant la doc de la version 2 est bien faite et peut être trouvée facilement sur le site de Smarty, autant celle de la version 3 est indigne d’un projet de cette ampleur !!!

Alors quand il s’agit de rester dans le classique, la documentation v2 va très bien et l’on peut par exemple développer des templates Presta sans problème, mais lorsque l’on doit tirer le meilleur du language et se servir des nouvelles fonctionnalités apportées par la version 3 (héritage de template par exemple) et bien on se débrouille ! C’est la croix et la bannière pour pouvoir trouver une info potable …

Pour peu que l’on ne parle pas la langue de Shakespeare (ce qui n’est pas mon cas bien sur), on se retrouve avec des pauvres exemples trouvés sur google et tirés de « Comment ça marche » ou du « site du zéro » (sans dénigrer ces sites) … Pas un tutoriel sur Smarty version 3, pas un bon article … niet

Alors si vous connaissez de bonnes ressources pour Smarty v3, je suis preneur parce que je développe également d’autres applications qui utilisent cette version 3 !!!

Je ne comprends pas comment un projet d’une telle ampleur peut avoir une doc d’une aussi mauvaise qualité … (sans parler du design du site)

C’est sûr, une fois finis les projets en cours utilisant Smarty, je me mets à Twig (et à Symfony 2 par la même occasion)

Prestashop: comment surcharger le coeur

Logo PrestashopComme je le disai dans un précédent billet, depuis que Prestashop est sorti en version 1.4, la surcharge du coeur est désormais possible. Controllers et classes peuvent être réécrites sans avoir à hacker le coeur du logiciel !

C’est pour moi une des meilleures fonctionnalités techniques apportées par cette nouvelle version. En effet, vous allez pouvoir changer le comportement des fonctions du coeur de Prestashop et sans avoir à les réécrire à chaque changement de version de presta. C’était clairement une fonctonnalité manquante de Prestashop comparé à son principal concurrent qu’est Magento. Quand il s’agit de coder « proprement », la surcharge de classe est vraiment une bonne méthode.

Maintenant venons en au plus important, comment cela fonctionne-t’il dans prestashop 1.4 et comment le mettre en oeuvre ? Prenons un exemple concret et simple : rajouter un hook sur la page d’accueil (il n’y a que le HOOK_HOME de disponible dans le template de base) pour venir afficher des infos avec votre module.

La surcharge va venir s’opérer en créant un fichier IndexController.php dans override/controllers. Lorsque prestashop viendra charger le controller IndexController, il passera d’abord dans ce répertoire pour voir s’il n’existe pas déjà et le chargera le cas échéant. Voici le contenu de ce fichier :

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
 
class IndexController extends IndexControllerCore
{
    public function process()
    {
    parent::process();
 
    $this->smarty->assign('HOOK_HOME_SUPP', Module::hookExec('home'));
    }
}
 
?>

Ici il n’y a que la méthode process() qui nous intéresse mais on pourrait très bien refaire les méthodes de la classe dans leur intégralité.

On vient donc déclarer un nouveau hook HOOK_HOME_SUPP sur lequel nous pouvons maintenant venir nous accrocher depuis un module quelconque.

Il faut bien évidemment que votre module s’accroche sur le hook « home » pour que cela fonctionne.

Et voilà, votre surcharge de controller est faite ! Un seul fichier à créer et à positionner dans le bon répertoire (override/controllers) et le tour est joué !

La surcharge de classes fonctionne de la même manière en changeant le répertoire dans lequel vous mettez votre fichier : override/classes.

Techniquement, la surcharge s’effectue selon les étapes suivantes (tout se passe dans les fichier autoload.php et ControllerFactory.php):

  • Prestashop charge tout d’abord le fichier correspondant au controller que l’on souhaite  redéfinir (celui du coeur). Celui-ci se nome « nomDuControllerCore » donc ici : IndexControllerCore.php.
  • Puis il charge votre fichier de surcharge IndexController.php
  • enfin il fait un eval php de : « class IndexController extends indexControllerCore » ce qui a pour conséquence de surcharger la classe Core de base !

Une surcharge simple mais efficace !

Debug Smarty avec Firebug pour Prestashop 1.4

Logo PrestashopLe module de debug Firebug pour Smarty existe déjà depuis plus d’un an mais la sortie de prestashop 1.4 et l’utilisation du moteur de templates Smarty en version 3 a poussé le créateur du module a sortir une nouvelle version compatible.

Pour rappel, ce module sert à activer le debug de templates Smarty sous Prestashop et de voir dans sa console Firebug de Firefox le contenu des variables Smarty chargées.

Très utile à tout développeur prestashop (et tous les développeurs en général), le debug Smarty pouvait déjà être activé mais il se lancait dans une fenetre du navigateur différente. Avec ce module, vous avez votre debug directement dans votre fenêtre Firebug, en dessous de votre boutique Prestashop !

Attention cependant car une fois activé, le debug est accessible par tous les utilisateurs disposant de Firebug ! A n’utiliser que sur un environnement de dev donc !

Pour utiliser le module, rien de plus simple :

  • télécharger Firebug pour Firefox
  • activer Firebug sur la page que vous souhaitez débugger
  • dans les paramètres du module, activez la fonction debug
  • dans la console Firebug tapez : Smarty_debug(true) après chaque chargement de page pour avoir le debug directement dans la console
  • c’est terminé ! Vous pouvez maintenant débugger votre boutique prestashop et comprendre d’où venait votre problème !

Voilà, rien de plus simple ! Un Must Have pour qui veut développer sous Prestashop.

Le plus important, pour le télécharger c’est par ici : Module de debug Smarty Prestashop pour Firebug

 

SEO Camp Bordeaux du 30 mars 2011

Pour la première fois ce mercredi soir (30 mars 2011), j’ai pu me rendre au SEO camp organisé sur Bordeaux. L’évènement était organisé au Bar Le Connemara, juste à côté de la place Gambetta.

Alors pour ceux qui ne connaîtraient pas, il s’agit en fait d’un apéro organisé par l’association SEO Camp afin de faire se rencontrer les acteurs locaux du référencement (Bordeaux et le grand sud-ouest) et de prendre le temps de discuter de l’actualité du SEO dans notre région.

Que du beau monde donc et de nombreux sujets de discussion autour du SEO et d’une (ou plusieurs) bonne(s) bière(s).
A noter, une présence en force de Wineandco, acteur majeur de la vente de vins sur Internet, avec pas moins de 4 personnes venues discuter référencement sur à peu près une trentaine de participants!

Globalement, la soirée s’est très bien déroulée et je suis ressorti de la ravi ! Ca sera une expérience à renouveller !

Référencer un site multilingue / multipays : les conseils de Google

Logo googleLorsque l’on souhaite référencer un site web dans plusieurs languages ou plusieurs pays, on se pose souvent la question suivante: est ce que je dois utiliser le même nom de domaine ou bien dois-je utiliser un nom de domaine spécifique par langue /pays ?

Et bien voici une réponse de Matt Cutts, le célèbre ingénieur de chez Google, publié sur la chaine Youtube de GoogleWebmasterTools il y a seulement quelques jours :

Alors, pour les non anglophones, il explique que la solution la plus logique (privilégiée par Google) et donc certainement meilleure pour votre référencement est d’utiliser un nom de domaine et une extension spécifique au pays / langue dans lequel vous voulez vous implanter.

Il vaut donc mieux avoir un NDD www.mondomaine.fr et www.mydomain.co.uk si vous voulez lancer votre site en France et en Angleterre par exemple.

Malheureusement, l’achat des noms de domaine étant soumis à la loi du « premier arrivé premier servi », on ne peut pas toujours avoir les extensions / noms de domaine spécifiques à chaque pays que l’on désire. Il existe alors une autre solution qui consiste à utiliser un sous nom de domaine par pays / langue.
Si l’on prend le même exemple, cela donnerait uk.mondomaine.com ou fr.mondomaine.com.

Il va de soit qu’il est quand même possible de faire référencer son site multilingue par Google si on ne respecte aucune de ces 2 solutions. Cependant il sera forcément plus dur pour Google de bien vous indexer, et donc pour les internautes de vous trouver …

Autre point important abordé dans cette vidéo, Matt déconseille d’utiliser la traduction automatique pour lancer votre site traduit car le contenu est forcément moins bon qu’un contenu réellement rédigé dans la langue par un rédacteur humain, donc moins bien référencé et moins adapté à vos visiteurs (il ne faut pas perdre de vue que c’est l’internaute que l’on cherche à faire venir, pas le moteur)

Et bien, avant d’avoir vu cette vidéo, j’avais déjà eu l’occasion de me poser cette question sur mon site de locations sur la côte atlantique (NDD www.atlantique-location.com). La solution que j’ai retenu est bien celle que préconise Google : c’est à dire déposer les 2 noms de domaine suivants : www.atlantic-coast-rentals.co.uk pour les internautes anglais et www.alquiler-costa-atlantica.es pour les espagnols.
Les internautes anglais cherchant une location sur la côte atlantique peuvent donc trouver le site en tapant atlantic coast rentals et de même les espagnols avec l’expression alquiler costa atlantica.

Les sites sont récents mais les premiers visiteurs commencent à arriver (meme par les versions de Google localisées), preuve que le référencement a commencé.

Le premier site de vente de vins sous Magento

Logo MagentoA ma connaissance, il n’existait jusqu’à présent aucun site de vente de vins développé sur Magento.

Et bien c’est désormais chose faite avec le nouveau site de Millésima (www.millesima.fr).

Faisant la part belle aux grands crus de Bordeaux et à ses vins en primeur, le nouveau site du négociant Bordelais dispose d’un design soigné, sobre et élégant et sa navigation est assez intuitive.

Parmi les fonctionnalités apportées par Magento (le site était précédemment développé en ASP.Net), on peut noter:

  • une gestion des urls réécrites pour chaque page: catégories, fiches produits, filtres etc … Un gros travail a été fait pour éliminer les différents paramètres apparaissant dans les urls par défaut de Magento.
  • un nuage de tags s’adaptant à chaque catégorie: si vous naviguez à travers le site, vous verrez que le nuage de tags n’est pas le même selon les pages consultées car il se met à jour en fonction des recherches des internautes. Un bon point pour diversifier le contenu des pages.
  • une fonction de comparaison des produits : même si l’idée est bonne, je pense que son application pourrait être mieux gérée car les données comparées sont pour le moment assez limitées. En comparant 2 vins de millésime différents par exemple, on se retrouve avec quasiment les mêmes données si ce n’est le prix.
  • une page de commande de type « One page Checkout »: comme je l’indiquai dans mon précédent billet sur la version 1.4 de prestashop intégrant cette fonctionnalité, ce process de commande est de plus en plus à la mode (cela a démarré aux US). Embarqué dans Magento depuis un moment déjà, cette nouveauté permet de valider une commande en quelques clics seulement. Et si vous avez déjà passé commande sur le site, c’est en 3 ou 4 clics que vous finalisez votre commande. Cette évolution sera très certainement un plus pour l’amélioration du taux de conversion du site.
  • une gestion de promotions avancées: 1+1 = 3, panachage de caisse bois, promotion sur la quantité de bouteilles achetées, prix dégressifs etc … Magento permet de gérer les promotions de manière très poussée et Millesima s’en sert parfaitement.
  • un panier tout en Ajax: le panier, qui se trouve dans la colonne de droite du site, se met à jour sans rechargement de page, une popup apparaît indiquant la mise au panier du produit et elle disparaît automatiquement après quelques secondes sans action de la part de l’utilisateur. L’ajout panier me paraît assez intuitive et la navigation est fluide.

La page d'accueil du nouveau site de Millesima

Globalement, je dirai que l’expérience de navigation est bien meilleure qu’avec l’ancien site et que l’apport d’un logiciel e-commerce professionnel comme Magento se fait sentir. Nous sommes en face d’un site bien fini, même s’il reste bien sur des améliorations à mettre en oeuvre, et qui donne envie de rechercher son vin (si vous avez le budget bien sur vu le prix moyen des bouteilles proposé :) ).

C’est une belle réalisation Magento dans le domaine de la vente de vins sur Internet.

La Google Car est sur Bordeaux !

Logo Google Maps / Street ViewC’est en empruntant la rocade bordelaise ce midi que j’ai pu apercevoir la célèbre Google Car.

Celle-ci permet à Google de photographier à 360 degrès les rues des plus grandes villes de France (et leurs agglomérations) afin de venir alimenter la solution Google Street View qui apparaît sur le site Google Maps lorsque l’on zoome au maximum sur une zone parcourue par cette fameuse Google Car.

Elle roulait dans le sens intérieur et se trouvait entre les sorties 19 et 18 de la rocade de Bordeaux. Elle est sortie à la sortie 18 en direction de l’Hôpital d’instruction des armées Robert Picqué sur la route de Toulouse.

Voici le cliché que j’ai pu en faire avec mon IPhone :

A son bord, 2 personnes, le conducteur et sa passagère(une jeune femme).

En la doublant, j’ai pu m’apercevoir que la Google Car est parsemée d’autocollants aux noms des villes dans lesquelles elle est passée : Paris, Lisbone, Madrid, Barcelone etc … et elle ne passe pas inaperçue !

Maintenant reste à savoir quand ces nouveaux clichés apparaîtront sur Google Street View ?

Adsense: amélioration des temps de chargement des annonces sur vos pages de contenu

Logo Google AdsenseVoici une bonne nouvelle que je viens de découvrir en lisant le blog officiel adsense : Les temps de chargement des annonces Adsense viennent d’être améliorés et donc vos pages vont s’afficher plus rapidement, ce qui ravira vos internautes impatients !

En effet, comme vous le savez certainement, les annonces adSense ont une incidence sur le temps de chargement des pages web comme le prouve l’étude réalisée l’année dernière:

« L’année dernière, nous avons effectué des tests qui ont révélé qu’AdSense allongeait en moyenne de 12 % le temps de chargement des différentes pages des sites Web les plus populaires »

Cette lenteur d’affichage des annonces peut nuire à la bonne navigation des internautes sur vos pages, surtout pour les sites où les annonces publicitaires occupent une bonne place.

Comme le montrent divers outils qui permettent d’évaluer la rapidité de votre site web (YSlow, Google Page Speed, etc …), la multiplication des scripts externes dans vos pages n’est pas le meilleur moyen pour obtenir un bon score de rapidité car cela augmente le nombre de connexions que doit faire votre navigateur pour afficher la page.

Maintenant, si cette amélioration nous permet d’afficher toujours autant d’annonces publicitaires dans nos pages, sans pour autant gacher l’expérience de navigation des internautes, et ce, sans aucun développement de notre part, je dis merci Google !

OVH: on vous héberge … presque …

Logo OVHEtant hébergé chez OVH depuis maintenant quelques années sur un hébergement de type pro pour tous mes projets (j’ai d’bord commencé sur un 90plan), j’ai toujours trouvé leur rapport qualité / prix imbattable. En effet pour 5€ / mois (ou presque), vous avez tout ce qu’il vous faut pour pouvoir lancer vos projets de sites web sereinement, que ce soit des sites e-commerce (type prestashop), des blogs ou bien encore des sites de contenu.

Cet hébergement convient tout à fait pour la gestion de plusieurs dizaines de sites avec un traffic plus ou moins varié (grace à l’option multidomaine) et j’ai rarement rencontré des problèmes de disponibilité. La plateforme est fiable, même pour du mutualisé.

Cet hébergeur français est l’un des meilleurs sur leur offre de mutualisé et leur nombre croissant de nouveaux clients ne trompe pas. C’est l’hébergeur numéro un en France.

Malgré ce joli tableau, il n’y a pas que des bon points et il existe des points noirs … j’en ai fait l’expérience pas plus tard que ce week end…

Le principe d’un hébergement mutualisé est de partager les ressources d’un serveur entre plusieurs clients, chacun ayant une quantité de mémoire maximum allouée, un espace disque dédié et un peu de puissance CPU partagée.

Jusque la tout va bien tant que tout le monde respecte cela. Les problèmes arrivent dès que quelqu’un utilise par exemple un peu trop de mémoire … et c’est ce qu’un de mes sites à fait:

vendredi 22/02 vers 18h, une mise à jour sur un de ceux-ci met à mal la mémoire qui métait allouée (sans que j’en rende compte) … soudain, plus aucun de mes sites ne fonctionne ! Pensant à un problème machine sur le serveur mutualisé sur lequel je suis hébergé, je ne m’inquiète pas trop sur le moment.

Passé une heure de temps sans aucune amélioration, et ayant vérifié sur http://travaux.ovh.com qu’il n’y avait pas de problème particulier (au passage site très utile), je me connecte alors sur mon manager pour consulter l’interface de statistiques qui permet de vérifier l’état des alertes mémoires. Et là surprise … presque 120 alertes mémoire !!!

A peine le temps de télécharger toutes les sources de mes projets et de vérifier ce qu’il se passait, que je recevais un mail de la part d’OVH m’indiquant que mon hébergement passait dans l’état inactif ! Quoi ?? ? J’hallucine ou ils viennent de me couper l’intégralité de mes sites sans que je sois prévenu de quoi que ce soit ?

Et bien oui, je ne rêvais pas … sans aucun mail d’alerte, le service technique d’OVH me coupe mon accès, arrête net le traffic de mes différents sites sans scrupules un vendredi soir vers 19h30 alors que leur service de Hotline ferme à 20H, sans possibilité de les contacter jusqu’au lendemain 9H … ça c’est du service rendu au client !!!

Merci OVH !

C’est comment déjà leur slogan ? On Vous Héberge ?

ouais … bof !

Allez, ça va pour cette fois, mais plus de faux plans de ce style parce que les nouvelles dedibox me tentent bien !