Forcer tous les liens à s’ouvrir dans la même page Firefox

Browser Link ExcerptCa ne vous arrive jamais de naviguer sur un site et vous retrouver avec une popup ou une nouvelle fenêtre qui s’affiche alors que rien n’indiquait que ça allait se passer? Et quand bien même vous essayer d’éviter ce désagrément il est alors impossible d’afficher la page sans passer par une popup (ou une nouvelle fenêtre) ?

Il y avait jadis une option dans Firefox qui permettait d’obliger les liens qui ouvraient une nouvelle fenêtre à s’afficher dans un nouvel onglet. L’option était facilement accessible dans Firefox et ressemblait à ça.
Lire la suite

Synchroniser ses favoris Firefox sur plusieurs ordinateurs avec Foxmarks

UPDATE : Foxmarks s’appelle désormais XMarks

UPDATE 2 : XMarks n’existe plus ! Il faut utiliser Firefox Sync.

Il y a quelques mois je cherchais un outil pour synchroniser mes bookmarks Firefox entre mon pc à la maison et celui au travail. Je voulais que chaque ajout, modification ou suppression sur un ordinateur se répercute sur l’autre. J’avais alors testé 4 outils :

Je me retrouvais donc à utiliser le plugin de del.icio.us mais vraiment par défaut d’avoir mieux. Parce que del.icio.us fonctionne avec des tags, et en uploadant mes favoris, cela a généré automatiquement des tags à gogo, ce qui a foutu un bordel pas possible au final. Il y avait notamment le tag « barre personnelle » sur tous mes favoris… Génial…

La semaine dernière, je me dis que j’allais retenter le plugin Foxmarks, et j’arrive enfin à me connecter! J’installe le module sur les deux pc. Résultat : la synchronisation marche parfaitement.

Foxmarks

La démarche à suivre est très simple:

  • Il vous faut un compte sur Foxmarks (gratuit)
  • La première synchro demande soit de garder les favoris du serveur et ceux du pc, soit l’un des deux
  • Une icône en bas à droite de la fenêtre Firefox affiche le statut de Foxmarks (« prêt », « en cours de synchronisation », « nouveaux favoris à synchroniser », « un problème est survenu »…)
  • Je vous conseille d’activer la synchronisation automatique, qui permet de récupérer au démarrage et « silencieusement » les derniers favoris du serveur
  • Ensuite, activez aussi la synchro à la fermeture (et de décocher la case « d’abord demander »), histoire de ne rien perdre en partant.

Finies les sessions de copier-coller de favoris. Foxmarks marche exactement comme je le voulais.

30 excellents pdf pour web designer

Je suis tombé sur un post de Positive Space qui recense 30 Essential PDF Documents Every Designer Should Download. Cette liste très bien fournie aborde des thèmes aussi variés que WordPress, la notion de design, les CSS dans les newsletter, le Web 2.0, la typographie, le statut de freelancer… On peut utiliser ces documents comme des guides, car leur avantage est d’adopter une vision très générale et synthétique d’un thème. Voici quelques-uns de mes préférés.

Yahoo! Design Pattern Library

Yahoo Design Pattern Library

Yahoo! possède déjà de très bonnes ressources pour les développeurs en tout genre. Le pdf de Design Pattern Library est quant à lui un résumé des différents éléments graphiques que l’on peut être amené à implémenter dans un site, que ce soit des onglets, des calendriers, des formulaires… Il y a aussi des informations utiles pour créer un site selon un système de grille, ainsi que des informations sur les supports mobiles (dont l’iPhone).

WordPress Help Sheet

Mémo WordPress

Ce mémo pour WordPress est indispensable à tous ceux qui comme moi aiment créer des thèmes WordPress à partir de rien. Il recense toutes les fonctions que l’on peut appeler, en y juxtaposant une description concise et précise. Il existe bien sûr le Codex WordPress, la source principale, mais ce mémo a pour avantage de donner une vision globale de ce que l’on peut faire, et de trouver facilement une solution face à un problème donné. Si vous voulez aller plus loin, il existe aussi le Advanced WordPress Help Sheet, qui lui se focalise sur des cas particuliers faisant appels à plusieurs fonctions.

Destroy the « Web 2.0 Look »

Destroy the Web 2.0 look

Ce qui me plaît dans cette charge contre le look Web 2.0 c’est que l’auteur (Elliot Jay Stocks) évalue exactement les raisons de la prolifération du soi-disant style « Web 2.0 » et caricature les gens qui ne comprennent pas ce que c’est, que ce soit les clients ou bien (et c’est pire) les designers eux-même. Le Web 2.0 n’est pas un design mais un concept. Malheureusement, ce terme a généré une vague sur laquelle bon nombre de gens surfent allègrement en se posant comme des designers 2.0 et considérant que l’Ajax est une technologie 2.0 (alors que ce n’est pas la technologie qui a changé entre le 1.0 et le 2.0, mais l’utilisation que l’on en fait). Le document fait bien remarquer que bon nombre de web designers n’ont pas suivi cette tendance de « look 2.0 », voyant bien que ce n’est qu’un feu de paille bien superficiel.

Sortie de Colorzilla 2.0, avec son générateur de palette de couleurs

Ce matin en ouvrant mon navigateur préféré, une mise à jour de Colorzilla était disponible. Vous connaissez sans doute cette extension Firefox qui permet d’avoir un outil « pipette » dans votre navigateur. Ainsi, en naviguant sur un site, il suffit de cliquer sur l’icône Colorzilla et de placer le curseur sur un pixel d’un élément de la page pour connaître ses codes couleurs (RVB et Hexadécimal).

Souvent, lors d’une mise à jour, une page du site de l’extension s’ouvre pour vous décrire les maj installées. En général, je zappe rapidement cette page, pensant qu’il n’y a qu’une liste de bugfix sans intérêt pour ma part. Mais là, j’ai bien fait de lire les nouveautés.

Aujourd’hui, la version 2.0 de Colorilla est sortie. Quoi de neuf ? Et bien 2 fonctions bien pratiques :

  • Webpage DOM Color Analyzer
    En un clic, vous obtenez une palette de couleurs du site sur lequel vous êtes. Mais le must, c’est qu’il dresse la liste des éléments qui utilisent les couleurs en question. Il y a même la possibilité de sauvegarder la palette ou d’obtenir un permalien vers celle-ci. Voici un exemple avec mon blog :
    Webpage DOM Color Analyzer
    Un excellent outil pour obtenir les couleurs d’un site que vous appréciez.
  • Online Palette Viewer
    En complément de l’outil précédent, Colorzilla permet de visualiser, sauvegarder et partager les palettes de couleurs proposées par les utilisateurs. Par exemple, voici la palette du site du W3C. Vous remarquerez l’outil « pipette » en bas à gauche de la page, même si vous n’avez pas installé l’extension.

La version 2.0 porte plutôt bien son nom, avec son lot de fonctionnalités de partage très intéressantes, sans oublier la simplicité et l’efficacité du générateur de palettes.

Launchy : le meilleur raccourci du monde

( Cela fait longtemps que je voulais poster cet article pour vous parler d’un logiciel que j’utilise depuis 1 an environ et qui est une vraie perle. Attention, vous risquez de devenir accro! )

Un problème incessant que l’on rencontre fatalement lorsqu’on utilise un ordinateur tous les jours est la prolifération des raccourcis en tout genre. Je parle ici des icônes de raccourcis que l’on trouve notamment sur le Bureau mais aussi dans la barre de Lancement rapide ou bien dans le menu Démarrer. Elles sont pratiques pour atteindre rapidement un dossier, un fichier ou même une URL. L’utilisation la plus fréquente reste celle de lancer un programme.

Mais voilà, étant victime de son succès, ces raccourcis se multiplient au rythme des installations de programme, et le Bureau devient une mosaique illisible d’icônes en tout genre. Et le temps passé à trouver une icône accroît exponentiellement. Il y a des solutions « artisanales » comme par exemple ranger par dossiers et sous-dossiers le menu Démarrer, ou organiser dans l’espace les icônes du Bureau. Mais à terme, il y aura des limites, et la mise en place même de cette organisation est coûteuse en temps et en effort.

Voici donc la solution : Launchy.

Launchy, keystroke launcher

Il s’agit en fait d’un lanceur d’applications (mais pas seulement), tout léger et tout simple. Il démarre en même temps que Windows (sans que vous le voyez) et pour le lancer, il suffit de faire Alt + Espace, et il apparaîtra.

