20/01/2005

Linux ET Windows

Merci à lespacemultimedia.blogspirit.com pour le lien vers cet article du site lenteprise.com.
On y découvre les idées reçues sur la dualité logiciel libre / logiciel payant, Linux / Windows et de quoi se forger une opinion. Saviez-vous que le coût des licenses ne représente qu'environ 5% du coût global d'un poste bureautique ?

Pour ma part je pense que si l'environnement Linux se montre bien supérieur sur le plan de la fiabilité, il reste encore beaucoup d'efforts à fournir quand à la convivialité et l'ergonomie des apllications bureautiques voir "grand public". Mais quelque chose me dit que l'on va bientôt tous passer au libre...

22/12/2004

Les template : des solutions qui vous veulent du bien.

Qu'est ce qu 'un moteur de template ? Quel est l'intérêt ?

Le traitement des données via un langage de programmation peut se faire indépendamment de l’intégration HTML grâce à des outils nommés ‘parser’ (analyseur en français). Les données sont envoyées à un ‘template’ ou ‘gabarit’ HTML qui est lu par le parser. L’affichage d’une page est donc rendu dynamique puisqu’il dépend directement des données traitées.
Ce genre de systèmes peremettent aux designers d'éditer des pages webs dynamiques sans pour autant toucher au langage logique d'un projet. Seules les compétences (X)HTML et CSS sont nécessaires, le template rend des langages comme PHP ou Perl "transparents" : le code est accéssible à l'intégrateur HTML.

Quels sont les différents moteurs sous PHP ?

Il existe actuellement plusieurs solutions open-source, en voici quelques-unes :

FastTemplate
A l’origine conçue pour le développement en Perl, elle a été adaptée depuis pour PHP.
Ses fonctionnalités sont :
- Chargement des templates,
- Assignation des valeurs pour les variables correspondantes,
- Remplacement des variables par la valeur,
- Affichage de la page.
Il s’agit d’une solution basique très facile d’accès mais donnant toutefois des résultats inférieurs aux résultats des dernières solutions. Une étude menée par Globalis Media Systems, une entreprise experte en technologies du Web a montré que FastTemplate ne tirait que 40% des performances de PHP.
thewebmasters.net

PHPLib
Il s’agit d’une solution dont le principe est le même que FastTemplate. Elle s’utilise d’ailleurs de la même façon, un paramètre à prendre en compte dans la migration. Issu directement de la communauté PHP, cette solution offre de biens meilleurs résultats (80 à 90%) selon la même étude. Cependant le nombre de mises à jour étant assez faible, l’activité du projet semble limitée par rapport aux autres solutions.
Le projet sur sourceforge.net

VTemplate
Il s’agit d’une solution similaire à PHPLib ou FastTemplate bien que l’utilisation soit plus orientée ‘procédurale’ et donc plus logique. Si le projet est encore jeune, il me semble utile de l’étudier puisqu’il a été développé par une équipe française rendant la communication avec les concepteurs plus facile en cas de problème. Au niveau des performances de la solution, elle se situe légèrement en dessous de PHPLib (70%), cependant les dernières versions de VTemplate intègrent un système de cache réduisant les temps d’accès.
Virtual Template

Smarty
Smarty est issu directement de la communauté PHP et connaît des mises à jour très régulières ainsi qu’une communauté très importante ce qui en fait un projet actif.
Cette solution se distingue par sa complexité et donc ses fonctionnalités mais aussi ses exigences. En effet, son atout principal réside dans la compilation de fichier : le template ‘html’ n’est lu qu’à la première visite de la page, il est ensuite compilé en fichier PHP et donc interprété beaucoup plus rapidement par le serveur. Ce système est donc très utile dans le cadre d’un site comportant peu de mises à jour ou beaucoup d’archivages de page HTML.
Notons également que Smarty comprend un système de cache rendant encore plus rapide l’accès aux pages web.
Néanmoins son utilisation requiert l’apprentissage d’un pseudo-langage tiré de PHP qui servira notamment à modifier des variables à l’affichage de la page. (Exemple : afficher une date sous un certain format). Ce paramètre est à prendre en compte dans l’avancement du projet car s’il peut faire gagner du temps à l’internaute -Smarty peut améliorer les performances de PHP à hauteur de 110%, il nécessite une période d’apprentissage de la part du développeur.
Le Smarty officiel

ModeliXe
ModeliXe est également développé par une équipe française, son utilisation est assez originale par rapport aux autres solutions puisqu’elle utilise le balisage XHTML, un langage plus naturel par rapport à celui de Smarty. Certaines fonctionnalités s’avèrent être très intéressantes et ses performances sont très bonnes (95%). Notons que le projet Modelixe a été repris ce mois d’août par Remy TRICHARD.
Modelixe

Laquelle utiliser ?

