Citations

Loading Quotes...

Petite sélection d’extensions pour FireFox

En complément de mon billet sur les navigateurs, voici une petite sélection d’extensions à FireFox qui en font mon navigateur préféré. Je vous fais deux lots, correspondant à mes deux usages de FireFox : surf  pur 8-) et développement web :alien:

Pour le surf sur internet :

Adblock Plus

OK, c’est standard, tout le monde installe cette extension qui sert à filtrer les publicités (images, animations flash, applets…) par combinaison de listes blanches et listes noires. Simple, efficace. Pensez à autoriser définitivement les sites de confiance (via  le bouton ajouté par l’extension) pour y masquer les boutons proposant de bloquer les animations flash par exemple.

GMail Manager

Une sorte de xBiff (le truc qui clignote en bas de l’écran quand vous avez reçu un mail) pour un ou plusieurs comptes gmails. Pratique et efficace. Les mots de passes peuvent être stockés, je vous recommande dans ce cas-là d’activer le mot de passe global FireFox : un mot de passe unique à l’ouverture de FireFox qui débloque les mots de passe enregistrés et les cookies.

Speed Dial

Une page d’accueil montrant des vignettes des sites pour un accès rapide à ses sites favoris. Similaire à la page d’accueil de google chrome, sauf que chrome détermine tout seul les pages les plus fréquemment accédées, alors qu’ici on choisit soi-même.

Et enfin le duo de choc, la combo-qui-tue, mes deux amours :

Foxmarks Bookmark Synchronizer :wub:

Offre une synchronisation des marques-pages, bookmarks, favoris ou signets (appelez-ça comme vous voudrez) entre plusieurs navigateurs, donc par exemple entre PC-boulot et PC-maison. Franchement, j’ai essayé toutes les solutions depuis l’invention des bookmarks, et celle-ci est la première à me satisfaire pleinement. C’est gratuit, on peut accéder à la copie de bookmarks sur internet, qui fait office de backup avec historique, on peut créer plusieurs profils (boulot ; maison ; mobile) et ne partager que certains répertoires de favoris avec tel ou tel profil (donc les sites de l’intranet qui ne fonctionnent qu’au bureau ne polluent pas mes bookmarks à la maison). Permet également (depuis très récemment il est vrai) de synchroniser avec IE. Si on est parano on peut choisir son propre site FTP pour stocker sa copie de référence des bookmarks.

Read It Later :wub:

Un bouton qui permet de marquer à tout moment une page « à lire plus tard ». Ensuite, quand un a un petit moment devant soi, le bouton permet de faire défiler ces pages marquées « plus tard » à tête reposée. L’extension ajoute également un petit bouton dans google reader, ce qui permet de marquer un billet dans un flux RSS pour lecture différée également. Et comme cette extension sauve la liste des pages pour lecture ultérieure dans un dossier particulier de bookmarks, celui-ci est synchronisé parfaitement entre tous mes navigateurs par Foxmarks. Ta-daaaa :-) troisième Loi de Clarke : «Toute technologie suffisamment avancée est indiscernable de la magie» :o

Pour le développement Web :

Web Developer

Ajoute une barre de boutons proposant une foule d’options pour mettre au point une page HTML récalcitrante : surligner les blocks, afficher les inputs, y compris cachés, éditer les cookies ou le CSS sur place. Bref, votre débuggeur d’HTML.

FireBug

Je l’utilise surtout pour débugger des échanges entre navigateur et serveur : FireBug permet d’inspecter les échanges GET/POST et réponses du serveur. Affiche également le source ou le DOM du HTML résultant.

FirePHP :ninja:

Idée brillante, cette extension permet d’afficher des logs (codées façon log4j) d’une application PHP. Le principe est de fournir une librairie PHP qui permet de mettre ces infos de log dans les entêtes HTTP, qui restent invisibles de l’HTML, mais sont exploitées par l’extension FirePHP et affichées proprement en dessous de la page. J’adore ! Attention, nécessite l’installation de FireBug au préalable.

Voilà pour aujourd’hui. Cerise sur le gâteau, c’est très simple pour vous d’essayer, désactiver, réactiver, désinstaller toutes ces extensions. L’installeur d’extensions depuis FireFox est un régal : recherche par le nom, installation en quelques clics, utilisation… que du bonheur :happy: Aaaaah si seulement l’installeur d’Eclipse (et ça vaut également pour le prochain Eclipse 3.5 :cwy: ) était aussi agréable à utiliser…

And the winner is…

Logo firefox 3

:wub: Firefox !

Ca reste mon navigateur de choix. C’est pas la vitesse du rendu HTML ni du moteur JavaScript qui m’attire (encore que…), mais tout simplement les plugins. C’est la grande force de Mozilla, cette extraordinaire variété d’extensions plus utiles les unes que les autres. Ainsi qu’un très bon gestionnaire des favoris, et mes favoris sont mon second outil de travail (après google, of course). En passant, tiens, ma configuration de Firefox pourrait faire l’objet d’un autre billet.

Second :

8) Google Chrome.

