Doublons dans l'historique de commandes

Lorsque l'on travaille sous Linux, on se retrouve souvent à taper un bon nombre de fois les mêmes commandes. Du coup l'historique des commandes (accessible notamment via les flèches) n'est rapidement plus très praticable tant il est redondant.

Pour régler ce genre de problème, on peut utiliser la variable shell HISTCONTROL. Celle-ci peut prendre différentes valeurs :

  • ignoredups :
    lorsqu'une commande est identique à la précédente n'est pas ajoutée à l'historique, ce qui évite de se retrouve avec un dizaine de uptime à la file quand on surveille la charge du serveur.
  • ignorespace :
    lorsqu'une commande commence par un espace, elle n'est pas ajoutée à l'historique, ainsi on peut choisir quelle commande ajouter ou non.
  • ignoreboth :
    cumule les comportements des deux valeurs précédentes.
  • erasedups :
    lorsqu'une commande est tapée, toutes les commandes identiques présentes dans l'historique sont supprimées. Ceci est particulièrement intéressant pour éviter d'avoir son historique parasité par un grand nombre de ls, ps, cd .. et autres commandes courantes.
  • enfin pour revenir au comportement classique, il suffit d'affecter une chaine vide.

Cette valeur peut être affectée de plusieurs manières :

  • pour la session courante uniquement via la commande :
    export HISTCONTROL=valeur
  • pour toutes les sessions, en ajoutant HISTCONTROL=valeur dans votre fichier bashrc
  • pour tous les utilisateurs (uniquement si vous êtes administrateur de la machine, bien entendu) en ajoutant HISTCONTROL=valeur dans le fichier bashrc global trouvable dans /etc.

Le débugage des JavaScript sous Firefox

Pour le débugage JavaScript, Firefox dispose de base d'une console d'erreurs JavaScript. Cette console est accessible via le menu « outils » sous le nom « console d'erreur » et liste trois types d'informations :

  1. les erreurs : il s'agit des erreurs que Firefox ne parvient pas à traiter et qui entrainent un arrêt pur et simple de l'exécution du script. Ces erreurs doivent être corrigées impérativement pour que le script s'exécute jusqu'au bout.
  2. les avertissements (warnings) : ceux-ci ne sont pas bloquants. Ils relèvent juste une erreur minime ou un non-respect de la norme javascript (variable non-déclarées, fonctions ne retournant pas toujours de valeur, etc.). Il n'est pas absolument nécessaire de les corriger mais il vaut mieux les corriger et ce pour deux raisons : d'une c'est par principe toujours mieux de coder proprement et de deux ils peuvent être cause de bugs puisque le script ne se comportera pas forcément de la façon dont vous l'imaginiez.
  3. les messages : il s'agit de simples messages qui peuvent être envoyés depuis du code javascript dans certains cas. Il ne s'agit pas d'erreurs, juste d'informations diverses en général utilisés lors du débugage d'extensions.

La plupart des messages d'erreur ou d'avertissement sont accompagnés d'un numéro de ligne, d'un nom de fichier et d'un lien direct pour visualiser la ligne posant problème.

De base cette console est déjà très efficace (comparée à son homologue sous IE, c'est déjà le jour et la nuit). Cependant il existe également des extensions qui peuvent permettre d'aller plus loin :

  • Prévisualisation - Console²
    Console² :
    Cette extension permet de filtrer plus précisément les messages affichés par la console. Elle permet également le passer le contrôle en mode « strict » ce qui augmente le nombre d'avertissements en cas de non-respect des normes. Elle permet également d'afficher certaines erreurs dans les fichiers CSS et XML évalués par le navigateur.
  • Prévisualisation - Firebug
    Firebug :
    Celle-ci permet de faire pas mal de chose en ce qui concerne le débugage aussi bien JavaScript que CSS et HTML. Elle semble notamment permettre une exécution pas à pas du JavaScript. Je ne l'ai pas testée très en détails, peu convaincu au premier abord... Cependant elle semble avoir bonne réputation, il doit donc y avoir de bonnes choses à en tirer.

Et IE dans tout ça ? Ben là c'est pas la joie... Outre le fait que son moteur JavaScript n'a quasiment pas bougé depuis IE6, ce qui implique un retard énorme, sa fenêtre d'erreur est des plus minimalistes. Elle se limite en effet à un message d'erreur rarement clair et pas toujours approprié, un numéro de ligne approximatif et aucun nom de fichier (cela ne pose pas de problème pour un script simple sur un seul fichier mais pour quelque chose de plus complexe répartit en plusieurs fichiers, c'est déjà beaucoup plus gênant)... Une fois de plus le navigateur de Microsoft est largement à la traine.


Gestion des onglets dans Firefox

Pour ce premier article nous allons nous intéresser à Firefox et plus particulièrement aux différentes extensions améliorant la gestion des onglets. Il y en a un bon paquet mais pour l'instant j'ai surtout retenu celles-ci :

  • Prévisualisation - Tab Mix Plus
    Tab Mix Plus :
    Cette extension propose un grand nombre de fonctionnalités concernant les onglets : duplication, restauration des derniers onglets fermés, etc. Il permet également d'éditer la liste des actions possible sur les onglets dans les différents menus. Il permet encore un grand nombre d'autres choses plus ou moins utiles.
  • Prévisualisation - Ctrl Tab Preview
    Ctrl Tab Preview :
    Cette extension permet au lieu de passer directement à l'onglet suivant lors d'un ctrl + tab d'afficher une prévisalisation du prochain onglet qui ne sera réellement selectionné que lorsque la touche ctrl sera relâchée. Un peu comme le alt + tab de windows mais avec une prévisualisation à la place de l'icône.
  • Prévisualisation - FaviconizeTab
    FaviconizeTab :
    Une petite extension qui permet de réduire certains onglets à leur icône. Bien pratique quand on a certains onglets ouverts en permanence.
  • Prévisualisation - Firefox Showcase
    Firefox Showcase :
    Celle-ci permet d'afficher une mosaïque des onglets ouverts dans les différents onglets de Firefox (l'une des rares fonctionnalités dont IE7 et pas Firefox...). Depuis cette mosaïque on peut selectionner, fermer et rafraichir les onglets. Très pratique pour faire le tri quand on ouvre une grande quantité d'onglets.
  • Prévisualisation - Aging Tabs
    Aging Tabs :
    Enfin pour finir, une extension totalement inutile et donc indispensable : elle permet de définir les couleurs des différents onglets en fonction de la dernière fois où on les a consultés.

Ouverture du site

Ça faisait longtemps que je pensais à me refaire un site où je pourrais noter les différentes choses que je trouverais sur le net (surtout en matière de technologies WEB)... Longtemps j'ai pensé développer un moteur maison éventuellement couplé avec EDForum et bien entendu je n'ai jamais pris le temps de le faire. Finalement comme j'ai entendu beaucoup de bien sur WordPress ( Nico si jamais tu lis ça un jour... :D ) je me suis dit que j'allais profiter de ce jour férié pour m'en installer un.

Le design est un peu bateau mais bon, j'ai la flemme de le travailler plus pour l'instant, donc on se contentera de ça.

De quoi parlera ce site ? Principalement de technologies WEB, parce que si je postais ça sur EDForum, ça n'intéresserait personne, donc j'en parlerai ici. Puis occasionnellement d'autres choses mais ça devrait être rare.