Vérifier l’existence d’un stream en cours sur une chaîne justin.tv

Pour les besoins d’un développement en cours, j’ai commencé à me plonger dans l’API du site JustinTV.

Voilà la portion de code qui va bien vous aider. Je vais me passer de commentaires, la code parle de lui-même :

function is_streaming($stream)
{
    $link = 'http://api.justin.tv/api/stream/list.json?channel=' . $stream;
    $data = file_get_contents($link);
    $existe = strpos($data, 'name');
    if($existe) {
        return true;
    }
    return false;
}
$chaine = 'missclicktv';
if(is_streaming($chaine))
{
    echo $chaine . ' est en train de streamer !';
} else {
    echo 'Rien en cours, allez sur le Youtube de ' . $chaine . ' !';
}

Il suffit donc d’utiliser la fonction is_streaming() qui retourne true si l’utilisateur stream actuellement. Si le stream n’est pas en cours, vous pouvez dirigez l’utilisateur vers la chaîne YouTube (ou autre) correspondante.

Enjoy !

Lisser les bords de ses détourages sous Photoshop

Aujourd’hui je vais déterrer un tutoriel que j’ai filmé / mis en ligne en janvier de cette année, mais que je n’avais pas jugé pertinent d’insérer sur ce site, à l’époque ou la ligne éditoriale n’était pas déterminé. Aujourd’hui, je regarde cette vidéo et me dit : « Ok c’est cool, pourquoi pas ».

Je vous livre donc mon premier tutoriel Photoshop, permettant de lisser les bords de ses détourages, en somme, de rendre plus attrayant les bords d’un visuel que vous avez déjà dégrossi. Bien sûr, ce tutoriel n’est pas seulement consacré aux détourages, mais aussi à tout types de formes dont vous souhaiteriez appliquer un « dégradé sortant » de toute part. On se comprend ?

PS : Attention tout les graphistes pro, je ne suis pas extrêmement expérimenté dans le domaine de l’infographie, je suis juste un bidouilleur amélioré (amateur éclairé), donc c’est normal si je cherche un peu les raccourcis. Toutefois je partage avec plaisir ce que j’ai trouvé, et IRZ est avant mon bloc-notes, je vous le rappel.

BuddyPress : Personnaliser l’affichage des champs du profil avec le filtre bp_get_the_profile_field_value

Vous souhaitez personnaliser l’affichage d’un des champs de votre profil BuddyPress ? Dans cet exemple, l’utilisateur va entrer l’ID d’une vidéo YouTube et afin que le champ ne renvoi pas 2aEsr_2Cfp4 (par exemple), mais un embed de la vidéo correspondante, nous allons utiliser bp_get_the_profile_field_value pour modifier l’affichage de la valeur de votre champ.

Dans le fichier functions.php de votre thème :

function set_video_field($field_value) {
	$bp_this_field_name = bp_get_the_profile_field_name();
	// remplacer 'Vidéo' par le champ que vous souhaitez customiser
	if($bp_this_field_name=='Vidéo') {
		$field_value = strip_tags( $field_value );
		$field_value = '';
	}
	return $field_value;
}
add_filter( 'bp_get_the_profile_field_value','set_video_field');

Bien sûr, à partir de là, vous pouvez un peu faire ce que vous voulez.

Par défaut, les champs sont encadrés de </p><p>, pour obtenir la donnée brut je me sert de cette ligne :

$field_value = strip_tags( $field_value );

En espérant vous avoir été utile !

Connecter votre Time Capsule à Ubuntu

Une fois n’est pas coutume nous retournons sous Ubuntu aujourd’hui pour tenter de monter une Time Capsule (une sorte de NAS de Apple) à votre OS préféré (ou pas), j’ai nommé Ubuntu.

Ce tutoriel part du principe que votre Time Capsule fonctionne déjà très bien sur votre Mac, en somme, qu’elle est déjà installé.

Dans un premier temps nous allons avoir besoin de fixer l’adresse IP de votre Time Capsule sur votre Mac. Cette étape n’est pas obligatoire mais elle permet de ne pas avoir a changer l’IP de votre Time Machine sur votre installation d’Ubuntu à chaque caprice du DHCP.

