<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE rss [<!ENTITY % HTMLlat1 PUBLIC "-//W3C//ENTITIES Latin 1 for XHTML//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent">]>
<rss version="2.0" xml:base="http://www.davidlesieur.com">
<channel>
 <title>DAVIDLESIEUR.com - Concepteur-développeur web et expert Drupal /// Montréal, Québec</title>
 <link>http://www.davidlesieur.com</link>
 <description></description>
 <language>fr</language>
<item>
 <title>Drupal au CodeFest 2.1 de PHP Québec</title>
 <link>http://www.davidlesieur.com/drupal-au-codefest-2-1-de-php-quebec</link>
 <description>&lt;p&gt;En fin de semaine, &lt;a href=&quot;http://www.phpquebec.org/&quot;&gt;PHP Québec&lt;/a&gt; organise &lt;a href=&quot;http://www.codefest.ws/tiki-index.php&quot;&gt;CodeFest 2.1&lt;/a&gt;, un évènement où programmeurs de tous horizons et de tous niveaux seront accueillis pour participer au développement de leur logiciel libre préféré. Une très belle occasion de découvrir les techniques employées par différents projets, de rencontrer d&#039;autres programmeurs et, d&#039;une manière générale, de simplement se motiver à se jeter à l&#039;eau avec un projet!&lt;/p&gt;
&lt;p&gt;L&#039;un des thèmes de l&#039;évènement concerne l&#039;implémentation de test automatisés, un thème qui tombe à point compte tenu de la récente intégration de la plateforme de tests automatisés &lt;a href=&quot;http://drupal.org/simpletest&quot;&gt;SimpleTest&lt;/a&gt; dans le noyau du futur Drupal 7.&lt;/p&gt;
&lt;p&gt;CodeFest 2.1 arrive alors que je n&#039;ai même pas encore eu le temps de conclure sur le récent &lt;a href=&quot;/en-direct-du-minnesota&quot;&gt;sprint de recherche&lt;/a&gt; auquel j&#039;ai eu la chance de participer, mais je compte bien utiliser ce nouvel évènement comme prétexte pour compléter quelques tests en rapport avec le moteur de recherche de &lt;a href=&quot;http://drupal.org&quot;&gt;Drupal&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;Je serai donc présent samedi et heureux d&#039;aider quiconque souhaiterait mettre la main à la pâte avec Drupal 7! &lt;a href=&quot;http://drupal.org/user/160468&quot;&gt;Patrick Fournier&lt;/a&gt;, mon associé à &lt;a href=&quot;http://whiskyechobravo.com&quot;&gt;Whisky Echo Bravo&lt;/a&gt;, sera  aussi sur place.&lt;/p&gt;
&lt;p&gt;L&#039;évènement est tenu simultanément à Montréal et Sherbrooke. Même si j&#039;aime beaucoup la ville &lt;a href=&quot;http://www.usherbrooke.ca/&quot;&gt;où j&#039;ai étudié&lt;/a&gt;, pour des raisons pratique c&#039;est bien sûr à Montréal que je serai. ;)&lt;/p&gt;
&lt;p&gt;Si l&#039;évènement vous intéresse, n&#039;hésitez pas à vous inscrire sur la &lt;a href=&quot;http://groups.drupal.org/node/11194&quot;&gt;fiche Drupal de l&#039;événement&lt;/a&gt;!&lt;/p&gt;
</description>
 <category domain="http://www.davidlesieur.com/communaute">Communauté</category>
 <category domain="http://www.davidlesieur.com/drupal">Drupal</category>
 <category domain="http://www.davidlesieur.com/logiciel-libre">Logiciel libre</category>
 <category domain="http://www.davidlesieur.com/montreal">Montréal</category>
 <pubDate>Thu, 15 May 2008 13:08:14 -0400</pubDate>
</item>
<item>
 <title>En direct du Minnesota</title>
 <link>http://www.davidlesieur.com/en-direct-du-minnesota</link>
 <description>&lt;p&gt;&lt;img src=&quot;/files/_dsc2041.jpg&quot; title=&quot;North Star Blankets&quot; alt=&quot;North Star Blankets&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Ces jours-ci, la mention &amp;laquo;&lt;em&gt;live from the Minnesota Search Sprint&lt;/em&gt;&amp;raquo; (en direct du sprint de recherche du Minnesota) apparaît régulièrement en en-tête des &lt;a href=&quot;http://drupal.org/project/issues?projects=3060&amp;amp;versions=156281&amp;amp;components=search.module&amp;amp;categories=bug,task,feature&amp;amp;states=1,16,8,13,14,15,2,4&quot;&gt;soumissions de modifications&lt;/a&gt; apportées au moteur de recherche de &lt;a href=&quot;http://drupal.org&quot;&gt;Drupal&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;En effet, tel que je l&#039;avais &lt;a href=&quot;/doter-drupal-d-un-moteur-de-recherche-plus-performant&quot;&gt;annoncé récemment&lt;/a&gt;, une petite équipe de programmeurs (&lt;a href=&quot;http://drupal.org/user/23325&quot;&gt;Earnest Berry&lt;/a&gt;, &lt;a href=&quot;http://drupal.org/user/5449&quot;&gt;Robert Douglass&lt;/a&gt;, &lt;a href=&quot;http://drupal.org/user/10297&quot;&gt;Chad Fennell&lt;/a&gt;, &lt;a href=&quot;http://drupal.org/user/29191&quot;&gt;Doug Green&lt;/a&gt;, &lt;a href=&quot;http://drupal.org/user/9170&quot;&gt;Djun Kim&lt;/a&gt;, &lt;a href=&quot;http://drupal.org/user/24450&quot;&gt;Blake Lucchesi&lt;/a&gt; et &lt;a href=&quot;http://drupal.org/user/17157&quot;&gt;moi-même&lt;/a&gt;) se trouve maintenant en plein &amp;laquo;sprint&amp;raquo; de programmation pour enrichir le module &lt;em&gt;search&lt;/em&gt; de Drupal. Notre centre d&#039;opérations se trouve sur l&#039;immense campus de l&#039;&lt;a href=&quot;http://www.umn.edu&quot;&gt;Université du Minnesota&lt;/a&gt; à Minneapolis, où Chad Fennell a gentiment pris soin de la logistique.&lt;/p&gt;
&lt;p&gt;Notre principal défi consiste à atteindre un bon équilibre entre les réalisations concrètes et la vision globale du projet. Établir une feuille de route pour l&#039;avenir est important, mais dans l&#039;univers du logiciel libre, la seule chose vraie c&#039;est le code! Les plans à long terme sont particulièrement difficiles à tenir dans cet univers, puisque Drupal évolue avec les disponibilités des contributeurs et les priorités des projets qui financent leur travail. La vélocité même du développement de Drupal en fait une cible particulièrement mouvante.&lt;/p&gt;
&lt;p&gt;Par conséquent, ces deux derniers jours nous avons alterné entre la réalisation de tâches simples (pour les résultats concrets) et les remue-méninges (pour les enjeux de plus grande envergure), avec un souci d&#039;aligner même les tâches mineures sur les objectifs plus importants, histoire d&#039;aller dans la bonne direction, petit pas par petit pas. Il s&#039;agit d&#039;un réel puzzle; des pièces insignifiantes en elles-mêmes prendront, une fois accolées aux autres, tout leur sens.&lt;/p&gt;
&lt;h3&gt;Quelques pistes...&lt;/h3&gt;
&lt;p&gt;Voici quelques-unes des pistes que nous explorons dans ce sprint&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Unification du processus d&#039;analyse lexicale appliqué à l&#039;indexage et lors de la recherche.&lt;/li&gt;
&lt;li&gt;Analyse lexicale au moyen d&#039;une chaîne de traitements personnalisable, basée sur la même architecture que les filtres d&#039;entrée de Drupal.&lt;/li&gt;
&lt;li&gt;Varier l&#039;analyse lexicale en fonction de paramètres tels la langue ou le format du contenu. Par exemple, des algorithmes de lexémisation distincts s&#039;appliqueraient en fonction de la langue.&lt;/li&gt;
&lt;li&gt;Calcul de classement des résultats extensible. Hormis les facteurs de base déjà prévus pour établir le classement des résultats, de nouveaux facteurs pourront être programmés dans des modules tiers et activés à la demande par l&#039;administrateur d&#039;un site. Par exemple, un site de commerce électronique pourrait rehausser le classement d&#039;un produit en fonction de son volume de ventes.&lt;/li&gt;
&lt;li&gt;Possibilité d&#039;activer ou de désactiver différents modules de recherche séparément. Dans Drupal 5 et 6, activer le module &lt;em&gt;search&lt;/em&gt; active toutes les fonctions de recherche, sur les noeuds et les utilisateurs, même si toutes ne sont pas pertinentes au site.&lt;/li&gt;
&lt;li&gt;Abstraire la représentation des résultats pour éventuellement permettre la construction de facettes à partir d&#039;un ensemble arbitraire de noeuds, qu&#039;ils proviennent, par exemple, d&#039;une recherche ou d&#039;une vue.&lt;/li&gt;
&lt;li&gt;Utiliser un objet plus &amp;laquo;intelligent&amp;raquo; qu&#039;une chaîne de caractères pour représenter la requête, tout au long du processus de recherche. Cet objet pourrait être construit via une interface de programmation (accessible à n&#039;importe quel module) ou via une chaîne de caractères. Il pourrait également produire la chaîne de caractères qui lui correspond en sortie, pour génération d&#039;hyperliens. Présentement, les modules &lt;a href=&quot;http://drupal.org/project/faceted_search&quot;&gt;Faceted Search&lt;/a&gt; et &lt;a href=&quot;http://drupal.org/project/apachesolr&quot;&gt;ApacheSolr&lt;/a&gt; ont tous deux des éléments qui s&#039;approchent de ceci. Ultimement, si cet objet pouvait représenter une requête du module &lt;a href=&quot;http://drupal.org/project/views&quot;&gt;Views&lt;/a&gt;, un grand pas serait accompli pour que des facettes puissent se rattacher directement à une vue...&lt;/li&gt;
&lt;li&gt;Scinder la logique d&#039;indexation de la logique de recherche. Les fonctions de recherche de base sont un fardeau inutile pour les site utilisant Faceted Search ou les filtres de recherche de Views 2 &amp;mdash; ces modules utilisent l&#039;index de base, mais implémentent leur propre logique de recherche.&lt;/li&gt;
&lt;li&gt;Unifier la recherche d&#039;éléments hétérogènes dans une seule page de résultats. Ceci pourrait rendre particulièrement utile l&#039;éventuelle indexation d&#039;éléments comme les blocs, les vues (du module Views) et les panneaux (du module Panels).&lt;/li&gt;
&lt;li&gt;Indexer des données qui sont présentement omises de l&#039;index afin d&#039;augmenter la pertinence des résultats&amp;nbsp;: Chemin (URL) du contenu, nom de l&#039;élément de menu associé au contenu, etc.&lt;/li&gt;
&lt;li&gt;Abstraire le système d&#039;indexation des contenus afin de pouvoir lui substituer l&#039;indexation par un moteur externe, par exemple &lt;a href=&quot;http://lucene.apache.org/solr/&quot;&gt;Solr&lt;/a&gt; ou &lt;a href=&quot;http://www.sphinxsearch.com/&quot;&gt;Sphinx&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Participer, en savoir plus...&lt;/h3&gt;
&lt;p&gt;Que vous soyez sur place ou non, il est facile de participer à ces travaux ou de les suivre de plus près! Il suffit d&#039;examiner les &lt;a href=&quot;http://drupal.org/project/issues?projects=3060&amp;amp;versions=156281&amp;amp;components=search.module&amp;amp;categories=bug,task,feature&amp;amp;states=1,16,8,13,14,15,2,4&quot;&gt;propositions&lt;/a&gt;, les réviser, les tester, les commenter!&lt;/p&gt;
&lt;p&gt;Demain sera, déjà, la dernière journée du sprint. En plus de poursuivre certaines des pistes présentées ci-haut, nous comptons examiner les questions de performance d&#039;exécution. À suivre!&lt;/p&gt;
</description>
 <category domain="http://www.davidlesieur.com/communaute">Communauté</category>
 <category domain="http://www.davidlesieur.com/drupal">Drupal</category>
 <category domain="http://www.davidlesieur.com/moteurs-de-recherche">Moteurs de recherche</category>
 <pubDate>Sat, 10 May 2008 22:49:40 -0400</pubDate>
