<?xml version="1.0" encoding="utf-8"?><rss version="2.0">
<channel>
<title>Blog - tfeserver: blog de Tfe</title>
<link>http://www.tfeserver.fr</link>
<description>Blog -  tfeserver: Blog de tfe - html, scripts et tout un tas de trucs...</description>

	<item>
	<title>Introduction à Opengraph, OpenTweet et Schemas</title>
	<link>http://tfeserver.be/blog/introduction_opengraph_twitgraph_et_schemas.html</link>
	<description>&lt;h4&gt;Intro&lt;/h4&gt;

&lt;p&gt;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.&lt;/p&gt;

&lt;p&gt;Grâce à ces informations, on peut identifier facilement le titre de la page, la description, l'auteur, ...&lt;/p&gt;


&lt;h4&gt;Utilisation&lt;/h4&gt;
&lt;p&gt;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 &lt;meta&gt; présents.&lt;/p&gt;
&lt;p&gt;Par exemple, si l'on poste l'url &lt;a href=&quot;http://eu.battle.net/d3/fr/&quot;&gt;http://eu.battle.net/d3/fr/&lt;/a&gt; sur facebook, les informations relatives à la page web seront affichés:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/d3.png&quot; alt=&quot;d3&quot; /&gt;&lt;/p&gt;
&lt;pre&gt;
&amp;lt;meta property=&quot;og:site_name&quot; content=&quot;Diablo III&quot; /&amp;gt;
&amp;lt;meta property=&quot;og:title&quot; content=&quot;Diablo III&quot; /&amp;gt;
&amp;lt;meta property=&quot;og:image&quot; content=&quot;http://media.blizzard.com/battle.net/logos/og-d3.png&quot; /&amp;gt;
&amp;lt;meta property=&quot;og:url&quot; content=&quot;http://eu.battle.net/d3/fr/&quot; /&amp;gt;
&amp;lt;meta property=&quot;og:type&quot; content=&quot;website&quot; /&amp;gt;
&amp;lt;meta property=&quot;og:locale&quot; content=&quot;fr_FR&quot; /&amp;gt;
&amp;lt;meta property=&quot;fb:admins&quot; content=&quot;470332842321,433163104416&quot;/&amp;gt;
&lt;/pre&gt;



&lt;h4&gt;Microdata schema.org&lt;/h4&gt;
&lt;p&gt;Les microdata schema.org nous permettent de définir la définition de chaque balise: titre, image, lien, etc...&lt;/p&gt;
&lt;p&gt;Pour définir les informations importantes de notre page web, les attributs itemscope et itemprop sont utilisés:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;itemscope: définit le début d'un groupe d'éléments (itemscope)&lt;/li&gt;
  &lt;li&gt;itemprop=&quot;name&quot;: indique que le contenu de cette balise est le titre de cet élément&lt;/li&gt;
   &lt;li&gt;itemprop=&quot;url&quot;: indique le lien spécifique à l'article en question&lt;/li&gt;
   &lt;li&gt;itemprop=&quot;description&quot;&lt;/li&gt;
   &lt;li&gt;...&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Vous trouverez plus d'informations sur les microschemas sur &lt;a href=&quot;http://schema.org/docs/gs.html&quot;&gt;http://schema.org/docs/gs.html&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Google propose une &lt;a href=&quot;http://www.google.com/webmasters/tools/richsnippets&quot;&gt;page de test&lt;/a&gt;, permettant de visualiser l'information extraite lors d'une visite de son bot.&lt;/p&gt;
&lt;p&gt;Si vous analysez le code source du blog:/p&gt;
&lt;pre&gt;
&amp;lt;div class=&quot;item&quot; itemscope &amp;gt;
&amp;lt;h3&amp;gt;&amp;lt;a href=&quot;/blog/introduction_opengraph_twitgraph_et_schemas.html&quot; itemprop=&quot;name&quot; title=&quot;Introduction à Opengraph, OpenTweet et Schemas&quot;&amp;gt;Introduction à Opengraph, OpenTweet et Schemas&amp;lt;/a&amp;gt;&amp;lt;/h3&amp;gt;
&amp;lt;div class=&quot;item_content&quot; itemprop=&quot;text&quot;&amp;gt;
...
&amp;lt;/div&amp;gt;
&lt;/pre&gt;
&lt;p&gt;Vous trouverez des itemscope et itemprop, qui donnent le résultat suivant:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/images/google_test.png&quot;&gt;&lt;/p&gt;




&lt;h4&gt;Facebook&lt;/h4&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;Les spécifications spécifiques à Facebook sont disponibles sur  &lt;a href=&quot;http://ogp.me/&quot;&gt;http://ogp.me/&lt;/a&gt;.

