5160 sujets

Le Bar du forum

Pages :
(reprise du message précédent)

Je viens apporter ma pierre à l'édifice qu'est ce topic...

Pour ma part j'adore les grids, souvent comparé aux carrures et mesures en musique, il permettent d'offrir du rythme et de la prédictabilité. Plus qu'une série de lignes imaginaires, je vois l'emploi des grids comme un moyen de concevoir le placement de tout le contenu d'un site de façon à le rendre homogène, équilibré et lui donner du sense. En d'autres termes, chaque chose a sa place et chaque place a sa chose, et ce de façon réfléchie en amont.

Ensuite je d'accord le fait que ça ajoute de la précision, et que ça facilite le travail d'équipe et la productivité d'avoir un jeu de tailles définies, pas besoin de tout mesurer au pixel prés ou autre...

Là ou je suis moins d'accord c'est par rapport à l'emploi des css frameworks comme 960gs (en production) qui vont à mon avis complètement à l'encontre du but de CSS. Ici on met dans le markup du code qui va changer l'apparence... Un peu comme utiliser <center> quoi et même si ça facilite le travail à première vue, le jour où on veut changer, il faut plonger dans le markup pour aller passer un élément de 3 à 4 colones, alors que l'idée de CSS est justement de ne pas avoir à faire ça...

