Heu-reux !

74 jours, 1 heure, 5 minutes.

Je viens d’arriver aux Sables d’Olonne, heureux de cette belle course, heureux de ce parcours autour du monde.

Heureux d’accueillir Armel et Alex tout à l’heure, ainsi que mes compagnons de navigation que j’ai devancés : yol69, Claude6969 et Melinor de Grand Largue, Cap2pbi, quillou69, EDGE_555 et eleclem de Pierre-Bénite, CCH-74 et C2ny du Lac Léman, AB-64 (Alaric).

Heureux de prendre une vraie douche, de « dormir une année ».

Heureux de retrouver mes clients dès lundi et de les aider à gagner de la visibilité sur Internet.

Share

Archivage sur un site web ?

Votre ordi brûle, s’écrase, coule, est volé ; c’est grave ? Vous avez perdu quoi ?

La dernière sauvegarde de votre ordinateur, elle date de quand :

  • A : Il y a 5 minutes ?
  • B : Hier soir ?
  • C : Le mois dernier ?
  • D : Je ne me souviens plus,
  • E : Euh, il faut sauvegarder quoi ?

Ceux qui répondent « Euh ? » sont de très mauvaise foi. On l’a dit, redit, répété : sauvegardez vos fichiers perso ! Souvent ! Parce que l’ordi peut brûler, s’écraser, couler, être volé, … être infecté par un virus, rançonné par CryptoLocker, …

Vite fait, je veux partager ici ma stratégie de sauvegarde de mes données.

  • Mes fichiers d’archives ( = les fichiers que j’utilise très rarement) sont stockés sur un disque dur physique (chez moi) ET sur le « Cloud » (Drive, DropBox, Hubic, … ) en mode « non synchronisé »  : je pourrai les récupérer si besoin ;
  • Mes fichiers actifs ( = ceux que j’utilise fréquemment) sont synchronisés sur le Cloud : je peux y accéder depuis n’importe quel ordi, depuis mon téléphone mobile ;
  • Tous les soirs, j’effectue une sauvegarde non synchronisée de mes fichiers actifs : j’utilise Cobian BackUp (gratuit) pour copier les fichiers sur l’hébergement d’un de mes sites internet. Si CrytoLocker passe demain matin, je rigole (bon, ça ne me fait pas rire parce que je vais avoir quelques heures de boulot, mais je sais que je retrouverai tout).

cyjung-ecrire-lesbien Au fait, pourquoi appeler cet article « archivage », plutôt que « sauvegarde » ? En écho à l’excellent article de Cy Jung « Un site Web peut-il constituer une archive ? » Moi, je fais l’inverse 😉

Pour le fun, voici sa « home page », en avril 2001. Vous avez dit droit à l’oubli ?

Share

WordPress : corriger l’erreur empty_email error

Lorsque vous enregistrez ou modifiez un utilisateur WordPress, vous ne connaissez pas nécessairement son adresse mail. Dans ce cas WP vous gratifie d’un message d’erreur :

ERREUR : veuillez saisir une adresse de messagerie.
et en anglais :
ERROR: Please enter an e-mail address.

Jusqu’à WP 3.9, la parade était connue. Il suffisait d’ajouter aux fonction de votre thème :

add_action( 'user_profile_update_errors', 'remove_empty_email_error' );
function remove_empty_email_error( $arg ) {
if ( !empty( $arg->errors['empty_email'] ) ) unset( $arg->errors['empty_email'] );
}

Depuis WP 4.0, la classe WP_error est devenue privée, et ça ne fonctionne plus.

Voici la nouvelle syntaxe (depuis 4.1) :

add_action( 'user_profile_update_errors', 'remove_empty_email_error' );
function remove_empty_email_error( $arg ) {
$arg->remove('empty_email');
}

Enjoy !

Share

Office 2013

Office 2013