Son interface consiste en :

  • une zone de saisie
  • une icône (associée à un texte)
  • un menu déroulant (qui apparaît dans certains cas)

Comment ça marche ?

Après l’avoir lancé, vous tapez le nom du logiciel que vous voulez lancer, et vous faites « Entrée ». Et voilà!

Où va-t-il chercher ?

Par défaut, Launchy indexe les fichiers .ink (raccourcis) existants dans le menu Démarrer, et aussi les favoris internet (Firefox et IE). Donc en tapant un mot, il cherchera dans ses endroits là. Vous pouvez bien sûr lui demander d’indexer d’autres fichiers (mp3, doc, pdf…) et d’autres dossiers. Il suffit de le configurer dans les options.

Favori sous Launchy

Configuration de l'indexation

Le menu déroulant

Si au moment de taper le nom de votre programme ce dernier n’apparaît pas, attendez 2 sec et un menu déroulant apparaîtra. Choisissez le bon raccourci et faites Entrée.

Menu déroulant Launchy

Launchy apprend tout seul !

Vous aurez remarqué que si vous ne tapez qu’une seule lettre, Launchy vous propose déjà une liste de raccourcis. Sachez que si vous voulez par exemple d’associer la rechercher « f » au logiciel Firefox mais qu’en tapant « f » Launchy vous propose d’abord le logiciel Flash, et bien choisissez Firefox dans le menu déroulant et la prochaine fois que vous taperez « f », Launchy vous proposera directement Firefox !

Changer un raccourci dans Launchy

Bien sûr, cette astuce marche aussi pour les requêtes de plus d’une lettre. Mais il est pratique (car encore plus rapide) de faire des raccourcis d’une seule lettre. Pour ma part, ça donne :

  • f pour Firefox
  • p pour Photoshop
  • i pour Illustrator
  • + pour Notepad++
  • w pour Winamp…

Avantages

  • gratuit
  • open source
  • léger
  • (ultra) rapide
  • joli (différents skins sont disponibles)
  • recherche très facile (vous pouvez même trouver des logiciels dont vous aviez oublié l’existence sur votre pc…)
  • apprentissage

Inconvénients

  • addictif (vous essaierez de faire Alt + Espace sur n’importe quel pc)
  • bureau tout vide
  • plus d’excuse lorsque vous ne trouverez pas le bon logiciel

Il y aura éventuellement un temps d’adaptation mais il est vraiment très court. Je ne peux plus me passer de ce logiciel qui s’avère être celui que j’utilise le plus.

Laissez tomber la barre de recherche Firefox

Je suis un grand fan de la barre de recherche Firefox.

Barre de recherche Firefox

Très pratique et très simple d’accès (Ctrl+K), elle permet de gagner beaucoup de temps. Bon nombre de sites proposent d’installer le module de recherche pour leur site. C’est d’ailleurs une des premières choses que je vérifie lorsque je découvre un nouveau site. Non seulement c’est bénéfique pour l’utilisateur mais ça permet au site en question de fidéliser l’internaute en lui facilitant l’accès.

Malheureusement, tous les sites ne proposent pas ce module de recherche.
Lire la suite

Tout le codex WordPress en une seule page

N’ayant actuellement pas internet chez moi mais voulant tout de même finir mon futur thème WordPress, j’ai cherché à obtenir une version complète et transportable du Codex WordPress. J’ai finalement trouvé par hasard ce guide complet des template tags de WP.

En désactivant le JavaScript (merci Web Developer), on obtient la même page avec tous les blocs entièrement déroulé. Ensuite, un screenshot de la page entière (merci Pearl Crescent) permet d’obtenir tout le codex WordPress en une seule image.

Pdfgeni : trouvez des pdf gratuits en ligne

Parmi les moteurs de recherche spécialisés qui foisonnent sur le web, en voici un qui peut intéresser les web designers : Pdfgeni.com

C’est un moteur de recherche de pdf. Il permet notamment de trouver des E-books (l’équivalent d’un livre en ligne). Il est par conséquent très facile de trouver des documents concernant un domaine particulier. Même si il peut chercher dans n’importe quel domaine, Pdfgeni s’avère très pratique pour fournir des pdf concernant le web. Par exemple on peut chercher :

Ce ne sont ici que 3 exemples pour trouver de très bons documents. Libre à vous de chercher dans d’autres domaines que le web!

