• Vous êtes ici :
  • Accueil
  • >
  • Internet

Internet



François Viens
François Viens
23 février 10
  • 4
  • 0

Quelques bases du URL Rewrite

Pour des questions SEO, il est intéressant de maîtriser certaines techniques de réécriture d'adresses sous Apache avec les fichiers .htaccess. Si l'adresse ne change pas dans la barre d'adresse du navigateur, on parle de redirection interne. Si l'adresse change, on parle de redirection externe, souvent des redirections retournant le code HTTP 301 indiquant que la ressource est déménagée à la nouvelle adresse de façon permanente. Les redirections internes sont les plus complexes à comprendre car intangibles, elles permettent de créer une structure complètement virtuelle pour un site Web qui lui serait généré à partir du même fichier PHP. Wordpress en est un bon exemple!

Il faut garder en tête que le mod_rewrite est appelé chaque fois qu'une demande HTTP est faite sur un fichier. Il faut donc être concis et s'assurer des limites de notre fichier .htaccess pour éviter des comportements incompréhensibles. Le plus complexe dans le URL Rewriting c'est les expressions régulières. Plusieurs règles de base peuvent être mises en place sans trop de connaissance en expressions régulières mais la science des URL Rewriting prend toute son ampleur lorsqu'on y ajoute un peu de "pattern matching"!

Le texte ci-dessous représente principalement une traduction des passages les plus intéressants des 2 sources citées à la fin de l'article.

Contenu de base du fichier .htaccess

Un fichier .htaccess de réécriture d'adresse de base devrait contenir ces lignes. La ligne Options +FollowSymlinks n'est que très rarement utile car elle permet de suivre les liens symboliques à l'intérieur des bornes définies par le <Directory> de votre serveur Apache. En contrepartie, chez certains hébergeurs, la présence de cette ligne donnera une erreur interne de serveur (500). La solution la plus simple est de laisser la ligne si le serveur ne retourne pas d'erreur, s'assurant que d'éventuels besoins seront comblés automatiquement ou de commenter la ligne si le serveur retourne une erreur. Pour faire un commentaire dans un fichier .htaccess, ajoutez simplement un # en début de ligne.

Options +FollowSymLinks
 
RewriteEngine On
RewriteBase /

Dans le cas où votre projet est dans un sous-répertoire, il faut ajuster le RewriteBase en conséquence pour que les règles commencent à l'intérieur de ce répertoire.

Flags

Mais qu'est-ce que c'est ces lettres entre crochets []? C'est des "flags" indiquant certaines instructions supplémentaires au moteur de réécriture d'adresse d'Apache. En voici une liste des principaux "flags" :

        
  • R=code : Indique une redirection. Le code est le code HTTP que vous désirez retourner. Souvent le code 301 est utilisé pour indiquer que l'adresse demandée n'existe plus et a été remplacée par la nouvelle adresse. Si aucun code n'est spécifié, le code 302 sera retourné, celui-ci indiquant qu'il s'agit d'une redirection temporaire.
  •     
  • L : Indique que si cette règle est respectée, ne pas tenter d'autres règles, arrêter immédiatement avec celle-ci. Très utile pour permettre de mettre les règles les plus précises en début de fichier allant vers les moins précises et arrêter le traitement aussitôt qu'une règle correspond à l'adresse demandée.
  •     
  • NC : Fait en sorte que la règle ne doive pas nécessairement respecter la case (majuscule, minuscule)
  •             
  • QSA : Permet de conserver les paramètres d'une adresse et d'en ajouter d'autres. Par exemple, avec la règle suivante RewriteRule fr/nouvelles.html$ nouvelle.php?lang=fr , si l'URL demandé est fr/nouvelles.html?page=2 , nouvelle.php n'aura pas accès à la valeur du paramètre page, seulement la valeur de lang. Si au contraire on ajoute [QSA], les paramètres lang et page seront disponibles dans le fichier PHP.
  •     
  • S=num : Permet de sauter les "num" prochaines règles si la règle en cours est respectée. Permet de faire une sorte de IF ELSE bouetteux... la dernière règle du premier S étant S=X, X étant le nombre de régles à sauter dans la portion "else".
        (if)
        RewriteRule ... [S=2]
           RewriteRule ...
           RewriteRule ... [S=1]
        (else)
           RewriteRule ...
        (endif)
        Lecture normale des règles suivantes...    
  •     
  • NE : Permet d'éviter d'escaper des caractères spéciaux lors d'une redirection ce qui arrive automatiquement sinon. Ainsi, RewriteRule /test/(.*) /page?q=repertoire\%3d$1 [R,NE] redirigera '/test/bobo' sur l'URL suivante '/page?q=repertoire=bobo'.
  •     
  • N : Permet de relancer le traitement des règles de réécriture, mais pas avec l'URL de départ mais plutôt avec l'URL transformé par les premiers passages... À éviter, risque de boucles infinies.
  •     
  • F : Permet de forcer le retour d'une erreur HTTP 403 : Forbidden sur une page ou un ensemble de page respectant une RewriteConds
  •     
  • B : Apache traduit les caractères "url escapés" en caractère standard. La règle RewriteRule ^(.*)$ index.php?show=$1 réécrira /C++ vers index.php?show=/C++ mais va également réécrire /C%2b%2b vers index.php?show=/C++ car les + auront été "dé-escapés"! L'utilisation du flags B vous assurera que /C%2b%2b deviendra index.php?show=/C%2b%2b et /C++ restera index.php?show=/C++.
  •     
  • C : Permet de lier une règle avec la règle suivante et ainsi de suite si le C est présent sur les règles suivantes. Si la règle est respectée, le traitement continue de façon normal et le flag est ignoré. Si la règle n'est pas respectée, toutes les règles liées à celle-ci ne seront pas considérées.
  •     
  • CO=NAME:VAL:DOMAIN[:LIFETIME[:PATH[:SECURE[:HTTPONLY]]]]' : Permet de créer un cookie! Il s'agit d'une fonctionnalité intéressante mais rarement utilisée... Le prochain développeur à travailler sur votre projet risque de chercher l'emplacement de la création du cookie longtemps dans le code! NAME est le nom du cookie, VAL sa valeur, DOMAIN le domaine ".test.com" sur lequel le cookie doit être actif, LIFETIME la durée de vie en minute, PATH le répertoire où le cookie est effectif, SECURE "true" ou "1" fait en sorte que le cookie est effectif seulement sous https, HTTPONLY "true" ou "1" fait en sorte que le cookie n'est pas manipulable par du javascript.
  •     
  • NON COUVERT ICI : DPI, E=VAR:VAL, G, H=Content Handler, NS, P, PT, T

