Guide pour réaliser un bon moonwalk

Source : https://animagraffs.com/moonwalk/

Ah, le moonwalk ! Ce pas de danse iconique rendu célèbre par Michael Jackson dans les années 80 continue de fasciner et d’inspirer. Réaliser un bon moonwalk n’est pas une mince affaire ; cela demande technique, pratique et un peu de flair. Dans ce guide, nous allons décomposer le processus étape par étape, afin que vous puissiez glisser sur le sol comme le Roi de la Pop.

1. Comprendre le principe du moonwalk

Le moonwalk crée l’illusion que vous marchez en avant alors que vous glissez en arrière. La clé est dans le mouvement fluide des pieds et le contrôle du poids du corps. Avant de commencer, observez attentivement des vidéos de Michael Jackson exécutant le moonwalk. Notez la fluidité de ses mouvements et la façon dont il transfère son poids d’un pied à l’autre.

2. Choisir les bonnes chaussures et le bon sol

Pour réussir un bon moonwalk, l’équipement est crucial. Choisissez des chaussures avec une semelle lisse pour faciliter le glissement. Évitez les chaussures avec trop d’adhérence. Le sol joue également un rôle important : un sol lisse comme du parquet ou du lino est idéal. Évitez les tapis ou tout sol offrant trop de résistance.

3. Position de départ

Commencez par vous tenir droit, les pieds joints. Le secret du moonwalk est de ne jamais laisser les deux pieds toucher le sol en même temps de la même manière. Vous allez toujours avoir un pied plat et l’autre sur la pointe des pieds.

Lire la suite

Linux Mint : installer une imprimante HP WiFi photo

Linux Mint : installer une imprimante HP WiFi

Cela fait des mois que j’ai laissé tomber l’installation de l’imprimante HP en WiFi chez mes parents sur mon portable qui tourne sous Linux Mint Debian Edition. La cause ? L’installation qui plante à chaque fois sans le moindre message d’erreur.

Dernièrement, j’ai eu l’occasion de recevoir mon pote Nico dans mon nouveau chez moi. Il voulait changer de distribution linux et je lui avais conseillé Linux Mint (“tu verras, c’est joli ! tout en aluminium brossé !”). Il l’a donc installé et est lui aussi tombé sur l’os de l’installation du driver HP.

Voici donc les étapes que j’ai suivies pour configurer cette imprimante sur ma LMDE.

Etape 1 : lancer hp-setup en tant que root

Il suffit de lancer l’utilitaire hp-setup dans un terminal en mode graphique et en root :

gksu hp-setup

Voici le premier écran :

hp-setup-device-discovery

On se connecte à l’imprimante en WiFi donc on sélectionne l’option Network/Ethernet/Wireless network.

Ensuite, dans les options avancées, il faut utiliser la méthode de découverte du réseau pour mDNS/Bonjour.

Lire la suite

Linux : résoudre l'erreur "failed to execute /lib/udev/socket:@/org/freedesktop/hal/udev_event" photo

Linux : résoudre l’erreur “failed to execute /lib/udev/socket:@/org/freedesktop/hal/udev_event”

linux-logo

Après une mise à jour de votre installation Linux, et après avoir rédémarré votre machine, il est possible que vous obteniez des dizaines de messages d’erreur au moment du boot du système.

Le problème : des messages venant de Hal

Concrètement, dans demsg, on obtient toute une série de messages comme ceux-ci :

 [   12.543288] udevd[2958]: failed to execute '/lib/udev/socket:@/org/freedesktop/hal/udev_event' 'socket:@/org/freedesktop/hal/udev_event': No such file or directory
[   12.548789] udevd[2962]: failed to execute '/lib/udev/socket:@/org/freedesktop/hal/udev_event' 'socket:@/org/freedesktop/hal/udev_event': No such file or directoryCode language: JavaScript (javascript)

Solution : désinstaller hal

Et bien sachez qu’il suffit de désinstaller Hal avec :

sudo apt-get remove halCode language: JavaScript (javascript)

hal était une bibliothèque permettant l’accélération matérielle sous les systèmes GNU/linux et qui servait aux applications à découvrir et utiliser les composants de la machine.

