Publié le 26/10/2012 dans code
Opengraph/Opentweet/Schemas est un ensemble de balises et attributs HTML, utilisés entre autre par les réseaux sociaux, servant à identifier le contenu d'une page.
Grâce à ces informations, on peut identifier facilement le titre de la page, la description, l'auteur, ...
Lorsque l'on poste une url sur un réseau social, celui-ci va récupérer le code html de la page, et analyser les tags présents.
Par exemple, si l'on poste l'url http://eu.battle.net/d3/fr/ sur facebook, les informations relatives à la page web seront affichés:

<meta property="og:site_name" content="Diablo III" /> <meta property="og:title" content="Diablo III" /> <meta property="og:image" content="http://media.blizzard.com/battle.net/logos/og-d3.png" /> <meta property="og:url" content="http://eu.battle.net/d3/fr/" /> <meta property="og:type" content="website" /> <meta property="og:locale" content="fr_FR" /> <meta property="fb:admins" content="470332842321,433163104416"/>
Les microdata schema.org nous permettent de définir la définition de chaque balise: titre, image, lien, etc...
Pour définir les informations importantes de notre page web, les attributs itemscope et itemprop sont utilisés:
Vous trouverez plus d'informations sur les microschemas sur http://schema.org/docs/gs.html.
Google propose une page de test, permettant de visualiser l'information extraite lors d'une visite de son bot.
Si vous analysez le code source du blog:/p>
<div class="item" itemscope > <h3><a href="/blog/introduction_opengraph_twitgraph_et_schemas.html" itemprop="name" title="Introduction à Opengraph, OpenTweet et Schemas">Introduction à Opengraph, OpenTweet et Schemas</a></h3> <div class="item_content" itemprop="text"> ... </div>
Vous trouverez des itemscope et itemprop, qui donnent le résultat suivant:

Comme vu avec l'exemple sur l'url de Diablo3, Facebook se base sur les meta opengraph pour récupérer les données du site.
Les spécifications spécifiques à Facebook sont disponibles sur http://ogp.me/.
Par exemple, pour une vidéo youtube quelconque, on trouvera les métas:
<meta property="og:video" content="http://www.youtube.com/v/lien?version=3&autohide=1">
<meta property="og:video:type" content="application/x-shockwave-flash">
<meta property="og:video:width" content="1280">
<meta property="og:video:height" content="720">
Ce qui donnera un lien vers une vidéo lisible directement sur le site:

Les spécification spécifiques à Twitter sont disponibles sur https://dev.twitter.com/docs/cards.
Si l'on prends le même exemple avec la vidéo youtube, des métas twitter sont également envoyés:
<meta name="twitter:card" value="player">
<meta name="twitter:site" value="@youtube">
<meta name="twitter:player" value="https://www.youtube.com/embed/33MNKCiTgFY">
<meta property="twitter:player:width" content="1280">
<meta property="twitter:player:height" content="720">
Ce qui donne un rendu:

Publié le 12/09/2012 dans Linux
Script du jour:
Je voulais récupérer de l'espace disque en faisant un "hard link" sur les fichiers ayant une même somme de hashage md5.
Cela peut être très utile si vous avez des dossiers contenant des images en double par exemple...
$ find . -type f -exec md5sum {} \; | sort |perl -ape 'if($F[0] eq $prev){\
print "CREATE HARDLINK BETWEEN \"$file\" and \"".join(" ",@F[1..@F-1])."\"\n"; \
unlink $file; link @F[1..@F-1], $file;} $prev=$F[0];$file=join(" ",@F[1..@F-1]); $_=""'
Le script utilise find pour lister les fichiers (avec sous-dossiers) et leur somme de hashage md5.
Le résultat est envoyé à sort: il se chargera de regrouper les doublons. perl va alors supprimer un des fichiers, pour le remplacer par un hardlink de l'autre fichier.
Résultat de l'éxécution du script:
CREATE HARDLINK "./board-848/board-848241.jpg" and "./board-850/board-850958-30.jpg" CREATE HARDLINK "./board-850/board-850958-30.jpg" and "./board-852/board-852049-30.jpg" CREATE HARDLINK "./board-852/board-852049-30.jpg" and "./board-845/board-845658-8.jpg" CREATE HARDLINK "./board-845/board-845658-8.jpg" and "./board-859/board-859852-69.jpg" CREATE HARDLINK "./board-859/board-859852-69.jpg" and "./board-854/board-854166-84.jpg" CREATE HARDLINK "./board-854/board-854166-84.jpg" and "./board-850/board-850958-80.jpg" CREATE HARDLINK "./board-850/board-850958-80.jpg" and "./board-852/board-852049-80.jpg" CREATE HARDLINK "./board-852/board-852049-80.jpg" and "./board-854/board-854165-17.jpg" CREATE HARDLINK "./board-854/board-854165-17.jpg" and "./board-838/board-838275-2.jpg" CREATE HARDLINK "./board-838/board-838275-2.jpg" and "./board-856/board-856927-43.jpg"
Publié le 08/06/2012 dans Linux
Little tip of the day, to find the last 100 files edited in a directory (and recursively subdirectory):
$ find . -printf "%T@ (%Tc) : %p\n"|sort -n| tail -100
It will display the list of files, with 3 fields:
Publié le 30/03/2012 dans code
Voila c'est fait je pense, mon premier patch terminé et enfin proposé.
Reste plus qu'e savoir si il va être accepté :x
Il s'agit d'une feature request pour awstats visant e pouvoir sélectionner un intervalle de temps d'analyse au lieu d'analyser toujours mois par mois.
La feature request date du 23 juillet 2009.
* la feature request sur sourceforge.net.
* le patch patch_awstats.patch
* un screenshot de ce que donne son application awstats_interval1.png
Publié le 18/03/2012 dans Linux
Comme vu sur winehq, diablo3 est enfin compatible avec wine. L'installateur marche enfin! et avec la précommande, on peut déja commencer e télécharger le jeu, en attendant la sortie officielle.
Plus que quelques jours e tenir! :)