Ouvrir des liens non cliquables

Ça ne vous arrive jamais de lire un article très intéressant sur un site, où l’auteur copie-colle des url dans son texte sans qu’elles soient cliquables ? Ma phrase n’étant pas très explicite, je vous offre un exemple :

http://www.monsupersite.com

Vous voudriez cliquer sur ce lien qui a la syntaxe et l’apparence d’un lien mais qui n’est malheureusement pas cliquable. Il faut sélectionner fastidieusement le lien, le copier, ouvrir un nouvel onglet, coller et appuyer sur Entrée. Rhaaa!

Deux solutions :

  • modifier ces liens non cliquables en liens cliquables sur tous les sites de l’Alpha à l’Omega
  • télécharger l’addon Text Link pour Firefox qui rend ces liens accessibles en double-cliquant dessus

Personnellement, j’ai choisi mon camp. J’ai déjà modifié 8432 liens.

Readability : un outil pour rendre le web plus lisible

readability

C’est quoi ?

Si vous trouvez que le web est difficile à lire, que ce soit à cause de la taille, la police, les couleurs, les marges… voici un outil qui peut vous faciliter la vie. Readability est un bookmarklet qui transforme n’importe quelle page web en un texte bien présenté.

Exemple

Exemple avec un article de A List Apart :

readability-alistapart

Readability enlève tout le contenu annexe, contextuellement (navigation) et visuellement (images), pour ne laisser que l’essentiel de la page : le corps du texte.

Prendre A List Apart n’est peut-être pas particulièrement pertinent car la présentation du site est déjà excellente en soi, mais j’ai pris cet exemple parce que le contenu y est long et intéressant, et c’est la cible de l’outil Readibility.

Stylez et bookmarklettez

Vous pouvez choisir le style de vos pages, en jouant sur la typographie, les couleurs, la taille et les marges. Puis vous drag-droppez le bookmarklet pour l’utiliser dès que vous visitez une page au contenu intéressant mais mal présenté.

readability-styles

Instapaper-like

Ca me rappelle forcément Instapaper, cet outil qui, en un clic, sauvegarde une version texte de la page pour la rendre disponible par la suite, sur le site, et en offline sur l’iPhone. Un must (gratuit qui plus est).

jQuery gestures : dessinez pour naviguer

jQuery gestures est un plugin qui permet de naviguer en dessinant avec la souris.

D’abord, activez le plugin (en cliquant sur le lien ou en maintenant la touche Ctrl enfoncée pendant que vous dessinez).

1. Image suivante

Cliquez, déplacez vous vers la droite, puis relâchez. Hop! Vous êtes sur l’image suivante.

jquery-gesture-01

2. Ouvrir la page Flickr

Vers le bas, puis vers la gauche, et la page Flickr s’ouvre.

jquery-gesture-03

3. Afficher/masquer l’aide

Bas, haut, droite bas (on dirait un cheat code). Et ça forme un « h ». J’adore.

jquery-gesture-02

Je trouve cette utilisation de jQuery particulièrement intéressante. Il faut voir maintenant si on peut le mettre en pratique à d’autres fins.

Sunday Morning : un traducteur en jQuery

sunday-morning

jQuery + Google Translation = Sunday Morning

Avec ce plugin, vous pouvez offrir à vos visiteurs un traducteur très simple et très léger qui utilise Google comme traducteur. Plusieurs langues sont disponibles. Vous pouvez customiser le délai d’affichage, les coordonnées de la bulle, l’élément déclencheur…

sunday-morning-languages1

Plusieurs langues sont disponibles.

Un bookmarklet très utile

Vous pouvez créer un bookmarklet qui permet d’avoir les mêmes fonctionnalités sur n’importe quel site. Lorsque vous visitez une page en langue étrangère, cliquez sur le bookmarklet puis double-cliquez sur le(s) mot(s) à traduire et une bulle s’affiche. En créant le bookmarklet, vous pouvez choisir la langue et l’interface.

sunday-morning-nytimes

Exempe de traduction sur le site du New York Times

Emuler IE7 avec IE8

Si vous n’avez pas eu la chance de tester la compatibilité de votre site avec le tout récent Internet Explorer 8, ne vous inquiétez pas! Rajoutez cette ligne de code sur tout votre site et il sera compatible IE7:

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />

Merci à David Walsh pour cette astuce.

Administrer ses serveurs avec Twitter

Twitter sert à tout et à rien. Parmi toutes les utilisations (f)utiles que l’on peut en faire, en voici une assez curieuse (et peu recommandable): administrer ses serveurs en twittant des messages.

Avec Twitter et du Python, vous pouvez ainsi contrôler à distance (et sans SSH direct) vos serveurs, et vos amis peuvent faire de même. L’auteur n’y trouve lui-même pas grand intérêt mais voulait partager cette méthode.

iPhone Mockup : faites des croquis pour applis iPhone

croquis-iphone

iPhone Mockup est à l’iPhone ce que Balsamiq est au web : une appli web pour faire des croquis d’interface. (D’ailleurs, Balsamiq inclut depuis peu des éléments d’iPhone).

Attention : l’appli est en version alpha et peut disparaître à tout moment (c’est ce que dit l’auteur 🙂 ).

croquis-iphone-clavier

croquis-iphone-menu

croquis-iphone-liste

Un lien marqué comme visité original

Je suis tombé sur ce post qui recense des sites d’applications iPhone, où le téléphone en lui-même s’avère être un élément de design redoutable. Mais au-delà du contenu de ce billet, ce qui m’a beaucoup plu c’est la manière dont un lien visité est marqué. Pour ceux qui ne le sauraient pas, il est possible de styler différemment les liens qui ont déjà été visités. Par défaut, les liens nouveaux sont bleus, les liens visités sont violets.

Bref, voici comment ils apparaissent sur ce site :

lien-visite-original

J’ai trouvé ça très sympa et très pratique : rajouter une image par-dessus les liens visités grâce à la CSS.

Forcer le retour à la ligne en CSS

Je ne connaissais pas cette astuce et j’en avais besoin pour mon tout récent blog 29minparjour.com où je poste beaucoup de code dans des balises <pre>.

Syntaxhighlighter ? Pas une solution pour moi.

Au début, je voulais utiliser le syntaxhighlighter (très connu et très utilisé) mais je n’aimais pas avoir à spécifier à chaque fois dans le html que tel bloc devait être stylé, et dans quel language. De plus, le code à insérer (name= »code ») n’est pas valide…

J’avoue que le rendu est élégant (sauf avec la version 2.0, la dernière en date). D’ailleurs, Viget Labs avait amélioré le JS en permettant d’agrandir la fenêtre au survol. Une belle amélioration.

Malgré tout, c’était au niveau HTML que je trouvais ça laborieux. Je voulais quelque chose de tout simple.

CSS, aide-moi!

Je voulais juste un simple retour à la ligne pour éviter que les balises <pre> ne dépassent en largeur. J’ai trouvé ça sur le site de Tyler Longren :

pre {
 white-space: pre-wrap;       /* css-3 */
 white-space: -moz-pre-wrap;  /* Mozilla, since 1999 */
 white-space: -pre-wrap;      /* Opera 4-6 */
 white-space: -o-pre-wrap;    /* Opera 7 */
 word-wrap: break-word;       /* Internet Explorer 5.5+ */
}

Ca fonctionne sous FF 3 et IE6. Le comble étant que le reste du site est un encore un peu cassé sous IE6… (soupir)…

Les bonnes et mauvaises pratiques en web design

bonnes-et-mauvaises-pratiques-en-web-design

The do’s and don’ts of modern web design regroupe les bonnes pratiques (do’s) et les mauvaises pratiques (don’ts) en web design. A chaque fois, un lien est fourni vers un article expliquant pourquoi c’est une bonne ou mauvaise pratique.

Bonnes pratiques

Dans les do’s on trouve par exemple :

  • mettre les scripts en bas de page
  • utiliser la bonne Doctype
  • utiliser les sprites CSS (j’suis à moitié convaincu par celle-là)
  • valider son code (pratique pour le présent et le futur)
  • écrire de bons attributs class et id (je déteste les class= »blue » et autres class= »alignleft »)

Il faut dire qu’en l’occurence le conseil « Mix and match Classes » contredit un peu le « Write good class and id names » parce qu’il crée une classe « bordered » (bouh pas bien). Mais dans l’ensemble ça reste cohérent.

Mauvaise pratiques