Celà dit avec des pré-processeurs comme LESS ou SASS par exemple on peut bénificier de ces classes pré-faites sas pour autant "polluer" son markup de .grid_10 tout moches. Et là je dis oui (et je dis même que l'idéal c'est de faire une fonction qui calcule la taille des éléments en fonction du nombre de colones voulues... Tant qu'à faire Smiley lol

D'ailleurs un framework de ce type a fait parler de lui sur le Smashing Magazine il y a peu : http://semantic.gs/ il est présenté comme révolutionnaire, la réalité c'est que j'en avais fait un comme ça avant (rétablissage de vérité) et que je connais beaucoup d'autres développeurs qui l'avaient fait aussi, m'enfin bref c'est pas une catastrophe, ce qui compte c'est qu'il y ait une solution facile d'accès pour ceux qui sont intéressés Smiley smile

Sinon l'idée de grid ça vient pas forcément du print, ça remonte facilement à plus loin, dans une forme plus simple, la règle des tiers est utilisée par exemple dans Mona Lisa et de nombreuses autres techniques utilisant les chiffres en architecture comme le nombre d'or pour Notre-Dame de Paris... Bref utiliser des "limitations" et des chiffres supposés naturels et beau n'est pas une révolution qui vient du print même si ils ont beaucoup contribué à leur évolution...

D'ailleurs pour ceux qui aiment bien sortir leur calculette, on peut aussi avoir des grilles et rythmes typographiques, c'est tout aussi fun.

Enfin pour terminer, créer ses propres grids n'est pas forcément le plus simple, mais c'est pourtant ce qui est le plus sensé à mon goût : designer le contenu, et non pas le faire rentrer dans des cases... Concevoir sa grille en fonction de ce que l'on met dedans plutôt que l'inverse.

Pour ceux que ça intéresse, le livre Grids : Ordering Disorder est assez bien sur le sujet et permet d'apprendre une méthodologie simple mais efficace pour créer ses grids soit même plus les premiers paragraphes qui discutent de l'intérêt d'une telle pratique.

Et pendant que je suis lancé, il y a aussi modularscale.com qui permet de créer des grilles modulaires en utilisant des ratios assez connus, si vous voulez jouer aux scientifiques du pixel... Bref y'a de quoi faire avec les nombres et le design !

a écrit :
Par exemple sur Le monde, si tu regarde bien les photos qui illustrent les articles, elles sont toutes proportionnelles(pour éviter d'avoir à les rogner) et déclinées en 3 tailles(grande, moyennes et petites).


Et à vue d'oeil, largeur = hauteur * 1.618 le Golden Ratio étant 1:1.618 je doute que ça soit un hasard Smiley smile

De nombreux sites utilisent des formats prédéfinis, il y en a vraiment beaucoup... Si ce sujet intéresse quelqu'un qui, en plus, aime bien les graphiques ou a prévu de bosser sur des tableaux et trucs du genre, Designing with Data chez Five Simple Steps traite du sujet (de façon divertissante et poussée) et un joli chapitre est consacré à l'utilisation des maths dans le design en général... Suite de Fibonacci, Silver Number, formats de papier internationaux, j'en passe et des meilleures...

Vue que je suis parti à balancer des liens, on trouve aussi http://www.webdesignerdepot.com/2010/07/using-landmarks-makes-page-layout-easy/ qui est plus sur l'utilisation d'images avec les grids mais c'est intéressant à lire... Bref y'a trop à dire pour caser le tout dans un seul post sans provoquer une hécatombe due à l'ennui des éventuels lecteurs donc je vais m'arrêter là Smiley lol
Modifié par HammHetfield (04 Sep 2011 - 21:04)
Il faut quand même prendre un peu de recul vis à vis la sacro-sainte culture de la sémantique HTML/CSS.

Et surtout, je crois qu'il faut être en mesure de considérer différentes avenues dans la manière d'utiliser la sémantique.

Tout d'abord, oui les grilles incluent du code non - ou peu - sémantique. Ceci serait nuisible puisque l'idée de base des CSS est que nous pourrions construire n'importe quelle site à partir d'une feuille CSS - et au final ne changer que la CSS lors de multiples refontes.

Mais dans la réalité, les choses ne se passent pas réellement ainsi. Si on peut totalement changer le design d'un site en changeant les CSS, cela n'est pas aussi vrai pour la structure d'un site.

La manière dont les blocs sont structurés et présentés est intrinsèquement lié à la disposition des nos éléments HTML. On ne pourra pas ramener une sidebar de manière propre dans le footer sans modifier notre fichier .html

Et mon constat sur ce point est que la structure d'une page (l'emplacement des blocs et son layout général) est directement lié à la structure du HTML. À partir de là, est-il réellement correct de s'opposer à l'ajout de classes à des blocs HTML gérant l'affichage ? Je ne le crois pas, et c'est un peu dans ce sens que va le principe d'OOCSS (Object-Oriented CSS) de Nicole Sullivan.

J'étais assez froid au début au principe de créer plus de sémantique en produisant un code HTML moins sémantique. Mais en y regardant de plus près, plusieurs principes tombent sous le sens et me semblent au final répondre à plusieurs besoins de base de l'intégrateur.

Je vous invite vivement à en lire un peu plus sur le projet. Ce dernier propose une feuille de style de base, c'est plus ou moins intéressant, mais c'est le principe qui est très important!

http://oocss.org/
https://github.com/stubbornella/oocss/wiki/faq
Je suis d'accord sur le fait qu'il faille prendre du recul... Néanmoins je pense qu'avec l'arrivée des nouvelles balises HTML5 et les nouveautés css3, on se rapproche de plus en plus d'un markup "sans" ajout qui n'a pas besoin d'être fait en fonction du design final, mais tout simplement comme il devrait être codé de façon sémantique...

Ca veut dire moins d'éléments qui ne servent qu'à la déco, facilité de placer les éléments autrement qu'ils n'apparaissent dans le markup etc etc... A partir de là, je ne vois pas pourquoi l'idée de gérer toute l'apparence dans le css et le contenu dans le html ne serait pas possible.

Et puis en fonction des sites sur lesquels on bosse, on a pas toujours à tout refaire, parfois ce n'est qu'une partie qui a besoin d'un petit coup de frais ou d'une amélioration... Si y'a pas besoin de toucher au contenu, je trouve ça dommage de le faire pour changer des class dans le markup.
En fait, je suis d'accord avec toi, sauf au niveau de la structure/layout.

Dès qu'on veut changer un élément de place, on devra modifier son code HTML. (on s'entend, pas si on veut changer une sidebar de gauche à droite, mais une modification un peu plus complexe)

