html5

The future is near

La technique @font-face (1 de 2)

Certains utilisent sIFR, d’autres utilisent Cufon et d’autres préfèrent @font-face en CSS. Le but de ce billet n’est pas de vanter une des techniques en particulier, mais plutôt de vous décrire la technique ­@font-face qui est à mon avis, quelque peu délaissé. Cette technique pourrait par contre être de plus en plus utilisée avec l’utilisation de CSS3.

@font-face n’est pas une nouveauté de CSS3. Cette technique était déjà présente avec CSS2 et nous pouvions même l’utiliser avec la version 5 d’Internet Explorer. Le problème est qu’elle prenait seulement en compte les polices ayant le format .eot et les autres navigateurs, à l’époque, avaient décidé de ne pas utiliser ce format.

@font-face est une propriété CSS qui est prise en compte par Firefox depuis la version 3.5 (donc il y a peu de temps…) ce qui peut expliquer le pourquoi qu’elle n’est pas encore la plus populaire à l’heure actuelle.

Comme sIFR et Cufon, elle apporte l’avantage que les utilisateurs d’un site Web n’ont pas à avoir les polices utilisées sur le site Web. Par exemple, je pourrais décider que mon texte est uniquement écrit en Futura et même si vous n’avez pas cette police d’installé sur votre ordinateur, vous verriez pareil l’affichage avec le texte en Futura.

Cette méthode ne requiert également aucun code JavaScript comparativement à Cufon et sIFR. Nous n’avons donc plus besoin de nous soucier si JavaScript est activé ou non.

Jusqu’à maintenant, cette technique semble avoir que des avantages, mais elle n’est évidemment pas parfaite. En effet, en utilisant la technique @font-face en CSS, nous exposons facilement à la vue de tous le téléchargement de nos fontes. En regardant notre code source, n’importe qui peut voir l’emplacement du fichier et le télécharger. Ce n’est pas un problème pour des fontes gratuites, mais dû moment que ce sont des fontes payantes, nous tombons dans l’illégalité.

Prenons par exemple une personne achetant son pack Helvetica. Il utilise Helvetica Neue pour son texte et utilise @font-face. Je me rend sur le site Web en question, analyse quelque peu le code source et en moins d’une minute j’ai maintenant Helvetica Neue comme nouvelle fonte sur mon ordinateur.

La ligne peut être mince quant à l’utilisation de cette méthode. Elle peut être fort utile si vous utilisez des fontes gratuites qui ne se retrouvent pas nécessairement sur l’ordinateur de vos visiteurs. Par contre, il faut rester très vigilant pour ne pas tomber dans l’illégalité.

Dans le prochain billet, je montrerai un exemple d’utilisation de la technique @font-face.

Post to Twitter Tweet This Post

Aperçu des transitions en CSS3

Récemment, j’ai vu passer certains trucs dans mon Twitter concernant les transitions en CSS3. Le premier exemple que j’avais vu ne m’avait guère impressionné, mais je m’y suis un peu plus intéressé et voilà que je trouve cela beaucoup plus convainquant.

Compatibilité

Pour l’instant, les transitions en CSS3 sont compatibles sur Safari 4 et Chrome 3.

Les propriétés à connaitre

transition-property : détermine sur quelle propriété CSS nous voulons que la transition soit appliquée (ex : background, color, etc)

transition-duration : détermine la durée de la transition

transition-timing-function : détermine l’accélération/décélération de la transition

transition-delay : détermine le délai avant que la transition s’effectue

Raccourci/Shorthand

selecteur  {
    transition: opacity 2s ease-in;
}

Voici deux exemples sur les transitions CSS :

Demo 1

Demo 2

Vous pouvez télécharger ci-dessous les deux exemples que j’ai faits avec les transitions.

Télécharger le premier exemple sur les transitions CSS.

Télécharger le deuxième exemple sur les transitions CSS.

Que va amener les transitions CSS ? Ces nouvelles possibilités vont nous amener à délaisser encore une fois Flash. Je dis encore une fois, puisqu’HTML5 nous amène déjà à le délaisser. Nous n’avons qu’à penser à la balise <video> entre autre. Il ne sera plus nécessaire d’avoir recours à Flash et d’absolument utiliser Javascript pour ajouter plus d’interactivité dans nos sites Web. Les transitions CSS « vont faire la job » pour créer des animations de base.