Dans Airport Utility, ouvrez votre Time Capsule avec « Manual Setup » en bas à gauche de la fenêtre :

Puis dans l’onglet Internet > TCP/IP, configurez l’IPV4 en manuel.

Validez tout ça et si jamais vous avez un message d’erreur vis à vis des DNS (je n’ai pas capturé cette page), cochez la petite case en bas de la page qui quelques chose comme « On s’en fou c’est parti ! ».

Nous avons donc besoin de plusieurs informations pour mettre au point la ligne de commande qui va bien sous Ubuntu. Il nous faut donc :

  • l’adresse IP de votre Time Capsule (sur mes captures, c’est 192.168.1.38)
  • le mot de passe que vous avez défini pour accéder à vos fichiers
  • et pour finir, le nom que vous avez donné à votre disque (vous pouvez le voir dans la capture suivante, c’est « Data » chez moi)

Il faut maintenant créer un dossier qui va servir de point de montage à notre Time Capsule :

sudo mkdir /media/TimeCapsule

J’avoue, je manque d’inspiration pour le nom du dossier.

Il y a plusieurs manières de faire, comme par exemple créer un lanceur (clique droit sur le bureau > Créer un lanceur)

Dans le champ commande, tapez un truc du style (ça c’est ma commande perso) :

sudo mount.cifs //192.168.1.38/data/ /media/TimeCapsule -o pass=motdepasse

Biensûr, il faut remplacer l’IP par votre IP, data par votre nom de disque, « /media/TimeCapsule » par le nom du dossier que vous avez créé plus tôt, motdepasse par votre mot de passe.

Ce qui est aussi, voir plus interessant, c’est de monter automatiquement le disque réseau au démarrage de votre ordianteur. Pour cela, il va falloir modifier le fichier fstab :

sudo gedit /etc/fstab

Dans le fichier, ajoutez cette ligne en veillant à bien effectuer les modifications necessaires au bon fonctionnement du montage :

//192.168.1.38/data/ /media/TimeCapsule cifs password=motdepasse,rw,iocharset=utf8,file_mode=0777,dir_mode=0777

Sauvegardez votre fichier. Dans le terminal, démontez puis remontez vos disques :

sudo umount -a
sudo mount -a

Si vous n’avez pas fait d’erreurs, tout vos disques se montent comme par enchantement.

Bonne chance et à la prochaine !

Les Nike de Retour vers le futur en vente !

Depuis le temps qu’on les voit à l’écran, 22 ans après le film ! Nike à enfin décidé de mettre en vente des Nike Air Mag, pour le plus grand bonheur des fans !

Seul petit bémol, des chaussures, il n’y en a que 1500, dont 150 mises en vente par jour pendant 10 jours. Mises en enchères sur eBay, le prix des paires oscillent déjà entre 1500 et 5000 dollars

Les bénéfices seront reversés à la fondation Michael J. Fox, qui participe à la recherche pour la lutte contre la maladie de , dont il est lui-même atteint.

Nike nous a concocté un mini métrage mettant en scène Dr. Emmet « Doc » Brown (alias Christopher Lloyd) dans un Nike Shop :

La présentation de Nike :

La paire dans le film :

Add more files extensions : le remède contre le manque d’extensions de wordpress

Ce plugin fait suite a cet article concernant l’ajout de types mime, ou des extensions de fichiers à la volée.

Qui n’a jamais eu le message : « Tel fichier n’a pas pu être mis en ligne suite à une erreur – Désolé, ce type de fichier n’est pas autorisé pour des raisons de sécurité. » ? C’est le message qui s’affiche lorsque vous essayer d’utiliser l’utilitaire d’upload de WordPress en utilisant une extension interdite par défaut par votre CMS préféré.

C’est clairement une fonctionnalité manquante dans les médias de WordPress : l’upload de fichiers, sans limite d’extensions, n’est pas permise par défaut. Pour des raisons de sécurité sans doute, la liste des extensions supporté la bibliothèque de WordPress est fortement limité.