J’ai craqué (je n’ai pas dit cracké 🙂 ) pour la suite Office 2013, qui est supposée plus fluide pour les PC avec écran tactiles. Je ne suis pas déçu :

  • Ça ressemble beaucoup à 2010 que j’utilisais précédemment,
  • Et c’est plus que compatible avec la saisie manuscrite.

A noter qu’une seule installation est possible : il n’est pas possible de ré-installer Office 2013 sur une autre machine si la vôtre venait à mourir, mais pour 99 € chez amazon, je prends le risque. Au contraire, Office 365 permet 5 installations, mais coûte 80 € par an…

J’ai rencontré quelques soucis, je partage ici les solutions que j’ai trouvées.

  • Ne pas utiliser SkyDrive

C’est un peu tordu de ne pas vouloir utiliser le cloud en 2013… Oui mais voilà, je suis un peu parano. Alors j’ai supprimé ma connexion au compte Microsoft et j’enregistre mes fichiers en local.

– Pour supprimer la connexion : aller dans Fichier > Compte > Se déconnecter. A noter que les très beaux thèmes Office ne sont plus accessibles, et qu’on n’a plus que le choix de 3 nuances de … gris. Tant pis.

– Pour enregistrer en local : aller dans Fichier > Options > Enregistrement.
Cocher « Ne pas afficher le mode Backstage … » ;
décocher « Afficher les emplacements supplémentaires … » ;
cocher « Toujours enregistrer sur l’ordinateur ».

  • Afficher (ou pas) l’écran d’accueil

Fichier > Options > Enregistrement > « Afficher l’écran de démarrage au lancement… »

  • Modifier des images

L’application « PHOTOS » (PhotosApp.exe) est très jolie, mais n’égale pas « Office Picture Manager ». Il semble possible d’installer OPM depuis une versions précédente d’Office ou depuis SharePoint Designer 201 qui est gratuit (référence). J’ai testé Photo Gallery Windows Live (référence) mais il faut se connecter avec un compte Microsoft…

Bon, pour les travaux de tous les jours, PhotoFiltre (gersion 6 et 7 gratuites) va très bien, et Gimp (GNU) pour les opérations plus avancées.

Share

Windaube 8.1

Je viens de m’offrir un ultraportable (Sony Vaio duo 13) qui me plait beaucoup, mais qui souffre du grave défaut d’être équipé de Windows 8.1, qui est juste une couche au dessus de W7 … Ça rend la navigation très élégante, mais la maintenance plus compliquée.

Je vais partager ici mes trouvailles, pour m’en souvenir et aussi dans l’espoir que ça puisse aider.

  • Gestion des connexions au wifi

La page « gérer les connexions sans fil » du centre de réseaux est partage a disparu…  Tout se fait désormais à la main (quel progrès !) depuis l’invite de commande. Références.

  • Décalage d’une heure

Depuis la mise en route il y a 36 heures, la date était décalée d’une heure, malgré le bon fuseau et la prise en compte de l’heure d’hiver. Les bonnes vieilles méthodes fonctionnent encore : Afficher l’heure depuis la barre des tâches > Modifier les paramètres de date et heure > Temps internet > Modifier les paramètres > Mettre à jour. Ca marche, et en plus on a l’explication : la mise à jour a lieu chaque semaine…

  • Travailler en local

Compte Windows, SkyDrive, Cloud … tout est fait pour nous simplifier la vie en itinérance ! Oui mais, je suis parano. Donc pas de fichiers ni de photos en ligne, tant pis pour la portabilité. J’ai également désinstallé SkyDrive.

La connexion au compte Microsoft reste nécessaire pour télécharger des applications, et dans la mesure du possible je les cherches sur les sites des auteurs. Ça évite souvent (pas toujours) de télécharger simultanément des barres de recherches, add-ons inutiles et autres spywares.

En tout cas, déconnexion du compte Microsoft dès que possible.

  • Son du PC / HDM