J’aime beaucoup ce navigateur, je l’ai beaucoup utilisé à sa sortie avant de revenir à Firefox. L’idée derrière chrome est tout-à-fait valide : le web est de plus en plus utilisé comme plateforme d’applications, et le surf sur des pages d’information statiques n’est plus du tout le seul usage du web. Chrome est une avancée significative en tant que plateforme pour faire tourner des applications web en plein écran sans les chichis du navigateur qui justement sont gênants quand je ne navigue pas, c’est-à-dire gmail, google reader voire facebook. Le lanceur chrome de gmail « en tant qu’application » a remplacé avec bonheur mon client de messagerie dans mon menu démarrer. Mais, en tant que navigateur, chrome est en retard sur firefox.

« Bon » dernier :

:getlost: Internet Explorer…

Complètement dépassé. Je ne tirerai pas sur l’ambulance. Je garde quand même un souvenir ému :cwy: des « XML data island » dans des iframe cachées qui permettaient de bien s’éclater :ninja: longtemps avant qu’un quidam ne nous ponde le terme d’AJAX. Aaaaaah la génération de DHTML&javascript par une tétrachiée de XSL inmaintenables… :eek:

Le seul intérêt de garder IE sur sa machine c’est pour aller sur les sites qui n’ont été testés que sous IE et ne fonctionnent que sous IE. Bon, d’un autre côté c’est pas comme si on pouvait le désinstaller de windows… :mad:

En conclusion, on déduit de tout ceci que j’ai vendu mon âme à Google, mon coeur à l’open-source et mes données personnelles à facebook… :-D

Dessine-moi un POJO…

Lu dans la doc d’un framework : « un CouteauDeTable est une classe Java standard (ou POJO) qui sert à couper viande ou légume. Il doit sous-classer AbstractCouteau, n’utiliser dans ses signatures que les types Lame et Manche, avoir un constructeur comme ceci et des attributs comme cela. Et son nom doit finir par CouteauImpl. » :eek: C’est-à-dire, tout SAUF un POJO :ermm: !

Ce terme est de plus en plus utilisé comme synonyme de « classe Java », ce qui est une erreur. Alors, qu’est-ce qu’un POJO au juste ? Et bien, ma définition en serait : une classe Java sans contraintes particulières.

En fait, il n’y a pas de POJO sans framework. Un framework peut vous demander de sous-classer telle ou telle classe, respecter telle convention de nommage, limiter ci, imposer cela. A l’opposé (et un peu en réaction aux EJB), on parle de POJO quand le framework justement n’impose rien sur vos classes Java : vous développez old-school, classes et interfaces sont conçues librement.

Exemple de framework pas-POJO-du-tout :

« Sous-classez com.framework.AbstractPrintableObject, avec un constructeur public à un paramètre de type com.framework.PrintEnvironment. Ne définissez que des méthodes publiques non synchronisées qui lèvent comme exceptions des sous-classes de com.framework.PrintException. etc… etc… »

Le même, façon j’aime-les-POJO :

« Passez-lui un POJO, le framework d’impression essaiera de découvrir ses getters publics et de construire une représentation textuelle imprimable. »

Je précise que j’écris ça dans un souci d’illustration, loin de moi l’idée de suggérer une quelconque supériorité d’une approche tout-POJO par rapport au framework de grand-papa qui offre un lot de superclasses abstraites. Par exemple, je trouve l’approche « pur-POJOs (ah oui, plus plein d’annotations) » un peu hypocrite… :whistle:

Dix-neuf pourcents de commentaires…

Si l’on regarde l’ensemble des projets open-source, on trouve en moyenne près d’une ligne sur cinq de commentaires, selon un papier de Dirk Riehle (voir également sur son blog).

On y lit que les projets étudiés restent tous très proches de ce taux. Un peu plus surprenant, on découvre que cette densité de très exactement 18,7% de commentaires est la même quelles que soient la taille du projet et la taille de l’équipe :shock: . L’article propose l’explication que c’est dû à une grande auto-discipline de développeurs, très probablement motivée par l’exposition publique du code source à conjointement au nom de son contributeur.

Autre information de cette étude : ce qui influe sur le taux de commentaires est l’âge du projet. Quand un projet avance en maturité son taux de commentaires baisse (enfin d’un chouïa, à 18%). Je suppose que lorsque l’on maintient un code depuis plusieurs années, certaines choses deviennent tellement comprises, partagées et habituelles qu’elles en deviennent implicites, du coup on aurait l’impression d’écrire des évidences dans les commentaires en détaillant trop…

Ces statistiques soulèvent quelques petites questions…    Par exemple, peut-on considérer ce taux comme idéal ? En effet, c’est le taux auquel des développeurs volontaires et auto-organisés aboutissent à moyen terme, quel que soit le projet. Moins de commentaires c’est pas assez, mais plus de commentaires c’est inutile, voire c’est introduire du bruit. Si l’on admet ce taux comme “idéal”, le taux de commentaires de mes développements s’éloigne-t-il significativement de ce chiffre ? Quelle conclusion en tirer ? Ainsi, vous est-il déjà arrivé comme à moi, de vous dire qu’avant de diffuser tel ou tel de vos composants en open-source, il faudrait faire un petit effort de packaging et de documentation ? :blush:

Question, en guise de conclusion : si vous imposez de préciser dans les commentaires le ou les auteur(s) de toute classe et méthode par exemple (c’est-à-dire en Java : @author partout), est-ce que vous obtiendrez un code globalement mieux commenté et/ou plus lisible ? :twisted: