PHP : solution pour l'erreur "preg_match(): Compilation failed: invalid range in character class" photo

PHP : résoudre l’erreur “function eregi() is deprecated”

php logo

Il vous est peut-être déjà arrivé de tomber sur ce message d’avertissement :

Function eregi() is deprecated.

En fait, “deprecated” signifie que les versions récentes de PHP considèrent cette fonction comme obsolète, c’est un peu comme si la fonction ereg() n’existait plus.

Par conséquent, mieux vaut dorénavant utiliser la fonction preg_match qui a pris sa place.

La fonction ereg() ou eregi() est donc remplacée par la fonction preg_match() depuis PHP 5.3 :

$is_image = eregi( "jpg|gif",$file_type );Code language: PHP (php)

devient donc :

$is_image = preg_match( “~jpg|gif~i”,$file_type );Code language: PHP (php)

Voici la liste des fonctions devenues obsolètes sous PHP 5.3 :

call_user_method() (use call_user_func() instead)
call_user_method_array() (use call_user_func_array() instead)
define_syslog_variables()
dl()
ereg() (use preg_match() instead)
ereg_replace() (use preg_replace() instead)
eregi() (use preg_match() with the ‘i’ modifier instead)
eregi_replace() (use preg_replace() with the ‘i’ modifier instead)
set_magic_quotes_runtime() and its alias, magic_quotes_runtime()
session_register() (use the $_SESSION superglobal instead)
session_unregister() (use the $_SESSION superglobal instead)
session_is_registered() (use the $_SESSION superglobal instead)
set_socket_blocking() (use stream_set_blocking() instead)
split() (use preg_split() instead)
spliti() (use preg_split() with the ‘i’ modifier instead)
sql_regcase()
mysql_db_query() (use mysql_select_db() and mysql_query() instead)
mysql_escape_string() (use mysql_real_escape_string() instead)
Passing locale category names as strings is now deprecated. Use the LC_* family of constants instead.
The is_dst parameter to mktime(). Use the new timezone handling functions instead.Code language: JavaScript (javascript)
Portal: No Escape photo

Dan Trachtenberg – Portal : No Escape

Portal est un jeu vidéo de réflexion et d’action en vue subjective développé par Valve en 2007.

Le jeu consiste en une succession de parcours que le joueur doit franchir en téléportant son personnage ou des objets à l’aide d’une arme capable de créer un portail spatial entre deux surfaces planes.

Portal: No Escape est un court-métrage de Dan Trachtenberg qui reprend la trame du jeu et met en scène Chell qui découvre le Portal Gun et essaie de s’échapper de sa cellule :

Sympa comme tout cette adaptation, on en verrait bien un long-métrage!

The Black Keys - Gold On The Ceiling photo

The Black Keys – Gold On The Ceiling

Allez, un autre petit titre des Black Keys pour finir la semaine en beauté !

Gold On The Ceiling se trouve lui aussi sur l’album El Camino (2012) :

Voilà de quoi mettre tout le monde de bonne humeur dès potron-minet ! A écouter sans modération.

Dialogues with Mister B. : "pizza 4 fromages" photo

Dialogues with Mister B. : “pizza 4 fromages”

Cette année, j’ai une classe de 4ème SEGPA. Avec eux, c’est un peu de la science-fiction. Ensemble, ils sont odieux. Individuellement, ils peuvent être sympathiques.

Hier, j’ai assisté à cette discussion entre deux élèves, Amandine et Ludivine :

zep 4fromages

Tout simplement hallucinant. “La 4 fromages vient de sortir”, tout simplement après la 3 fromages. Logique.

J’ai mis plusieurs minutes à m’en remettre de celle-là.

Lazy Teenage Superheroes photo

Lazy Teenage Superheroes

Lazy Teenage Superheroes est un court-métrage réalisé par Michael Ashton avec un budget de seulement 300 dollars.

Nous suivons Ty qui essaie de motiver ses “super” amis – Mitch, Cal et Rick – pour arrêter de jouer aux jeux-vidéo, quitter le canapé et utiliser leurs pouvoirs pour essayer de sauver le monde.

Les effets spéciaux sont plutôt sympas, a mi-chemin entre Heroes et Misfits.

Dialogues with Mister B. : "cyclope" photo

Dialogues with Mister B. : “cyclope”

Qui dit nouvelle année dit nouveaux dialogues

On commence par la classe de 6ème dont je suis aussi, accessoirement, professeur principal. Je vous présente Gwendal qui m’a sorti cela un lundi matin alors que l’on se rangeait dans le couloir avant d’entrer en classe :

zep cyclope

C’est bien, ça commence très fort cette année. On est tout rassurés de savoir qu’on a un élève qui devient cyclope quand il colle sa montre sur son front…

Lire la suite

Miike Snow - Silvia photo

Miike Snow – Silvia

Bon, ce n’est pas tout mais c’est que la fin du monde approche à grands pas!

Voici le clip post-apocalyptique (et probablement avec des gens cherchant de la drogue) de Silvia par Miike Snow:

Reached the city steps tonight
Following the power lines
Met a man bar side
With eclipses for eyes

And you tell yourself you won’t let them touch
Did I say too much?
Did I say enough?
I don’t know… Silvia
I don’t know… Silvia

Circle round the room still
Have fun breaking my will
You know I can’t have you here
With someone else on your skin

And it’s all my fault for not getting off
So you made it start, can you make it stop?
You don’t know… Silvia
You don’t know… Silvia

Reached the city steps tonight
Following the power lines
And your skin is so white
Underneath the black night

And your voice cries out for the coup de grace
When the lights go out will there be a trace?
That I loved… Silvia
That I loved… Silvia

Miike Snow est un groupe musical originaire de Stockholm baptisé en hommage au réalisateur japonais Takashi Miike (qui a réalisé DOA, Zatoichi, et qui joue dans Hostel) et composé d’Andrew Wyatt, Christian Karlsson et Pontus Winnberg.

Ces deux derniers composent le duo Bloodshy & Avant, connu pour avoir produit plusieurs titres à succès de la chanteuse Britney Spears.

Cracker - Low  photo

Cracker – Low

Here’s Low by Cracker (off the album Kerosene Hat), a song that I played over and over when I was at college.

It used to be my driving song: I’d pop that CD in, turn the volume up and drive the night away with no particular destination.

In that sense, I often identify with Nick Carraway, the character who narrates The Great Gatsby.

Tuning:Standard

Guitar 1 - Simple chord riff, D, then C, then E5, then G in the following pattern.  
the verse it is an acoustic guitar and then switches to the same as guitar 2, an electric distorted.

   v   v^v   vv  v   v^v    vv
e|-2---222------------------33----------------------------------------------|
B|-3---333---11-------------33----------------------------------------------|
G|-2---222------------------------------------------------------------------|
D|-----------22---2---222---------------------------------------------------|
A|-----------33---2---222---22----------------------------------------------|
E|----------------0---000---33----------------------------------------------|

Guitar 2 has two parts, the first is played at the intro and chorus:

e|---------------------------------------------------------------------------|
B|-44554h5-55454554h5--88----------------------------------------------------|
G|-44444---44444444----44----------------------------------------------------|
D|---------------------------------------------------------------------------|
A|---------------------------------------------------------------------------|
E|---------------------------------------------------------------------------|

The second is played during the verse, and sounds mostly clean:

e|--11b12--------------------------------------------------------------------|
B|---------------------------------------------------------------------------|
G|9--------------------------------------------------------------------------|
D|---------------------------------------------------------------------------|
A|---------------------------------------------------------------------------|
E|---------------------------------------------------------------------------|

Then the solo, with distortion
e|---------------------------------------------------------------------------|
B|---------------------------------------------------------------------------|
G|---------------------------------------------------------------------------|
D|--9b--9--9-----------------------------------------------------------12----|
A|--12b-10-10----------------10---1010101010-10-10---------10h10-12s14---14--|
E|------------10-12-12-10h12---12-1514141210-10-10h12-10h12------------------|

e|------------------------------------------|
B|-----11-12-11-----------------------------|
G|---14---------12--1414-1212-1414-1414-14--|
D|------------------------------------------|
A|------------------------------------------|
E|------------------------------------------|

Lyrics
==============

Sometimes I wanna take you down
Sometimes I wanna get you low
Brush your hair back from your eyes
Take you down let the river flow

Sometimes i go and walk the streets
behind a green sheet of glass
A million miles below the streets
A million miles, a million miles

D          C        E          G
Being with you girl like being low
hey hey hey like being stoned
Being with you girl like being low
hey hey hey like being stoned

A million poppies gonna make me sleep
But just one rose that knows your name
The fruit is rusting on the vine
The fruit is calling from the trees

Hey hey dont you wanna go down
Like some disgraced cosmonaut
A million miles below the streets
A million miles a million miles

(chorus)

(solo)

Blue blue is the sun 
Brown brown is the sky 
Green green are her eyes 
A million miles a million miles 
Hey hey don't you wanna go down 
Like some displaced cosmonaut 
A million miles below the streets 
A million miles a million miles 

(chorus) 
Code language: JavaScript (javascript)

We are all drifters.

More : Cracker.

HTML5 : corriger l'erreur "The frameborder attribute on the iframe element is obsolete. Use CSS instead." photo

WordPress : valider le code oEmbed Youtube en HTML5

Le problème : le code des vidéos n’est pas valide en HTML5

Maintenant que nous avons mis à jour le code des oEmbed Youtube, nous allons rendre le code de l’iframe valide. Voici ce que le code oEmbed de WordPress donne par défaut avec un lien Youtube :

