C’est un coup de gueule générale contre la plupart des plate-formes numériques. Flickr, Facebook, forums… Les photos sont systématiquement affichées dans un format que je considère comme riquiqui… Il est parfois possible de les obtenir au format original (Flickr…) mais des fois, non. L’utilisateur devra se contenter d’una affichage de 320×240 sur sont écran 26″ dernier cri (Facebook…).

Bien que cette contrainte n’en soit pas vraiment une pour la moitié des internautes qui publient des photo prises par sur un téléphone ou juste en guise de souvenir, cela devient vite gênant pour une autre moitié qui aimerait bien pouvoir faire profiter des clichés grandeurs nature.

Mais au fait, je n’ai peut être pas commencé par la bonne question : pourquoi ce coup de gueule ? Parce que nombre d’images se savourent dans des résolutions adaptées… je ne parle pas d’un 1600×1200, mais un simple 800×600 est parfois un minimum suffisant. L’impact des clichés n’est parfois absolument pas le même. Une photo dénuée de détails, saturée, contrastée, rendra parfaitement bien sur un petit format, mais une image très complexe, avec des notions d’échelle et un certain nombre de détails se retrouve peu flatteuse sur les mini-formats de vignettes non agrandissables. Des exemples en images (cliquez dessus pour agrandir… c’est quand même le but de cet article !)

N’est-ce pas étonnant la différence de ressenti lorsqu’on se retrouve face à de telles images ? Non ? Les photos sont ici affichées sur fond blanc, en haut à gauche, dans des dimensions acceptables. Les regarder sur fond noir, en grand écran, renforcerait encore le rendu. C’est en tout cas pour développer ce « respect de la photo » que des projets comme « The Big Picture » voient le jour. De nombreux évènements sont couverts, et les photos sont toutes affichées dans des dimensions dignes de ce nom.

Aujourd’hui, c’est samedi ! Et le samedi, c’est jour du ze lien de ze semaine. Cette fois ci, c’est PHP Fonctions qui est à l’honneur. Non pas vraiment pour ce qu’il contient, mais parce qu’il est nouveau. Entendez le comme il se doit, le contenu est tout de même alléchant : PHP Fonctions propose aux utilisateurs de s’échanger leurs fonctions PHP les plus utiles.

Le code communautaire, pourquoi pas. C’est bien, mais c’est pas nouveau, d’où ma remarque. MAIS ce site de la semaine est français, francophone, et nouveau, ZT se devait de faire passer la nouvelle. http://phpfonctions.fr/

Plus que le développement, c’est la conception même du projet qui peut être mise à mal au fil des versions d’un logiciel. Dans bien des cas, l’ajout d’une nouvelle fonctionnalité à un logiciel, aussi anodine soit-elle, peut chambouler très profondément la conception d’une application.
En ce qui concerne les évolutions qui demandent juste un refactoring de la part de l’équipe de développement, on minimise l’impact chez l’utilisateur : il lui suffit de télécharger la nouvelle version, éventuellement de supprimer l’ancienne.

En revanche, tout ce qui a attrait aux données produites par l’utilisateur me semble être un réel problème. Imaginons, par exemple, un système de gestion des droits qui est intégralement reconstruit from scratch.
La version 1 est basée sur un système de groupes prédéfinis (administrateur, modérateur, utilisateur), et la version 2 va être basé sur un système d’ACL (on définit précisément qui a le droit de faire quoi sur quelle partie du produit). L’utilisateur doit alors mettre à jour son logiciel, mais également sa source données (Base de données, fichiers…) !

Premier problème : il y a fort à parier que la manière de stocker ces données (le schéma) ait subit des altérations non néligeables. Il faut ainsi mettre à jour la source de données de l’utilisateur.

Second problème : Je suis également prêt à parier que l’utilisateur s’en verrait frustré s’il perdait toutes ses données. À l’inverse du logiciel lui même qu’il suffit très souvent de remplacer bêtement, la base de données doit évoluer de manière très contrôlée. Cela impose du coup de développer ses propres outils de migration. Que de temps « perdu » ! Sans compter le risque d’introduire des erreurs au niveau de cette évolution.

Quelques solutions : J’ai bien envie de vous laisser sur cette note de poésie :


Mais plus que ça. La moindre évolution doit être pensée et repensée pour éviter de se retrouver face à de nouveaux problèmes ultérieurs. Quitte à fournir une évolution majeure de votre produit qui engendrerait de tels boulversements, essayez de fournir UNE unique nouvelle version intégrant toutes les évolutions possibles, de telle sorte à éviter à l’utilisateur de futures mises à jour trop lourdes. Pour finir – et c’est tout bête – n’oubliez pas d’alerter l’utilisateur quant à ces modifications. Fournissez aussitôt que possible des outils d’import / export des données manipulées par votre application afin de permettre à l’utilisateur, dans le pire des cas (!), de revenir à la version précédente et de récupérer des données opérationnelles.

Cet article était une application directe de ce que j’ai dû subir récemment avec Piwam… La gestion des cotisations a subi un léger changement mais qui imposait une modification de la base de données. Même s’il s’agissait d’une beta, impossible de ne pas fournir d’outils aussi minimes soient-ils pour assurer le bon fonctionnement de la nouvelle mouture.