&lt;ul&gt;
&lt;li&gt;og:type, qui permets de savoir dans quelle catégorie classer l'url (article, book, profile, etc...).&lt;/li&gt;
&lt;li&gt;og:title, Titre de la page&lt;/li&gt;
&lt;li&gt;og:description, Description brève&lt;/li&gt;
&lt;li&gt;og:url, Lien vers l'article (en général il s'agit de la même url)&lt;/li&gt;
&lt;li&gt;og:image, Image descriptive de la page&lt;/li&gt;
&lt;li&gt;og:site_name, Nom du site&lt;/li&gt;
&lt;li&gt;og:video, og:audio, ...&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Par exemple, pour une &lt;a href=&quot;http://www.youtube.com/watch?v=33MNKCiTgFY&quot;&gt;vidéo youtube quelconque&lt;/a&gt;, on trouvera les métas:&lt;/p&gt;

&lt;pre&gt;
    &amp;lt;meta property=&quot;og:video&quot; content=&quot;http://www.youtube.com/v/lien?version=3&amp;amp;autohide=1&quot;&amp;gt;
      &amp;lt;meta property=&quot;og:video:type&quot; content=&quot;application/x-shockwave-flash&quot;&amp;gt;
      &amp;lt;meta property=&quot;og:video:width&quot; content=&quot;1280&quot;&amp;gt;
      &amp;lt;meta property=&quot;og:video:height&quot; content=&quot;720&quot;&amp;gt;
&lt;/pre&gt;

&lt;p&gt;Ce qui donnera un lien vers une vidéo lisible directement sur le site:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/images/css.png&quot; alt=&quot;facebook css&quot; /&gt;&lt;/p&gt;



&lt;h4&gt;Twitter&lt;/h4&gt;
&lt;p&gt;Les spécification spécifiques à Twitter sont disponibles sur &lt;a href=&quot;https://dev.twitter.com/docs/cards&quot;&gt;https://dev.twitter.com/docs/cards&lt;/a&gt;.
&lt;ul&gt;
&lt;li&gt;twitter:title : Titre&lt;/li&gt;
&lt;li&gt;twitter:url : Url&lt;/li&gt;
&lt;li&gt;twitter:card : Information générale&lt;/li&gt;
&lt;li&gt;twitter:description : Description&lt;/li&gt;
&lt;li&gt;twitter:image : Image du site&lt;/li&gt;
&lt;li&gt;twitter:site : @username twitter&lt;/li&gt;
&lt;li&gt;twitter:creator : @username Créteur de l'article&lt;/li&gt;
&lt;li&gt;twitter:creator:id : username twitter id&lt;/li&gt;
&lt;li&gt;twitter:player : Url du player flash&lt;/li&gt;
&lt;li&gt;twitter:player:width : Taille X&lt;/li&gt;
&lt;li&gt;twitter:player:height : Taille Y&lt;/li&gt;
&lt;li&gt;twitter:player:stream : Flux de la vidéo&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Si l'on prends le même exemple avec la vidéo youtube, des métas twitter sont également envoyés:&lt;/p&gt;
&lt;pre&gt;
&amp;lt;meta name=&quot;twitter:card&quot; value=&quot;player&quot;&amp;gt;
    &amp;lt;meta name=&quot;twitter:site&quot; value=&quot;@youtube&quot;&amp;gt;
      &amp;lt;meta name=&quot;twitter:player&quot; value=&quot;https://www.youtube.com/embed/33MNKCiTgFY&quot;&amp;gt;
      &amp;lt;meta property=&quot;twitter:player:width&quot; content=&quot;1280&quot;&amp;gt;
      &amp;lt;meta property=&quot;twitter:player:height&quot; content=&quot;720&quot;&amp;gt;
&lt;/pre&gt;
&lt;p&gt;Ce qui donne un rendu:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/images/twitter.png&quot; alt=&quot;Twiter&quot;/&gt;&lt;/p&gt;</description>
	<guid>http://tfeserver.fr/blog/introduction_opengraph_twitgraph_et_schemas</guid>
	</item>
	<item>
	<title>Hard link fichiers identique</title>
	<link>http://tfeserver.be/blog/hard_link_same_files.html</link>
	<description>&lt;p&gt;Script du jour:&lt;/p&gt;
&lt;p&gt;Je voulais récupérer de l'espace disque en faisant un &quot;hard link&quot; sur les fichiers ayant une même somme de hashage md5.&lt;br /&gt;
Cela peut être très utile si vous avez des dossiers contenant des images en double par exemple...&lt;/p&gt;

&lt;pre&gt;
$ find . -type f -exec md5sum {} \; | sort |perl -ape 'if($F[0] eq $prev){\
print &quot;CREATE HARDLINK BETWEEN \&quot;$file\&quot; and \&quot;&quot;.join(&quot; &quot;,@F[1..@F-1]).&quot;\&quot;\n&quot;; \
unlink $file; link @F[1..@F-1], $file;} $prev=$F[0];$file=join(&quot; &quot;,@F[1..@F-1]); $_=&quot;&quot;'
&lt;/pre&gt;

&lt;p&gt;Le script utilise &lt;b&gt;find&lt;/b&gt; pour lister les fichiers (avec sous-dossiers) et leur somme de hashage md5.&lt;/p&gt;
&lt;p&gt;Le résultat est envoyé à &lt;b&gt;sort&lt;/b&gt;: il se chargera de regrouper les doublons.  &lt;b&gt;perl&lt;/b&gt; va alors supprimer un des fichiers, pour le remplacer par un hardlink de l'autre fichier.&lt;/p&gt;