<iframe src="https://www.youtube.com/embed/Gvh2Zo7UL6E" width="660" height="371" frameborder="0" allowfullscreen="allowfullscreen"></iframe>Code language: HTML, XML (xml)

Résultat:

Or le petit problème, c’est que tout cela n’est pas vraiment valide au niveau W3C et je commence à me lasser de voir ces erreurs de validation sur toutes les pages du site avec des vidéos :

Erreur 1 : Attribute allowfullscreen not allowed on element iframe at this point.
Erreur 2 : The frameborder attribute on the iframe element is obsolete. Use CSS instead.Code language: JavaScript (javascript)

La solution : filtrer le rendu oEmbed de WordPress pour purifier le code

HTML5 logo

Voici donc la solution que j’ai mise en place sur le site : je filtre le code oEmbed de WordPress de manière à retirer le tag allowfullscreen qui n’a rien à faire là et à supprimer l’attribut frameborder, que je remplace par un style="border: none".

Éditez le fichier functions.php de votre thème et ajoutez-y cette fonction:

<?php
/*
|-----------------------------------------------------------------------
| Sky oEmbed Filter by Matt - www.skyminds.net
|-----------------------------------------------------------------------
|
| The sky_oembed_filter() function attempts to validate WordPress 
| video oEmbeds for HTML5.
| $return is the normal HTML that the oEmbed process would return. 
| $data is the data received from the oEmbed call, in an object format. 
| $url is the original URL being queried for oEmbed info. 
|
*/
add_filter('oembed_dataparse', 'sky_oembed_filter', 90, 3 );
function sky_oembed_filter( $return, $data, $url ) {
 	$return = str_replace('frameborder="0" allowfullscreen', 'style="border: none"', $return);
	return $return;
}Code language: HTML, XML (xml)

Notez que WordPress cache les résultats oEmbed dans la table postmeta donc après avoir installé ce code et si vous voulez vérifier que cela fonctionne, éditez un article pour que le postmeta se mette à jour.

Voilà, vos pages avec vidéos YouTube devraient maintenant être valides.

ssd

Mon laptop passe au SSD

ssd

Cette semaine, j’ai changé le disque dur de mon portable vieillissant (2005, souvenir de l’année de stage IUFM!) pour un disque dur SSD de 120GB.

J’avais lu que cela décuplait les performances et je dois dire que, même si j’étais sceptique avant l’installation, les résultats sont là : mon laptop démarre Linux Mint et est directement utilisable (bureau chargé) en moins de 30 secondes. Nickel.

Le temps de lancement des applications est divisé par 5 ou 6 je dirais. Particulièrement visible avec GIMP par exemple. Cet ordinateur retrouve ses performances d’antan!

C’est plus silencieux, plus rapide… pour l’instant je n’y trouve que des avantages. En fait, je suis tellement satisfait que je pense que le desktop va lui aussi bénéficier de cette petite cure de jouvence un de ces quatre.

Et je pense que ce jour-là, je laisserai tomber Ubuntu, probablement pour Mint.

Amazon Prime Video
The Black Keys - Little Black Submarines (BBC Radio 1 Live) photo

The Black Keys – Little Black Submarines (BBC Radio 1 Live)

Ici, on aime le rock des Black Keys depuis pas mal de temps.

Et bien, depuis la sortie de l’album El Camino cette année, c’est dur de choisir quoi vous présenter… allez, un petit coup de Little Black Submarines en live sur BBC1:

Tuning: Standard

Am

Am          G
Little black submarines
D      A
Operator please
Am         G       A
Put me back on the line
Am           G
Told my girl I'd be back
D      A
Operator please
Am       G          A
This is wrecking my mind

Am         G
Oh, can it be
    D              A
The voices calling me
A - B - C         D      A  
They get lost and out of time
  Am                G
I should've seen it glow
    D         A
But everybody knows
       C      D        A
That a broken heart is blind
A - B - C     D        A
That a broken heart is blind


Pick you up, let you down
When I wanna go
To a place I can hide
You know me, I had plans
But they just disappeared
To the back of my mind

Oh, can it be
The voices calling me
They get lost and out of time
I should've seen it glow
But everybody knows
That a broken heart is blind
That a broken heart is blind

DISTORTED GUITAR COMES IN (Same chords as the acoustic guitar, just strum)
Riff
e|------------------------|
B|------------------------|
G|------0-2-0-------------|
D|------------0-2-0-------|
A|-------------------3----|
E|------------------------|

Treasure maps for a change
Operator please
Call me back when it's time
Stolen friends and disease
Operator please
Pass me back to my mind

Oh, can it be
The voices calling me
They get lost and out of time
I should've seen it glow
But everybody knows
That a broken heart is blind
That a broken heart is blind
That a broken heart is blindCode language: PHP (php)

J’adore cette voix rock.