Depuis le kernel 2.65, cette fonctionnalité a été fusionnée avec udev qui gère maintenant tout cela.

Linux : résoudre l'erreur "failed to execute /lib/udev/socket:@/org/freedesktop/hal/udev_event" photo

Linux : résoudre l’erreur “cannot open pixbuf loader module file”

linux-logo

Aujourd’hui, je ressors mon ordinateur portable sur lequel se trouve mon installation Linux Mint.

Problème : une erreur récurrente dans le terminal de mise à jour

Un nouveau pack de mise à jour est disponible donc je lance l’installation des nouveaux paquets de ma Linux Mint Debian Edition. Au cours de la mise à jour, j’obtiens l’erreur suivante :

(gtk-update-icon-cache-3.0:12015): GdkPixbuf-WARNING **: Cannot open pixbuf loader module file '/usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders.cache': No such file or directory

This likely means that your installation is broken.
Try running the command
  gdk-pixbuf-query-loaders > /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders.cache
to make things work again for the time being.Code language: JavaScript (javascript)

L’erreur est récurrente dans le terminal d’installation et il n’y a plus moyen d’ouvrir d’images : on obtient une erreur comme quoi le format n’est pas reconnu.

Solution : recréer le cache pixbuf

La solution, partiellement donné dans le message, consiste à lancer cette commande avec le chemin complet dans un terminal :

/usr/lib/i386-linux-gnu/gdk-pixbuf-query-loaders /usr/lib/i386-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders.cache

Ce bug a déjà été mentionné sur le gug tracker de Debian : https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=640150

Cela aide aussi de terminer l’installation et de lancer un petit :

apt-get update && apt-get upgrade && apt-get autocleanCode language: JavaScript (javascript)

Hop, résolu.

Serveur dédié : mise en place de l'IPv6 photo 4

Serveur dédié : mise en place de l’IPv6

IPv6 (Internet Protocol version 6) est un protocole réseau sans connexion de la couche 3 du modèle OSI.

Grâce à des adresses de 128 bits au lieu de 32 bits, IPv6 dispose d’un espace d’adressage bien plus important qu’IPv4.

Cette quantité d’adresses considérable permet une plus grande flexibilité dans l’attribution des adresses et une meilleure agrégation des routes dans la table de routage d’Internet.

La traduction d’adresse, qui a été rendue populaire par le manque d’adresses IPv4, n’est plus nécessaire.

ipv6

Fin 2013, on estime le déploiement d’IPv6 à 2 %, et ce en dépit d’appels pressants à accélérer la migration, l’épuisement des adresses IPv4 publiques disponibles étant imminent.

Histoire d’assurer la pérennité de la connexion de notre serveur Kimsufi, voici comment mettre en place l’IPv6. Cela prend à peu près 15 minutes.

Etape 1 : récupérer l’adresse IPv6

Méthode graphique : identifiez-vous dans le Manager OVH et allez dans Serveur Dédié > Récapitulatif. Vous devriez obtenir quelques informations sur la connexion de votre Kimsufi, comme ceci :

ipv6-ovh

Méthode “terminal” : un autre moyen de trouver l’IPv6 est de lancer le terminal et taper la commande ifconfig :

ifconfig

Notez bien l’adresse IPv6 du serveur, nous allons nous en servir dans la prochaine étape.

Lire la suite

Windows XP : résoudre le bug du processus svchost.exe qui fait tourner le processeur à 100%

windows-xp-logo

Il y a quelque temps, quelques utilisateurs de Windows XP ont rapporté le problème du service svchost.exe qui bloque les mises à jours automatiques du système.

Vous savez assez rapidement si votre machine est affectée par ce bug : le système est extrêmement lent et devient inutilisable. Le service s’emballe et fait tourner le processeur à 100%.

Le problème apparaît juste après le démarrage, lorsque Windows essaie de chercher ses mises à jour.

La solution