Dans les don’ts (à éviter donc) on a par exemple :

  • souligner ce qui n’est pas un lien (j’en vois encore)
  • utiliser @import
  • mal écrire son text « alt » pour les images
  • forcer l’ouverture d’une fenêtre (laissez moi le choix bordel!)
  • utiliser les pixels pour le texte (ça dépend du design je dirais…)

Le site aurait du rajouter « oublier de faire un lien sur le logo du site »!

keyboardr : le moteur de recherche le plus rapide ?

keyboardr

Pour chercher sur Google, Wikipedia ou Youtube, simultanément et rapidement, je dois dire que keyboardr a trouvé une formule efficace, en utilisant uniquement les flèches et la touche « Entrée » pour naviguer.

recherche-tres-rapide

TinEye : la recherche d’images inversée

recherche-image-inversee

Vous avez une image, vous voulez savoir d’où elle vient ? TinEye permet de trouver la source des images qu’on lui fournit. Par exemple, si je lui donne une image d’un de mes posts précédénts, sur le premier navigateur web, ça me donne d’autres sites qui utilisent une image similaire.

ColoRotate : les couleurs en 3D

colorotate

Il existe pleins de générateurs de palette de couleur, notamment kuler. Ici, ColoRotate se distingue par une interface 3D où l’axe horizontal correspond à la saturation, et le vertical à la teinte. On peut aussi choisir sur une échelle de blend entre 2 couleurs. Il suffit d’utiliser le menu en bas à droite pour passer de l’un à l’autre.

* Usability Post

Créer des CSS dynamiques avec LESS : un compilateur de CSS en Ruby

less-compilateur-de-css

Ca peut paraître bizarre comme outil, un « compilateur de CSS », mais LESS est avant tout un outil pour écrire plus efficacement une CSS. Ca rend les CSS dynamiques. C’est un outil écrit en Ruby. J’en parle aussi d’ailleurs sur 29minparjour.

LESS = extension de CSS

LESS se veut être une extension de CSS parce que la syntaxe utilisée pour les fichiers .less (les fichiers source) est très proche de la syntaxe CSS. L’efficacité de cet outil consiste en 4 éléments :

  1. Variables en CSS
  2. Mixins : des includes CSS
  3. Nested Rules : une autre façon de définir des sélecteurs d’arborescence
  4. Operations : addition, soustraction, multiplication, division

Variables CSS

En utilisant des variables, on peut regrouper une valeur à un seul endroit pour pouvoir la mettre à jour facilement par la suite.

@maCouleurPrincipale: #0072bc;
a{ color:@maCouleurPrincipale;}
h1{ color:@maCouleurPrincipale;}

Mixins : des includes CSS

Dans une classe, je peux définir plusieurs propriétés puis inclure cette classe dans d’autres éléments. Ca peut s’avérer très pratique pour les propriétés CSS 3 qui ont une syntaxe différente par navigateur.

.coinsArrondis{ border-radius:5px; -moz-border-radius:5px; -webkit-border-radius:5px;}
#global{ .arrondis;}

Nested Rules

Cet outil est le moins intéressant des 4. Il permet de gagner un peu en lignes de code mais je ne le trouve pas très lisible.

#header{
background:#fff;
position:relative;
	.logo{
	position:absolute;
	right:0px;
	}
}

Au lieu d’écrire #header puis #header .logo, je mets directement .logo dans #header.

Opérations

Ca permet d’utilisation des opérations arithmétiques traditionnelles : addition, soustraction, multiplication, division. Ca peut-être pratique si on veut que les marges verticales soient le double des marges horizontales.

@marges:5px;
#global{ margin:@marges*2 @marges;}

Exemple complet

J’ai fait un exemple complet utilisant plusieurs fonctionnalités de LESS. Voici mon fichier source bbxdesign.less :

