Qu'est-ce qu'un hack ? A quoi servent-ils ?

Astuce par Raphael (Eleveur de kiwiz, Strasbourg)
Mis à jour le 23 Février 2009 à 15h25. 3615 lectures.
Tags : xhtml, commentaires, hack, hacks, conditionnel, navigateur

Tous les navigateurs, selon leur ancienneté ou leur degré de conformité aux Standards, n'ont pas un support équivalent vis à vis des propriétés CSS : certains reconnaissent les dernières nouveautés en CSS2, d'autres non. Certains présentent des bugs d'interprétation, etc.

Un "hack" est une technique pour éviter ces problèmes et permettre à ces navigateurs défectueux d'aboutir à nos fins, soit en détournant une propriété de son usage, soit en utilisant des codes supplémentaires pour pallier aux manques.

Ce genre de "bidouille", est-il nécessaire de le dire, est bien évidemment déconseillé. Il est préférable dans tous les cas, quitte à remanier sa mise en page, d'éviter toutes techniques de contournement.

Le principal avantage d'avoir des Standards est justement d'éviter d'avoir "une version IE5.5", "une version Opera", etc. Le but est de ne plus avoir à développer pour chaque navigateur particulier.

Un autre gros problème des hacks, est qu'ils reposent sur une déficience d'une version de navigateur qui peut être corrigée du jour au lendemain. D'ailleurs depuis octobre 2003, Microsoft appelle à l'arrêt des hacks au profit des commentaires conditionnels.

Plutôt que d'employer des hacks, il est effectivement préférable de recourir aux commentaires conditionnels (voir l'astuce à ce sujet).

De nombreux liens expliquent les méthodes pour contourner les limites des navigateurs :

Ressources