Eclipse est un outil fabuleux. Complet. Rapide. Puissant. Ne faîtes pas attention au mot rayé. Bien utililsé, cet IDE libre peut rapidement montrer une puissance décuplée. Je ne pense pas utiliser Eclipse à 100%, ni même à 75%, néanmoins j’utilise un certain nombre de raccourcis, et je suis surpris de voir que bon nombre de personnes ne s’en servent pas – sûrement par méconnaissance.

Une petite compilation de mes combinaisons de touches préférées :

  • Ctrl (ou Pomme) + Shift + R : Ouvrir une ressource
    C’est la combinaison que j’utilise toutes les 30 secondes. Un panneau s’ouvre, et vous pouvez accéder à vos différents fichiers, plutôt que d’aller chercher une souris, de cliquer partout pour ouvrir le bon répertoire puis enfin de double cliquer sur un nom de fichier (avec un peu de chance, pas le bon).

  • Ctrl + Shift + F : Formatter le code source
    Quoi ? Vous ne connaissiez pas ? Impossible… Un petit coup de formatter magique, et hop, un code tout propre ! Dans la pratique, je trouve le formattage HTML un peu étrange, même une fois personnalisé. Mais pour ce qui est des autres langages, c’est du bonheur. Si vous n’aimez pas le formatter par défaut, il est bien sûr configurable !

  • Alt + Entrée : Afficher les propriétés
    À effectuer sur une ressource (dans l’onglet explorer typiquement). Vous permet d’afficher le volet de propriétés de la ressource sélectionnée. Fini les clics droits qui mènent à un menu contextuel infiniment long.

  • Ctrl + M : Maximiser / Réduire
    Un raccourci surtout utile pour ceux qui utilisent un petit Netbook, ou pour ceux qui travaillent sur des fichiers larges, dépassant allègrement disons les 120 colonnes. Une combinaison assez simple qui peut rendre le développement plus agréable.

  • Ctrl + H : Le super chercheur de la mort
    Sûrement le plus connu de tous… (?) Une sorte de Ctrl + F magique, un mega-chercheur-trouveur. Vous permet d’effectuer une recherche sur une ressource complète (projet, repertoire, seulement certains fichiers, etc…)

J’espère que cette courte liste sera à même de vous servir au quotidien. Si vous utilisez vous même d’autres raccourcis non mentionnés faîtes le savoir !

Plus qu’un site, un service. Ou plutôt, un réseau. Freenet, c’est son nom. Peut être le connaissez-vous déjà. Freenet est un Internet alternatif. Un réseau des réseaux. Un WWWv2. Appellez ça comme vous voulez, mais on parle bien de la même chose : un réseau informatique anonyme, décentralisé, et donc un tantinet plus sécurisé que ce que va devenir notre Internet français Hadopisé.

On y trouve de tout, de rien. Freenet a ses propres sites web , pardon, ses propres sites Freenet. Les récentes actualités en matière de lois en France pourrait bien donner un coup de boost à ce fabuleux (?) projet… http://freenetproject.org/

Non mais sérieusement, c’est quoi cette déferlante de news ? Alors que je consultais mes flux via Google Reader comme chaque matin, je vois qu’aujourd’hui, à peu près toutes mes sources d’informations relayent l’actualité « GMail traduit automatiquement vos messages« . Très sérieusement, ça interesse qui ? Les personnes recevant du courrier anglophone parlent un minimum anglais, du moins je leur souhaite. Les francophones souhaitant rédiger un e-mail dans la langue de Shakespear ne se content pas – j’ose espérer – d’un clic sur un bouton « traduire ».

Bref, je trouve ça pathétique de relayer à ce point une telle information sous pretexte que ça sort des studios Google. Une bonne occasion pour vous rappeller que ZT ne sera jamais un simple relai de l’information qu’on trouve partout ailleurs…

Avec quelques jours de retard, voici le site que je tenais à présenter cette semaine… Pour les amateurs, les passionnés ou les experts de SGBD, DBNewz mérite de faire partie de leurs favoris.
Des articles clairs, complets et pertinents sur tous les thèmes ayant attrait aux bases de données : gestion des index, partitionnement, optimisation, moteurs de stockage, réplication… Une excellente adresse pour s’assurer d’être toujours au top dans le domaine. http://www.dbnewz.com

Quoi de mieux pour promouvoir un outil que de proposer une démonstration accessible à tout le monde pour que ce même « tout le monde » puisse se faire une idée des fonctionnalités ?

Une version du gestionnaire d’association Piwam est maintenant disponible ! Pour y accéder, c’est sur http://piwam.frenchcomp.net. Login : demo, mot de passe : demo.

Cette version en ligne est une version du trunk disponible sur le dépôt SVN, qui sera tenue – presque toujours – à jour. Si vous découvrez un bug, n’hésitez pas à le rapporter sur le nouvel outil de suivi de bugs !

L’outil MySQL Workbench est polyglotte. Un petit nouveau vient de rejoindre la famille des plugins. Thomas Henlich publie sur son blog un plugin permettant l’export à destination des bases de données SQLite.

Un plugin qui arrive à point pour tous ceux qui sont en train de concevoir leurs applications Android ! À télécharger sur son blog.

Bon allez, histoire d’être le tout premier à l’annoncer… La loi HADOPI vient d’être adoptée. Quelques secondes après la clôture du scrutin, le verdict tombe enfin. Cette loi qui aura tant fait parler d’elle est adoptée. Ça m’en met un coup au moral tiens.