Forcer la présence des www

Bien que les www. ne sont pas du tout nécessaires pour qu'une page Web fonctionne, les internautes néophytes sont tout de même habitués à leur présence. Le plus important à retenir est que www. agit de façon similaire à un sous-domaine (site.domain.com). D'avoir du contenu accessible avec et sans les www. peut causer un problème de dupplication de contenu ce qui n'est pas idéal pour les moteurs de recherche. Une façon d'éviter est de regarder combien de pages sont présentes dans les index des moteurs de recherche avec et sans les www. (site:domain.com). S'il y a plus de pages avec www., forcez la présence du www., sinon, retirez les www. . Dans les 2 cas, faisant des redirections retournant le code HTTP 301 (déplacement permanent), les adresses fautives seront éventuellement remplacées dans les index des moteurs de recherche.

Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www\.domain.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]

Retirer les www

Il est parfois préférable de se départir des www pour rendre les adresses plus courtes. En tant que tel, les www. n'ajoute aucune valeur. Si un site n'est pas déjà bien référencé dans les moteurs de recherche, il peut être intéressant de forcer le retrait des www.

Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^domain\.com$ [NC]
RewriteRule ^(.*)$ http://domain.com/$1 [R=301,L]

Forcer la présence du www sans "hardcoder" le domaine

Il peut parfois arriver que plusieurs domaines soient effectifs sur un même compte d'hébergement, bien que c'est en gérale une mauvaise pratique que le même contenu puisse être accessible à partir de différents noms de domaine. Dans un tel cas, plutôt que d'inscrire le nom de domaine dans la règle forçant la présence du www., une règle générale peut être mise en place :

Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^www\.[a-z-0-9]+\.[a-z]{2,6} [NC]
RewriteCond %{HTTP_HOST} ([a-z-]+\.[a-z0-9]{2,6})$     [NC]
RewriteRule ^/(.*)$ http://%1/$1 [R=301,L]

Arrêter des loops de redirections

Bien que non recommandé, il peut arriver que nos règles créées des boucles infinies de redirections sur le serveur. Partant du principe que chaque appel HTTP fait une requête au fichier .htaccess, vous pouvez altérer ce fichier avec le code suivant pour arrêter la boucle.

RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule .* - [L]

Déjouer la cache des navigateurs

Trop souvent on doit dire "Avez vous vidé votre cache?"... Une façon de régler ce problème est d'utiliser une règle de réécriture d'adresse permettant de conserver toujours le même nom de fichier pour les feuilles de styles et les fichiers javascript sur le disque mais d'ajouter un numéro de version dans le nom de fichier dans le HTML. Ainsi /skin/js/script-VERSION.js pointe vers /skin/js/script.js et /skin/css/styles-VERSION.css vers /skin/css/styles.css

RewriteRule ^skin/(js|css)/([a-z]+)-([0-9]+)\.(js|css)$ /skin/$1/$2.$4 [L]

Retirer le Query_String

Il est très fréquent de voir des sites pour lesquels page.html et page.html?param=bobo affiche le même contenu... Ceci peut causer des problèmes de contenu duppliquer et nuire au référencement de votre site Web. Une façon de régler le problème est de se départir du QUERY_STRING et il suffit simplement d'ajouter un ? à la fin de votre règle.

RewriteRule bobo.html$ bobo.php? [R=301,L]

Documents sauvegardés en base de données

Vous pouvez simuler la présence d'un document PDF ou Word ou autres dans un répertoire donné et utiliser cette règle pour appeler un script en charge de servir le document en provenance de la base de données /getdoc.php

RewriteRule ^docs/(.+)$  /getdoc.php?file=$1.pdf [L,NC,QSA]

Afficher par défaut dans la langue du visiteur (navigateur)

Il arrive très souvent qu'on doive afficher le contenu d'un site multilangue dans la langue du navigateur du visiteur par défaut. Une façon d'y parvenir est d'utiliser le "flag" ENV permettant d'assigner une variable d'environnement.

