Emmet (anciennement Zen Coding) est un bon plug-in cependant certains comportements de base sont lourds !

Première chose pas pratique, le raccourci pour lancer l’auto-complétion sur raccourci est de base ‘Ctrl+Shift+Enter’, ce qui ne s’avère pas fonctionner et en plus ne reprend pas l’ancien raccourci, le plus simple ici est de modifier le raccourci en ouvrant Notepad++ puis en allant dans le menu ‘Paramétrage’/’Raccourcis clavier…’/onglet ‘Plugin commands’ et choisir ‘Expand abbreviation’ pour remettre le ‘Ctrl+E’ qui était le raccourci sous Zen Coding.

Autre chose lourde, l’auto-complétion sur les balises auto-fermantes HTML5 est fait sur une base de syntaxe html hors pour écrire un document qui fonctionnera bien qu’il soit desservi en ‘text/html’ ou ‘application/xhtml+xml’ il faut que la syntaxe respecté soit du xml (ce qui au demeurant pour une syntaxe html fonctionnera tout autant), il est mieux d’avoir par exemple une balise sous la forme ‘<br />’ que sous la forme ‘<br>’ (qui sur une syntaxe xml lèvera une erreur).
Du coup pour modifier ce comportement, il faut modifier le fichier de configuration de Emmet, pour cela, il vous faut éditer le fichier ‘snippers.json’ (présent dans ‘plugins/EnnetNPP/emmet’ du répertoire d’installation de Notepad++ ou ‘AppData/roaming/Notepad++/plugins/Emmet/’ de votre utilisateur courant selon la méthode d’installation du plugin).
Une fois dans le fichier, recherchez la ligne avec