</item>
<item>
 <title>Journée portes ouvertes Design Montréal</title>
 <link>http://www.davidlesieur.com/journee-portes-ouvertes-design-montreal</link>
 <description>&lt;p&gt;Montréal vivait hier sa seconde édition des &lt;a href=&quot;http://ville.montreal.qc.ca/pls/portal/url/page/design_mtl_v2_fr/rep_portes_ouvertes_design_montreal/portes_ouvertes_design_mtl&quot;&gt; journées portes ouvertes Design Montréal&lt;/a&gt;. Grâce à l&#039;agence de création, cliente et amie, &lt;a href=&quot;http://bluesponge.com&quot;&gt;Bluesponge&lt;/a&gt;, j&#039;ai eu la chance de participer à l&#039;évènement! En effet, depuis l&#039;automne dernier, mon associé au sein de &lt;a href=&quot;http://whiskyechobravo.com&quot;&gt;Whisky Echo Bravo&lt;/a&gt; (notre nouvelle boite de développement Drupal) et moi-même sommes &amp;laquo;colocs&amp;raquo; de Bluesponge qui, après son succès de l&#039;année dernière, ne pouvait manquer l&#039;occasion d&#039;ouvrir grandes ses portes aux visiteurs.&lt;/p&gt;
&lt;p&gt;Samedi, tandis que toute l&#039;équipe de Bluesponge s&#039;éclatait à transformer la salle de réunion en terrain de &lt;a href=&quot;http://www.sportsaveugles.qc.ca/asaq/boulingrin_description.php&quot;&gt;boulingrin&lt;/a&gt;, un bureau en autel de prière en faveur des &lt;a href=&quot;http://canadiens.nhl.com/fr/&quot;&gt;Canadiens&lt;/a&gt; ou à mettre au point l&#039;une des multiples installations interactives, nous avons, de notre côté, transformé un coin du bureau en point de rencontre avec &lt;a href=&quot;http://drupal.org&quot;&gt;Drupal&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;Nous avons monté une petite forêt de ballons d&#039;hélium auxquels étaient attachées de petites bribes d&#039;information à propos de Drupal... Les curieux pouvaient tirer sur la corde retenant un ballon pour découvrir le propos qui y était rattaché. Quelques exemples&amp;nbsp;: &amp;laquo;Drupal vous rend autonome pour gérer votre site web&amp;raquo;, &amp;laquo;Drupal est un logiciel libre&amp;raquo;, &amp;laquo;plus de 250&amp;nbsp;000 sites reposent sur Drupal&amp;raquo;, &amp;laquo;Drupal vous permet d&#039;innover&amp;raquo;, &amp;laquo;Drupal favorise la collaboration&amp;raquo;, et bien d&#039;autres...&lt;/p&gt;
&lt;p&gt;Dimanche, les visiteurs sont venus en grand nombre (malgré la pluie) découvrir notre milieu de travail quelque peu transformé, tout en se délectant de pancakes aux bleuets offertes par Bluesponge... Nous espérons que notre installation fut intéressante pour un public n&#039;ayant même jamais entendu le nom &amp;laquo;Drupal&amp;raquo; auparavant et, en cette journée ludique, pas nécessairement intéressé à plonger dans des détails techniques ou à s&#039;asseoir devant un écran d&#039;ordinateur. &lt;/p&gt;
&lt;p&gt;Chose certaine, &lt;a href=&quot;http://drupal.org/druplicon&quot;&gt;Druplicon&lt;/a&gt; a charmé beaucoup de monde, puisque nos macarons à son effigie se sont envolés comme de petits pains chauds! Voici quelques images de l&#039;évènement... On peut s&#039;attendre à en voir plus bientôt sur le blogue des &amp;laquo;&lt;em&gt;&lt;a href=&quot;http://www.epongebleue.com/&quot;&gt;Spongies&lt;/a&gt;&lt;/em&gt;&amp;raquo;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://davidlesieur.com/files/_dsc1929.jpg&quot; title=&quot;Macarons Druplicon&quot; alt=&quot;Macarons Druplicon&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;http://davidlesieur.com/files/_dsc1930.jpg&quot; title=&quot;Ballons&quot; alt=&quot;Ballons&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;http://davidlesieur.com/files/_dsc1931.jpg&quot; title=&quot;Ballons&quot; alt=&quot;Ballons&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;http://davidlesieur.com/files/_dsc1961.jpg&quot; title=&quot;Ballons&quot; alt=&quot;Ballons&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;http://davidlesieur.com/files/_dsc1942.jpg&quot; title=&quot;Bureaux&quot; alt=&quot;Bureaux&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;http://davidlesieur.com/files/_dsc1960.jpg&quot; title=&quot;Bureaux&quot; alt=&quot;Bureaux&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;http://davidlesieur.com/files/_dsc1949.jpg&quot; title=&quot;Écriture avec un contrôleur Wii&quot; alt=&quot;Écriture avec un contrôleur Wii&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;http://davidlesieur.com/files/_dsc1936.jpg&quot; title=&quot;Projection vidéo&quot; alt=&quot;Projection vidéo&quot; /&gt;&lt;br /&gt;
&lt;img src=&quot;http://davidlesieur.com/files/_dsc1968.jpg&quot; title=&quot;Boulingrin intérieur&quot; alt=&quot;Boulingrin intérieur&quot; /&gt;&lt;/p&gt;
</description>
 <category domain="http://www.davidlesieur.com/design">Design</category>
 <category domain="http://www.davidlesieur.com/drupal">Drupal</category>
 <category domain="http://www.davidlesieur.com/montreal">Montréal</category>
 <pubDate>Mon, 05 May 2008 15:47:53 -0400</pubDate>
</item>
<item>
 <title>Doter Drupal d&#039;un moteur de recherche plus performant</title>
 <link>http://www.davidlesieur.com/doter-drupal-d-un-moteur-de-recherche-plus-performant</link>
 <description>&lt;p&gt;&lt;a href=&quot;http://drupal.org&quot;&gt;Drupal&lt;/a&gt; possède un excellent moteur de recherche par mots-clés, le module &lt;em &gt;search&lt;/em&gt; qui est fourni à la base avec Drupal. On peut employer plusieurs opérateurs de recherche, l&#039;intersection de mots-clés (ET), l&#039;union (OU), la négation (NON) de même que la recherche de phrases complètes. L&#039;algorithme de classement tiens compte de plusieurs facteurs tels la fréquence du mot, son balisage HTML, la popularité et la date de publication du contenu. En étant détaché de la mise à jour des contenus via la commande cron, le processus d&#039;indexation ne nuit pas au fonctionnement rapide du site. Par-dessus tout, le moteur est très facile à utiliser puisqu&#039;il suffit de deux clics pour activer le module!&lt;/p&gt;
&lt;p&gt;Par conséquent, le module &lt;em &gt;search&lt;/em&gt; sert les besoins de milliers de sites. Cette popularité extrême en fait aussi un module fréquemment critiqué. On voudrait plus facilement personnaliser l&#039;interface de recherche et les pages de résultats, accroître la vitesse sur les sites très lourdement chargés de contenus, brancher d&#039;autres algorithmes de calcul du classement, rechercher des mots partiels, rechercher du texte dans des champs spécifiques, rechercher des plages de valeurs, se faire suggérer des termes similaires, rechercher dans les fichiers joints, etc. Bâtir un moteur de recherche qui répond à toutes les demandes n&#039;est pas une mince affaire! &lt;/p&gt;
&lt;p&gt;Plusieurs &lt;a href=&quot;http://drupal.org/project/Modules/category/105&quot;&gt;modules additionnels&lt;/a&gt; visent à répondre à certaines de ces demandes, notamment &lt;a href=&quot;http://drupal.org/project/faceted_search&quot;&gt;Faceted Search&lt;/a&gt; (je dois le mentionner :)), &lt;a href=&quot;http://drupal.org/project/views_fastsearch&quot;&gt;Views Fast Search&lt;/a&gt;, &lt;a href=&quot;http://drupal.org/project/apache_solr&quot;&gt;Apache Solr&lt;/a&gt;, &lt;a href=&quot;http://drupal.org/project/fuzzy_search&quot;&gt;Fuzzy Search&lt;/a&gt; et &lt;a href=&quot;http://drupal.org/project/swish&quot;&gt;Swish-E&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;À chaque nouvelle version de Drupal, le module &lt;em &gt;search&lt;/em&gt; connaît son lot d&#039;améliorations. Dans Drupal 6, les améliorations ont surtout concerné la vitesse d&#039;exécution des requêtes de recherche. Pour le futur Drupal 7, &lt;a href=&quot;http://groups.drupal.org/node/10569&quot;&gt;la course aux améliorations&lt;/a&gt; est lancée et, à l&#039;occasion d&#039;un sprint inédit qui aura lieu du 9 au 11 mai prochain à l&#039;Université du Minnesota, atteindra une vitesse folle! En effet, c&#039;est à cette date que sera tenu le &lt;a href=&quot;http://groups.drupal.org/node/4102/minnesota-search-sprint&quot;&gt;Search Sprint&lt;/a&gt;, une rencontre de plusieurs développeurs chevronnés impliqués dans le développement de Drupal et d&#039;outils de recherche. J&#039;aurai la chance d&#039;y prendre part moi-même, avec l&#039;appui du &lt;a href=&quot;http://www.labo-nt2.uqam.ca/&quot;&gt;Laboratoire NT2&lt;/a&gt; de l&#039;UQAM &amp;mdash; qui utilise mon &lt;a href=&quot;http://drupal.org/project/faceted_search&quot;&gt;moteur de recherche à facette&lt;/a&gt; dans de nombreux projets et qui souhaite poursuivre le développement d&#039;outils de recherche avancés pour Drupal &amp;mdash; et de &lt;a href=&quot;http://acquia.com&quot;&gt;Acquia&lt;/a&gt;. Les autres participants ayant confirmé leur présence jusqu&#039;à présent&amp;nbsp;: Earnest Berry, Robert Douglass, Chad Fennell, Doug Green, Michael Hess, Djun Kim, Blake Lucchesi.&lt;/p&gt;
&lt;p&gt;Lors de la dernière conférence Drupalcon à Boston, j&#039;ai pu constater à quel point réunir au même endroit des développeurs intéressés pouvait créer des synergies et orienter les efforts autour de directions communes. Semblable au &lt;em &gt;Search Sprint&lt;/em&gt;, un &lt;a href=&quot;http://cwgordon.com/paris-simpletest-sprint-day-2&quot;&gt;sprint s&#039;est tenu à Paris&lt;/a&gt; et vient de se terminer avec la mise en place d&#039;un système de tests unitaires automatisés pour Drupal, un gain énorme qui permettra d&#039;accélérer le développement de la plateforme sans risquer d&#039;en compromettre la qualité. Bref, ce genre d&#039;évènement a fait ses preuves et, malgré la nature décentralisée et géographiquement dispersée à laquelle nous sommes habitués dans l&#039;univers Drupal, tout le monde s&#039;entend sur les bénéfices de ces sprints! &lt;/p&gt;
&lt;p&gt;Nous ne règlerons pas tous les enjeux de la recherche sous Drupal lors d&#039;un sprint de 3 jours, mais on pourra s&#039;attendre à des résultats plus qu&#039;intéressants.&lt;/p&gt;
</description>
 <category domain="http://www.davidlesieur.com/communaute">Communauté</category>
 <category domain="http://www.davidlesieur.com/drupal">Drupal</category>
 <category domain="http://www.davidlesieur.com/moteurs-de-recherche">Moteurs de recherche</category>
 <pubDate>Tue, 22 Apr 2008 16:54:33 -0400</pubDate>
</item>
<item>
 <title>Photos de Drupalcon Boston 2008</title>
 <link>http://www.davidlesieur.com/photos-de-drupalcon-boston-2008</link>
 <description>&lt;p&gt;J&#039;avais quatre journées pour immortaliser en images cette singulière congrégation de plus de 800 &lt;em &gt;geeks&lt;/em&gt; à &lt;a href=&quot;http://boston2008.drupalcon.org/&quot;&gt;Drupalcon&lt;/a&gt;! Mais je me suis plutôt affairé à courir les présentations et les groupes de discussion... Heureusement, de nombreuses autres personnes se sont chargées de la chasse photographique, comme en témoignent &lt;a href=&quot;http://flickr.com/search/?q=drupalconboston2008&amp;amp;z=t&quot;&gt;les milliers de photos de Drupalcon Boston 2008 sur Flickr&lt;/a&gt;.&lt;/p&gt;
</description>
 <category domain="http://www.davidlesieur.com/communaute">Communauté</category>
 <category domain="http://www.davidlesieur.com/drupal">Drupal</category>
 <category domain="http://www.davidlesieur.com/photographie">Photographie</category>
 <pubDate>Thu, 13 Mar 2008 16:40:25 -0400</pubDate>
</item>
<item>
 <title>L&#039;État de Drupal</title>
 <link>http://www.davidlesieur.com/l-etat-de-drupal</link>
 <description>&lt;p&gt;Du 3 au 6 mars dernier, plus de 800 personnes intéressées par &lt;a href=&quot;http://drupal.org&quot;&gt;Drupal&lt;/a&gt;, concepteurs, programmeurs, designers, architectes de l&#039;information, entrepreneurs et utilisateurs provenant de tous les coins de la planète (une dizaine venait de Montréal), ont convergé sur Boston pour la conférence &lt;a href=&quot;http://boston2008.drupalcon.org/&quot;&gt;Drupalcon Boston 2008&lt;/a&gt;. Voilà un évènement que je ne pouvais pas manquer! &lt;/p&gt;
&lt;p&gt;Pour lancer la conférence, &lt;a href=&quot;http://buytaert.net/&quot;&gt;Dries Buytaert&lt;/a&gt;, fondateur du projet Drupal, a présenté son traditionnel discours &quot;&lt;a href=&quot;http://video.google.com/videoplay?docid=-3401332494586334627&quot;&gt;State of Drupal&lt;/a&gt;&quot; faisant un tour d&#039;horizon des plus récents accomplissements du projet et donnant un aperçu de ce qui s&#039;en vient.&lt;/p&gt;
&lt;p&gt;Des statistiques qu&#039;il a présentées semblent confirmer une tendance ayant déjà été relevée par le passé: L&#039;intérêt envers Drupal double à chaque nouvelle version majeure du logiciel. Drupal 6 a été lancé en février dernier après 9425 modifications au code source réalisées par 741 personnes. Un mois après son lancement, Drupal 6 avait déjà été téléchargé plus de 100&amp;nbsp;000 fois. En comparaison, le développement Drupal 5 avait sollicité 472 personnes pour 4927 modifications, tandis que cette version connaissait 50&amp;nbsp;000 téléchargements dès son premier mois d&#039;existence. &lt;/p&gt;
&lt;p&gt;Par ailleurs, à partir de sondages réalisés l&#039;année dernière auprès de milliers de membres de la communauté Drupal, autant utilisateurs que développeurs, onze priorités ont été identifiées afin que le futur Drupal 7 réponde le mieux possible aux attentes exprimées:&lt;/p&gt;
&lt;ol &gt;
&lt;li &gt;Améliorer la prise en charge des contenus multimédia.&lt;/li&gt;
&lt;li &gt;Intégrer la personnalisation des types de contenus.&lt;/li&gt;
&lt;li &gt;Intégrer l&#039;édition &lt;a href=&quot;http://fr.wikipedia.org/wiki/WYSIWYG&quot;&gt;WYSIWYG&lt;/a&gt;.&lt;/li&gt;
&lt;li &gt;Améliorer la performance.&lt;/li&gt;
&lt;li &gt;Améliorer les outils pour structurer et organiser les contenus.&lt;/li&gt;
&lt;li &gt;Intégrer une partie du module &lt;a href=&quot;http://drupal.org/project/views&quot;&gt;Views&lt;/a&gt;.&lt;/li&gt;
&lt;li &gt;Automatiser les mises à jour.&lt;/li&gt;
&lt;li &gt;Améliorer l&#039;architecture de contrôle d&#039;accès.&lt;/li&gt;
&lt;li &gt;Améliorer les interfaces internes de programmation.&lt;/li&gt;
&lt;li &gt;Améliorer les interfaces externes de programmation (importation/exportation, services Web).&lt;/li&gt;
&lt;li &gt;Améliorer la convivialité.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Bien qu&#039;il y ait peu d&#039;éléments nouveaux dans cette liste, l&#039;idée maîtresse est de solidifier ces aspects au sein du noyau Drupal afin d&#039;offrir une plateforme plus solide pour les modules tiers. Par choix délibéré, ces objectifs demeurent plutôt vagues. En effet, il s&#039;agit ici de logiciel libre! Par conséquent, le développement se fera, comme d&#039;habitude, au gré des participants, en fonction de leurs intérêts et de leurs besoins, ou de ceux de leurs clients.&lt;/p&gt;
&lt;p&gt;En outre, une stratégie de développement fort judicieuse (et ambitieuse) a été proposée: Développer une suite complète de &lt;a href=&quot;http://fr.wikipedia.org/wiki/Test_unitaire&quot;&gt;tests unitaires&lt;/a&gt; pour le noyau Drupal. Ce plan est motivé par l&#039;hypothèse selon laquelle la phase de &quot;stabilisation&quot; précédant le lancement de Drupal 7 pourrait être réduite à seulement trois mois, si une telle suite de tests existait, au lieu des sept mois ayant été nécessaires lors du cycle de développement de Drupal 6. Le pari a de quoi faire jubiler n&#039;importe quel programmeur: Le cycle complet ayant une durée d&#039;environ 12 mois, au lieu de disposer de seulement cinq mois pour développer de nouvelles fonctionnalités cool et hallucinantes pour le noyau Drupal, c&#039;est de 9 mois dont nous disposerions!&lt;/p&gt;
&lt;p&gt;Enfin, Dries s&#039;est longuement attardé sur l&#039;importance accrue des données (par rapport aux fonctions) dans un contexte &quot;post-Web 2.0&quot;. L&#039;interopérabilité est primordiale, surtout si l&#039;on considère Drupal comme une plateforme de services Web. À cet égard, &lt;a href=&quot;http://fr.wikipedia.org/wiki/Resource_Description_Framework&quot;&gt;RDF&lt;/a&gt; jouera vraisemblablement un rôle important. D&#039;ailleurs, il m&#039;est apparut, tout au long des quatre jours de la conférence, qu&#039;un grand nombre de personnes s&#039;intéressait à la question et travaillait activement à harnacher le &lt;a href=&quot;http://fr.wikipedia.org/wiki/Web_s%C3%A9mantique&quot;&gt;Web sémantique&lt;/a&gt;. Ainsi, peut-être Drupal contribuera-t-il à grandement élargir la portée du Web sémantique?&lt;/p&gt;
</description>
 <category domain="http://www.davidlesieur.com/communaute">Communauté</category>
 <category domain="http://www.davidlesieur.com/drupal">Drupal</category>
 <category domain="http://www.davidlesieur.com/logiciel-libre">Logiciel libre</category>
 <pubDate>Wed, 12 Mar 2008 21:32:27 -0400</pubDate>
</item>
<item>
 <title>Réaliser un design pour Drupal - Partie 3 : La charte graphique</title>
 <link>http://www.davidlesieur.com/realiser-un-design-pour-drupal-partie-3-la-charte-graphique</link>
 <description>&lt;p&gt;&lt;em&gt;Ceci est le dernier d&#039;une série de trois articles à travers lesquels j&#039;explore les principales particularités de &lt;a href=&quot;http://drupal.org&quot;&gt;Drupal&lt;/a&gt; auxquelles doit faire face un designer graphique. Ceci s&#039;adresse non seulement aux designers, mais également aux intégrateurs et programmeurs qui souhaiteraient communiquer quelques trucs à leurs équipes afin de créer des concepts graphiques bien adaptés à la plate-forme et, en même temps, réalisés plus rapidement. Ces articles seront particulièrement utiles aux designers ayant peu ou pas d&#039;expérience avec des systèmes de gestion de contenus. Toutefois, j&#039;ose croire que tout le monde pourra y trouver son compte, ne serait-ce que pour formaliser quelques idées. Un seul pré-requis&amp;nbsp;: Avoir déjà conçu ou intégré un &lt;a href=&quot;http://fr.wikipedia.org/wiki/Web_design&quot;&gt;design Web&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Maintenant que nous connaissons &lt;a href=&quot;/realiser-un-design-pour-drupal-partie-1-la-structure-d-une-page&quot;&gt;la structure&lt;/a&gt; et &lt;a href=&quot;/realiser-un-design-pour-drupal-partie-2-les-elements-d-une-page&quot;&gt;les principaux éléments&lt;/a&gt; d&#039;une page Drupal, le temps est enfin venu d&#039;élaborer la charte graphique!&lt;/p&gt;