En voici la liste : jpg, jpeg, jpe, gif, png, bmp, tif, tiff, ico, asf, asx, wax, wmv, wmx, avi, divx, flv, mov, qt, mpeg, mpg, mpe, mp4, m4v, ogv, mkv, txt, asc, c, cc, h, csv, tsv, ics, rtx, css, htm, html, mp3, m4a, m4b, ra, ram, wav, ogg, oga, mid, midi, wma, mka, rtf, js, pdf, swf, class, tar, zip, gz, gzip, rar, 7z, exe, doc, pot, pps, ppt, wri, xla, xls, xlt, xlw, mdb, mpp, docx, docm, dotx, dotm, xlsx, xlsm, xlsb, xltx, xltm, xlam, pptx, pptm, ppsx, ppsm, potx, potm, ppam, sldx, sldm, onetoc, onetoc2, onetmp, onepkg, odt, odp, ods, odg, odc, odb, odf, wp, wpd.

La solution a tout vos problèmes ? Add more files extensions !

C’est tout simple : un champ dans la page Réglages > Médias > Envoi de fichiers va apparaître dès que vous aurez installé le plugin, vous allez pouvoir insérer (séparé par un espace) les extensions supplémentaires que vous souhaitez autoriser.

Certifié valide WordPress 3.2.1.

Télécharger Add more files extensions

Pour ce qui est détails technique, j’ai écrit un tutoriel pour mettre ça en place en natif (dans votre thème WordPress).

Régler le problème des NaN minutes / heures restantes sur Chromium Ubuntu

Il y a un petit soucis apparemment dérangeant dans le gestionnaire de téléchargement de Chromium qui ne nous donne pas le temps que va mettre son fichier à se télécharger, mais un NaN, à cause d’un problème lié à l’utilisation des virgules comme séparateur des nombres décimaux. Le problème à été réglé avec un patch, mais pour le commun des mortels, vous pouvez effectuer une petite opération qui vous permettra de ne pas attendre que la prochaine version de chrome sorte.

En utilisant par exemple nano sur le terminal (c’est tellement rare de nos jours :p), ouvrez le fichier /etc/default/locale :

sudo nano /etc/default/locale

Une fois dans ce fichier, ajoutez donc cette ligne à la suite :

LC_NUMERIC="POSIX"

Déconnexion, reconnexion.

Désolé, ce type de fichier n’est pas autorisé pour des raisons de sécurité

Qui n’a jamais eu le message : “Tel fichier n’a pas pu être mis en ligne suite à une erreur – Désolé, ce type de fichier n’est pas autorisé pour des raisons de sécurité.” ? C’est le message qui s’affiche lorsque vous essayer d’utiliser l’utilitaire d’upload de WordPress en utilisant une extension interdite par défaut par votre CMS préféré.

Il vous est en effet sans doute déjà arrivé de souhaiter télécharger un film un type de fichier un peu spécial sur WordPress et qui n’était pas supporté par le gestionnaire de fichier de votre blog. Vous vous êtes sans doute rabattu sur une autre solution ou vous cherchiez encore.

Si vous voulez vous simplifiez la vie sans avoir à toucher votre code, j’ai créé le plugin add more files extensions, qui permet de réaliser (avec une interface) ce que je m’apprête à vous décrire tout au long de cet article.

Ajouter un type de fichier

En ce qui me concerne, j’ai rencontré le problème avec un fichier sc2replay (replay du jeux vidéo Starcraft 2). La manipulation est assez simple, elle consiste a insérer quelques lignes dans le fichier functions.php, qui se trouve normalement à la racine de votre thème (dans /wp-content/theme/votre-theme/).

Si vous ne connaissez pas le type mime de l’extension de fichier que vous souhaitez ajouter, je vous conseille une petite recherche sur Google.

Attention, gardez ces lignes de codes sous la main car lorsque vous allez changer le thème de votre blog, il faudra insérer de nouveau ces lignes dans le thème que vous utiliserez.