&lt;p&gt;Résultat de l'éxécution du script:&lt;/p&gt;
&lt;pre&gt;
CREATE HARDLINK  &quot;./board-848/board-848241.jpg&quot; and &quot;./board-850/board-850958-30.jpg&quot;
CREATE HARDLINK  &quot;./board-850/board-850958-30.jpg&quot; and &quot;./board-852/board-852049-30.jpg&quot;
CREATE HARDLINK  &quot;./board-852/board-852049-30.jpg&quot; and &quot;./board-845/board-845658-8.jpg&quot;
CREATE HARDLINK  &quot;./board-845/board-845658-8.jpg&quot; and &quot;./board-859/board-859852-69.jpg&quot;
CREATE HARDLINK  &quot;./board-859/board-859852-69.jpg&quot; and &quot;./board-854/board-854166-84.jpg&quot;
CREATE HARDLINK  &quot;./board-854/board-854166-84.jpg&quot; and &quot;./board-850/board-850958-80.jpg&quot;
CREATE HARDLINK  &quot;./board-850/board-850958-80.jpg&quot; and &quot;./board-852/board-852049-80.jpg&quot;
CREATE HARDLINK  &quot;./board-852/board-852049-80.jpg&quot; and &quot;./board-854/board-854165-17.jpg&quot;
CREATE HARDLINK  &quot;./board-854/board-854165-17.jpg&quot; and &quot;./board-838/board-838275-2.jpg&quot;
CREATE HARDLINK  &quot;./board-838/board-838275-2.jpg&quot; and &quot;./board-856/board-856927-43.jpg&quot;
&lt;/pre&gt;
</description>
	<guid>http://tfeserver.fr/blog/hard_link_same_files</guid>
	</item>
	<item>
	<title>Find last edited files in directory (linux)</title>
	<link>http://tfeserver.be/blog/find_last_edited_files_in_directory_linux.html</link>
	<description>&lt;p&gt;Little tip of the day, to find the last 100 files edited in a directory (and recursively subdirectory):&lt;/p&gt;

&lt;pre&gt;
$ find . -printf &quot;%T@ (%Tc) : %p\n&quot;|sort -n| tail -100
&lt;/pre&gt;
&lt;p&gt;It will display the list of files, with 3 fields:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Modified time (in seconds)&lt;/li&gt;
&lt;li&gt;Modified time in human readable format&lt;/li&gt;
&lt;li&gt;The file path+name&lt;/li&gt;
&lt;/ul&gt;
</description>
	<guid>http://tfeserver.fr/blog/find_last_edited_files_in_directory_linux</guid>
	</item>
	<item>
	<title>Patch awstats - select range of dates</title>
	<link>http://tfeserver.be/blog/patch_awstats_range_of_dates.html</link>
	<description>&lt;p&gt;Voila c'est fait je pense, mon premier patch terminé et enfin proposé.&lt;/p&gt;
&lt;p&gt;Reste plus qu'e  savoir si il va être accepté :x&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;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.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;La &lt;a href=&quot;http://sourceforge.net/tracker/?func=detail&amp;amp;aid=2825905&amp;amp;group_id=13764&amp;amp;atid=363764&quot;&gt;feature request&lt;/a&gt; date  du 23 juillet 2009.&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;* la &lt;a href=&quot;http://sourceforge.net/tracker/?func=detail&amp;amp;aid=2825905&amp;amp;group_id=13764&amp;amp;atid=363764&quot;&gt;feature request&lt;/a&gt; sur  sourceforge.net.
&lt;p&gt;* le patch &lt;a href=&quot;http://tfeserver.be/downloadhtml/patch_awstats_interval_dates/patch_awstats.patch&quot;&gt;patch_awstats.patch&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;* un screenshot de ce que donne son application &lt;a href=&quot;http://tfeserver.be/downloadhtml/patch_awstats_interval_dates/awstats_interval1.png&quot;&gt;awstats_interval1.png&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;* la &lt;a href=&quot;http://tfeserver.be/downloadhtml/patch_awstats_interval_dates/awstats_patched.tar.gz&quot;&gt;version de awstats CVS patchée&lt;/a&gt;.&lt;/p&gt;</description>
	<guid>http://tfeserver.fr/blog/patch_awstats_range_of_dates</guid>
	</item>
	<item>
	<title>Diablo3 avec Wine</title>
	<link>http://tfeserver.be/blog/Diablo3_avec_wine.html</link>
	<description>&lt;p&gt;Comme vu sur &lt;a href=&quot;http://appdb.winehq.org/objectManager.php?sClass=application&amp;amp;iId=13484&quot;&gt;winehq&lt;/a&gt;, 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.&lt;/p&gt;

&lt;p&gt;Plus que quelques jours e  tenir! :)&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://tfeserver.be/downloadhtml/images/diablo3_wine/d3_install_wine.png&quot; alt=&quot;&quot;&gt;&lt;/p&gt;</description>
	<guid>http://tfeserver.fr/blog/Diablo3_avec_wine</guid>
	</item>
</channel>
</rss>

