TfeServer

Blog de tfe, Perl, Web et Libre...?

Blog

Introduction à Opengraph, OpenTweet et Schemas

Publié le 26/10/2012 dans code

Intro

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, ...

Utilisation

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:

d3

<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"/>

Microdata schema.org

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:

  • itemscope: définit le début d'un groupe d'éléments (itemscope)
  • itemprop="name": indique que le contenu de cette balise est le titre de cet élément
  • itemprop="url": indique le lien spécifique à l'article en question
  • itemprop="description"
  • ...

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:

Facebook

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/.

  • og:type, qui permets de savoir dans quelle catégorie classer l'url (article, book, profile, etc...).
  • og:title, Titre de la page
  • og:description, Description brève
  • og:url, Lien vers l'article (en général il s'agit de la même url)
  • og:image, Image descriptive de la page
  • og:site_name, Nom du site
  • og:video, og:audio, ...

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:

facebook css

Twitter

Les spécification spécifiques à Twitter sont disponibles sur https://dev.twitter.com/docs/cards.

  • twitter:title : Titre
  • twitter:url : Url
  • twitter:card : Information générale
  • twitter:description : Description
  • twitter:image : Image du site
  • twitter:site : @username twitter
  • twitter:creator : @username Créteur de l'article
  • twitter:creator:id : username twitter id
  • twitter:player : Url du player flash
  • twitter:player:width : Taille X
  • twitter:player:height : Taille Y
  • twitter:player:stream : Flux de la vidéo

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:

Twiter

Hard link fichiers identique

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"

Find last edited files in directory (linux)

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:

  • Modified time (in seconds)
  • Modified time in human readable format
  • The file path+name

Patch awstats - select range of dates

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

* la version de awstats CVS patchée.

Diablo3 avec Wine

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! :)