Avec toutes ces nouvelles possibilités, il n’y aura plus d’excuse pour abuser de Flash dans nos sites Web…

Voici un excellent site Web pour voir différents exemples sur les transitions en CSS3 :

http://www.alsacreations.com/tuto/lire/873-transitions-css3-animations.html

Pour en savoir davantage sur les transitions en CSS3, je vous invite également à lire la spec du W3C.

Post to Twitter Tweet This Post

Multiple backgrounds CSS3

Comme vous le savez, je m’intéresse beaucoup à HTML5 et à CSS. Jusqu’à maintenant, j’avais quelque peu délaissé la future version de CSS pour me consacrer à HTML5 (et mes 10 000 projets personnels, mais bon…).

Aujourd’hui, je vous offre une nouveauté de CSS3 que j’attends depuis un bon moment et qui risque de me faire sauver de l’argent sur les tylenols. Depuis que je fais du design web, il m’est arrivé de me casser la tête en CSS pour faire certains trucs. Non pas que je ne connais pas CSS, mais plutôt parce que la version actuelle a été négligé.

En effet, il n’est pas possible avec la version 2 de CSS d’appliquer plusieurs images en background à un même élément. Pourquoi? Aucune idée. Il est pourtant évident que tous aurait bénéficié de pouvoir le faire. Heureusement que CSS3 va être terminé un jour…

Voici donc comment appliquer plusieurs backgrounds à un même élément en CSS3 :

#twitterWidget {
	/* L'ORDRE POUR PLACER LES BACKGROUNDS EST IMPORTANTE */
	background-image:    url(../images/box-bg-top.jpg),
                             url(../images/box-bg-middle.jpg),
                             url(../images/box-bg-bottom.jpg);
	background-position: top left, center center, bottom left;
	background-repeat:   no-repeat, repeat, no-repeat;
}

Dans notre exemple, nous avons 3 images différentes. Une pour le haut, une autre pour le milieu et finalement une pour le bas. Il suffit de séparer nos déclarations par des virgules pour appliquer plus d’un background à un élément. Aussi simple que cela.

Remarque : L’ordre dans lequel nous plaçons nos backgrounds est important. Il est préférable de suivre cet ordre logique : top, middle, bottom.

À noter que les backgrounds multiples ne sont pas pris en compte par Firefox 3.5. Je vous conseille donc de faire les tests sous Chrome 3.0 et Safari 4.

Télécharger l’exemple des backgrounds multiples en CSS3.

Voici le lien pour voir l’exemple en ligne : http://ins.pire.me/open-source/css3/exemple01-background/demo.html

L’icône Twitter utilisée à été créé par la designer Mirjami Manninen.

Post to Twitter Tweet This Post

L’utilisation des FLAGS en CSS

Ayant travaillé sur plusieurs projets impliquant du code CSS, je me suis rendu compte qu’il arrivait rapidement que l’on ne se retrouve plus dans ses propres fichiers. Ce n’est pas nécessairement dû à des mauvaises pratiques, mais plutôt au fait qu’un fichier CSS peut rapidement devenir volumineux. En effet, il suffit d’avoir environ 5 sections pour que l’on commence à devoir user de la barre de défilement pour parcourir nos fichiers.

Il existe une technique toute simple permettant de rechercher rapidement dans nos fichiers CSS et c’est d’utiliser des FLAGS. Les FLAGS sont des mots-clés que l’on peut placer au début de nos sections.

Ex :

/* ---------------------------------------------------
Navigation principale  =navPrin
----------------------------------------------------*/
nav {…}
nav ul {…}
nav ul li {…}

En mettant un = devant le mot-clé, il suffit de rechercher =navPrin pour facilement trouver la section d’un seul coup. Nous nous assurons également d’être positionné au début de la section que l’on recherche et d’éviter de passer d’une occurrence à une autre. Toujours en pensant en fonction d’HTML5, vous risquez d’avoir plusieurs occurrences de la balise header, nav ou footer. Il est donc d’autant plus utile d’utiliser les FLAGS CSS pour trouver nos sections rapidement.

Et vous, quelles méthodes utilisez-vous pour vous retrouver facilement dans vos fichiers CSS?

Post to Twitter Tweet This Post

Comment bien organiser ses feuilles CSS? (Partie 1)

Ceci est la première partie de comment bien organiser ses feuilles CSS. Vous trouverez la partie 2 la semaine prochaine.