Oui, cela se fera en CSS (table-header-group, etc), mais ce sera sans aucun doute beaucoup plus complexe à la relecture que le simple fait de changer un bloc div d'endroit dans sa page HTML.

Cela dit, le principe de l'OOCSS n'amènera pas nécessairement l'intégrateur à retravailler le code HTML. Mais à retravailler un "objet CSS", un module indépendant de ses voisins en autre mot.

Et les classes seront évidemment le plus sémantique possible. Par exemple, les couleurs pourraient être gérés ainsi:


.light-color{}
.normal-color{}
.dark-color{}



Alors en cas de changement de palette de couleur, on n'aurait qu'à modifier notre feuille CSS des différents types de couleur.

Évidemment, il y a à prendre et à laisser. Mais, sur le sujet abordé ici, l'ajout de classe non sémantique en CSS pour la gestion de grille est loin d'être problématique dans l'optique qu'une modification du code HTML sera de toute manière nécessaire lors d'une refonte graphique en profondeur.
Je suis d'accord avec toi pour OOCSS, sur le papier ça semble vraiment intéressant... celà dit quand ça touche au layout... Je sais pas, j'ai pas envie d'avoir des .gird_8 dans mon markup quoi, c'est euh...

Mouai y'a peut être pas de fondement au final, mais perso je préfère utiliser un pré-processeur css qui au final me simplifie le travail pour pas mal d'autre choses que d'utiliser un framework css tel quel. Mais va falloir que je regarde attentivement OOCSS.
HammHetfield a écrit :
Je sais pas, j'ai pas envie d'avoir des .gird_8 dans mon markup quoi, c'est euh...
D'accord avec toi sur le fond. Seulement, OOCSS se destine plutôt à de très gros projet avec forcément plus de contraintes. Un certain pragmatisme est donc de mise.

Et comme le disait @fvsch, osef de la sémantique des classes tant que le markup en lui même reste cohérent.
Florian_R a écrit :
Et comme le disait @fvsch, osef de la sémantique des classes tant que le markup en lui même reste cohérent.


.grid_8 -> 8 unités relatives à la largeur de la grille, y'a pire comme sémantique, sachant que 960 px pour la grille de base mais il y a plusieurs largeurs disponibles et le nom des classes ne change jamais.

En passant : http://978.gs/ vraiment très bien pour remplacer 960.gs
Modifié par jb_gfx (06 Sep 2011 - 00:03)
Déjà merci à tout les intervenants, je suis bien content d’avoir poster ce sujet sur le forum Alsacréations, sujet qui me semble avoir sa place sur ce forum vu la qualité des réponses.

Les grilles comme solution ultime à toute conception web, l’outil qui révolutionna la communication entre les créatifs et les intégrateurs, j’en doute.

Un projet bien ficeler commence par une réflexion avec la feuille blanche et le crayon, reporter l’ensemble sur une grille, peut importe la grille, Photoshop, Illustrator ou autre, n’a que très peut d’importance, les principes étant toujours les mêmes, du nombre d’or à la suite de fibonacci en passant par l’interlignage etc…

Les grids sont un outil comme un autre, plus ou moins facile à prendre en main selon le choix du Framework, quoi qu’il en soit elles ne sont en rien une obligation ou une garantit d’un meilleur résultat.

Personnellement ma préférence va ver 978 grid système, comme quoi tout les gouts sont dans la nature, et que seul les idiots ne changent pas d’avis

Les Framework css ne ce résume pas à, c’est bien, c’est pas bien, tellement de choses à dire qu’elles mériteraient à elle seul une section du forum.
Modifié par Crock-Man (07 Sep 2011 - 11:44)
Vaxilart a écrit :
Il faut quand même prendre un peu de recul vis à vis la sacro-sainte culture de la sémantique HTML/CSS.