RewriteCond %{HTTP:Accept-Language} ^.*(es|fr|en).*$ [NC]
RewriteRule ^(.*)$ - [env=prefer-language:%1]

On est fermé! Permettre de bloquer l'accès à un fichier à une période donnée de la journée.

Concept à utiliser que si nécessaire... Rendre indisponible du contenu de votre site à une certaine heure pourrait faire en sorte que ce contenu soit retiré des index des moteurs de recherche si ceux ci visitent votre site à cette heure.

Options +FollowSymLinks
RewriteEngine On
RewriteBase /
# S'il est 17h, on ferme
RewriteCond %{TIME_HOUR} ^17$
RewriteRule ^.*$ - [F,L]

Changer les underscore (_) par des tirets (-)

Pour des raisons SEO, les tirets sont plus efficaces que les underscores car ils permettent de séparer une chaîne de caractères en plusieurs mots, plutôt que d'être considéré comme un seul mot. Pour cette raison, l'utilisation de underscrore dans les URL est généralement à éviter. La régle suivante fonctionne pour des URL présentant jusqu'à 5 underscores...

Options +FollowSymLinks
RewriteEngine On
RewriteBase /
 
RewriteRule !\.(html|php)$ - [S=4] # on skip les 4 règles suivantes si ce n'est pas un appel à du HTML ou PHP
RewriteRule ^([^_]*)_([^_]*)_([^_]*)_([^_]*)_(.*)$ $1-$2-$3-$4-$5 [E=uscor:Yes]
RewriteRule ^([^_]*)_([^_]*)_([^_]*)_(.*)$ $1-$2-$3-$4 [E=uscor:Yes]
RewriteRule ^([^_]*)_([^_]*)_(.*)$ $1-$2-$3 [E=uscor:Yes]
RewriteRule ^([^_]*)_(.*)$ $1-$2 [E=uscor:Yes]
 
RewriteCond %{ENV:uscor} ^Yes$
RewriteRule (.*) http://domain.com/$1 [R=301,L]

Réduire le vol de bande passante

Il n'est pas rare de voir des sites faire référence directement à une image, une animation flash ou autre mais de façon intégrée à leur contenu. Le résultat est que vous fournissez la bande passante pour le média transmis.

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?domain.com/.*$ [NC]
RewriteRule \.(gif|jpg|swf|flv|png)$ /dev/null [R=302,L]

Redirection pour une adresse IP précise

Il arrive souvent qu'on doive ajouter une règle dans un fichier .htaccess et il peut être tentant de la faire directement sur le serveur... Bien entendu, dans certains cas, une erreur de manipulation peut causer des problèmes! C'est pourquoi il peut être intéressant de tester une règle en spécifiant notre adresse IP dans une condition préalable... Ainsi, seulement les requêtes en provenance de cette adresse IP seront considérées.

RewriteCond %{REMOTE_ADDR} ^1\.1\.1\.1$
RewriteRule ^$ http://www.domain.com/testderedirectionjustepourmoi.html? [L]

Contrôle du comportement du HTTPS

Je trouve pratique qu'une section sécurisée d'un site ne soit pas simplement sur https://www.lesite.com... Par exemple, dans le cas de paiement en ligne pour une boutique, l'utilisation d'un sous-domaine secure.lesite.com, lui étant disponible seulement sous HTTPS me paraît un scénario beaucoup plus sympathique... Les règles suivantes permettent d'avoir un contrôle sur une zone bien précise pour le HTTPS et s'assurent que cette zone n'est disponible qu'avec HTTPS

RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} secure.lesite.com(.*)$
RewriteRule ^(.*)$ https://secure.lesite.com/$1 [R=301,L]

RewriteCond %{HTTPS} =on
RewriteCond %{HTTP_HOST} !^secure.lesite.com
RewriteRule ^(.*)$ https://secure.lesite.com/$1 [R=301,L]

Page 404

Le fichier .htaccess peut également servir à définir une page d'erreur 404 par défaut.

ErrorDocument 404 404.html

Sources

  • Partagez sur del.icio.us
  • Partagez sur Facebook
  • Partagez sur Google
  • Partagez sur LinkedIn
  • Partagez sur Live
  • Partagez sur TwitThis


Luc Plamondon
Luc Plamondon
25 janvier 10
  • 4
  • 0

Les contribuables économisent grâce à Google Transit

Quelle surprise ai-je eue quand j'ai découvert que je pouvais demander à Google Maps de me suggérer un itinéraire en transport en commun. Ici même, à Longueuil! Il suffit, quand vous entrez votre point de départ et votre point d'arrivée sur Google Maps / Itinéraire, de sélectionner l'option "En transport en commun". Vous obtenez les directions pour vous rendre à l'arrêt à pied, la ligne d'autobus à prendre, son trajet et les heures des prochains passages.

Le système marche même mieux que celui du site du Réseau de transport de Longueuil (RTL). Pour obtenir le trajet du bureau jusqu'au Terminus Longueuil, j'ai entré l'adresse du bureau et le mot "Terminus Longueuil", puis un seul clic a suffi pour obtenir l'heure du prochain départ. Sur le calculateur de trajet de la RTL, j'ai passé par 2 pages pour entrer l'adresse du bureau, puis par 3 pages pour trouver le Terminus Longueuil dans la liste des lieux jugés intéressants par les administrateurs de la RTL. Au total, c'est 8 pages qu'il faut visiter pour obtenir l'heure du prochain départ!!!

