Archive pour la catégorie ‘Développement’

Page 1 sur 4123Dernière »

Utiliser la police de son choix sur son site internet

ArobaseL’intégration de polices de caractères sur un site web a longtemps été un casse tête pour les intégrateurs. On avait diverses solutions à portée de main : du flash, du javascript et quelques bidouilles assez incompatibles entres-elles pour lier directement une police dans le CSS.

Techniquement, si le W3C recommande depuis longtemps l’utilisation de Font-Face, celle-ci n’a pas toujours été implémentée comme il le faut dans les navigateurs. Aujourd’hui, l’horizon s’éclaircit progressivement même s’il faut encore fourber avec plusieurs formats pour arriver à un résultat efficace sur l’ensemble de la gamme des navigateurs. Dans l’ensemble on y arrive assez bien. Démonstration.

Tu l’a acheté ? Chuuuut ! Faut pas le dire sur internet…

Ah ! Un détail avant de vous lancer dans le code : une police de caractère est une oeuvre assimilable à un logiciel sur le plan juridique. Donc on touche au copyright (normal), aux droits d’auteur (un peu) et aux droits de diffusion (surtout). Si vous avez acheté une police, relisez bien les conditions d’utilisation, il est fort à craindre que vous n’ayez pas le droit de la proposer en téléchargement sur votre site web. Logique à priori, vous n’allez pas donner un truc qui se vend…

Sauf que… Les règles de Gutenberg ont un peu de mal avec le monde moderne. Si vous utilisez votre police sur votre site, il faudra bien que la machine de l’internaute la télécharge pour l’afficher. Même si l’utilisateur ne pourra pas (à priori, j’vous connais) s’en resservir dans un autre logiciel, vous placez cette police en téléchargement. C’est un fait. C’est stupide, mais c’est comme ça, sed lex.

L’idéal reste (once more) les polices gratuites ou sous Creative Commons. Perso, j’ai pris l’habitude de me fournir chez Google ou sur DaFont. Quitte à faire un petit don à l’auteur au passage (bah, au prix des polices payantes, ça reste tout bénef’ et vous assurez la pérennité du truc…).

Fourrer tout ça, proprement, dans son CSS…

Aller, une police libre dans une main, un ordi dans l’autre, comme l’ensemble des navigateurs ne comprennent pas tous la même chose, il faudra prendre soin de satisfaire chacun avec son ou ses formats de police préférés :

  • de l’Embedded OpenType (eot) pour Internet Explorer 4+
  • du Web Open Font Format (woff) pour Firefox 3.6+, Internet Explorer 9+ et Chrome 6+
  • et du Scalable Vector Graphics (svg) pour Chrome 3+, Opéra 9+
  • du TrueType (ttf) supporté par Firefox 3.5+, Opéra 10+, Safari 3.1+, Chrome 4+

Attention, l’ordre d’appel des différents formats dans le CSS compte et évitera à un navigateur qui comprend à la fois le SVG et le WOFF de charger le SVG à la place du WOFF. Au passage, ça vous évitera aussi quelques bugs sur certains navigateurs qui se mélangent un peu les pinceaux quand l’ordre ne leur convient pas (tatillons ?).

Pour convertir votre police dans les différents formats nécessaires à la pleine satisfaction les différents navigateurs Font Squirrel sera votre sauveur. Attention, ce dernier vous renverra à la loi si vous lui proposez une police handicapée d’un vilain copyright (et toc !).

Assez bavardé, voici le code magique à placer en tête de votre CSS.

@font-face {
    font-family: 'maPolice';
    src: url('fonts/maPolice.eot?')format('eot'),
         url('fonts/maPolice.woff')format('woff'),
         url('fonts/maPolice.svg#IdMaPolice')format('svg'),
         url('fonts/maPolice.ttf')format('truetype');
}

Explication de texte

  • La directive font-family permet de nommer la police pour les appels dans le CSS.
  • Dans les sources, on refile l’ensemble des formats aux navigateurs. Le navigateur s’arrêtera à la première qui lui convient.
  • Le point d’interrogation après l’extension eot permet de forcer le téléchargement sur IE afin qu’il n’interprète pas ce qui se trouve après ce caractère (ce qui permet d’ajouter les autres sources).
  • Le format eot s’appelle en fait embedded-opentype, l’utilisation d’eot leurre IE9 qui du coup ne connaît pas ce format et chargera le Web Open Font Format plus léger.
  • Dans le format SVG on notera une chaine louche après l’ancre. Il s’agit de l’identifiant du SVG. Vous le trouverez directement dans les premières lignes du fichier, dans une ligne qui ressemble à ça : <font id="IdMaPolice" horiz-adv-x="786" >.

Une fois la police incluse, elle sera utilisable comme les autres directement dans une directive font-family :

body { font-family: maPolice,sans-serif; } 

Optimiser une police de caractère…