Surtout que «sémantique HTML/CSS» ne veut rien dire. Smiley smile «Sémantique HTML», oui.

Vaxilart a écrit :
Tout d'abord, oui les grilles incluent du code non - ou peu - sémantique.

Plus précisément, c'est du code qui n'a pas d'impact sur la sémantique du document HTML.
D'accord avec tout le reste.

Vaxilart a écrit :
.grid_8 -> 8 unités relatives à la largeur de la grille, y'a pire comme sémantique

Pour éviter de confondre avec la notion de sémantique en HTML, mieux vaut parler de convention, système ou logique de nommage.

(Ce qui est drôle c'est que d'habitude quand je fais des distinctions de vocabulaire comme ça, on me répond «pfff, tu joues sur la sémantique». Smiley lol )
Salut,
fvsch a écrit :
Surtout que «sémantique HTML/CSS» ne veut rien dire. Smiley smile «Sémantique HTML», oui.

fvsch a écrit :
Pour éviter de confondre avec la notion de sémantique en HTML, mieux vaut parler de convention, système ou logique de nommage.

(Ce qui est drôle c'est que d'habitude quand je fais des distinctions de vocabulaire comme ça, on me répond «pfff, tu joues sur la sémantique». Smiley lol )

Bref, comme le dit judicieusement le W3C :
W3C a écrit :
Use class with semantics in mind

Smiley cligne
HammHetfield a écrit :
Je sais pas, j'ai pas envie d'avoir des .grid_8 dans mon markup quoi, c'est euh...

... efficace?
... pertinent?

:)

En fait si on veut faire des CSS modulaires, ce qui devient un peu indispensable sur des gros projets, il y a deux manières de faire. Dans les deux cas on va définir un jeu de styles (à priori des classes) qui définissent différents aspects visuels, qui fournissent des outils de positionnement, etc. La granularité exacte de ce jeu de styles et le nommage des classes va dépendre du projet, de l'équipe, etc.

Dans un premier cas on va travailler sur des templates HTML et exploiter directement le jeu de classes:
<div class="module machin-1 bidule-4">
  <h3 class="heading-2">...</h3>
  <p class="para-2">...</p>
</div>


Dans un deuxième cas on va avoir des classes/identifiants qui font plus référence au contenu (c'est pas plus sémantique, c'est juste une autre manière de faire) et limiter leur utilisation en exploitant les éléments parents/ancêtres:
<div class="latest-news-item">
  <h3>...</h3>
  <p>...</p>
</div>

Et dans une proto-feuille de styles type Sass ou LESS on va faire la même chose qu'on faisait dans les templates HTML dans le premier cas de figure:
.latest-news-item {
  /* -> fonction pour copier les styles "module" */
  /* -> fonction pour copier les styles "machin-1" */
  /* -> fonciton pour copier les styles "bidule-4" */
}
.latest-news-item > h3 {
  /* -> fonction pour copier les styles "heading-2" */
}
.latest-news-item > p {
  /* -> fonction pour copier les styles "para-2" */
}