Je m'étais dit qu'un jour je devrais me plaindre au RTL de l'ergonomie de leur site. Mais au final, je sais bien que c'est moi qui va devoir débourser s'ils touchent au site: de la poche gauche en tant qu'acheteur de la passe mensuelle, et de la poche droite en tant que contribuable de ma Ville. Maintenant, c'est réglé. Google s'en charge... et ne charge rien. 

  • Partagez sur del.icio.us
  • Partagez sur Facebook
  • Partagez sur Google
  • Partagez sur LinkedIn
  • Partagez sur Live
  • Partagez sur TwitThis


Serge Perreault
Serge Perreault
24 novembre 09
  • 3
  • 0

Firebug Lite VS. les bugs d'IE: la fin d'un cauchemar ?

Tout intégrateur néophyte, a vu un jour ou l'autre son site internet, fraichement intégré sous Firefox, être complètement trucidé lorsqu'il testa ce dernier sous Internet Explorer 6-7 voire même sous la version 8. Les interprétations parfois douteuses d'IE, notamment lorsque l'on parle de float, de bordure, de background-image, de min ou max-width/height  ou du comportement des images .png, peuvent amener l'intégrateur au bord du désespoir absolu.

Parfois sous IE, les solutions rationnelles et logiques ne fonctionnent pas alors que les scénarios les plus loufoques donnent les résultats voulus. De plus, les outils fournis par Microsoft pour faire le "debugage" paraissent incomplet et peu efficace (exemple IE Developer Toolbar). Dans IE Tester, la DebugBar, renseigne certes sur la nature de la structure CSS, mais dû à son positionnement fixe à gauche de la fenêtre, elle vient parfois réduire le contenu de la fenêtre à un point où la page s'affiche déjà de manière tout chaotique (surtout sur les écrans à faible résolution).

Or, lors du debug les utilisateurs de Firefox ont pour la plupart, adoptés un outil fort intéressant appellé Firebug. Bonne nouvelle, Firebug est désormais disponible en mode partiel sous IE, Opera, Safari.On parle ici de Firebug Lite.

Un outil qui pourra mettre fin à une incessante période de traumatisme psychologique chez les intégrateurs web de ce monde?

On est loin du compte...


Qu'est-ce que Firebug Lite ?

Firebug Lite est le petit frère de l'extension légendaire que l'on retrouve sous Firefox, en version <script> Javascript. Firebug Lite se décline en trois modes d'utilisation distincts soit :

  • en insérant une ligne de code dans la page html, pour une utilisation en ligne, activer par la touche F12;
  • en téléchargement, pour intégrer les fichiers .js à votre projet pour une utilisation hors-ligne;
  • en "bookmarklet" ou pour les puristes de la loi 101, en applisignet, qui consite à faire d'un lien favoris dans votre barre de signets, un lien vers une application javascript qui s'ouvre à l'intérieur du site actuellement consulté ( voir l'image A )


Image A - Firebug Lite en bookmarklet


Les comparaisons entre Firebug et Firebug Lite?

Il ne faut pas rêver en couleurs 32 bits, Firebug Lite est une version fort minimaliste de l'authentique Firebug. Pour commencer, les similitudes sont:

  • dans la possibilité d'inspecter les différentes sections du siteavec l'outil INSPECT, qui permet de voir les codes HTML, CSS, Script, DOM et XHR. 
  • dans la présence de la CONSOLE Firebug où les utilisateurs expérimentés peuvent questionner directement le site. Voir la liste complète des commandes sur
    http://getfirebug.com/console.html
    .
  • Le positionnement de la fenêtre de Firebug Lite, dans le bas de l'écran est identique à Firebug, n'affectant pas la mise en forme du site. Il est aussi possible d'ouvrir Firebug Lite dans une fenêtre indépendante pour pouvoir voir pleinement les renseignements affichés.

Comme vous le devinez déjà, il existe plusieurs différences majeures entre les deux versions de Firebug :

  • Il est impossible d'éditer les fichiers HTML, CSS, etc, en direct de la page. Les informations affichées par Firebug Lite sont statique. La grande différence avec Firebug, c'est justement qu'il était possible de faire des modifications à même la page et de voir les résultats en direct. Firebug Lite ne donne malheureusement pas cette latitude, qui faisait toute la force de son grand frère.
  • L'onglet excessivement pratique RÉSEAU retrouvé dans Firebug est absent dans Firebug Lite.
  • Il y a aussi un absent de taille, surtout pour les accrocs du respect "pixelistique" du design / intégration, soit l'onglet Pixel Perfect.
  • Sous Firefox, lorsque l'on inspectait un lien avec Firebug, ce-dernier était temporairement désactivé tant que l'on était en mode INSPECT, diffusant ainsi les informations désirés. Or, sous IE, lorsque l'on fait INSPECT sur un lien, on active ce lien, on quitte la page actuelle et Firebug se ferme, vû qu'il était ouvert comme un script javascript à même la page active. Ce bug se décline sous tous les modes d'utilisation de Firebug Lite.


Firebug Lite, une faible lumière dans la grande obscurité interprétative d'IE...

Pour ceux qui voyaient en Firebug Lite, une solution à biens des migraines constamment renouvelées à chaque debug de fin de projet, je n'ai aucun autre choix que d'être submergé de compassion à votre égard. J'ai aussi passé par ce stade de joie/déception en apprenant l'existence de cet outil. Je m'attendais à un jumeau identique, ou quelques peu diminué du "genuine" Firebug.