"html": {

et dedans cherchez la clé ‘profile’ qui de base vaut ‘html’, il faut modifier la valeur pour avoir ‘xml’ à la place et sauvegarder.

Dernier point lourd, ne pas avoir de syntaxe pour les fichiers PHP et Twig, pour cela il faut encore éditeur le fichier ‘snippers.json’ et en bas ajouter les lignes suivantes ;

,
"php": {
"extends": "html"
},
"twig": {
"extends": "php"
}

enregistrez, redémarrer Notepad++ et voilà vous êtes bon pour bosser tranquille 🙂


Wiki : Linux : commande find

Le dans

Nouveau : Wiki

Le dans

Après pas mal de temps à me poser la question sur l’utilité de la chose, c’est WordPress et son éditeur WYSIWYG quelque peu bogué dés qu’on met du code qui va me faire sauter le pas.

Désormais tous les articles contenants du code (qui à priori par finalité doivent rester en plus consultables tous le temps) seront placés sur mon wiki présent à cette adresse : http://wiki.yves-astier.fr .

Par ailleurs ça sera pour moi l’occasion de faire ce que j’ai mis trop de temps de côté, à savoir partager des astuces, codes, connaissances, bref me faire plaisir pour partager ma passion et que ça serve à ceux qui veulent se lancer dans l’informatique.

Le wiki est, tous comme ce blog, modéré afin de garder l’essentiel mais néanmoins les contributions sont les bienvenues, la seul demande est d’avoir un compté créé sur le Wiki et me faire un petit mail m’expliquant ce que vous souhaitez faire sur le Wiki.

Si vous voyez des erreurs/bourdes/bêtises, avez des suggestions de forme/fond ou avez des idées de sujet, n’hésitez pas à me faire un mail, même sans avoir de compte, ça vous permettra de participer au partage des connaissances 🙂

La migration du code présent sur le blog va demander du temps (notamment le gros morceau lié à Less et les logiciels libres qui feront désormais l’objet d’une catégorie spécifique), par ailleurs la rédaction de nouveaux sujets également, le wiki va donc s’enrichir petit à petit et en venant visiter de temps à autre, vous devriez y trouver de nouvelles choses.

Le blog quant à lui gardera toujours son rôle d’annonce, notamment pour les articles mis en place sur le Wiki.


Grooveshark.com : RIP

Le dans

Voilà encore une bataille de gagné pour ces …. de majors, dire que je vous vomi dessus serai encore trop sympathique, vous ne méritez même pas qu’on vous c… à la gueule. C’est dommage de déplorer la mort d’un aussi bon site, que ce soit par le contenu ou par ce qui avait été mis en oeuvre techniquement, interface bien foutu, bref tous ce qu’on pouvait attendre d’un bon site.

Il est dommage que cela ce soit fait par contre autant à l’arrache sans possibilité de pouvoir « au moins » exporter ses playlists. J’espère qu’ils trouveront un moyen d’y remédier et qu’ils mettront le code source du site en open (oui j’entends déjà des « faut pas rêver »).

En tous cas je tiens à faciliter ceux qui ont travaillé sur ce site pour le travail fourni et les nombreuses de musique que cela a pu m’offrir ainsi que les nombreuses découvertes qui sans leur système aurait été plus difficile à trouver.

Merci, merci grooveshark !

Petite astuce de dernière minute, il vous est possible de sauvegarder votre playlist si vous n’avez pas vidé votre cache de navigateur 🙂 La procédure à suivre :

1 : Aller sur http://grooveshark.com

2 : ouvrez votre outil développeur (F12 sous Firefox ou Chrome)

3 : cliquez sur l’onglet « Console »

4 : entrez le code suivant et exécutez le

var libraryKey = Object.keys(localStorage).filter(function(key) { return key.match(/library\d/) });
var lib = localStorage[libraryKey];
lib;

5 : si vous avez encore les informations en cache, vous aurez alors une liste au format JSON qui correspondra à votre playlist, sinon vous aurez « undefined » et dans ce cas là, pas de chance 🙁

6 : copiez la valeur de sortie (le JSON) et allez le convertir en CSV par exemple via ce site : https://json-csv.com

Voilà, vous avez votre playlist 🙂


Une petite astuce d’écriture :

Je pars sur un usage de macro dans mon cas ce qui rend l’exemple plus parlant au niveau usage.

{% macro test_ecriture(formView) %}
{% spaceless%}
    {# ... autre code avant ... #}
    {% set formViewName = formView.vars.name %}
    {% set formView = { (formViewName) : formView.vars.prototype} %}
    {# ... autre code après ... #}
{% endspaceless %}
{% endmacro %}

On retrouve ici une structure classique de macro dans lequel je récupère un objet de type formView pour lequel je souhaite créer un nouvel objet pour lequel je veux en clé le nom courant du champ traité et en valeur le prototype. Ce qui est intéressant de regarder ce situe au niveau de l’affectation, si les parenthèses sont bien présentes autour de la clé « formViewName » alors la variable est correctement interprété en chaîne de caractère. Sans les parenthèses, la valeur de clé aurait été la chaîne de caractère « formViewName » et non la valeur.



Aider le web en 30 secondes

Le dans

Ceux qui me connaissent le savent, j’aime bien la notion de vie privée et du respect des données. Dans cette optique, des chercheurs ont commencé à travailler sur la notion d’empreinte unique de navigateur, vous pouvez les aider très simplement en vous rendant sur cette page : https://amiunique.org et en cliquant pour voir si votre navigateur est unique. Il va s’en dire que cela est fait de manière anonyme et que les données sont stockées sur une machine sécurisé. Cela vous prendre moins de 30 secondes, peut être instructif pour ceux qui travaillent dans le web et aidera les chercheurs.


Google : calendrier de l’avant

Le dans

Belle initiative de google qui je viens de le voir à fait un calendrier de l’avant : https://santatracker.google.com

Vous retrouverez pas mal de petits jeux marrants et court (et addictifs) avec un nouveau jeu chaque jour. Je trouve ça top qu’ils offrent ça. Vous pouvez retrouver le lien en cliquant sur le pèer noël sous le moteur de recherche.


Du bon usage de la Française

Le dans

La langue Française est magnifique, il m’a fallu bien des années et surtout sortir du système scolaire qui avouons le ne la promeut pas (coucou la grammaire bien lourde avec des termes abscons et d’un autre temps) pour prendre goût aux subtilités de la langue Française, les magnifiques jeux de mots et l’origine de ceux-ci.

Bref cette article pour vous signaler un lien intéressant :

« Dire ou ne pas dire » ce lien renvoi sur une catégorie dédié du site de l’académie Française présentant des usages (y compris récents) des mots dans la langue courante.


7zip en ligne de commande

Le dans

Cet article me servira de rappel et j’espère servira à d’autres dans le cadre d’une compression au travers de 7zip.

Si vous souhaitez zipper des gros fichiers/répertoires et que l’interface graphique vous claque un message de « mémoire insuffisante », passez en ligne de commande (fonctionne aussi bien sous Windows (via cmd) que Linux (shell classique)), si vous êtes sous Windows (et à moins d’avoir ajouté 7zip dans les path du système) mettez vous dans le répertoire de 7z.exe et tapez la commande suivante : 7z.exe a -mhe=on -pmon_super_mot_de_passe "C:\nom_du_fichier_cible.7z" "C:\bordel\trusc_a_compresser"
L’option -p permet de spécifier un mot de passe, l’option -mhe=on permet quand à elle de demander le mot de passer pour pouvoir lire le nom des fichiers contenu dans le zip (sans cela le nom des fichiers serait consultable même sans le mot de passe !). Testé et approuvé sur du très lourd 😀