Ca n’a rien à voir avec W8 : j’étais bien surpris de ne plus avoir de son depuis le PC… C’est que je suis maintenant connecté à mon écran en HDMI, qui « emporte le son ». Alors c’est facile : il suffit de connecter le câble audio des enceintes sur l’écran (et pas sur le PC, comme j’avais l’habitude).

En revanche, si pas d’enceintes, pas de son… 🙁

 

Share

Exporter ses contacts depuis Gmail – Problème des contacts sur plusieurs lignes

J’ai cherché à exporter mes contacts depuis Gmail, mais voilà : le fichier .CSV affiche les contacts de manière chaotique dans Excel, chaque contact étant affiché sur plusieurs lignes.

Je n’ai pas trouvé de solution miracle sur les forums, alors voilà ce qui a marché chez moi :

  1. Dans la page des contacts Gmail, cliquer sur « Plus » et « Exporter … » ;
  2. Choisir le groupe de contacts à exporter et le format « CSV Google » ;
  3. Valider en cliquant sur « exporter » et enregistrer le fichier sous le nom « contacts.txt » (txt au lieu de csv qui est proposé) ;
  4. Ouvrir le fichier contacts.txt avec OpenOffice (avec Excel ça ne marche pas) ;
  5. Choisir la virgule « , » comme seul séparateur ;
  6. « Enregistrer sous » le fichier au format xls (Microsoft Excel 97/2000/XP) et conserver ce format ;
  7. ouvrir le fichier contacts.xls avec Excel : c’est tout bon !

Enjoy !

[EDIT] CoolRaoul indique qu’on peut faire la même chose avec Google Drive. A tester !

Share

Accélérer WordPress #8 – Lazy load pour les images

lazy

Alors là, je crois avoir découvert un truc formidable.

Au lieu de charger toutes les photos de la page, le « lazy load » les charge au fur et à mesure que l’on descend (scroll) dans la page. C’est donc une amélioration significative :

  • Moins de requêtes, de kB et de temps pour que le chargement soit déclaré complet
  • Et possiblement un meilleur ranking chez notre Ami

J’ai utilisé le plugin « jQuery lazy load plugin » dont une documentation sommaire et une démo sont disponible ici.

Ca marche « out of the box » pour les images simples :

  • Créer une image vide de 1px x 1px : grey.gif
  • Dans l’éditeur de Post utiliser la syntaxe indiquée
<img class="lazy" src="img/grey.gif" data-original="img/example.jpg" width="640" height="480">

J’ai eu plus de mal à le faire fonctionner pour les images associées à un lien, dont la syntaxe est

<a href="lien_quelconque"><img src"url_image" /></a>

N’hésitez pas à me contacter pour connaître le détail du code.

J’en profite pour vous faire part des nouvelles performances du site www.coach-abondance.com :

Performance www.coach-abondance.com

En résumé

  • Le site commence à apparaître après 0,74 secondes : l’internaute n’a plus le temps de bâiller … [au début, c’était plus de 10 secondes],
  • Le temps total de chargement est de 3,3 secondes [au début, c’était plus de 14 secondes],/li>
  • 13 requêtes sont nécessaires [au lieu de 53] et 483 kB sont chargés [au lieu de 960],
  • Seules les 5 premières images (dont le background) sont chargées « en première instance » [sur la quinzaine présentes sur la page], les autres sont … lazy 🙂 et arrivent quand on scrolle la page

 

Share

Accélérer WordPress #7 – Serveur externe pour gros fichiers

Je n’arrive toujours pas à activer un CDN …

GIF animé coach-abondanceMais je me dis qu’un serveur externe rapide serait bien utile pour afficher les très gros fichiers graphiques, en particulier dans le header (background = 100 ko) et dans la page d’accueil (GIF animé = 400 ko, voir ci-contre), qui représentent plus de la moitié des infos de la page.

J’ai choisi Amazon S3 comme serveur de fichier. Ça marche plutôt bien et facilement, il semble que la première année soit gratuite… A voir !

NB : dans les paramètres « Metadata » des fichiers déposés dans le « bucket », il faut ajouter le champ « cache-control » avec la valeur « max-age=2952000 » (soit 1 mois).