Mais l'appellation Lite aurait dû me mettre sérieusement la puce à l'oreille... Somme toute, j'ai adopté avec enthousiasme cette petite application, mais je dois m'avouer un peu déçu par ses limites, qui s'approchent, outre la console, des fonctions offertes par le debugbar d'IE Tester (sans les bugs d'affichage de ce dernier) ou de la IE Developer Toolbar d'IE.

Mais garder espoir, distingué(e)s collègues, Firebug Lite est en amélioration constante et nous verrons fort probablement de nouvelles versions se rapprocher de notre fidèle compagnon qu'est devenu Firebug.

Les sources utilisés pour écrire cet article sont :
http://remysharp.com/2007/03/13/firebug-in-ie-for-any-web-site/
http://getfirebug.com/lite/ie.html
http://blog.strictly-software.com/2009/02/using-firebug-lite-for-debugging.html
http://blog.jaysalvat.com/articles/firebug-lite-le-firebug-cross-browser-sans-extension.php

Bon debug et longue vie à Firebug Lite.

  • Partagez sur del.icio.us
  • Partagez sur Facebook
  • Partagez sur Google
  • Partagez sur LinkedIn
  • Partagez sur Live
  • Partagez sur TwitThis


François Viens
François Viens
19 octobre 09
  • 10
  • 0

Drupal vs Typo3

Voilà déjà plusieurs fois que mon collègue et moi avons des discussions par rapport à différentes solutions de gestion de contenu (CMS) Open Source. Chez QuiboWeb, notre équipe est spécialisée en programmation Web, majoritairement en PHP 5 orienté objet et MVC (Modèle Vue Contrôleur), utilisant Smarty et XHTML et CSS pour le "front end".

À partir du moment que tu es spécialisé en PHP, tu peux intervenir dans plusieurs plateformes Open Source codées en PHP. Avec les années, nous avons donc pu développer une expertise avec différentes solutions mais certaines solutions nous plaisent davantage...

Dans le dernier mois, à 2 reprises un appel d'offre précisait l'utilisation de Typo3. Préférant Drupal, cette demande autour de Typo3 a piqué notre curiosité. Quand commencer un projet avec Typo3? Travailler sur un projet existant qui a déjà Typo3, ok... Mais pourquoi commencer un projet de 0 avec Typo3? Au Québec, la technologie Typo3 est particulièrement populaire au niveau gouvernemental et part le fait même, dans la ville de Québec. À Montréal, 1 seul joueur s'affiche clairement comme expert en Typo3 (Googlez le, je mets pas de lien!)


Mon collègue a alors sorti de son sac, un document PDF rédigé en 2008 comparant les CMS Open Source. Je ressors quelques statistiques pour le plaisir, fidèle avec le titre de mon billet Drupal vs Typo3 !


Ressources disponibles

Tout le monde sait qu'au niveau d'un projet Open Source, le nombre de ressources compétentes disponible, on l'appel plus souvent "La communauté", est très important. Dans le document on voit que pour Drupal, 933 ressources disponibles sur eLance.com et 353 sur Guru.com alors que pour Typo3, seulement 71 ressources disponibles sur eLance.com et 34 sur Guru.com

Livres publiés

La documentation disponible autour d'une solution Open Source en dit long sur sa notoriété dans l'industrie. Drupal, en 2008, avait 12 livres publiés dont 7 dans la dernière année (2007 à 2008). Typo3, pour sa part, en avait 7 de publiés et 0 dans la dernière année.

Taux d'adoption

En 2008, Drupal était dans les "Leaders" alors que Typo3 était dans les "Movers", ce qui est tout de même pas si mal, n'étant pas dans les "Laggards"!

Inbound Links

Intéressant de comparer le nombre de liens entrant sur les sites Web des 2 solutions! La théorie des grands nombres supposent que si on a beaucoup de liens et qu'on n'a pas fait faillite, c'est que les gens doivent parler en bien de nous! En 2008, 163 000 liens pour Drupal et 3810 liens pour Typo3.

Positionnement dans les moteurs de recherche

Si je cherche "content management system", quelles solutions sont les mieux positionnées? Drupal était là, mais pas Typo3!

Position dans Alexa

Bon, je le mentionne pour prouver mon point, mais Alexa, ça vaut ce que ça vaut! Drupal occupait la position 1223 au palmarès alors que Typo3 occupait la position 6861. Quelques mois plus tard, la position de Typo3 dans ce palmarès avait baissée.

Bruit

Les gens parlent de quelle plateforme sur Internet, Google et compagnie? Drupal en 3e position et Typo3 en 5e position. Au niveau de Twitter, des blogues, des "Groups", des prix et des médias, Drupal est également mieux positionné que Typo3...

Au niveau de la marque ("Brand"), Drupal a de l'avance... Au niveau de la convivialité de l'interface, mon avis personnelle est que Drupal a l'avance...

Vous êtes fous de Typo3 et lisez ce billet, vos commentaires sont appréciés... N'oubliez pas de consulter le PDF avant de me sauter dessus!

  • Partagez sur del.icio.us
  • Partagez sur Facebook
  • Partagez sur Google
  • Partagez sur LinkedIn
  • Partagez sur Live
  • Partagez sur TwitThis


Franck Méthia
Franck Méthia
16 octobre 09
  • 3
  • 0

Trouver un loading pour les appels AJAX

Ça fait quelques temps que j'utilise ce site internet pour faire patienter les internautes pendant mes appels AJAX : http://www.ajaxload.info/

Ce site propose une multitude de GIF animé et en plus personnalisable.

Voici quelques exemples :

Aller voir et amusez vous bien.

  • Partagez sur del.icio.us
  • Partagez sur Facebook
  • Partagez sur Google
  • Partagez sur LinkedIn
  • Partagez sur Live
  • Partagez sur TwitThis


François Viens
François Viens
23 septembre 09
  • 5
  • 0

C'est l'Internet ça monsieur

Puisque je suis en vacances et que l'équipe chez QuiboWeb est trop
occupée pour faire des articles, voici une vidéo que mon collègue
Hugues Beaumont m'a fait connaître par son Twitter . Le
gars parle de l'Internet sans pouvoir le nommé puisque la vidéo date de
1969... Vraiment impressionnant, il avait prédit les grandes lignes de
l'Internet, même un peu le volet 2.0 en disant que les gens y
participeraient contrairement au côté passif de la télévision...
BRILLANT!

  • Partagez sur del.icio.us
  • Partagez sur Facebook
  • Partagez sur Google
  • Partagez sur LinkedIn
  • Partagez sur Live
  • Partagez sur TwitThis


Marie-Andrée Lacroix
Marie-Andrée Lacroix
14 août 09
  • 1
  • 0

Twits estivales amusants

C'est vendredi! Et le vendredi on prend ça plus relaxe (du moins... quand on peut :P) Un wrap-up de mes twits estivales qui pourraient entrer dans la catégorie C'est cool donc jettez-y un coup d'oeil! :

RT: @Minervity: How to kill time at the office - http://bit.ly/222eIA

AMAZING GAME : Draw my thing! Try it with somebody! http://www.omgpop.com/#/arc...

RT: @andysowards: What if Websites Were People… http://bit.ly/LXsxb

PicArtia -:- Create photo mosaic Online and Free! (Photo Collage Maker) http://www.picartia.com

Wonderbra Ultimate strapless http://www.ultimatestraples...

Kuroshio Sea / J'ai rarement vu un clip aussi beau et apaisant sur YouTube... http://bit.ly/FD3l5

Funny website http://www.mono-1.com/monof...

Web Site Story: La comédie Musicale 2.0 http://bit.ly/x39sx

Montée de lait sur des petites choses de la vie http://bit.ly/6wEcC

Etes-vous hypnotisable? http://tinyurl.com/pq2wq7

Une maison aquatique à Mexico http://bit.ly/3uK4D

Nice interactive website http://www.bio-bak.nl/

RT: @eogez: [eogez] Qu'est-ce qu'un navigateur Web ? Euuuuuuh…
http://bit.ly/2ttu92

I am 65% addicted to Twitter. You? http://bit.ly/12QvNC

  • Partagez sur del.icio.us
  • Partagez sur Facebook
  • Partagez sur Google
  • Partagez sur LinkedIn
  • Partagez sur Live
  • Partagez sur TwitThis


François Viens
François Viens
10 août 09
  • 21
  • 0

Le "best effort", ça existe encore?

Avec les années d'expérience, j'ai eu l'opportunité de travailler avec plusieurs personnes, clients, co-équipiers et partenaires d'affaires sur des tonnes de projets de développement Web. Avec un peu de recul, on arrive souvent au même constat :

  • le projet est toujours plus long que prévu
  • c'est rarement directement la faute de l'équipe

Plusieurs raisons expliquent ce problème.

  • Le Web est un domaine très large avec plusieurs disciplines
  • Bien que le client pense connaître le Web, il le connaît très peu
  • On devrait faire le projet avant de faire le projet pour s'assurer que tout est bien compris
  • Le projet Web n'est souvent pas prioritaire pour le client sauf la semaine avant le lancement officiel
  • Étant un domaine très compétitif, pour conserver sa clientèle, il faut être très gentil = accepter des ajustements = plus de travail = plus de temps

MAIS LE BEST EFFORT N'EXISTE PLUS!

Bien que toutes les bonnes intentions soient en jeux, malgré l'attente interminable de feedback du client, malgré l'augmentation de la charge de travail sans nécessairement d'augmentation de frais, si le projet dépasse, ça ne prend pas de temps qu'on se le fait dire...

C'est dommage car :

  • L'équipe met beaucoup d'effort dans la réalisation
  • L'équipe a recommencé plusieurs fois la même chose pour en arriver précisément au résultat demandé
  • L'équipe s'essouffle sous la pression des différents niveaux
  • L'équipe désire elle aussi terminer le projet dans les plus brefs délais
  • Du temps est perdu à justifier l'injustifiable

Résultat des courses, le projet est livré et le client met plusieurs semaines avant de donner son accord à la mise en ligne, ce qui pressait ne presse plus, mais l'équipe Web perd de son lustre.

Il me semble que dans plusieurs domaines on est prêt à attendre... même dans des domaines où il n'y a rien de "sur mesure", alors que sur le Web, souvent, tout est fait sur mesure pour bien respecter les besoins précis du client....

Voilà une réflexion personnelle... elle ne reflète pas la totalité des projets, heureusement, je serais intéressé d'avoir l'avis de d'autres développeurs Web en commentaire!

  • Partagez sur del.icio.us
  • Partagez sur Facebook
  • Partagez sur Google
  • Partagez sur LinkedIn
  • Partagez sur Live
  • Partagez sur TwitThis


Pierre Paul Lefebvre
Pierre Paul Lefebvre
17 juillet 09
  • 2
  • 0

Le meilleur médicament vendu dans les environs de "votre ville ici"!


Commentaires :
"Merci compagnie X, grâce à vos produits, je suis maintenant millionnaire, j'ai trois femmes, toutes heureuses et comblées autant au lit que dans la vie." - Anonyme

Nous avons tous vu un jour ou l'autre des commentaires qui avait l'air d'avoir été biaisés. Choisir les meilleurs commentaires est une chose, mais les inventés ou payer des gens pour des bons commentaires en est une autre.

Une compagnie pharmaceutique vient de recevoir une amende faite par la cour au montant de 300 000$ pour avoir payé ses employés afin qu'ils publient de faux commentaires sur des sites un peu partout sur le web. La compagnie faisait aussi pression sur le site ayant des commentaires négatifs afin que les commentaires soient retirés.

La compagnie, Lifestyle Lift, allait même jusqu'à acheter des domaines et des sites pour publier des reviews "indépendant" de leurs produits. Cette histoire me fait penser à un billet publié par François au mois d'avril sur l'histoire d'une petite compagnie qui avait été très vexée par une mauvaise review d'une personne qui n'avait même pas pu essayer leur produit.

Source : Ars Techinica

  • Partagez sur del.icio.us
  • Partagez sur Facebook
  • Partagez sur Google
  • Partagez sur LinkedIn
  • Partagez sur Live
  • Partagez sur TwitThis


Luc Plamondon
Luc Plamondon
17 juillet 09
  • 3
  • 0

Facebook ne respecte pas les lois canadiennes sur la vie privée

La commissaire à la protection de la vie privée du Canada a déposé son étude sur les réseaux sociaux hier. Facebook contrevient aux lois canadiennes de plusieurs façons, notamment:

  • On trouve de l'information sur le site sur comment désactiver un compte, mais pas sur comment le supprimer (et donc faire disparaitre ses renseignements personnels des serveurs de Facebook).
  • Facebook permet que les informations de notre profil ne soient pas disponibles sur des applications Facebook, mais il y a une brèche importante: les développeurs de ces applications ont quand même accès aux renseignements personnels de tout le monde. Quand on pense qu'il y a environ 950000 de ces développeurs dans 180 pays...
  • La politique officielle est de conserver les données personnelles indéfiniment. Or, la loi canadienne précise que les données ne peuvent être conservées que durant une période nécessaire aux fins auxquelles elles sont destinées. Donc si vous désactivez votre compte, elles devraient être supprimées à peu près immédiatement... à moins que Facebook ait prévu d'autres fins pour nos données?

En théorie, la commissaire pourrait poursuivre Facebook au Canada si ses recommandations ne sont pas suivies dans les 30 jours, mais quelle serait l'utilité? Il suffirait à Facebook de n'utiliser aucun serveur canadien dans ses activités (ce qui est peut-être déjà le cas) et notre loi n'aurait aucun effet. Et si c'est trop de problèmes de garder les 12 millions d'internautes canadiens, on imagine aisément Facebook nous abandonner pour se concentrer sur ses 240 autres millions d'utilisateurs...

La situation parfaite où les droits de l'internaute seront pleinement respectés n'arrivera probablement jamais, alors continuons à utiliser ce qui nous intéresse tout en demeurant critique.

Le rapport de la commissaire

  • Partagez sur del.icio.us
  • Partagez sur Facebook
  • Partagez sur Google
  • Partagez sur LinkedIn
  • Partagez sur Live
  • Partagez sur TwitThis


Luc Plamondon
Luc Plamondon
12 juin 09
  • 2
  • 0

Facebook et les inconnus dans la rue

Saviez-vous que 41 % des utilisateurs de Facebook sont prêts à révéler leurs informations personnelles sans vérifier à qui ils ont affaire?

On oublie rapidement que le virtuel de l'internet a des conséquences réelles. Allez sur le blogue de Laurent Maisonnave, vous y trouverez une capsule vidéo sur comment on peut utiliser les réseaux sociaux pour obtenir des informations confidentielles.

Le débat "Les réseaux sociaux sont-ils une bonne chose ou pas" est dépassé. Ils sont là pour rester. Il faut maintenant passer à l'éducation. Quand j'étais petit, à l'école on nous enseignait à ne pas parler à des inconnus dans la rue. Aujourd'hui, j'espère qu'on enseigne à ne pas parler à des inconnus sur internet!

  • Partagez sur del.icio.us
  • Partagez sur Facebook
  • Partagez sur Google
  • Partagez sur LinkedIn
  • Partagez sur Live
  • Partagez sur TwitThis


Guillaume Legault
Guillaume Legault
29 mai 09
  • 3
  • 0

Extensions chromées

Comme plusieurs, ce qui me retenait le plus d'utiliser Google Chrome, c'était l'absense de modules d'extension / plugins.

Chrome va bientôt supporter l'ajout d'extensions Yé!

Quelques détails :

  • Les extensions utilisent le HTML, JavaScript et le CSS et sont donc facile à écrire (pour les développeur)
  • Une fois une extension installée, pas besoin de redémarrer Chrome.
  • Les extensions sont prévues de rester compatibles sur les versions futures de Chrome.
  • Les extensions rouleront dans leur propre processus.
  • Les extensions s'afficheront tous de la même manière dans Chrome à l'aide de petits icones pour unifier l'apparence.
  • Les extensions seront téléchargeables à partir d'une gallerie semblable à celle offerte par Mozilla.

J'ai hâte de voir les extensions qui bloquent les Google Ads, ça ne me surprendrait pas que ce seront les premières à être disponibles. Il sera intéressant de voir comment Google va réagir.

  • Partagez sur del.icio.us
  • Partagez sur Facebook
  • Partagez sur Google
  • Partagez sur LinkedIn
  • Partagez sur Live
  • Partagez sur TwitThis


Guillaume Legault
Guillaume Legault
29 mai 09
  • 1
  • 0

Drôle de référencement

Dans mon post précédent, je parlais des seiches.

Une semaine après, je fais ma recherche google hebdomadaire avec mon nom pour savoir quels sont les premiers résultats.

Premier résultat : Mon compte twitter... étrange, car je n'ai jamais rien twitté encore!

Deuxième résultat : Un vidéo sur youtube portant sur les seiches... Hein ? Mon nom n'apparaît nullepart dans la page, bizarre!

Je soumets ensuite un commentaire au bas du vidéo et je relance la recherche : le lien du vidéo vient de passer au premier rang.

J'ai de la difficulté à comprendre comment Google évalue le poids d'une référence.

  • Partagez sur del.icio.us
  • Partagez sur Facebook
  • Partagez sur Google
  • Partagez sur LinkedIn
  • Partagez sur Live
  • Partagez sur TwitThis


François Viens
François Viens
25 mai 09
  • 3
  • 0

Octas 2009 - Close but no cigar

Ce samedi 23 mai avait lieu le Gala des Octas 2009 organisé par le Réseau Action TI et j'y étais présent avec @RGrondin du Réseau Immobilier La Capitale Vendu. Nous étions finalistes dans la catégorie Affaires électroniques inter-entreprises - B2B pour le projet Le portail intranet, un portail communautaire collaboratif.

Bien que nous n'ayons pas gagné, il faut dire que c'était une soirée très bien organisée. Chapeau au Réseau Action TI! Dans la catégorie B2B, le gagnant est la Coop Fédérée et ce projet a également remporté le prix d'Excellence du concours Octas 2009. Ne pas gagner contre le gagnant de l'Excellence apaise beaucoup la déception!

Le Réseau Action TI est réellement une belle communauté pour le réseautage d'affaire dans le domaine des TI. Il s'agissait de notre première participation aux Octas. Être finaliste à la première tentative nous encourage à coup sûr de se reprendre l'année prochaine avec un autre projet.

Écrivez nous à info@quiboweb.com si vous désirez que ce soit VOTRE projet!

  • Partagez sur del.icio.us
  • Partagez sur Facebook
  • Partagez sur Google
  • Partagez sur LinkedIn
  • Partagez sur Live
  • Partagez sur TwitThis


Luc Plamondon
Luc Plamondon
27 avril 09
  • 3
  • 0

Un journal peut-il être écolo?

Mon journal local de cette semaine, le Courrier du Sud, titrait "Votre Courrier du Sud devient un hebdo vert". Wow, me suis-je dit, l'industrie de l'information prend enfin le virage technologique à la grandeur du Québec. Mon journal allait-il lancer une version web? Ou même carrément abandonner la copie papier? Allait-il proposer un modèle hybride original?

J'ai été déçu. La certification Éco Hebdos que le journal annonçait en grandes pompes constitue à mettre en pratique 4 points:

  • réduire au maximum la consommation de papier (dans les activités quotidiennes administratives) et acheter du papier recyclé
  • économiser l'énergie en fermant les appareils comme les ordinateurs après les heures de bureau et en achetant des ampoules fluorocompactes
  • recycler (le papier, les appareils informatiques, les vieux CD)
  • améliorer la qualité de l'air en utilisant entre autres des produits de nettoyage biodégradables et en installant des supports à vélo pour les employés

Je suis déçu parce que ces petits points sont presque la base dans toute entreprise, de nos jours! Et rien au sujet des tonnes de papier distribué dans les foyers qui finit invariablement aux poubelles (ou au recyclage, si on est optimiste, mais je ne gagerais pas là-dessus).

Cela dit, le Courrier du Sud a une version web. C'est déjà un excellent geste en regard des générations qui nous suivront et il faut l'en féliciter. Mais quand un grand consortium de journaux et d'imprimeries comme Quebecor (la maison-mère du Courrier du Sud) se targue d'être écolo parce qu'il applique le gros bon sens, je crie à la publicité trompeuse. Pour moi, un journal qui fait sa part pour respecter l'environnement, c'est un journal qui abandonne la publication papier ou qui, à tout le moins, investit pour encourager ses lecteurs à abandonner la version papier au profit de la version électronique. Il faut une réduction du tirage quelque part!

  • Partagez sur del.icio.us
  • Partagez sur Facebook
  • Partagez sur Google
  • Partagez sur LinkedIn
  • Partagez sur Live
  • Partagez sur TwitThis