Dans le premier cas, pour la maintenance courante des contenus ou styles de contenus (qui ne demandent pas de changement ou d'évolution particulière du jeu de styles déjà défini), on va devoir modifier les templates HTML.
Dans le deuxième cas, on va devoir modifier soit les proto-feuilles de styles, soit les templates HTML (modification du contenu), soit les deux (ah finalement c'est pas un H3 mais un H4 qu'il nous faut, et puis aussi on va avoir un snippet plus riche dans un DIV plutôt que dans un P, ah mais du coup faut aussi modifier nos sélecteurs dans la proto-feuille de styles...).

Je préfère la solution plus directe, mais les deux se valent niveau méthodologie je pense.
Par contre la solution avec feuille de styles compilée risque d'être plus lourde car la factorisation qu'on garde en développement on la perd en production. Je ne crois pas que les petits gains sur le poids du code HTML soient équivalents.
Victor BRITO a écrit :
Bref, comme le dit judicieusement le W3C : (...)

Gaffe quand tu dis «le W3C». Ce n'est pas une spec. Contre-citation qui va bien (dans la même page):
a écrit :
While the tips are carefully reviewed by the participants of the group, they should not be seen as anything else than informative bits of wisdom, and especially, they are not normative W3C technical specifications.


Une classe "blueborder" peut être beaucoup plus pertinente que warning, ça va dépendre du projet.
Bon, faut vraiment avoir l'habitude d'utiliser les grid pour gagner du temps, j'ai fait un petit test histoire de voir Smiley biggrin

Smiley sweatdrop dur, dur les grid, je mets 3 fois plus de temps pour la même chose, j'ai fait le test avec un design vite fait mal fait dans Photoshop :

upload/38580-demo.jpg

Ceci dit j'avais du temps à perdre, j'ai donc intégré le pseudo-design dans wordpress, pas de souci sans Framework, mais bon j'ai abandonner avec les css préfabriqué du Framework Smiley biggol

Sa demande un temps d'adaptation assez conséquent la bestiole Smiley biggrin , et pourtant le design dur de faire plus simple, ou alors c'est la page blanche.
c'est bizarre parce que normalement tu galères moins, vu que t'as des dimensions précises, t'y vas pas au tatonnement. Smiley eek
En même temps tu as pas utilisé les grilles comme c'est prévu, donc forcément au moment de coder, ça aide pas...

Tu n'as pas divisé les gouttières en deux, donc forcément tu t'es retrouvé avec des dimensions dans ton design qui n'étaient pas celles prévues par le framework... Les repères devraient être sur les bordes des colones rouges (intérieur de la colonne) et au milieu des bandes blanches (milieu de la gouttière)...
jb_gfx a écrit :
Et si tu expliquais pourquoi tu as galéré et mis 3 fois plus de temps ?


C'est quand on ne lit pas le mode d'emploi, comme d'habitude je ne m'adapte pas au Framework, je le plie, je tord le bidule histoire de n'en faire qu'à ma tête, ah la vache, faut être flexible qu'il me disait mon boss Smiley biggol

jmlapam a écrit :
c'est bizarre parce que normalement tu galères moins, vu que t'as des dimensions précises, t'y vas pas au tatonnement.


Les dimensions précises tu les as toujours, enfin en principe, tu ne place pas les éléments au petit bonheur la chance.

HammHetfield a écrit :
En même temps tu as pas utilisé les grilles comme c'est prévu, donc forcément au moment de coder, ça aide pas...

Tu n'as pas divisé les gouttières en deux, donc forcément tu t'es retrouvé avec des dimensions dans ton design qui n'étaient pas celles prévues par le framework... Les repères devraient être sur les bordes des colones rouges (intérieur de la colonne) et au milieu des bandes blanches (milieu de la gouttière)...


Me disais bien qu'il y'a un truc qui merdouille Smiley confused
Smiley lol



C'est pas ce que je voulais dire mais j'ai mal formulé, il est vrai.
L'avantage des grids est que cela te force à bien penser ton design avant de coder, en cela tu gagnes en temps et en précision. C'est en tout cas une tendance que j'avais avant que de modifier les dimensions en pleine intégration ( Smiley bawling ).
Semantic GS semble effectivement une solution intéréssante, je suis tombé sur l'article de Smashing Magazine ce matin, quelqu'un à un retour d'expérience dessus ?
ernstein : J'ai un retour de ce que je m'étais fait qui est similaire et c'est relativement pratique... Niveau temps passé c'est pareil que d'écrire .grid_8 dans sont markup sauf qu'on le fait dans son fichier LESS à la place mais sinon ça revient grosso modo au même...
Pages :