En fonction de vos besoins, il est tout à fait envisageable d’épurer une police pour un usage web. Souvent les polices de caractères contiennent des caractères que l’on n’utilise jamais (symboles, autres langues, etc…) et que l’on peut retirer du package.
Pour ça, il existe deux solutions. Les plus courageux passeront par Font Forge, les plus pressés se concentrerons sur Font Squirrel. Dans le mode « Expert » de ce dernier, on trouve une option « Custom Subsetting » qui vous permettra de sélectionner très finement la gamme de caractères ou uniquement les caractères dont vous aurez besoin. On peut facilement imaginer faire passer le poids d’une police de 150ko à 6ko pour un titre de site par exemple. On est alors très proche du temps de chargement d’une image équivalente, et tellement plus accessible !

L’intégration en mode feignasse by Google

Parallèlement à cette technique qui peut paraître un peu longue à première vue, Google vient de lancer une bibliothèque de polices de caractères librement utilisables. On peut chercher, voir, et surtout, on peut intégrer ça dans son site en une seule ligne de CSS. Google fera le reste (et enverra le bon CSS au bon navigateur).

Google web font previewer

La bibliothèque n’est pas encore très fournie et cette API est encore en version Beta, mais c’est particulièrement prometteur.

Si le sujet vous intéresse, je vous conseille cette lecture ou encore celle-ci, et si vous avez vous aussi des petits conseils sur l’utilisation des polices sur le web, je suis preneur !!


CDN Gratuit : utiliser les serveurs frontaux de Google pour créer son Content Data Network

Un CDN (Content Data Network) permet à stocker des données statiques d’un site internet « in the cloud ». Cette méthode offre différents avantages non négligeables :

  • Réduction de la bande passante utilisée sur le serveur principal,
  • Réduction de la charge processeur sur votre serveur, l’économie peut-être consacrée au traitement des fichiers dynamiques,
  • Parallélisation des téléchargements côté client (donc plus rapide),
  • Les fichiers statiques sont servis à partir du serveur le plus proche de l’internaute, les « routes » sont donc plus courtes,
  • Les entêtes envoyées à partir du CDN sont personnalisables, il est donc possible d’envoyer du contenu sans Cookies (cookieless content) ni autres fioritures.

Bref, pour vous la faire courte, l’utilisation d’un CDN est un bon moyen d’accélérer l’affichage de son site tout en délestant son serveur.

Comment ça marche ?

Le principe est simple, le site web fait appel à votre domaine pour tout ce qui est dynamique et tout le contenu statique est appelé via un (ou plusieurs) domaine(s) dédié(s). Votre site utilise donc au moins 2 types d’url : www.mondomaine.ext et www.monCDN.ext.
Bien entendu, il est tout à fait possible de personnaliser l’url du domaine afin d’obtenir une adresse du type monCDN.mondomaine.ext, du coup, on ne touche pas au référencement et on n’en fout pas partout. Lire le reste de cet article »


Obtenir un graphique à partir d’une URL

Google Chart ToolsJe viens de découvrir via Cedric Motte un petit outil de Google qui permet de faire très simplement de beaux graphiques et de les appeler dans une page HTML ou un mail via une simple URL. Ca s’appelle Google Chart Tools ou Image Charts et ça me paraît particulièrement pratique. Fini les gros codes pour avoir un petit tableau de bord avec quelques graphiques faits à la volée dans une appli web.

D’autant que, pour simplifier un peu le truc (qui à la base est une API, donc un bidule pour connaisseurs), Google propose un éditeur, genre de bac à sable, pour vous permettre de dessiner très facilement vos premiers graphiques. La preuve :

Petit graph trèèèèès vite fait...


De l’optimisation d’un site web

La question est vaste et c’est un travail quotidien : compression, réduction du nombre des requêtes, mise en cache, progression non obstrusive, parallélisation… Quelques points qui me paraissent essentiels et qui sont encore trop souvent délaissés.

L’optimisation d’un site web joue à chaque fois sur quelques millièmes de secondes. Ça peut paraître complètement dérisoire, ceci étant, je suis passé un affichage en 6 secondes pour la page d’accueil de ce blog à moins d’une seconde et demi. L’expérience utilisateur n’est plus tout la même !

Pour info Google prend officiellement en compte le temps de chargement d’une page web dans le classement des résultats de Google depuis le moins d’Avril. Lire le reste de cet article »


WordPress : WPtouch 1.9.20 traduit en Français

La version 1.9.20 de WPtouch de BraveNewCode est la dernière version gratuite avant le passage à la version pro. Cette version est déjà internationalisée, donc prête à être traduite. Si vous l’avez installé, vous aurez remarqué la présence de la langue française dans le choix des options. Mais elle n’est pas fonctionnelle. En fait, il lui manque le dictionnaire de traductions.