Voici les étapes pour reprendre la main sur le système et corriger le bug :

  1. faire Ctrl + Alt + Suppr pour tuer le processus svchost.exe qui bloque le processeur à 100%.
  2. télécharger et installer le patch “mise à jour de sécurité pour Internet Explorer 8” pour Windows XP.

Il faut installer le dernier correctif en date, qui reprend et corrige les précédents. C’est cela qui règle le problème du processus à 100%.

Améliorer ses graphiques avec le minimalisme

Aujourd’hui, j’ai trouvé cette petite animation qui explique comment créer des graphiques plus attirants et plus lisibles :

Il est donc utile de retirer le fond, les étiquettes et légendes redondantes, les bordures, le nombre de couleurs, les effets spéciaux et la mise en gras.

Il faut adoucir les étiquettes en mettant du gris au lieu du noir et adoucir voire supprimer les lignes.

Et enfin, ne garder que les étiquettes ou titres qui ont le plus d’impact pour la compréhension du graphique. Tout ce qui est superflu doit disparaître pour plus de lisibilité et de compréhension.

Bienvenue dans l’ère du minimalisme !

Lire la suite

Linux Mint : mettre à jour le noyau linux avec le kernel liquorix photo

Linux Mint : changer la cible des dossiers par défaut

Linux Mint Debian Edition

Par défaut, Linux Mint crée des répertoires par défaut tels que /Bureau, /Téléchargements

Or, il arrive qu’on ait besoin de changer la cible de ces répertoires pour pointer vers un dossier qui se trouve sur une autre partition ou sur un lecteur réseau.

Pour changer la cible de ces répertoires par défaut, il suffit d’éditer le fichier user-dirs.dirs qui se trouve dans le répertoire caché /.config de l’utilisateur :

nano $HOME/.config/user-dirs.dirsCode language: PHP (php)

Voici le contenu du fichier :

# This file is written by xdg-user-dirs-update
# If you want to change or add directories, just edit the line you're
# interested in. All local changes will be retained on the next run
# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped
# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an
# absolute path. No other format is supported.
# 
XDG_DESKTOP_DIR="$HOME/Bureau"
XDG_DOWNLOAD_DIR="$HOME/Téléchargements"
XDG_TEMPLATES_DIR="$HOME/Modèles"
XDG_PUBLICSHARE_DIR="$HOME/Public"
XDG_DOCUMENTS_DIR="$HOME/Documents"
XDG_MUSIC_DIR="$HOME/Musique"
XDG_PICTURES_DIR="$HOME/Images"
XDG_VIDEOS_DIR="$HOME/Vidéos"Code language: PHP (php)

Il suffit d’éditer le chemin des raccourcis existants ou d’en ajouter des nouveaux.

Bash : réparer les tables MySQL en cas de crash photo

BASH : renommer une liste de fichiers en ajoutant un suffixe aléatoire

Bash

J’ai récemment eu à renommer toute une floppée de fichiers PDF avec un suffixe aléatoire. BASH peut très bien faire l’affaire!

Ajouter un suffixe aléatoire à une liste de fichiers :

for f in *.pdf; do cp "$f" "${f%.*}-$RANDOM$RANDOM.${f##*.}"; doneCode language: JavaScript (javascript)

Vite fait, bien fait.

windows-xp-logo

Windows XP arrive à expiration : sauvegarder l’activation pour une future (ré-)installation

Windows XP expire le 8 avril 2014

windows-xp-logo

Si vous êtes encore sous Windows XP, vous devez savoir que le support de ce système d’exploitation arrivera à son terme le 8 avril 2014.

Après cette date, il ne sera plus possible d’activer l’OS depuis les serveurs de Microsoft donc il va falloir sauvegarder votre activation du système en lieu sûr.

Sauvegarde de l’activation Windows XP

Il vous suffit de :

1. copier le fichier C:\Windows\System32\wpa.dbl en lieu sûr;

2. à la réinstallation suivante de Windows XP, redémarrer en Mode sans échec (F8 au démarrage);

3. renommer le fichier C:\Windows\System32\wpa.dbl créé par la nouvelle activation en wpa.dbl.bak

4. copier enfin le fichier d’activation que vous aviez sauvegardé dans C:\Windows\System32\