// autorise les mimes contenu dans la fonction mon_nouveau_mime()
add_filter('upload_mimes', 'mon_nouveau_mime');
// $existing_mimes récupère la liste des mimes existant
function mon_nouveau_mime ( $existing_mimes = array() ) {
	$existing_mimes['sc2replay'] = 'application/octet-stream';
	return $existing_mimes;
}

Pour enlever un type mime, vous pouvez utiliser unset dans votre fonction :

unset( $existing_mimes['exe'] );

Intégrer des extensions à la volée

Pour ce qui est de l’intégration à la volée, nous avons besoin d’un peu plus de code. Vous avez deux solutions. La première et de télécharger le plugin WordPress Add more files extensions (que j’ai développé suite à cet article) ou suivre la suite de ce tuto.

Ce que l’on souhaite faire, c’est d’intégrer un champ dans les paramètres wordpress (ici Réglages > Médias > Envoi de fichiers) permettant de personnaliser les extensions autorisées.

Toujours dans le fichier functions.php de votre thème, vous pouvez insérer ces lignes de code pour insérer un champ de paramètre personnalisé ‘ext’ (vous pourrez par la suite appeler la fonction get_option(‘ext’) pour obtenir le résultat de ce champ.

add_action('admin_init','add_media_field');
function add_media_field() {
	add_settings_section( 'fichier', __('Envoi de fichiers'), 'display_ext', 'media' );
	register_setting( 'media', 'ext' );
}
function display_ext(){
	echo '';
	echo __('Entrez les extensions de fichier que vous souhaitez ajouter sans le point (séparé par un espace, ex: "mp3 doc gif")');
}

Pour résumer ces quelques lignes de code add_action(‘admin_init’,’add_media_field’) lance la fonction add_media_field() lorsque l’utilisateur est dans la zone wp-admin de WordPress. La fonction add_media_field() ajoute une section (add_settings_section) ‘Envoi de fichiers’ et se charge d’afficher sur la bonne page (Réglages > Médias) un section en insérant display_ext(). register_setting( ‘media’, ‘ext’ ) se charge d’enregistrer en base l’option ‘ext’ transmise par le formulaire.

Vous pouvez remplacer la ligne comprenant add_settings_section par celle-ci si vous ne voulez ajouter qu’un champ dans une section existante et pas une section entière :

add_settings_field( 'ext', 'Extension', 'display_ext', 'media', 'default', array( 'label_for' => 'ext' ) );

Ces quelques lignes nous ont permis d’ajouter une option dans l’administration. Maintenant, il faut ajouter systématiquement les types associés à l’option ‘ext’ pour que l’on puisse utiliser les médias de WordPress avec les extensions que l’on veut. Pour cela, il nous faut un fichier bien spécial, comprenant un peux plus de 600 extensions de fichiers et leurs types associés. Téléchargez ce fichier et mettez le dans le dossier ‘inc’ de votre thème en le renomant ‘types-mimes.php’.

Maintenant, toujours dans le fichier ‘functions.php’ de votre thème, ajouter ceci :

add_filter('upload_mimes', 'custom_upload_mimes');
function custom_upload_mimes ($existing_mimes = array()) {
    $mimetype = new mimetype();
    $file_types = get_option('ext');
    $variables = explode(' ', $file_types);
    foreach($variables as $value) {
        $value = trim($value);
        if(!strstr($value, '/')) {
            $mime = $mimetype->privFindType($value);
        } else {
            $mime = $value;
        }
        $existing_mimes[$value] = $mime;
    }
    return $existing_mimes;
}
class mimetype {
   function privFindType($ext) {
      $mimetypes = $this->privBuildMimeArray();
      if (isset($mimetypes[$ext])) {
         return $mimetypes[$ext];
      } else {
         return 'application/octet-stream';
      }
   }
	function privBuildMimeArray() {
		require_once('inc/types-mimes.php');
		return $types;
	}
}

La fonction custom_upload_mimes() parcourt la liste des extensions et utilise la classe mimetype pour l’associer à un type mime. Si aucun type n’est trouvé, l’extension prend le type mime ‘application/octet-stream’.

Si vous avez des questions, je serait heureux d’y répondre.

[Source]