14 juil

CSS : Coder en ligne ou déployé ?

En ligne ou déployé ?

Pour certains (dont moi), coder en CSS est une question de clarté, de pratique et donc de voir directement où nous en sommes. Chez certains développeurs, il est plus pratique de développer en mode déployé, c’est à dire, revenir à la ligne à chaque propriété CSS, un peu comme ça :

#header #menu ul .link{
   float: left;
   width: 150px;
   background: url(img/header.jpg) top left no-repeat;
   padding: 5px 0 15px 9px;
}

Je l’admet, il est plus clair de lire les propriétés CSS sous cette façon là, mais quand on possède 1475 lignes de code, et qu’on doit retrouver une certaine ligne, si on ne commente pas forcément son code et qu’on est pas adepte du Ctrl/Cmd + F, ce n’est pas la joie. Enfin je trouve.
D’autres personnes préfèrent coder "inline" ; c’est-à-dire mettre toutes les propriétés sur une seule ligne, de la manière suivante :

#header #menu ul{height:31px; clear:both; padding-left:2px; line-height:16px; background:url(img/decors/liseparation.gif) top left no-repeat;}
#header #menu li{float:left; height:31px; padding-right:2px; line-height:16px; background:url(img/decors/liseparation.gif) top right no-repeat;}
#header #menu li a{display:block; padding:7.5px 20px; text-align:center; color:#e1e6e8; font-size:14px; background:url(img/decors/limenu.gif) top left repeat-x; text-decoration:none;}
#header #menu li a:hover{color:#fff; background-position:bottom left; text-decoration:none;}

C’est un autre genre de lecture et de programmation, mais personnellement j’y ai une certaine aise à faire de la sorte. Petite exemple concret. D’un côté un code déployé.

Puis certains, dans la même optique que le code inline, codent en "indentant" ; pour mieux s’y retrouver (je pense), ils tabulent la propriété enfant issue d’une propriété parent :

#header #menu ul{height:31px; clear:both; padding-left:2px; line-height:16px; background:url(img/decors/liseparation.gif) top left no-repeat;}
   #header #menu li{float:left; height:31px; padding-right:2px; line-height:16px; background:url(img/decors/liseparation.gif) top right no-repeat;}
      #header #menu li a{display:block; padding:7.5px 20px; text-align:center; color:#e1e6e8; font-size:14px; background:url(img/decors/limenu.gif) top left repeat-x; text-decoration:none;}
      #header #menu li a:hover{color:#fff; background-position:bottom left; text-decoration:none;}

Choisir la manière de coder est souvent une contrainte, souvent quand on collabore sur un projet, dans une web-agency par exemple ou dans la réalisation d’un site web où deux personnes codent différemment. Généralement on fixe une façon de faire que les personnes concernées se devront de respecter : c’est mieux pour tout le monde, c’est un gain de temps et c’est plus clair !

Exemple concret : préférez vous 30 lignes de code commentés en mode inline, ou plus de 150 lignes de code (pour le même résultat) ? Mon choix est déjà fait ;)

Code CSS codé inline Code CSS codé déployé

Personnellement j’ai choisi la solution "full inline" car je sais exactement où est quoi (notamment grâce à la coloration syntaxique que je possède – au passage si vous la voulez, là voila, c’est pour TextMate -) et que j’y insère une convention de programmation spéciale (clear, float, position, top, right, bottom, left, width, height, margin, padding, color, background… respectivement). Ne me demandez pas pourquoi, je vais plus vite, je suis habitué et je m’en porte très bien comme ça !

De plus, il est prouvé (et logique) que le code un minimum "compressé" (de manière native au possible, ça évite de compresser toutes les 5mn) est plus rapide à charger (de par le nombre de lignes présentes) comparé au code déployé. Gain en poids, en lisibilité, en pratique… ? Le choix n’est pas souvent facile.

Et vous, vous préférez coder en ligne, indenté, déployé ou d’une autre manière ?

Tout comme les 8 personnes qui ont commenté cet article, postez le votre !

A propos de Flayks

Flayks est Webdesigner et Intégrateur xHTML, CSS, & Javascript en freelance mais aussi étudiant en graphisme à Montreuil. Il aime tout ce qui concerne le web mais aussi et surtout, la musique ! Vous pourrez consulter son portfolio pour voir ses réalisations.

8 Commentaires

  • #1

    Par ShadowKris le 14 juillet 2009 à 15:41

    Déployé & indenté pour moi :)
    Quand je dois reprendre une CSS en full inline ça me met de mauvais poil, même si les parties sont commentées et la coloration syntaxique est bonne, c’est absolument insupportable à lire ^^
    C’est juste plus rapide à écrire.

    RépondreRépondre
  • #2

    Par Flayks le 14 juillet 2009 à 15:43

    @ShadowKris Ben en fait avec tous les bundles que j’ai fais sous TextMate (mr = margin-right, pb = padding-bottom) j’ai acquis une rapidité vraiment sympathique, donc coder inline ça devient naturel et ultra rapide, pour ma part :)

    Chacun ses gouts comme on dit ^^

    RépondreRépondre
  • #3

    Par Sakacoco le 15 juillet 2009 à 19:20

    Du déployé sinon rien, même si c’est commenté ou autre, ça m’enrage de devoir le déployer moi même =p

    Mais bon après, chacun ses goûts oui =)

    RépondreRépondre
  • #4

    Par Amaury le 16 juillet 2009 à 16:52

    Déployé non-indenté à 100%. Sinon je m’y retrouve pas !

    Généralement je repère ce qui ne va pas sur Firebug et je fait un petit Ctrl+G sous Notepad++ (Aller à la ligne) et c’est réglé.

    Tout comme le fait que je fait :
    if(…)
    {

    }

    plutot que :
    if(…) {
    ….
    }

    La deuxième façon d’indenter est insuivable pour moi. Chacun ses gouts ^^

    RépondreRépondre
  • #5

    Par Amaury le 16 juillet 2009 à 17:06

    (Désolé du deuxième post)

    Je suis sous Notepad++ et j’ai trouvé un convertisseur tmTheme vers Notepad++, quel est le nom de ta police que je trouve l’équivalent sous Windows ?

    RépondreRépondre
  • #6

    Par Flayks le 16 juillet 2009 à 17:08

    @Amaury elle s’appelle Inconsolata, elle est gratuite et disponible ici : http://www.levien.com/type/myfonts/inconsolata.html ;)

    RépondreRépondre
  • #7

    Par Amaury le 16 juillet 2009 à 17:25

    Merci bien :)

    RépondreRépondre
  • #8

    Par Akashrine le 16 juillet 2009 à 18:46

    Perso j’ai un choix un peu étrange. Je déploie essentiellement pour mes divs. Mais par exemple mes classes prédéfinis strong, em, h1 .gutter etc… sont en inline.
    Pour la simple et bonne raison que je ne compte pas relire ce que je considère comme « efficace et fonctionnant ».

    RépondreRépondre