&lt;p&gt;Puisque les contenus et éléments apparaissant dans une page sont hautement dynamiques, il est impossible de prévoir d&#039;avance la teneur exacte d&#039;une page. Par conséquent, il convient de penser la charte graphique d&#039;un site dynamique en termes de normes graphiques applicables à une variété de contextes, un peu à la manière d&#039;un cahier de normes graphiques pour une grande organisation. Bien sûr, l&#039;on souhaite que la charte graphique inclue les maquettes des pages clés du site (notamment la page d&#039;accueil), mais l&#039;intégrateur aura surtout besoin de normes qu&#039;il pourra appliquer aux différents éléments d&#039;une page et qui pourront par la suite s&#039;agencer dans une multitude de combinaisons (prévues ou non au moment de la conception graphique).&lt;/p&gt;
&lt;p&gt;Lorsque les maquettes remises à l&#039;intégrateur graphique sont conçues pour une structure fixe et un contenu pré-établi, l&#039;intégrateur est confronté à plusieurs problèmes. Une telle maquette ne révèle ni la logique ou la réflexion ayant guidé les choix du designer, ni l&#039;ensemble des éléments pouvant constituer une page générée dynamiquement ou altérée par l&#039;interaction de l&#039;utilisateur avec le système. Que survient-il si tel contenu vedette de la page d&#039;accueil n&#039;est pas accompagné d&#039;une illustration tel que sur la maquette? À quoi doivent ressembler les sous-titres, si un éditeur en introduit dans un article? Qu&#039;en est-il des tableaux et des listes numérotées? Peut-on ajouter un nouvel élément au menu sans casser le design? Où placer les menu d&#039;administration du site qui ne sont pas visibles aux visiteurs normaux? Que fait-on avec les messages d&#039;erreur? À quoi ressemblera la pagination si un grand nombre d&#039;articles est ajouté? Que fait-on de la boîte &amp;laquo;&amp;nbsp;évènements à venir&amp;nbsp;&amp;raquo; lorsqu&#039;elle est vide parce qu&#039;aucun évènement n&#039;est prévu? Comment adapter l&#039;interface aux libellés plus longs de l&#039;autre langue utilisée sur le site? Telles sont des questions typiques que posera l&#039;intégrateur graphique.&lt;/p&gt;
&lt;p&gt;En vue de créer une charte graphique adaptée aux systèmes de gestion de contenu &amp;mdash; Drupal en particulier &amp;mdash; je propose de l&#039;articuler autour de quatre volets&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;La plastique des pages.&lt;/li&gt;
&lt;li&gt;Les normes graphiques générales.&lt;/li&gt;
&lt;li&gt;Les normes graphiques spécifiques.&lt;/li&gt;
&lt;li&gt;Les maquettes des pages clés du site.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;La plastique des pages&lt;/h3&gt;
&lt;p&gt;Cette première section de la charte graphique présente les éléments structuraux requis par les différentes pages du site, sous forme schématique. À la différence du schéma &lt;em&gt;wireframe&lt;/em&gt; typiquement produit pendant la phase d&#039;architecture du site, plutôt que de procéder à l&#039;identification des éléments de contenu, il s&#039;agit ici de définir une structure sur laquelle reposeront les règles stylistiques.&lt;/p&gt;
&lt;p&gt;Une notion essentielle à ce stade-ci consiste à identifier les zones à taille fixe et les zones &amp;laquo;&amp;nbsp;fluides&amp;nbsp;&amp;raquo; (à taille variable) de chaque modèle de page. La fluidité est une propriété fondamentale de la page Web suivant les normes XHTML et CSS, puisqu&#039;on ne contrôle ni la taille de la fenêtre du fureteur, ni la taille et les caractéristiques exactes de la typographie. Soyons clairs&amp;nbsp;: À moins d&#039;avoir affaire à un élément de taille absolue tel une image, un extrait vidéo ou un objet Flash, tout élément possède une taille variable! Un titre qui entre sur une ligne chez un internaute pourrait très bien en exiger trois chez un autre.&lt;/p&gt;
&lt;p&gt;La taille des éléments étant affectée par l&#039;environnement dans lequel la page est visualisée, le design doit donc intégrer l&#039;expansion et la contraction des différentes zones sur au moins sur l&#039;axe vertical, sinon sur les deux axes (vertical et horizontal). Embrasser cette contrainte procure un double avantage&amp;nbsp;: Non seulement la page devient-elle lisible sur un grand nombre de périphériques, aussi peut-elle accommoder les fréquentes modifications de contenus inhérentes à un système de gestion de contenu. &lt;/p&gt;
&lt;p&gt;Voici un exemple illustrant cette notion. L&#039;orientation du dégradé vert indique l&#039;axe d&#039;expansion ou de contraction (un dégradé en diagonale dénote une fluidité sur les deux axes), tandis que le rouge désigne une zone dont la taille est fixe sur les deux axes (tout contenu de taille  excédentaire pourrait alors être tronqué ou empiéter sur d&#039;autres zones)&amp;nbsp;:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;/files/front-liquid.jpg&quot; alt=&quot;Fluidité des éléments d&#039;une page de drupal.org&quot; title=&quot;Fluidité des éléments d&#039;une page de drupal.org&quot; /&gt;&lt;/p&gt;
&lt;p&gt;L&#039;observateur averti pourra constater dans cet exemple une erreur de design (sans doute un compromis, en fait)&amp;nbsp;: Les onglets et la boîte de recherche sont à taille verticale fixe, de telle sorte que ces zones ne peuvent accommoder une taille de caractères tellement différente (en hauteur) de celle espérée par la feuille de style du site.&lt;/p&gt;
&lt;h3&gt;Les normes graphiques générales&lt;/h3&gt;
&lt;p&gt;La seconde section de la charte graphique donne les principes généraux de la signature visuelle du site, ainsi que l&#039;apparence par défaut de tous les éléments primitifs, notamment&amp;nbsp;:&lt;/p&gt;
&lt;ul id=&quot;content-elements-primitifs&quot;&gt;
&lt;li&gt;Paragraphes &amp;mdash; (comme pour tous les autres éléments de forme textuelle de la présente liste, les propriétés suivantes peuvent être prises en considération&amp;nbsp;: marges, justification, police, taille, graisse, interlignage, crénage, couleur du texte, couleur du fond, filet.&lt;/li&gt;
&lt;li&gt;Titres et sous-titres &amp;mdash; potentiellement jusqu&#039;à six niveaux.&lt;/li&gt;
&lt;li&gt;Listes numérotées et non numérotées.&lt;/li&gt;
&lt;li&gt;Tableaux &amp;mdash; incluant les en-têtes.&lt;/li&gt;
&lt;li&gt;Citations, définitions, extraits de code.&lt;/li&gt;
&lt;li&gt;Hyperliens &amp;mdash; incluant les états&amp;nbsp;: normal, courant (présentement visité), déjà visité, survolé par la souris, sélectionné au clavier.&lt;/li&gt;
&lt;li&gt;Images &amp;mdash; penser à&amp;nbsp;: taille, marges, alignement, filets, légende, comportement du texte autour de l&#039;image.&lt;/li&gt;
&lt;li&gt;Boutons &amp;mdash; incluant les états&amp;nbsp;: normal, pressé, survolé par la souris, sélectionné au clavier.&lt;/li&gt;
&lt;li&gt;Champs de formulaires &amp;mdash; incluant les états&amp;nbsp;: normal, erroné, courant (présentement manipulé), ainsi que leurs attributs (libellés et descriptions).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ces éléments correspondent directement à des balises XHTML, mais j&#039;ai également inclu quelques états et attributs qui sont presque aussi fondamentaux sous Drupal.&lt;/p&gt;
&lt;h3&gt;Les normes graphiques spécifiques&lt;/h3&gt;
&lt;p&gt;La troisième section de la charte graphique prescrit l&#039;apparence des &lt;a href=&quot;/realiser-un-design-pour-drupal-partie-3-la-charte-graphique#content-elements-primitifs&quot;&gt;éléments primitifs&lt;/a&gt; dans différents contextes, lorsqu&#039;elles diffèrent des normes graphiques générales. On peut varier l&#039;apparence d&#039;un titre, par exemple, en fonction de la page, de la région, du bloc, du noeud, de l&#039;auteur du noeud, ou même d&#039;une catégorie associée au noeud dans lequel ce apparaît ce titre. De cette façon, un site pourrait appliquer un style général aux articles apparaissant dans différentes pages du site, puis un style spécifique lorsque ces articles apparaissent dans la page d&#039;accueil. Sur le même principe, on pourrait accompagner les articles d&#039;icônes distincts selon qu&#039;il s&#039;agisse d&#039;un communiqué, d&#039;un texte de référence ou d&#039;un billet de blogue.&lt;/p&gt;
&lt;p&gt;Le nombre et la nature des contextes varie grandement d&#039;un site à l&#039;autre. Tous les éléments primitifs peuvent adopter une apparence propre au contexte auquel ils appartiennent.&lt;/p&gt;
&lt;p&gt;Voici quelques exemples de contextes possibles, un contexte étant, finalement, l&#039;un des multiples &amp;laquo;&amp;nbsp;contenants&amp;nbsp;&amp;raquo; pouvant englober l&#039;élément auquel on cherche à appliquer un style&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Page.&lt;/li&gt;
&lt;li&gt;Région.&lt;/li&gt;
&lt;li&gt;Bloc.&lt;/li&gt;
&lt;li&gt;Noeud&lt;/li&gt;
&lt;li&gt;Menu.&lt;/li&gt;
&lt;li&gt;Fil d&#039;Ariane.&lt;/li&gt;
&lt;li&gt;Pagination.&lt;/li&gt;
&lt;li&gt;Informations du publication.&lt;/li&gt;
&lt;li&gt;Liens contextuels.&lt;/li&gt;
&lt;li&gt;Catégories associées au noeud.&lt;/li&gt;
&lt;li&gt;Message informatif ou message d&#039;erreur.&lt;/li&gt;
&lt;li&gt;Élément identifié.&lt;/li&gt;
&lt;li&gt;Balise XHTML.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Bien sûr, cette liste n&#039;est pas exhaustive, puisque chaque projet a l&#039;opportunité d&#039;ajouter ses propres éléments ou contextes.&lt;/p&gt;
&lt;p&gt;Plusieurs de ces contenants s&#039;emboîtent comme des poupées russes; il est donc possible de tirer parti de combinaisons pour appliquer un style. Concrètement, ceci signifie qu&#039;un design pourrait, par exemple, prescrire la règle générale d&#039;afficher les hyperliens en bleu avec soulignement, tandis que ceux-ci seraient verts dans le contexte d&#039;un bloc situé dans la région A, jaunes dans la région B et sans soulignement dans le contexte d&#039;un menu. On peut définir des règles plus ou moins spécifiques comme, par exemple&amp;nbsp;: Tous les boutons sont rouges, sauf le bouton &amp;laquo;&amp;nbsp;Rechercher&amp;nbsp;&amp;raquo; de la page d&#039;accueil qui est vert. L&#039;idée maîtresse est de penser le design en fonction de classes d&#039;éléments plutôt qu&#039;en fonction d&#039;occurences singulières de ces éléments, puisque ces occurences sont particulièrement éphémères dans un système de gestion de contenu.&lt;/p&gt;
&lt;p&gt;Il s&#039;agit d&#039;éviter les situations où aucune règle d&#039;application de style ne peut être établie en fonction des contenants disponibles! Si, par exemple, la couleur rose était affectée à un paragraphe de manière purement arbitraire, cette propriété ne serait applicable qu&#039;à l&#039;aide d&#039;un éditeur WYSIWYG, ou manuellement en modifiant directement le contenu en XHTML. Dans les deux cas, l&#039;on retirerait à la feuille de style du site son rôle de maître de la présentation et déleguerait une partie de ce rôle aux rédacteurs ou intégrateurs du site. Le dynamisme des contenus fera en sorte que, inévitablement, la règle de style irrégulière deviendra rapidement caduque ou mal appliquée (nuisant à la cohérence visuelle du site); les rédacteurs auront de la difficulté à l&#039;appliquer s&#039;ils n&#039;ont pas les ressources ou les connaissances techniques pour le faire. Tout attribut de style qui ne puisse être appliqué par une règle automatique et qui complique la rédaction des contenus devient un élément dissuasif à la création et à la mise à jour des contenus, ce qui, forcément, est à éviter!&lt;/p&gt;
&lt;p&gt;Lorsque des éléments semblent manquants pour arriver à établir les règles d&#039;application de styles nécessaires à la réalisation d&#039;un certain concept visuel, généralement il suffira d&#039;une discussion entre designer, intégrateur et/ou programmeur pour rapidement définir une solution.&lt;/p&gt;
&lt;p&gt;Enfin, un bon truc pour aider le designer à identifier les éléments, les contextes, ainsi que les règles possibles consiste à lui fournir un prototype du site. En effet, un processus de travail fort efficace consiste à, avant que le travail de design graphique ne soit amorcé, d&#039;abord bâtir un prototype fonctionnel (même incomplet) à partir des schémas (&lt;em&gt;wireframes&lt;/em&gt;) acceptés par le client, puis de laisser ensuite au designer tout le loisir d&#039;explorer la structure du système. Au besoin, des tests de validation technique pourront même être réalisés directement sur le prototype afin de déterminer la faisabilité de certains concepts visuels ou interactifs plus complexes, et ce avant même de soumettre des maquettes au client.&lt;/p&gt;
&lt;h3&gt;Les maquettes des pages clés du site&lt;/h3&gt;
&lt;p&gt;La dernière section de la charte graphique présente un aperçu détaillé des pages clés du site, de manière traditionnelle, c&#039;est-à-dire sous la forme d&#039;un écran pour chaque page &amp;mdash; quoique, bien sûr, d&#039;autres formes de présentation sont possible. Ceci permet d&#039;appliquer à des cas concrets l&#039;ensemble des normes graphiques. Le travail même de bâtir les maquettes constitue une occasion de valider les normes.&lt;/p&gt;
&lt;p&gt;Bien entendu, la plupart des designers réaliseront des maquettes bien avant de se pencher sur le détail des normes graphiques et de leurs règles d&#039;application! La table des matières de la charte graphique n&#039;a pas à dicter le processus créatif! &lt;/p&gt;
&lt;h3&gt;Conclusion&lt;/h3&gt;
&lt;p&gt;Par cette série d&#039;article, j&#039;espère avoir couvert les principales particularités rencontrées lors de la réalisation d&#039;un design graphique pour un système Drupal. J&#039;ai présenté la structure et les éléments d&#039;une page Web générée par Drupal, puis un format de charte graphique ayant pour objectifs, d&#039;une part, l&#039;adéquation du design à la plate-forme à laquelle il est destiné et, d&#039;autre part, la mise en place d&#039;un riche outil de communication utile au designer graphique et à l&#039;intégrateur.&lt;/p&gt;
&lt;p&gt;Il est certes très exigeant de construire une charte graphique aussi technique et détaillée que je le propose. À chaque équipe de décider jusqu&#039;où aller en fonction de ses besoins et de ses aptitudes!&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Tous les articles de la série&amp;nbsp;: &lt;a href=&quot;/realiser-un-design-pour-drupal-partie-1-la-structure-d-une-page&quot;&gt;1/&amp;nbsp;La structure d&#039;une page&lt;/a&gt;. &lt;a href=&quot;/realiser-un-design-pour-drupal-partie-2-les-elements-d-une-page&quot;&gt;2/&amp;nbsp;Les éléments d&#039;une page&lt;/a&gt;. &lt;strong&gt;3/&amp;nbsp;La charte graphique&lt;/strong&gt;.&lt;/em&gt;&lt;/p&gt;
</description>
 <category domain="http://www.davidlesieur.com/design">Design</category>
 <category domain="http://www.davidlesieur.com/drupal">Drupal</category>
 <pubDate>Thu, 22 Nov 2007 00:16:31 -0500</pubDate>
</item>
<item>
 <title>Réaliser un design pour Drupal - Partie 2 : Les éléments d&#039;une page</title>
 <link>http://www.davidlesieur.com/realiser-un-design-pour-drupal-partie-2-les-elements-d-une-page</link>
 <description>&lt;p&gt;&lt;em&gt;Ceci est le second d&#039;une série de trois articles à travers lesquels j&#039;explore les principales particularités de &lt;a href=&quot;http://drupal.org&quot;&gt;Drupal&lt;/a&gt; auxquelles doit faire face un designer graphique. Ceci s&#039;adresse non seulement aux designers, mais également aux intégrateurs et programmeurs qui souhaiteraient communiquer quelques trucs à leurs équipes afin de créer des concepts graphiques bien adaptés à la plate-forme et, en même temps, réalisés plus rapidement. Ces articles seront particulièrement utiles aux designers ayant peu ou pas d&#039;expérience avec des systèmes de gestion de contenus. Toutefois, j&#039;ose croire que tout le monde pourra y trouver son compte, ne serait-ce que pour formaliser quelques idées. Un seul pré-requis&amp;nbsp;: Avoir déjà conçu ou intégré un &lt;a href=&quot;http://fr.wikipedia.org/wiki/Web_design&quot;&gt;design Web&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Dans &lt;a href=&quot;/realiser-un-design-pour-drupal-partie-1-la-structure-d-une-page&quot;&gt;l&#039;article précédent&lt;/a&gt;, nous avons vu qu&#039;une page Drupal se découpait en régions. Les régions sont des contenants aptes à accueillir différents éléments d&#039;information. Ces derniers sont fort variés et doivent être considérés lors de l&#039;élaboration d&#039;une charte graphique. Je vais tenter d&#039;en faire l&#039;énumération&amp;nbsp;:&lt;/p&gt;
&lt;p&gt;Éléments de contenu&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Noeuds&amp;nbsp;: Ces éléments sont typiquement créés et modifiés par des utilisateurs du site. Différents types de noeuds sont possibles, par exemple&amp;nbsp;: articles, nouvelles, billets, évènements, fiche de membre, notice bibliographique, etc. Chaque type de noeud comporte ses propres champs, par exemple : titre, corps, auteur, date de création, date d&#039;évènement, adresse, code ISBN, etc. L&#039;éventail de types de noeuds de même que le détail des champs est hautement personnalisable; chaque projet définira ceux qui sont requis. Sur le plan du design, il sera nécessaire d&#039;établir comment seront présentés chacun des éléments d&#039;information. Le noeud est la principale unité de contenu sous Drupal et l&#039;essence d&#039;un site basé sur Drupal tourne autour de la manipulation des noeuds. Le coeur de la plupart des pages est constitué soit d&#039;un noeud, soit d&#039;une liste de noeuds (ou vue). Une vue présente des champs de noeuds choisis selon certains critères (par exemple : une en ordre chronologique montrant le titre et l&#039;auteur de tous les noeuds classés dans une catégorie &amp;laquo;&amp;nbsp;design&amp;nbsp;&amp;raquo;). Lorsqu&#039;une page contenant une vue est demandée par un visiteur, le système recueille et présente dynamiquement tous les noeuds correspondant aux critères associés à cette vue. Encore une fois, le designer a donc affaire à du contenu dynamique.&lt;/li&gt;
&lt;li&gt;Blocs&amp;nbsp;: Les blocs sont des éléments d&#039;information qui, généralement, servent à offrir l&#039;accès à différentes fonctionnalités du site ou à offrir un complément d&#039;information relatif au noeud (ou à la vue) présenté dans la page. Les blocs sont créés par des utilisateurs, contiennent une vue sur plusieurs noeuds, ou sont générés par différents modules du système. Comme les noeuds, les blocs sont hautement dynamiques et contextuels. Les blocs sont positionnés dans des régions par les administrateur du site et certains blocs n&#039;apparaissent que dans certaines pages ou à certains utilisateurs. Par exemple, le bloc de connexion montre un formulaire où entrer un identifiant et mot de passe, mais disparaît une fois la connexion établie. Sur drupal.org, la table des matières d&#039;une page de documentation n&#039;apparaît que lorsque l&#039;une des pages du manuel est visitée.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Éléments de navigation&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Menus&amp;nbsp;: Les menus sont généralement le principal outil de navigation du site. Ceux-ci sont également dynamiques, puisque leur contenu exact peut varier selon le contexte et les droits d&#039;accès de l&#039;utilisateur. Les menus sont positionnés dans des régions et peuvent prendre différentes formes selon le contexte et le design souhaité&amp;nbsp;: listes de liens, listes déroulantes, onglets.&lt;/li&gt;
&lt;li&gt;Fil d&#039;Ariane&amp;nbsp;: Un outil d&#039;aide à la navigation fréquemment offert, le fil d&#039;Ariane est généré automatiquement par Drupal afin de présenter une piste du chemin parcouru par le visiteur pour atteindre la page courante.&lt;/li&gt;
&lt;li&gt;Pagination&amp;nbsp;: La pagination permet de naviguer dans des listes d&#039;éléments (noeuds ou autres) réparties sur plusieurs pages. Quelques exemples d&#039;éléments communément utilisés dans la pagination&amp;nbsp;: liens vers la première et la dernière page, liens vers la page précédente et la suivante, indication de la page courante, nombre total d&#039;éléments, etc.&lt;/li&gt;
&lt;li&gt;Informations de publication&amp;nbsp;: Un noeud est souvent accompagné de certaines métadonnées, telles que son auteur et sa date de publication. Ceci est tout à fait analogue à un champ, mais la présentation en est souvent distincte. En outre, il peut s&#039;agir d&#039;un élément de navigation, puisque le nom de l&#039;auteur est couramment offert comme un hyperlien vers un profil de membre.&lt;/li&gt;
&lt;li&gt;Liens contextuels&amp;nbsp;: Un noeud est fréquemment accompagné de liens contextuels, par exemple&amp;nbsp;: lien donnant accès au texte intégral, lien vers un fichier joint, lien pour ajouter un commentaire.&lt;/li&gt;
&lt;li&gt;Catégories&amp;nbsp;: Beaucoup de sites présentent des listes de catégories associées à chaque noeud en guise d&#039;outil de navigation supplémentaire, une fonction offerte par Drupal à la base.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Éléments d&#039;interface&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Messages&amp;nbsp;: Les messages sont produits par le système pour fournir des informations utiles au visiteur. Deux types de messages sont produits&amp;nbsp;: messages d&#039;information et messages d&#039;erreur. Plusieurs messages peuvent être présentés simultanément, auquel cas une liste HTML est utilisée comme contenant.&lt;/li&gt;
&lt;li&gt;Formulaires&amp;nbsp;: Pratiquement tous les sites comportent des formulaires permettant aux utilisateurs de saisir des informations, par exemple&amp;nbsp;: formulaire de connexion, formulaire de contact, formulaire de commentaire, demande d&#039;adhésion au site. Une variété d&#039;éléments graphiques sont à prévoir dans un formulaire&amp;nbsp;: Champ (texte, liste, liste déroulante, bouton radio ou case à cocher), titre de champ, description de champ, bouton, indicateur de champ obligatoire, regroupement de champs (ouvert ou fermé). À noter qu&#039;un message est généré lorsqu&#039;une erreur de saisie est faite dans un formulaire, tandis que les champs erronés sont soulignés de manière plus visible.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Voici un aperçu de quelques-uns des éléments mentionnés ci-dessus&amp;nbsp;: &lt;img src=&quot;/files/front-elements.png&quot; alt=&quot;Éléments d&#039;une page de drupal.org&quot; title=&quot;Éléments d&#039;une page de drupal.org&quot; style=&quot;display:block;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Légende&amp;nbsp;: &lt;img src=&quot;/files/front-elements-legend.png&quot; alt=&quot;Éléments d&#039;une page de drupal.org - Légende&quot; title=&quot;Éléments d&#039;une page de drupal.org - Légende&quot; style=&quot;display:block;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Et voici un exemple de formulaire accompagné d&#039;un message d&#039;erreur&amp;nbsp;: &lt;img src=&quot;/files/contact-messages.png&quot; alt=&quot;Formulaire avec message d&#039;erreur&quot; title=&quot;Formulaire avec message d&#039;erreur&quot; style=&quot;display:block;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Bien entendu, la plupart des sites quelque peu avancés comporteront des éléments supplémentaires; un calendrier ou un système d&#039;évaluation (vote) des contenus sont des cas fréquents. J&#039;ai tenté ici d&#039;énumérer les éléments communs à presque tous les sites Drupal. Ces éléments devraient toujours faire l&#039;objet d&#039;une réflexion de design &amp;mdash; et bien sûr, on peut par cette réflexion décider d&#039;en omettre quelques uns ou d&#039;altérer grandement leur apparence de base! &lt;/p&gt;
&lt;p&gt;Drupal offre une pleine latitude sur la forme de ces éléments. Une critique souvent entendue est que beaucoup de sites Drupal se ressemblent, une situation que je dois admettre comme plutôt vraie. Cependant, ceci s&#039;explique de deux ou trois façons, soit un faible investissement en conceptualisation graphique ou, tout simplement, l&#039;omission par le designer prendre tous les éléments en considération. En outre, il arrive que l&#039;intégrateur graphique ou le programmeur ne sache pousser la machine à fond, faute de connaître suffisamment la plate-forme (Drupal est encore nouveau pour un grand nombre de professionnels). Au final, les éléments graphiques qui ont été omis lors du design ou de l&#039;intégration héritent tout simplement de la forme par défaut proposée par Drupal.&lt;/p&gt;
&lt;p&gt;Nous avons maintenant les outils nécessaires pour développer la charte graphique, sujet de &lt;a href=&quot;/realiser-un-design-pour-drupal-partie-3-la-charte-graphique&quot;&gt;l&#039;article suivant&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Tous les articles de la série&amp;nbsp;: &lt;a href=&quot;/realiser-un-design-pour-drupal-partie-1-la-structure-d-une-page&quot;&gt;1/&amp;nbsp;La structure d&#039;une page&lt;/a&gt;. &lt;strong&gt;2/&amp;nbsp;Les éléments d&#039;une page&lt;/strong&gt;. &lt;a href=&quot;/realiser-un-design-pour-drupal-partie-3-la-charte-graphique&quot;&gt;3/&amp;nbsp;La charte graphique&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
</description>
 <category domain="http://www.davidlesieur.com/design">Design</category>
 <category domain="http://www.davidlesieur.com/drupal">Drupal</category>
 <pubDate>Tue, 20 Nov 2007 19:52:52 -0500</pubDate>
</item>
<item>
 <title>Réaliser un design pour Drupal - Partie 1 : La structure d&#039;une page</title>
 <link>http://www.davidlesieur.com/realiser-un-design-pour-drupal-partie-1-la-structure-d-une-page</link>
 <description>&lt;p&gt;&lt;em&gt;Ceci est le premier d&#039;une série de trois articles à travers lesquels j&#039;explore les principales particularités de &lt;a href=&quot;http://drupal.org&quot;&gt;Drupal&lt;/a&gt; auxquelles doit faire face un designer graphique. Ceci s&#039;adresse non seulement aux designers, mais également aux intégrateurs et programmeurs qui souhaiteraient communiquer quelques trucs à leurs équipes afin de créer des concepts graphiques bien adaptés à la plate-forme et, en même temps, réalisés plus rapidement. Ces articles seront particulièrement utiles aux designers ayant peu ou pas d&#039;expérience avec des systèmes de gestion de contenus. Toutefois, j&#039;ose croire que tout le monde pourra y trouver son compte, ne serait-ce que pour formaliser quelques idées. Un seul pré-requis&amp;nbsp;: Avoir déjà conçu ou intégré un &lt;a href=&quot;http://fr.wikipedia.org/wiki/Web_design&quot;&gt;design Web&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Un système de gestion de contenu tel que Drupal offre aux utilisateurs d&#039;un site Web un plein contrôle sur les contenus. Différents utilisateurs  jouent différents rôles sur le site, qu&#039;il s&#039;agisse de l&#039;administration, de la modération, de la rédaction, de la révision ou de la traduction des contenus, ou tout simplement de la rédaction de commentaires rattachés aux contenus (comme dans le cas d&#039;un blogue ou d&#039;un forum de discussion, par exemple). Les contenus sont créés et gérés directement sur le système, souvent par des individus ayant peu de connaissances techniques, sans qu&#039;il ne soit nécessaire d&#039;utiliser un logiciel tiers ou de faire appel à un designer ou un technicien.&lt;/p&gt;
&lt;p&gt;Ainsi, les contenus sont extrêmement dynamiques, grandement hors du contrôle du designer. Non seulement les contenus sont-ils hautement variables, mais les contrôles d&#039;accès font en sorte que différentes fonctions du système et différents contenus seront exposés à différents utilisateurs selon les accès autorisés à chacun, ce qui affecte également l&#039;apparence des pages présentées aux internautes.&lt;/p&gt;
&lt;p&gt;Ce dynamisme amène la nécessité de concevoir la structure des pages non pas en fonction de contenus spécifiques, mais plutôt en fonction de différentes régions qui contiendront des contenus, sans connaissance préalable de la nature exacte des contenus. Chaque région devient en quelque sorte un mur accueillant une ou plusieurs oeuvres (contenus), ajoutés, supprimés ou modifiés au fil du temps. La région elle-même prend place dans une page, à la manière d&#039;une salle dans un musée. Bref, suivant cette métaphore, le site est comme un musée renfermant plusieurs salles (pages), elles-mêmes pourvues de murs (régions), auxquels se rattachent plusieurs oeuvres (contenus).&lt;/p&gt;
&lt;p&gt;Voici un schéma des régions (en rouge translucide) utilisées sur &lt;a href=&quot;http://drupal.org/node/188772&quot;&gt;une page du site drupal.org&lt;/a&gt;&amp;nbsp;: &lt;img src=&quot;/files/post-regions.png&quot; alt=&quot;Régions d&#039;une page de contenu sur drupal.org&quot; title=&quot;Régions d&#039;une page de contenu sur drupal.org&quot; style=&quot;display:block;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Il est possible de créer autant de régions que requis par le design et de leur assigner différents éléments, ce qui permet à différents sites d&#039;adopter des structures plus ou moins complexes. En outre, certaines régions peuvent apparaître seulement lorsqu&#039;elles contiennent des éléments, comme c&#039;est le cas de la colonne de gauche (numéro 2 ci-dessous) dans &lt;a href=&quot;http://drupal.org/about&quot;&gt;une page de documentation&lt;/a&gt; de drupal.org&amp;nbsp;: &lt;img src=&quot;/files/about-regions.png&quot; alt=&quot;Régions dans la page About de drupal.org&quot; title=&quot;Régions dans la page About de drupal.org&quot; style=&quot;display:block;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Les régions sont l&#039;une des principales unités de structure d&#039;une page. &lt;a href=&quot;/realiser-un-design-pour-drupal-partie-2-les-elements-d-une-page&quot;&gt;L&#039;article suivant&lt;/a&gt; aborde les autres types d&#039;éléments que comporte la page.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Tous les articles de la série&amp;nbsp;: &lt;strong&gt;1/&amp;nbsp;La structure d&#039;une page&lt;/strong&gt;. &lt;a href=&quot;/realiser-un-design-pour-drupal-partie-2-les-elements-d-une-page&quot;&gt;2/&amp;nbsp;Les éléments d&#039;une page&lt;/a&gt;. &lt;a href=&quot;/realiser-un-design-pour-drupal-partie-3-la-charte-graphique&quot;&gt;3/&amp;nbsp;La charte graphique&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Pour de la documentation plus technique liée à la création d&#039;un &amp;laquo;&amp;nbsp;thème&amp;nbsp;&amp;raquo; Drupal, le lecteur peut se référer à d&#039;autres ouvrages, tels le &lt;a href=&quot;http://drupal.org/node/11774&quot;&gt;Theme Developer&#039;s Guide&lt;/a&gt; ou l&#039;excellent chapitre 8 du livre &lt;a href=&quot;http://www.drupalbook.com/&quot;&gt;Pro Drupal Development&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;2007-11-22 &amp;mdash; mise à jour&lt;/strong&gt;&amp;nbsp;: Merci à Patrick Fournier pour la métaphore du musée, plus visuelle et plus claire que la précédente!&lt;/p&gt;
</description>
 <category domain="http://www.davidlesieur.com/design">Design</category>
 <category domain="http://www.davidlesieur.com/drupal">Drupal</category>
 <pubDate>Tue, 20 Nov 2007 18:19:17 -0500</pubDate>
</item>
<item>
 <title>Repenser le client courriel</title>
 <link>http://www.davidlesieur.com/repenser-le-client-courriel</link>
 <description>&lt;p&gt;Gérer le courriel, c&#039;est l&#039;enfer... J&#039;aime bien tout classer, mais je ne veux plus glisser-déposer manuellement des messages dans des dossiers. Quelle plaie que de défiler parmi des dizaines de dossiers pour déposer un message au bon endroit! Et je ne veux plus être contraint à gérer une hiérarchie unique de dossiers. Il y a toujours de ces messages qui entreraient dans plus d&#039;une catégorie.&lt;/p&gt;
&lt;p&gt;Vivement l&#039;étiquetage libre, le &lt;em &gt;tagging&lt;/em&gt;! Et je ne parle pas de la tristounette fonction de tagging de &lt;a href=&quot;http://www.mozilla-europe.org/fr/products/thunderbird/&quot;&gt;Thunderbird&lt;/a&gt; 2.0, qui ne va vraiment pas assez loin. Non, mon client courriel idéal aurait les caractéristiques suivantes&amp;nbsp;:&lt;/p&gt;
&lt;ul &gt;
&lt;li &gt;Opération entièrement via le clavier.&lt;/li&gt;
&lt;li &gt;Possibilité d&#039;associer des étiquettes (&lt;em &gt;tags&lt;/em&gt;) à chaque message via la saisie des termes, simplement via un champ texte (plutôt qu&#039;une fastidieuse sélection via la souris). La complétion automatique à partir d&#039;étiquettes existantes rendrait cette fonction encore plus rapide.&lt;/li&gt;
&lt;li &gt;Lors de la composition d&#039;un courriel, avoir la possibilité de l&#039;étiqueter.&lt;/li&gt;
&lt;li &gt;Sur réception d&#039;une réponse à un courriel antérieur, associer par défaut les mêmes étiquettes que le message original,&lt;/li&gt;
&lt;li &gt;Aucun dossier! Courriels entrants, sortants, brouillons, pourriels seraient tous au même endroit.&lt;/li&gt;
&lt;li &gt;La magie tiendrait dans le filtrage des courriels selon les étiquettes ainsi que d&#039;autres critères de recherche au choix. On pourrait facilement combiner plusieurs étiquettes ou critères via des opérateurs booléens.&lt;/li&gt;
&lt;li &gt;Le filtrage serait incrémental (interactif), dès qu&#039;on saisit des critères. Nul besoin d&#039;un bouton &amp;laquo;&amp;nbsp;soumettre&amp;nbsp;&amp;raquo;.&lt;/li&gt;
&lt;li &gt;Possibilité de créer plusieurs vues simultanées sur la boîte à malle, chaque vue utilisant son propre filtre.&lt;/li&gt;
&lt;li &gt;Des opérations de masse (destruction, étiquetage, etc) pourraient être exécutées sur les courriels filtrés.&lt;/li&gt;
&lt;li &gt;Outils d&#039;automatisation de l&#039;étiquetage selon différents critères (de la même manière que la plupart des clients permettent de marquer, effacer ou déplacer des messages actuellement).&lt;/li&gt;
&lt;li &gt;Outils d&#039;annotation et de surlignage de messages.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Oui, bien sûr, GMail et autres clients similaires favorisent la recherche plutôt que le fastidieux classement dans des dossiers, mais pour moi ça ne gère pas bien les cas où on ne sait pas très précisément ce qu&#039;on recherche et où le texte des messages ne contient pas les mots-clés utilisés dans notre recherche. Des métadonnées de classement pourraient aider dans ce cas, elles permettraient de naviguer dans les messages et non seulement de rechercher. &lt;/p&gt;
&lt;p&gt;Débarrassez-moi de la hiérarchie de dossiers!&lt;/p&gt;
&lt;p&gt;Il semble que l&#039;outil dont je rêve aurait certaines ressemblances avec &lt;a href=&quot;http://del.icio.us/&quot;&gt;del.icio.us&lt;/a&gt;, mais pour gérer des courriels au lieu d&#039;hyperliens. Connaissez-vous un lecteur de courriels qui possède ce genre d&#039;interface? Si oui, faites-le moi connaître! :-)&lt;/p&gt;
</description>
 <category domain="http://www.davidlesieur.com/classification">Classification</category>
 <category domain="http://www.davidlesieur.com/design">Design</category>
 <category domain="http://www.davidlesieur.com/metadonnees">Métadonnées</category>
 <pubDate>Sat, 03 Nov 2007 19:03:00 -0400</pubDate>
</item>
<item>
 <title>La Fondation de Guy Laliberté utilise Drupal</title>
 <link>http://www.davidlesieur.com/la-fondation-de-guy-laliberte-utilise-drupal</link>
 <description>&lt;p&gt;Le fondateur du &lt;a href=&quot;http://www.cirquedusoleil.com&quot;&gt;Cirque du Soleil&lt;/a&gt;, Guy Laliberté, a récemment créé, avec plusieurs partenaires, une fondation visant à assurer l&#039;accès à l&#039;eau potable aux population des pays en développement&amp;nbsp;: la Fondation One Drop. &lt;/p&gt;
&lt;p&gt;Le site Web de la Fondation, &lt;a href=&quot;http://www.onedrop.org/fr&quot;&gt;www.onedrop.org&lt;/a&gt;, qui vient d&#039;être lancé, est basé sur &lt;a href=&quot;http://drupal.org&quot;&gt;Drupal&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;Voilà un cas de site intéressant à analyser... &lt;/p&gt;
&lt;p&gt;Sur le plan de l&#039;interface utilisateur, à mon point de vue la facture visuelle est très réussie. Également, la navigation animée (via Flash) est fort intéressante et nous donne envie de cliquer sur chacun des liens. Mais voilà, justement, la navigation nous captive peut-être au point de nous distraire des contenus? D&#039;ailleurs, le fait de devoir attendre la fin d&#039;une animation pour obtenir la page demandée suit le même mode de fonctionnement que la &amp;laquo;&amp;nbsp;&lt;em &gt;splash page&lt;/em&gt;&amp;nbsp;&amp;raquo;, cette affligeante pratique qui consiste à montrer une animation à l&#039;entrée d&#039;un site avant d&#039;amener le visiteur au contenu qu&#039;il désire consulter. &lt;/p&gt;
&lt;p&gt;Sur le plan technique, tout de même, les concepteurs du site semblent avoir bien compris que, pour assurer un référencement et une accessibilité adéquats, il ne fallait pas articuler un site Web autour de Flash, mais plutôt utiliser Flash (si on y tient &amp;mdash; voilà autre débat) pour enrichir l&#039;expérience du visiteur. Ici, l&#039;élément Flash est techniquement accessoire, puisque chaque contenu possède sa propre adresse (URL) et est présenté en HTML, assurant son accessibilité. Bon point.&lt;/p&gt;
&lt;p&gt;Malheureusement, un petit détail technique a été manqué puisque certains hyperliens appartiennent à l&#039;objet Flash, tandis que d&#039;autres sont statiquement codés dans le HTML pour lancer des instructions JavaScript (servant à lancer l&#039;animation Flash et à charger la page demandée après l&#039;écoulement du délai d&#039;animation). Les premiers sont absents si l&#039;extension Flash n&#039;est pas installée dans le navigateur, Les seconds ne fonctionnent pas si le navigateur est dépourvu de JavaScript. La plupart des robots sont incapables de parcourir ces types de liens. Si ce n&#039;était de ce petit détail, si le paradigme de &lt;a href=&quot;http://en.wikipedia.org/wiki/Unobtrusive_JavaScript&quot;&gt;JavaScript discret&lt;/a&gt; était strictement appliqué, le site pourrait être entièrement parcouru par n&#039;importe quel navigateur Web ou robot, qu&#039;il soit ou non doté de JavaScript et Flash. Drupal implémente et prône pourtant ces pratiques exemplaires, c&#039;est donc un peu dommage qu&#039;une autre voie ait été empruntée. À notre époque où toutes sortes de plate-formes hétéroclites sont utilisées par les internautes, favoriser l&#039;accessibilité est indispensable.&lt;/p&gt;
&lt;p&gt;Voilà pour la petite analyse de fin de soirée... J&#039;espère ne blesser personne par ces quelques observations. J&#039;y ai simplement trouvé un prétexte pour évoquer quelques enjeux en conception Web au sujet desquels je souhaitais bloguer depuis un bon moment déjà. Ma première impression du site fut pourtant extrêmement favorable et, avant de me mettre à écrire ces lignes, c&#039;est plutôt en tant que beau modèle de site Drupal que je comptais le présenter!&lt;/p&gt;
&lt;p&gt;Chose certaine, je souhaite à la Fondation le meilleur des succès dans l&#039;atteinte de ses nobles objectifs!&lt;/p&gt;
</description>
 <category domain="http://www.davidlesieur.com/design">Design</category>
 <category domain="http://www.davidlesieur.com/drupal">Drupal</category>
 <category domain="http://www.davidlesieur.com/flash">Flash</category>
 <category domain="http://www.davidlesieur.com/javascript">JavaScript</category>
 <pubDate>Wed, 31 Oct 2007 00:46:53 -0400</pubDate>
</item>
<item>
 <title>Dries Buytaert de passage à Montréal</title>
 <link>http://www.davidlesieur.com/dries-buytaert-de-passage-a-montreal</link>
 <description>&lt;p&gt;Les utilisateurs de Drupal ont sans doute déjà lu ce nom à maintes reprises: &lt;a href=&quot;http://buytaert.net/&quot;&gt;Dries Buytaert&lt;/a&gt;. Fondateur et leader du projet &lt;a href=&quot;http://drupal.org&quot;&gt;Drupal&lt;/a&gt;, ce formidable rassembleur et architecte logiciel visionnaire sera de passage à Montréal entre les 21 et 25 octobre prochains. Et curieusement, il ne sera pas ici pour parler de Drupal, mais de Java! En effet, il effectuera deux présentations concernant des techniques d&#039;évaluation et d&#039;optimisation de la performance de systèmes Java, dans le cadre de la conférence &lt;a href=&quot;http://www.oopsla.org/oopsla2007/&quot;&gt;ooPSLA 2007&lt;/a&gt; organisée par l&#039;&lt;a href=&quot;http://www.sigplan.org/&quot;&gt;ACM SIGPLAN&lt;/a&gt;. &lt;/p&gt;
&lt;p&gt;La communauté Drupal montréalaise aura peut-être l&#039;occasion de le rencontrer... À suivre!&lt;/p&gt;
</description>
 <category domain="http://www.davidlesieur.com/drupal">Drupal</category>
 <category domain="http://www.davidlesieur.com/java">Java</category>
 <category domain="http://www.davidlesieur.com/montreal">Montréal</category>
 <pubDate>Wed, 03 Oct 2007 16:31:45 -0400</pubDate>
</item>
<item>
 <title>Doit-on construire nos applications web avec Drupal?</title>
 <link>http://www.davidlesieur.com/doit-on-construire-nos-applications-web-avec-drupal</link>
 <description>&lt;p&gt;Ces deux derniers jours, je me suis fait poser deux questions fort intéressantes (et somme toute assez semblables) par deux dirigeants d&#039;entreprises ayant chacune des équipes de programmeurs, et qui évaluent la pertinence d&#039;utiliser &lt;a href=&quot;http://drupal.org&quot;&gt;Drupal&lt;/a&gt; dans certains projets. &lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;em&gt;&amp;laquo;D&#039;après toi, pour notre équipe très habituée (et très performante) à développer et ré-utiliser ses propres solutions de gestion de contenu, serait-il plus pertinent d&#039;aller vers Ruby on Rails ou Drupal?&amp;raquo;&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&amp;laquo;Pourquoi choisir Drupal plutôt que de bâtir directement les applications en PHP? Je comprends que Drupal fournit plein de fonctionnalités, mais PHP également, à travers de nombreuses bibliothèques.&amp;raquo;&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;D&#039;excellentes questions. Puisque je ne suis pas tout à fait certain d&#039;y avoir parfaitement bien répondu, je vais tenter d&#039;y réfléchir encore un peu ici. Je n&#039;ai pas d&#039;expérience pratique de Ruby on Rails, alors il est pour moi plus difficile d&#039;en parler, mais j&#039;ai tout de même l&#039;impression que les deux questions sont proches.&lt;/p&gt;
&lt;p&gt;Chose certaine, la réponse à ces questions dépend de la nature du projet à réaliser. Drupal est un logiciel, il fournit des fonctionnalités prêtes à l&#039;emploi pour des non-programmeurs et, par conséquent, des manières de faire, un certain flux de travail. On peut l&#039;enrichir et l&#039;altérer grandement, bâtir des applications qui n&#039;avaient jamais été envisagées par les concepteurs de Drupal, mais si l&#039;on cherche à construire une application possédant un flux de travail complètement différent, ou si l&#039;on effectue le design interactif de ladite application en ignorant la manière de faire de Drupal, on risque de connaître des difficultés. Dans ces deux situations, il pourrait être préférable de choisir un &lt;em&gt;framework&lt;/em&gt; plus générique, pourquoi pas &lt;a href=&quot;http://www.rubyonrails.org/&quot;&gt;Rails&lt;/a&gt; ou &lt;a href=&quot;http://www.symfony-project.com/&quot;&gt;Symfony&lt;/a&gt;?&lt;/p&gt;
&lt;p&gt;Là où l&#039;on tire le mieux profit de Drupal, c&#039;est lorsque ses fonctions (ou celles de modules tiers) répondent &lt;em&gt;out-of-the-box&lt;/em&gt; à une partie importante de nos besoins. Je suis tenté d&#039;évoquer la classique règle des 80-20: Si Drupal, clé en main, avec des &lt;a href=&quot;http://drupal.org/project/Modules&quot;&gt;modules tiers&lt;/a&gt;, répond à 80% des besoins du projet, on pourra passer 80% du temps total à régler les 20% de personnalisation nécessaires et on aura déjà gagné beaucoup de temps. (Non vérifié scientifiquement!) D&#039;autant plus que les premiers 80% de besoins comblés peuvent l&#039;être par un bon architecte ou intégrateur, permettant aux programmeurs de s&#039;attaquer à d&#039;autres tâches en parallèle.&lt;/p&gt;
&lt;h3&gt;Un exemple concret&lt;/h3&gt;
&lt;p&gt;Sous Drupal, tous les contenus possèdent une structure de base commune appelée &lt;em&gt;noeud&lt;/em&gt;. La plupart des fonctions de Drupal et de ses modules tiers font affaire avec cette structure commune. En d&#039;autres mots, les modules partagent un langage commun. Un aspect souvent grisant de Drupal, c&#039;est de découvrir ou d&#039;imaginer de nouvelles façons de faire converser différents modules à travers ce langage, le tout sans écrire une seule ligne de code. &lt;/p&gt;
&lt;p&gt;Prenons l&#039;exemple d&#039;un site événementiel où l&#039;on souhaiterait décrire la programmation et des conférenciers. Conférences et conférenciers seront des noeuds, respectivement gérés par les modules &lt;a href=&quot;http://drupal.org/project/event&quot;&gt;Event&lt;/a&gt; (qui associe une date à un noeud et peut présenter les noeuds dans des calendriers) et &lt;a href=&quot;http://drupal.org/project/cck&quot;&gt;CCK&lt;/a&gt; (qui permet de créer un noeud sur mesure, avec différents champs particuliers à la description d&#039;un conférencier: nom, affiliation, photo, biographie, publications récentes, hyperlien vers un site web, etc.). Ces deux types de données sont des noeuds, donc je peux facilement les lier via le module Node Reference (fournit avec CCK), qui permet de connecter des noeuds entre eux. J&#039;obtiens un lien de la fiche de conférence vers celle de son conférencier. &lt;/p&gt;
&lt;p&gt;Avec Drupal, tout noeud est automatiquement disponible via RSS, au grand plaisir de visiteurs branchés et de sites agrégateurs, qui seront notifiés dès la publication de nouvelles conférences sur le fil de presse. &lt;/p&gt;
&lt;p&gt;J&#039;active les commentaires sur les noeuds, ainsi les visiteurs peuvent commenter les conférences et leurs conférenciers... À travers le module &lt;a href=&quot;http://drupal.org/project/fivestar&quot;&gt;Fivestar&lt;/a&gt;, je leur permet de voter sur ces mêmes noeuds puis, avec le module &lt;a href=&quot;http://drupal.org/project/views&quot;&gt;Views&lt;/a&gt;, je présente dans la page d&#039;accueil le top cinq des conférenciers les mieux cotés par les visiteurs. Views est ce module &lt;a href=&quot;/sept-raisons-pour-utiliser-le-module-views&quot;&gt;que je mentionnais récemment&lt;/a&gt; et qui peut produire des listes de noeuds suivant une multitude de critères.&lt;/p&gt;
&lt;p&gt;J&#039;adjoins le module &lt;a href=&quot;http://drupal.org/project/signup&quot;&gt;Signup&lt;/a&gt; et les visiteurs peuvent désormais s&#039;inscrire aux conférences et même recevoir automatiquement un rappel par courriel la veille de l&#039;événement.&lt;/p&gt;
&lt;p&gt;Voilà, en quelques heures et sans programmation mon projet a atteint ses objectifs, principalement grâce au fait que toutes les composantes ont une langue commune: le &lt;em&gt;noeud&lt;/em&gt;. Le reste du temps sera consacré à la personnalisation, dont l&#039;intégration d&#039;un design graphique distinctif.&lt;/p&gt;
&lt;p&gt;Avantage supplémentaire: En n&#039;ayant pas écrit une seule ligne de code, je me trouve à bénéficier des entretiens du code et des mises à jour produits par la communauté Drupal. En d&#039;autre mots, je ne prend pas sur mes épaules l&#039;entretien complet du code, la communauté Drupal le fait! Et si par hasard j&#039;ai rencontré quelques bogues ou fonctionnalités manquantes en construisant le système, j&#039;ai vu à les régler puis à soumettre mes modifications aux équipes concernées sur drupal.org. Par cette petite contribution, je participe à solidifier mes modules préférés en vue de la conférence de l&#039;année prochaine! C&#039;est ainsi que tourne la roue du logiciel libre.&lt;/p&gt;
&lt;p&gt;Bien sûr, l&#039;exemple ci-dessus est un cas idéal: J&#039;ai trouvé un module existant pour répondre à chacun des besoins. N&#039;empêche que je prétend que Drupal, tel qu&#039;il se présente actuellement avec ses modules tiers, pourrait être un support avantageux pour 80% des sites de la planète (ce qui ne signifie pas que les autres plateformes soient nécessairement mauvaises!) &lt;/p&gt;
&lt;p&gt;Si on reprenait à présent le même exemple en PHP, au moyen de différentes bibliothèques... Je ne doute pas qu&#039;on trouve d&#039;excellentes bibliothèques PHP de calendriers, et même de plus jolis et plus complets que le module Event de Drupal. De même, on trouvera des outils pour manipuler facilement la base de données, gérer les sessions, l&#039;envoi de courriels, la validation et le formatage HTML pour les contenus soumis par les visiteurs, le formatage XML pour les fils RSS, etc. Mais pour que toutes ces composantes se comprennent entre elles, on devra continuellement passer les données à la moulinette, les transformer par programmation au format attendu par l&#039;interface de programmation de chacune. C&#039;est là toute la différence! &lt;/p&gt;
&lt;p&gt;Dans une application &quot;normale&quot;, on doit programmer ce genre de fil qui permettra à tous les morceaux de converser. On traduit les données dans la &quot;langue&quot; de chacun. Sous Drupal, la situation est inversée: Ce sont les modules qui se moulent aux structures de Drupal, au &quot;langage&quot; prôné par Drupal. Quand on écrit un nouveau module, on doit lui faire parler la &quot;langue&quot; Drupal. C&#039;est sans doute ce qui cause le plus de difficultés aux programmeurs qui se lancent sous Drupal, mais comme toute langue, ça s&#039;apprend. Et les bénéfices sont énormes. ;-)&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Correction: Titre de l&#039;article modifié le 2007-09-08.&lt;/em&gt;&lt;/p&gt;
</description>
 <category domain="http://www.davidlesieur.com/drupal">Drupal</category>
 <pubDate>Thu, 30 Aug 2007 19:04:15 -0400</pubDate>
</item>
<item>
 <title>La CBC utilise Drupal</title>
 <link>http://www.davidlesieur.com/la-cbc-utilise-drupal</link>
 <description>&lt;p&gt;La CBC a récemment lancé un site de partage de vidéos, &lt;a href=&quot;http://exposure.cbc.ca/&quot;&gt;Exposure&lt;/a&gt;. Un autre émule de Youtube donc, à la différence que des vidéos sélectionnés auront droit à quelques minutes de gloire à la télé. Le site est basé sur Drupal, et c&#039;est un genre de chose que Drupal fait admirablement bien. Même si le public visé est anglophone, le &lt;a href=&quot;http://exposure.cbc.ca/regions/quebec&quot;&gt;Québec y est représenté&lt;/a&gt;. On veut plus de &lt;a href=&quot;http://exposure.cbc.ca/search/node/kino%2Btype%3Avideonode&quot;&gt;soumissions&lt;/a&gt; de &lt;a href=&quot;http://www.kino00.com/&quot;&gt;Kino&lt;/a&gt;! :-)&lt;/p&gt;
</description>
 <category domain="http://www.davidlesieur.com/drupal">Drupal</category>
 <pubDate>Wed, 18 Jul 2007 09:34:10 -0400</pubDate>
</item>
<item>
 <title>Sept raisons pour utiliser le module Views</title>
 <link>http://www.davidlesieur.com/sept-raisons-pour-utiliser-le-module-views</link>
 <description>&lt;p&gt;&lt;a href=&quot;http://drupal.org/project/views&quot;&gt;Views&lt;/a&gt; est ce fameux module &lt;a href=&quot;http://drupal.org&quot;&gt;Drupal&lt;/a&gt; très flexible &amp;mdash; et également &lt;a href=&quot;http://knaddison.com/drupal/drupal-download-statistics-april-2007&quot;&gt;le plus populaire&lt;/a&gt; de tous &amp;mdash; qui permet de générer des listes de contenu (ou &lt;em &gt;vues&lt;/em&gt;) basées sur de multiples critères de sélection, de tri et de présentation, sans qu&#039;il soit nécessaire d&#039;écrire la moindre ligne de code.&lt;/p&gt;
&lt;p&gt;Un programmeur me demandait récemment pourquoi il devrait utiliser Views, puisqu&#039;il pouvait aisément écrire des requêtes SQL équivalentes. On pourrait dire que Views est à la programmation ce que l&#039;environnement graphique est à la ligne de commande et, chose certaine, plusieurs préfèrent la bonne vieille ligne de commande au &amp;laquo;convivial&amp;raquo; environnement graphique, non sans bonnes raisons! De la même manière, pour bien des programmeurs, il paraît lourd d&#039;utiliser une interface Web, celle de Views, pour remplacer ce qui ne serait qu&#039;une simple requête SQL.&lt;/p&gt;
&lt;p&gt;Il y a pourtant d&#039;excellentes raison d&#039;utiliser Views, dont les suivantes qui me viennent à l&#039;esprit:&lt;/p&gt;
&lt;ol &gt;
&lt;li &gt;Générer des rapports, y&#039;a-t-il une tâche plus somnifère pour un programmeur?&lt;/li&gt;
&lt;li &gt;Lors des discussions avec le client ou avec un concepteur, Views permet de créer des prototypes de rapports en direct, tout en restant dans l&#039;interface d&#039;administration et sans se taper l&#039;édition de fichiers source. Mine de rien, ceci peut même faire réaliser au client à quel point l&#039;outil qu&#039;on lui propose est puissant, tandis que ce processus même, hautement interactif et concret, pourra contribuer à amener des idées supplémentaires pour renforcer le projet.&lt;/li&gt;
&lt;li &gt;En offrant plus d&#039;autonomie aux clients, intégrateurs et concepteurs, on réduit leur sentiment de dépendre entièrement des programmeurs. Mettez-vous à leur place: La dépendance envers les programmeurs cause un sentiment désagréable tout à fait analogue à celui que ressent le nul en mécanique qui laisse sa voiture au mécanicien.&lt;/li&gt;
&lt;li &gt;En laissant des non-programmeurs construire les vues, on accorde plus de précieux temps aux programmeurs pour faire autre chose que de réinventer la roue.&lt;/li&gt;
&lt;li &gt;En éliminant du code maison, on facilite grandement l&#039;entretien à moyen et long terme du site. En effet, si la structure de la base de données change après une mise à jour de Drupal, Views est modifié en conséquence. Plutôt que de modifier des dizaines de requêtes SQL personnalisées, il suffit de mettre Views à jour pour que les rapports soient à nouveau fonctionnels.&lt;/li&gt;
&lt;li &gt;Views évite des risques d&#039;erreurs de programmation. Par exemple, Views gère le contrôle d&#039;accès afin que les contenus ne soient présentés qu&#039;aux utilisateurs autorisés, Dans le code, ces contrôles peuvent facilement être omis &amp;mdash; volontairement ou non.&lt;/li&gt;
&lt;li &gt;Il faut avouer que le code nécessaire pour accéder aux champs de types de contenus personnalisés (&lt;a href=&quot;http://drupal.org/project/cck&quot;&gt;CCK&lt;/a&gt;) est plutôt fastidieux. Si le système utilise ce genre de contenu, avec Views on évite une tâche particulièrement ennuyeuse.&lt;/li&gt;
&lt;/ol&gt;
</description>
 <category domain="http://www.davidlesieur.com/drupal">Drupal</category>
 <pubDate>Fri, 15 Jun 2007 23:45:40 -0400</pubDate>
</item>
</channel>
</rss>