De fait, selon GTMetrix, le temps de chargement de la page est réduit de moitié :-). Webpagetest (en DSL 1.5) est moins élogieux, l’avenir dira si le score « hors rebond » de Google Analytics s’améliore … ou pas !

Share

Accélérer WordPress #6 – CSS sprites

CSS spritesSelon les « canons » de l’accélération d’un blog, la réduction du nombre de requêtes est un « must ». A l’examen de mon site, il y a 5 appels de fichiers image dans le header.php. Si le total d’octets récupéré n’est pas énorme, à chaque fois il faut établir une connexion, soit 50-100 ms environ. Ce sont autant de requêtes qui retardent le chargement des autres éléments (puisque 5 requêtes sont exécutées simultanément).

Je lis quelque part que les « CSS sprites » sont une solution efficace. Tous les visuels sont inclus dans un seul fichier (voir image) qui n’est chargé qu’une seule fois (une fois pour toutes), et les images sont « extraites » de ce « master » selon le besoin. Par exemple ici, pour les 6 visuels je ne charge le fichier qu’une seule fois, et je réduis donc de 5 le nombre de requêtes.

Par la même occasion, les appels des images sont effectuées directement depuis le css, ce qui réduit d’autant le temps de téléchargement de la page (les css étant appelées après la page HTML).

[Edit] J’ai intégré ces images dans le fichier « background » hébergé sur Amazon S3. Elles sont cachées par le « container » et ça fait un requête en moins …

Share

Accélérer WordPress #5 – Supprimer des plugins

Une bonne partie du temps de chargement de votre blog est occupée à l’activation des plugins. Vous avez ajouté des fonctionnalités essentielles, vous avez plus de 20 plugins actifs ? Oui, moi aussi, et je sais : c’est trop !

C’est d’autant plus « trop » que WordPress n’optimise pas vraiment l’ordre (ni le moment) de chargements des plugins. En fait, je crois bien qu’ils sont tous là, sur chacune des pages, qu’ils soient utilisés ou non.

Je vais partager ici mes trouvailles.

Supprimer « Related Posts »

Il existe plusieurs plugins qui affichent, pour chaque article, les « articles suggérés ». C’est bien pratique dans un blog où les articles disparaissent sous la pile, même s’ils traitent de sujets très proches.Je recommande vraiment de suggérer d’autres articles à lire.

J’avais installé « WordPress related posts » qui fait vraiment bien son travail : il faut juste 0,2 secondes pour charger les CSS sur la page d’accueil, qui est statique et n’a pas de « related post » !

La suggestion des articles s’effectue de manière usuelle sur la base des mots clés : il est donc très important :

  • D’en mettre (alors que ça ne sert pas du tout au référencement)
  • Et de vérifier régulièrement s’il n’y a pas trop de doublons mal orthographiés (oui, ça m’arrive aussi …)

Je vous recommande cet excellent article (en anglais) qui décrit le bout de code à ajouter à votre template « single.php », juste avant <?php comments_template(); ?>, pour afficher les vignettes (thumbnails) et les titres des articles suggérés en bas de chacun de vos posts.

Bien entendu, vous adapterez le code si, au lieu des vignettes, vous préférez une liste à puce (c’est mon cas, j’ai le titre + les 150 premiers caractères de l’article).

Supprimer « Share Post »

Je pense que c’est aussi une fonctionnalité essentielle (surtout pour les plus jeunes) : un click et c’est sur Facebook, LiknedIn, Twitter … J’avais « share and follow » (non, je ne mets pas de lien) qui est une usine à gaz : près de 0,8 secondes, rien que pour charger l’image à partir de laquelle les vignettes sont extraites …

Ça me manque un peu, alors si vous avez une soluce je suis preneur …

[Edit] J’ai aussi supprimé « Login with Ajax« , ça a été un peu compliqué mais ça fonctionne.

A suivre …

Share