Plusieurs personnes utilisent leur propre méthode pour organiser ses feuilles de styles. Certains préfèrent utiliser qu’une seule ligne pour toutes leurs déclarations tandis que d’autres préfèrent indenter le plus possible leur code. Existe-t-il une méthode à privilégier pour s’assurer de créer des gabarits de qualité? Il en existe plusieurs, mais je vais vous décrire celle que moi j’utilise dans pratiquement tous mes projets. Je ne dis pas quelle est la meilleure, mais je crois qu’elle offre beaucoup d’avantages.

Tout d’abord, je déclare toujours 2 feuilles de styles dans toutes mes pages HTML. J’ai toujours mon « master.css » (qui est mon fichier maître) et mon fameux « reset.css ».

« master.css » comprend plusieurs autres fichiers comme par exemple base.css, typography.css, layout.css, etc…

Chacun de mes fichiers CSS contient un en-tête séparé en 4 sections : les informations de base, ma « table of content », les couleurs et finalement les « flags ».

Les informations de base sont les suivantes : le nom du fichier, sa description, l’auteur, la date de création et la date de la dernière modification.

Ma « table of content » est en faite toutes les grosses sections qui sont présentes dans mon fichier. Ex : header, navigation, content, footer, etc.

Mes couleurs sont une liste des couleurs que j’utilise plusieurs fois dans le même fichier.

Mes « flags » sont là pour faciliter la recherche dans mes fichiers CSS. (Je ferai un autre post prochainement sur l’utilisation et l’efficacité des flags.)

En ayant un en-tête dans tous vos fichiers, il devient plus simple de bien comprendre le fichier en question. De plus, si dans le futur une autre personne se doit de faire des modifications dans l’un de vos fichiers, cette personne ne pourra qu’en bénéficier puisque qu’elle pourra trouver ce qu’elle cherche rapidement. Le temps c’est de l’argent comme on dit…

Et vous, comment organisez-vous vos en-têtes de fichier?

Exemple d’en-tête de fichier CSS :

/**********************************************
MAIN INFO

@filename           : layout.css
@description        : Voici la description de mon fichier CSS
@authors            : Simon Guérin
@date               : September 22 2009
@modification       : September 23 2009

TABLE OF CONTENTS

#header
#content
#nav
#footer

COLORS

#8h1h2h        ------ light blue
#333333        ------ dark gray

FLAGS

=header
=content
=nav
=footer

**********************************************/

Post to Twitter Tweet This Post

HTML5 vs XHTML vs XHTML2 vs XHTML5

Ne traitant pas de l’histoire et de la courte durée de vie d’XHTML2 ici, je me dois de faire une légère parenthèse.

Voir XHTML2 is DEAD — http://www.webdirections.org/blog/xhtml2-is-dead-long-live-html5/

Blog HTML5 - Mieux comprendre l'histoire d'XHTML2 vs HTML5

Comme vous le savez sans doute, certains développeurs décident de bâtir leurs pages en XHTML et d’autre en HTML. Pour ma part, je programme toujours en XHTML (strict) pour m’assurer d’être le plus conforme aux standards du W3C et m’obliger à écrire du code qui a de l’allure.

Nous pouvons déjà utiliser HTML5 et dans quelques temps, il sera de plus en plus utilisé par les développeurs web. Cette nouvelle version promet un bel avenir au futur du web, mais qu’arrivera t-il à ceux qui programmait en XHTML?

Sachant que la nouvelle version d’XHTML est « abandonnée » et sachant que nous devrons bientôt passer à HTML5, je vois alors encore une fois une occasion de mal programmer. Je m’explique…

Oui HTML5 va changer beaucoup de trucs, mais un des désavantages est qu’il est encore beaucoup trop permissif tout comme l’est HTML4 en ce moment. Pourquoi ne pas obliger les gens à certaines règles toutes simples pour s’assurer d’avoir des pages contenant du code plus clair?

Avec HTML5, il sera encore possible de :

  • - ne pas fermer certaines balises
  • - mettre les balises et/ou propriétés en MAJUSCULES
  • - etc…

Je suis peut-être un peu perfectionniste, mais il me semble que ça fait plus de 10 ans qu’on a beaucoup de sites web mal programmés. Il reste par contre une option…

XHTML5. Ce n’est pas un nouveau langage. Ce n’est pas « officiel » non plus, mais je crois que les gens qui passent d’XHTML à HTML5 vont plutôt faire du XHTML5. La recette est simple, tu prends les bonnes pratiques d’XHTML et tu les mélanges avec HTML5. Le résultat va s’avérer succulent et vos clients ne vont qu’en bénéficier.