@color01:#0072bc;
@radius:10px;
.radius{ border-radius:@radius; -moz-border-radius:@radius; -webkit-border-radius:@radius;}
@margin:5px;
body{ color:#333; font-family:Georgia,serif;}
a{ color:@color01; text-decoration:none;}
#global{ background:#fff; .radius; margin:@margin @margin*2;}

Et voici le fichier généré bbxdesign.css :

.radius { -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px; }
a { text-decoration: none; color: #0072bc; }
body { font-family: Georgia,serif; color: #333; }
#global { -webkit-border-radius: 10px; margin: 5px 10px; background: #fff; -moz-border-radius: 10px; border-radius: 10px; }

Installation

Tout se fait en lignes de commande. Il faut avoir Ruby installé sur son ordinateur et installer la gem suivante :

gem install less

Ensuite, en navigant dans le dossier où se trouve le fichier .less, on fait :

lessc monfichier.less

Et le fichier .css est automatiquement généré avec le même nom.

Nom de fichier différent

On peut aussi choisir un autre nom pour le fichier généré :

lessc monfichier.less monautrefichier.css

Automatisation

Parce qu’un fichier CSS est souvent modifier, on peut automatiser la création du fichier .css à chaque modification du fichier .less :

lessc monfichier.less --watch

D’ailleurs, si une erreur existe dans le code, le fichier .css ne serait pas généré. Bien pratique.

Conclusion

Il existe plusieurs méthodes pour avoir des CSS dynamiques. J’en ai déjà vues en PHP ou JSP. Mais ces outils génèrent souvent les CSS à la volée, et il faut donc avoir un serveur derrière qui tourne. Ici, le fichier est « compilé » une bonne fois pour toutes.

Autre avantage : la syntaxe de LESS est très proche de la syntaxe CSS. Il est très facile de prendre une CSS existante et la transformer en fichier LESS. Ca m’a pris 2min d’ailleurs.

Après, est-ce que je vais l’utiliser au quotidien ? Ecoutez, je vais essayer.

Une CSS universelle pour IE6

Que faire face à IE6 ?

  • s’embêter avec des hacks CSS ?
  • faire 2 versions du site ?
  • laisser les bugs partout ?
  • utiliser une CSS alternative ?
  • utiliser du JavaScript pour améliorer la compatibilité ?

IE6, c’est vieux, c’est lourd, c’est moche, c’est chiant. Ca prend du temps, pour pas grand chose, et pour de moins en moins de monde (20% grande moyenne à l’échelle mondiale).

Et puis le web, c’est pour le contenu avant tout. Au lieu d’avoir un site buggé de partout sur IE6, pourquoi ne pas offrir une CSS propre et claire ? C’est l’idée derrière Universal Internet Explorer 6 CSS.

css-universelle-ie6

Tableaux de support des standards sous IE6, IE7, Firefox et Opera

Pour savoir ce que l’on peut utiliser sans craindre une incompatibilité entre navigateurs, on peut se fier à ces tableaux des propriétés HTML, CSS, DOM et ECMAScript. Il manque juste Webkit dans le lot.
tableau-support-proprietes-css
Il y a par ailleurs un tableau résumant tout.

Les mauvais conseils de Google en CSS

google-code

L’objectif de Google, avant tout, c’est la performance. Ils publient d’ailleurs des conseils pour optimiser l’affichage du navigateur.
A la trappe les standards, la beauté, la clarté du code. Extraits choisis.

Prefer class and ID selectors over tag selectors

Mettre uniquement des .class et des #id et pas de a{ color:#0072c;} ou de input{ font-family:Arial,sans-serif;}. Mouais. Faut mettre une classe sur tous ses liens alors ? Génial.

Remove class selectors qualified by tag selectors (when a class is only used for one tag, which is a good design practice anyway)

En gros, pas de a.maClasse et de p.maClasse. Créer plutôt 2 classes : .maClassePourUnLien et .maClassePourUnParagraphe, même si les deux classes partagent les mêmes propriétés, à une près (sinon quel intérêt de les différencier). Mouais, bof. Si je veux que .maClasse soit d’un style particulier mais que les liens ayant .maClasse aient une propriété différente, je vais pas m’amuser à créer une autre classe juste pour ça.

Use class selectors instead of descendant selectors

Je reprends le mauvais exemple de Google :

/* Ne pas mettre */
ul li {color: blue;}
ol li {color: red;}
/* Mais mettre */
.unordered-list-item {color: blue;}
.ordered-list-item {color: red;}

Bien sûr. Je vais mettre une classe sur tous mes <li>…

Avoid the :hover pseudo-selector for non-anchor elements

Pas de :hover en CSS mais des onmouseover en JS. Et si le gars a pas de JS ?

Bref, pour optimiser votre code, mettez des classes sur tous vos éléments! Merci Google!