Voici les quelques solutions que j'ai pu étudier, il en existe beaucoup d'autres qui ont chacune leurs avantages et inconvénients. Sachez qu'une solution de template se choisit d'abord en fonction de ses besoins, un petit projet ne néssitera surement pas une machine à gaz pour gérer la présentation. En revanche un projet lourd en interfaces et amené à évoluer très rapidement peut nécessiter une structure plus élaborée comme Smarty. Certaines grosses entreprises ou projets ont même leurs propres moteurs de template qui peut ainsi répondre parfaitement aux besoins et problématiques de l'activité de la plateforme en question.
Cependant le cout des moteurs de templates (charge serveur, contraintes, apprentissage, veille) n'etant pas nul, l'usage de moteurs de template ne doit pas etre systematique. Il s'agit d'une décision intervenant dans la structure même d'un projet mais également chez les différents acteurs !
Mon avis est : à chaque problème, sa solution. Les différentes possibilités offertes s'adressent toutes à des contraintes différentes, a vous de choisir celle qui est optimale.



Quelques sources :

Les templates sur wikipedia : l'ABC du template.
L'étude de Globalis Media System : notons que les chiffres anoncés sont à prendre avec des pincettes, le benchmark ayant été réalisé en 2002.
Section Templates sur PHP Index.
Un comparatif.

06/12/2004

Un outil de stats : StatCounter

http://www.statcounter.com

J'ai découvert cet outil récemment et je dois dire qu'il est vraiment impressionant. Il s'agit d'un service gratuit (totalement invisible sur son site ou son blog) offrant un grand nombre de fonctionnalités comme :
- statistiques en temps réel
- gestion de plusieurs sites/blogs par compte
- administration d'utilisateurs et de droit sur son propre compte et ses différents projets (interessant dans l'optique d'un projet client)
- programmer et configurer des rapports par email
- et une gamme de statistiques (chiffres et graphiques) très complètes.

Par rapport à SiteMeter que j'utilisais avant, StatCounter offre un plus grand périmètre de fonctionnalité et peut être configuré comme étant totalement invisible. De plus les graphs de SiteMeter sont parfois illisibles et il devient difficile de connaître précisément son nombre de visiteurs ! Un comble pour un outil de stats...
Au niveau de l'ergonomie de la partie administration, StatCounter est en peu en dessous, d'abord parcequ'il est plus lourd en terme de fonctionnalités mais aussi parcequ'il contient beaucoup, beaucoup de texte et explications sur chaque interface.
Enfin pour ce qui est de l'utilisation professionnelle, le service peut s'avérer un peu juste car l'outil ne permet pas de conserver plus de 9000 connexions / jour.

A part ces quelques détails, StatCounter est vraiment l'outil gratuit idéal pour "comprendre" ses visiteurs. Par rapport à l'usage qu'on peut en faire sur son blog Haut Et Fort ou Blogspirit (ou d'autres plateformes), l'onglet de stats de l'administration de son blog reste quand même indispensable car :
- le système récupère TOUS les accès au site, les fichiers ATOM ou RSS ne sont pas lus par des systèmes comme
SiteMeter ou StatCouter car ils ne sont visibles qu'au niveau du fichier de logs du serveur.
- si un site externe utilise la bande passante de votre site pour afficher une image ou un élément multimédia (video, flash, etc...), seul le fichier de log du serveur peut le rapporter.

Néanmoins ces outils de stats en temps réel sont un réel complément aux stats reportés jour par jour par l'hébergeur de votre blog et StatCounter est à mon avis l'outil le plus complet disponible gratuitement.

21/11/2004

L'API Amazon, un web-service efficace

Mettre en relation son site web avec la base de données Amazon, c'est possible grâce à l'API Amazon.

Ce webservice permet notemment de :
- rechercher un produit Amazon (CD, livre, DVD, Jeu vidéo etc...).
- accéder aux caractéristiques du produit (auteur, année, réalisateur...).
- accéder aux caractéristiques Amazon comme le prix ou la promotion.
- utiliser la bande passante Amazon pour afficher la couverture du produit.
- gérer certaines fonctionnalités comme le panier Amazon
- afficher un lien Amazon pour acheter le produit en question

Certaines plateformes de blog comme Blogspirit, Haut et Fort ou ViaBloga utilisent déjà cette application. Les blogueurs peuvent ainsi éditer leurs listes de Livre, de CDs et de Films à partir de l'ISBN ou l'ASIN (Amazon Standard Identification Number) servant d'identifiant unique du produit.

Quel est l'intérêt d'afficher les données Amazon et de leur apporter un traffic Internet voir des clients potentiels ?
Il existe des partenariats vous permettant d'utiliser l'API Amazon mais également d'obtenir un identifiant partenaire. Ainsi lorsqu'un lien est fait à partir de votre site vers un produit Amazon, l'identifiant de votre service est présent dans l'URL. Amazon localise la provenance du lien et reverse à son partenaire un pourcentage du montant lorqu'un achat est réalisé.






Parmi les les services utilisant cette application, celle de Fabio Serra m'a véritablement 'tapé dans l'oeil'. Inutile de l'ouvrir avec IE, elle a été réalisée avec le langage de programmation de Mozilla (le XUL mais aussi en Javascript et CSS...). Je vous conseille d'y jeter un coup d'oeil, ce genre d'interface peut révolutionner l'usage actuel du web...