Et voilà, vous pourrez réinstaller XP sans passer par les serveurs d’activation de Microsoft.

Windows XP, sorti en 2001, aura eu une durée de vie de 13 ans, ce qui n’est vraiment pas négligeable pour un système d’exploitation.

Il aura été pour moi le Windows de référence avant que je ne passe sur du tout Linux.

PHP : résoudre l'erreur "Redefining already defined constructor for class ..." photo

OVH : activez PHP-FPM sur votre hébergement

OVH est en pleine implémentation du module PHP-FPM sur ses offres, (et ici dans leur guide), ce qui permettrait selon la team OVH “d’accélérer les temps de réponses de PHP et d’obtenir des performances jusque 7 fois plus rapides dans nos labos par rapport au moteur actuel”.

Activation de PHP-FPM

Pour activer ce mode sur votre offre, il suffit de créer un fichier .ovhconfig à la racine de l’arborescence FTP, dans le dossier parent du répertoire /www.

Si vous souhaitez activez PHP 7, voici ce que doit contenir votre .ovhconfig:

app.engine=php
app.engine.version=7.0
http.firewall=none
environment=production

Si vous souhaitez activez PHP 5.6, voici ce que doit contenir votre .ovhconfig:

app.engine=php
app.engine.version=5.6
http.firewall=none
environment=production

Lire la suite

WordPress : récupérer la liste emails des membres et commentateurs photo

WordPress : afficher la date en français dans le thème (sans utiliser le pack de langue ou setlocale())

Wordpress icon

Cela fait des années que j’utilise le même thème graphique pour mon site et je n’ai jamais vraiment pris le temps de traduire la date de publication ou de mise à jour des articles en français.

Le tutoriel qui suit ne s’adresse qu’à un cercle réduit de développeurs : il est évidemment bien plus aisé d’installer WordPress en français (avec le langage pack qui convient) ou d’utiliser la fonction PHP setlocale() comme je l’avais fait précédemment avec WP-Date FR.

Dans mon cas bien précis, je n’ai pas accès aux locales étant donné que le serveur est installé en anglais.

Je ne souhaite pas non plus installer la locale française, qui serait alors ajoutée à tous mes paquets Debian.

Et je ne souhaite pas non plus utiliser la traduction française de WordPress. It’s coding time !

La fonction sky_date_french()

Vous pouvez placer cette fonction dans le fichier functions.php de votre thème :

/*
|-----------------------------------------------------------------------
| Sky Date in French by Matt - www.skyminds.net
|-----------------------------------------------------------------------
|
| Returns or echoes the date in French format (dd/mm/YYYY) for WordPress themes.
|
*/
function sky_date_french($format, $timestamp = null, $echo = null) {
	$param_D = array('', 'Lun', 'Mar', 'Mer', 'Jeu', 'Ven', 'Sam', 'Dim');
	$param_l = array('', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi', 'Dimanche');
	$param_F = array('', 'Janvier', 'Février', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Août', 'Septembre', 'Octobre', 'Novembre', 'Décembre');
	$param_M = array('', 'Jan', 'Fév', 'Mar', 'Avr', 'Mai', 'Jun', 'Jul', 'Aoû', 'Sep', 'Oct', 'Nov', 'Déc');
	$return = '';
	if(is_null($timestamp)) { $timestamp = mktime(); }
	for($i = 0, $len = strlen($format); $i < $len; $i++) {
		switch($format[$i]) {
			case '\\' : // fix.slashes
				$i++;
				$return .= isset($format[$i]) ? $format[$i] : '';
				break;
			case 'D' :
				$return .= $param_D[date('N', $timestamp)];
				break;
			case 'l' :
				$return .= $param_l[date('N', $timestamp)];
				break;
			case 'F' :
				$return .= $param_F[date('n', $timestamp)];
				break;
			case 'M' :
				$return .= $param_M[date('n', $timestamp)];
				break;
			default :
				$return .= date($format[$i], $timestamp);
				break;
		}
	}
	if(is_null($echo)) { return $return;} else { echo $return;}
}Code language: PHP (php)

Lire la suite