Post to Twitter Tweet This Post

Aperçu d’HTML5

Blog HTML5 - Simon GuerinQuel développeur web n’a pas grandement entendu parlé d’HTML5 au cours des derniers mois ou dernières semaines? Ayant moi-même été inondé de contenu dans mon Twitter, j’ai également suivi la vague et j’ai commencé à m’y intéresser de plus en plus.

Pourquoi une nouvelle version d’HTML?

Parce qu’HTML4 n’avait pas été conçu pour la tournure que le web a pris au cours des dernières années. Il fallait donc retravailler le langage existant pour qu’il soit mieux adapté aux nouvelles technologies. Les blogs et les réseaux sociaux pour ne pas les nommer vont grandement bénéficier d’un changement vers HTML5. Étant plus sémantique, le langage aidera à construire des pages plus solides ayant un code plus compréhensible et représentatif du contenu de la page.

Quelques nouveautés

Plusieurs nouvelles balises peuvent être utilisées :

  • - <header>
  • - <nav>
  • - <section>
  • - <article>
  • - <footer>
  • - <sidebar>
  • - <video>
  • - <audio>
  • - …

Le nouveau doctype : <!DOCTYPE html> (maintenant facile à retenir…)

Des formulaires 2.0. Il sera désormais possible de spécifier à certains champs si c’est un champ courriel, url, etc. La validation des formulaires sera beaucoup plus facile. Plusieurs nouveaux API seront également disponibles. La géolocalisation sera possible ainsi que le drag & drop. Possiblité de garder de l’information « Offline ».

La balise <video> risque de beaucoup être utilisée. Plus besoin de la balise <embed>. Il est maintenant possible de faire jouer une vidéo sur votre site en utilisant uniquement la balise <video> (je montrerai un exemple dans un article plus tard).

La sortie officielle de la spécification d’HTML5 est prévue pour 2022. Vous avez bien lu, 2022 soit encore pratiquement 12 ans. Ayant moi-même avalé de travers ma gorgée de café en apprenant cette nouvelle, je vous assure que vous pouvez dès aujourd’hui commencer à expérimenter HTML5. La plupart des nouveaux navigateurs le supporte sauf un, Internet Explorer 8. Surprenant? Comme toujours, nous devrons attendre  à cause d’Internet Explorer, mais Microsoft a récemment annoncé qu’il allait supporter HTML5 très bientôt… à suivre.

Plusieurs questions restent en suspend pour le moment à propos d’HTML5 étant donné que les spécifications ne sont pas terminées.

Voici quelques ressources qui peuvent vous aider à en apprendre davantage sur HTML5 :

http://www.alistapart.com/articles/previewofhtml5/

http://media1.smashingmagazine.com/wp-content/uploads/images/html5-cheat-sheet/html5-cheat-sheet.pdf

http://www.smashingmagazine.com/2009/08/04/designing-a-html-5-layout-from-scratch/

Post to Twitter Tweet This Post

Lancement du blog

Et oui… me voilà qui me lance dans un blog (comme s’il n’y en avait pas assez!) traîtant principalement de ce qui tourne autour du web. Plus particulièrement le design web, HTML5, CSS3, les standards et  ce qui m’inspire dans la vie de tous les jours.

Il y a déjà un bon moment que je me disais qu’il serait temps que je crée mon propre blog. En faisant la refonte de mon portfolio, l’idée ma semblé plus claire que je devais finalement me lancer. Je dois spécifier que je le fais tout d’abord par plaisir de parler d’un sujet qui me pasionne au plus au point. Si ce blog peut moindrement apporter quelque chose à quelqu’un, ce sera déjà ça de fait.

Pour ceux qui ne me connaissent pas, je suis Simon G.  J’ose prétendre être un Designer Web ainsi qu’un Développeur CSS en me fiant aux compétences que j’ai. Je suis également un passioné des standards du web. J’aimerais finir par me recycler dans l’utilisabilité un jour ou encore devenir prof dans le domaine, mais ça, c’est quand je vais décider que j’aurai assez d’argent pour être sous-payé.

Assez pour la présentation…

Voici des liens pour en apprendre plus à mon sujet :

Mon portfolio
Mon Facebook
Mon Twitter
Mon LinkedIn

Post to Twitter Tweet This Post