Qu’à cela ne tienne. Le fichier de projet de traduction est présent et déjà très avancé par Maître Mo. La traduction livrée avec WPtouch date un peu et il manque quelques éléments de la dernière version.
J’ai donc refais un inventaire des sources et complété les éléments manquants (accessoirement corrigé quelques fautes de frappe au passage, oui Maître ;-) )

Pour l’installation, il suffit de placer le fichier fr_FR.mo dans le répertoire suivant :

/wp-content/plugins/wptouch/lang

Si vous souhaitez faire joujou avec la traduction (voir ici comment traduire un plugin), vous trouverez le fichier de projet fr_FR.po actualisé dans l’archive.

Aller, au taf, je vous laisse télécharger la version française de WPtouch.
Vous me direz ce que vous en pensez ;-)

Téléchargez les fichiers de traduction de WPtouch


Traduire un site web ou un logiciel avec PoEdit

Il arrive fréquemment que l’on tombe sur un plugin ou un logiciel qui ne soit disponible que dans le langue de Shakespeare, ou du moins, qui ne soit pas disponible dans le franc gaulois que nous connaissons bien.

La méthode la plus répandue (et heu… la plus efficace ?) pour rendre un site ou une application multilingue consiste à se servir de GNU Gettext. Cet outil se sert de fichiers de traduction ayant une extension *.mo (le fichier traduit compilé). Vous les trouverez généralement dans un dossier lang, ln, lng, etc.

A partir de là, il y a 2 solutions, soit vous trouvez dans le même dossier ou dans le dossier des sources, un fichier avec une extension *.po (le projet de traduction), soit il va falloir aller farfouiller dans les sources du logiciel pour trouver les textes à traduire. Dans un cas comme dans l’autre, rien de dramatique. Lire le reste de cet article »


SEO : Yahoo! Clues affiche les requêtes précédentes

Yahoo! lance un concurrent de Google Trends : Yahoo! Clues. Encore en version Beta, l’application permet néanmoins d’effectuer des analyses de mots clefs sur les Etats Unis.

Yahoo! Clues propose un nouvel angle d’approche par rapport à Google Trends. Hormis le fait que les recherches ne sont pas issues du même moteur, il est beaucoup plus orienté e-marketing et propose l’âge, le sexe et le CSP des internautes qui ont effectué des recherches sur certains mots.

La plus grosse avancée tient surtout dans la possibilité de naviguer dans l’historique de recherche pour un mot donné : Yahoo! Clues permet de voir les recherches effectuée avant et après l’expression demandée.

Vous pensiez vous positionner sur un mot clef ? Et si finalement, il était plus judicieux de vous positionner sur le précédent ? Vous permettriez à l’internaute de faire une recherche de moins, après tout, on est là pour lui rendre service non ? ;-)

[source]


iPhone et Google Analytics : Quicklytics devient top !

Perso, j’aime bien jeter un oeil sur les stats de mes sites en temps réel. Pour ça, j’avais besoin d’une petite application simple et rapide sur iPhone qui me donnerait juste accès à 2 ou 3 graphiques issus des stats Google Analytics. Il y a quelques temps, je suis tombé sur Quicklytics (« Cracklytics » à l’époque). Mais l’appli était lente et le rafraîchissement des données franchement laborieux.
Avec la version 5.1, Quicklytics rafraichis les données rapidement et rempli maintenant bien son rôle de petite appli d’appoint. Lire le reste de cet article »


Retrouver l’URL réelle d’un article derrière FeedBurner

Yahoo Query LanguageFeedBurner et les autres outils de raccourcis d’URL masquent l’URL réelle des articles (bah oui, suis en forme aujourd’hui !). C’est le problème que j’ai rencontré quand j’ai voulu mettre en place les miniatures sur ma revue de presse. La plupart des blogs utilisant FeedBurner, j’avais une URL de type « http://feedproxy.google.com/~r/… », or, pour la miniature, je voulais celle du site, pas celle de FeedBurner. Lire le reste de cet article »


HTML5 : le nouveau souffle des app’s standardisées ?

Avec l’arrivée du HTML5, on sent bien qu’une petite révolution ergonomique se prépare, dans la lignée de celle que fut l’AJAX en son temps. Les premières pages du web commencent à être loin derrière nous maintenant.

Je viens de découvrir Sencha Touch, un kit de développement encore en phase Beta mais qui propose déjà des outils assez bluffants pour créer des site web mobiles avec des interfaces proches de celles que l’on connait aujourd’hui sur les applications smartphones. Pour l’heure, le poids du fichier Javascript laisse à désirer pour un usage mobile (230ko en version compressée), mais c’est parce qu’il prend en charge tous les effets, espérons que ça évolue…

L’avantage de passer par le web pour des applis, c’est de retomber sur ses pattes en utilisant les standards : une seule appli pour couvrir l’ensemble des plate-formes mobiles.

Je vous laisse découvrir, ça fait 20 Mo, et le résultat est visible n’importe quel navigateur, vous m’en direz des nouvelles !