<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<atom:link href="http://www.jpfleury.net/rss.php?type=site&amp;langue=fr" rel="self" type="application/rss+xml" />
		<title>Dernières publications | Jean-Philippe Fleury</title>
		<link>http://www.jpfleury.net</link>
		<description>Dernières publications | Jean-Philippe Fleury</description>

		<item>
			<title>Utiliser des polices de caractères personnalisées pour un site web</title>
			<link>http://www.jpfleury.net/tutoriels/polices-personnalisees-web.php</link>
			<guid isPermaLink="false">2012-07-21 23:34;http://www.jpfleury.net/tutoriels/polices-personnalisees-web.php</guid>
			<description>
															&lt;!-- APERÇU: automatique --&gt;							
&lt;p&gt;Habituellement, le choix des polices de caractères pour un site web est limité aux &lt;a href=&quot;http://www.codestyle.org/css/font-family/sampler-CombinedResultsFull.shtml&quot;&gt;polices les plus répandues sur les ordinateurs des internautes&lt;/a&gt;. Toutefois, la propriété &lt;a href=&quot;https://developer.mozilla.org/fr/CSS/@font-face&quot;&gt;&lt;code&gt;@font-face&lt;/code&gt;&lt;/a&gt; de CSS 3 permet de préciser au navigateur une police accessible en ligne.&lt;/p&gt;

&lt;h2&gt;Format des polices en ligne&lt;/h2&gt;

&lt;p&gt;Firefox (v3.5+), Google Chrome (v4+), Opera (v10+) et Safari (v3.1+) reconnaissent le format &lt;code&gt;.ttf&lt;/code&gt; et &lt;code&gt;.otf&lt;/code&gt;. Pour sa part, Internet Explorer, jusqu'à la version 8, ne reconnaît que le format &lt;code&gt;.eot&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Il existe également un format créé spécifiquement pour le web: le &lt;a href=&quot;http://fr.wikipedia.org/wiki/WOFF&quot;&gt;format WOFF&lt;/a&gt;. Les fichiers étant compressés, ils sont plus légers et moins longs à télécharger. Ce format est reconnu par Firefox (version 3.6+), Google Chrome (version 6+) et Internet Explorer à partir de la version 9.&lt;/p&gt;

&lt;p&gt;Il est heureusement possible avec la propriété &lt;code&gt;@font-face&lt;/code&gt; de préciser plusieurs formats différents pour une même police.&lt;/p&gt;

&lt;h2&gt;Conversion entre différents formats&lt;/h2&gt;

&lt;p&gt;À partir du format &lt;code&gt;.ttf&lt;/code&gt;, il est possible d'effectuer une conversion vers le &lt;code&gt;.eot&lt;/code&gt; d'Internet Explorer et le format compressé &lt;code&gt;.woff&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;Conversion du &lt;code&gt;.ttf&lt;/code&gt; ou &lt;code&gt;.otf&lt;/code&gt; vers le &lt;code&gt;.eot&lt;/code&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Télécharger le script Python &lt;a href=&quot;http://people.mozilla.org/~jdaggett/webfonts/eotlitetool.py&quot;&gt;&lt;code&gt;eotlitetool&lt;/code&gt;&lt;/a&gt; (sous triple licence MPL/GPL/LGPL).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;En ligne de commande (testé sous GNU/Linux):
    ./eotlitetool.py fichier.ttf&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;em&gt;Note: voir le script &lt;a href=&quot;http://code.google.com/p/ttf2eot/&quot;&gt;ttf2eot&lt;/a&gt; (non testé).&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;Conversion du &lt;code&gt;.ttf&lt;/code&gt; ou &lt;code&gt;.otf&lt;/code&gt; vers le &lt;code&gt;.woff&lt;/code&gt;&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Télécharger l'outil &lt;a href=&quot;http://people.mozilla.org/~jkew/woff/&quot;&gt;&lt;code&gt;sfnt2woff&lt;/code&gt;&lt;/a&gt; (sous triple licence MPL/GPL/LGPL), écrit en C.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Pour générer un fichier exécutable pour GNU/Linux, ouvrir une console dans le dossier de l'outil et lancer la commande suivante:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;make sfnt2woff
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Note: si, lors de la compilation, l'erreur suivante survient:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;woff.c:43:18: fatal error: zlib.h: Aucun fichier ou dossier de ce type
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;installer le paquet &lt;code&gt;zlib1g-dev&lt;/code&gt; (testé sous Ubuntu 11.04):&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;sudo apt-get install zlib1g-dev
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Effectuer la conversion avec la commande suivante:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;./sfnt2woff fichier.ttf
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Mise en ligne&lt;/h2&gt;

&lt;p&gt;Le code ci-dessous montre ce que doit contenir la feuille de style CSS. À noter qu'il y a une déclaration pour le &lt;code&gt;.ttf&lt;/code&gt; et une autre pour le &lt;code&gt;.otf&lt;/code&gt;, et ce dans le but de montrer la syntaxe pour chacun. Seulement un ou l'autre est nécessaire.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;@font-face {
    font-family: 'MaPolice';
    src: url('ma-police.eot');
    src: local(Ma Police),
        url('ma-police.woff') format('woff'),
        url('ma-police.ttf') format('truetype'),
        url('ma-police.otf') format('opentype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'MaPolice';
    src: url('ma-police-bold.eot');
    src: local(Ma Police Blod),
        url('ma-police-bold.woff') format('woff'),
        url('ma-police-bold.ttf') format('truetype'),
        url('ma-police-bold.otf') format('opentype');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'MaPolice';
    src: url('ma-police-italic.eot');
    src: local(Ma Police Italic),
        url('ma-police-italic.woff') format('woff'),
        url('ma-police-italic.ttf') format('truetype'),
        url('ma-police-italic.otf') format('opentype');
    font-weight: normal;
    font-style: italic;
}

@font-face {
    font-family: 'MaPolice';
    src: url('ma-police-bold-italic.eot');
    src: local(Ma Police Bold Italic),
        url('ma-police-bold-italic.woff') format('woff'),
        url('ma-police-bold-italic.ttf') format('truetype'),
        url('ma-police-bold-italic.otf') format('opentype');
    font-weight: bold;
    font-style: italic;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Ensuite, &lt;code&gt;MaPolice&lt;/code&gt; peut être utilisé&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;body {
    font-family: MaPolice, Arial, Helvetica, &quot;Liberation Sans&quot;, FreeSans, sans-serif;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;h2&gt;Test avec la police Ubuntu&lt;/h2&gt;

&lt;p&gt;Voici un test effectué avec la &lt;a href=&quot;http://font.ubuntu.com/&quot;&gt;police Ubuntu&lt;/a&gt;, distribuée sous la &lt;a href=&quot;http://font.ubuntu.com/licence/&quot;&gt;licence Ubuntu Font&lt;/a&gt;. Les polices au format &lt;code&gt;.ttf&lt;/code&gt; ont été converties vers le &lt;code&gt;.eot&lt;/code&gt; et le &lt;code&gt;.woff&lt;/code&gt;. Un fichier &lt;code&gt;font-face.css&lt;/code&gt; se trouve à la racine du dossier. Il ne reste plus qu'à inclure ce fichier CSS dans votre page et à préciser les éléments à styler, par exemple:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;body {
    font-family: Ubuntu, sans-serif;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;a href=&quot;http://www.jpfleury.net/site/fichiers/ubuntu-font-family.zip&quot;&gt;Télécharger l'archive comprenant tous les fichiers de test.&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Liens&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://typographisme.net/post/Bonnes-pratiques-pour-les-d%C3%A9clarations-%40font-face&quot;&gt;Bonnes pratiques pour les déclarations @font-face&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://typographisme.net/post/Maitriser-le-d%C3%A9lais-d-affichage-des-fontes&quot;&gt;Maîtriser le délai d'affichage des fontes&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

																						
															</description>
			<pubDate>Sat, 21 Jul 2012 23:34:00 -0400</pubDate>
		</item>

		<item>
			<title>Clearlooks-Phénix: version GTK3 du thème Clearlooks</title>
			<link>http://www.jpfleury.net/logiciels/clearlooks-phenix.php</link>
			<guid isPermaLink="false">2013-04-26 00:55;http://www.jpfleury.net/logiciels/clearlooks-phenix.php</guid>
			<description>
															&lt;!-- APERÇU: automatique --&gt;							&lt;p lang=&quot;en&quot;&gt;&lt;strong&gt;&lt;a hreflang=&quot;en&quot; href=&quot;http://www.jpfleury.net/en/software/clearlooks-phenix.php&quot;&gt;Read this page in English.&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;À propos&lt;/h2&gt;

&lt;p&gt;Le projet Clearlooks-Phénix (anciennement nommé Clearwaita) a pour but de créer une version GTK3 de Clearlooks, thème par défaut de Gnome 2. Un style est également inclus pour GTK2, Unity et les gestionnaires de fenêtres Metacity, Openbox et Xfwm4.&lt;/p&gt;

&lt;p&gt;Voici quelques captures d'écran (s'il y a lieu, cliquer pour télécharger l'image au format original):&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://jpfleury.indefero.net/p/clearlooks-phenix/source/tree/master/doc/exemple1.png&quot;&gt;&lt;img src=&quot;http://jpfleury.indefero.net/p/clearlooks-phenix/source/tree/master/doc/exemple1.png&quot; alt=&quot;Capture d'écran du bureau sous Gnome 3 (mode fallback) avec le thème Clearlooks-Phénix&quot; width=&quot;658&quot; height=&quot;493&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://jpfleury.indefero.net/p/clearlooks-phenix/source/tree/master/doc/exemple2.png&quot; alt=&quot;Capture d'écran de gedit 3 avec le thème Clearlooks-Phénix&quot; width=&quot;659&quot; height=&quot;537&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://jpfleury.indefero.net/p/clearlooks-phenix/source/tree/master/doc/exemple3.png&quot;&gt;&lt;img src=&quot;http://jpfleury.indefero.net/p/clearlooks-phenix/source/tree/master/doc/exemple3.png&quot; alt=&quot;Capture d'écran de GTK+ Widget Factory avec le thème Clearlooks-Phénix&quot; width=&quot;658&quot; height=&quot;443&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Dépendances&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Dépendances de Clearlooks-Phénix 1: paquets &lt;code&gt;gtk2-engines&lt;/code&gt; (si des logiciels GTK2 sont utilisés) et &lt;code&gt;gnome-themes-standard&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Dépendances de Clearlooks-Phénix 2: paquets &lt;code&gt;gtk2-engines&lt;/code&gt; (si des logiciels GTK2 sont utilisés), &lt;code&gt;gnome-themes-standard&lt;/code&gt; et &lt;code&gt;gtk3-engines-unico&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Dépendances de Clearlooks-Phénix 3: paquet &lt;code&gt;gtk2-engines&lt;/code&gt; (si des logiciels GTK2 sont utilisés).&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Installation&lt;/h2&gt;

&lt;p&gt;Peu importe la méthode d'installation choisie, le thème devra être sélectionné une fois l'installation terminée:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Sous Gnome: avec le logiciel &lt;a href=&quot;https://live.gnome.org/GnomeTweakTool&quot;&gt;gnome-tweak-tool&lt;/a&gt;, en paramétrant &lt;em&gt;Theme &gt; Window theme&lt;/em&gt; et &lt;em&gt;Theme &gt; GTK+ theme&lt;/em&gt;, ou en console:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;dconf write /org/gnome/desktop/wm/preferences/theme \'Clearlooks-Phenix\'
dconf write /org/gnome/desktop/interface/gtk-theme \'Clearlooks-Phenix\'
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Sous Xfce: en allant dans &lt;em&gt;Paramètres &gt; Apparence &gt; Style&lt;/em&gt; du menu principal pour le thème GTK, et dans &lt;em&gt;Paramètres &gt; Gestionnaire de fenêtres &gt; Style&lt;/em&gt; pour le thème de Xfwm4, ou en console:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;xfconf-query -s Clearlooks-Phenix -c xfwm4 -p /general/theme
xfconf-query -s Clearlooks-Phenix -c xsettings -p /Net/ThemeName
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Manuellement&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;La méthode manuelle assure d'installer la dernière version du thème.&lt;/strong&gt; Voir plus bas pour d'autres méthodes d'installation.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Télécharger l'archive de la version correspondant à votre situation:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;pour GTK 3.0 et 3.2: &lt;a href=&quot;http://jpfleury.indefero.net/p/clearlooks-phenix/source/download/v1/&quot;&gt;télécharger Clearlooks-Phénix 1&lt;/a&gt;;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;pour GTK 3.4: &lt;a href=&quot;http://jpfleury.indefero.net/p/clearlooks-phenix/source/download/v2/&quot;&gt;télécharger Clearlooks-Phénix 2&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;pour GTK 3.6 et versions suivantes: &lt;a href=&quot;http://jpfleury.indefero.net/p/clearlooks-phenix/source/download/master/&quot;&gt;télécharger Clearlooks-Phénix 3&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pour connaître sa version de GTK:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Vous pouvez vérifier dans votre gestionnaire de paquets la version du paquet &lt;code&gt;libgtk-3-0&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Si vous utilisez Ubuntu, voici une correspondance entre ses versions et celles de GTK (pour une installation par défaut d'Ubuntu):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ubuntu 11.10: GTK 3.2&lt;/li&gt;
&lt;li&gt;Ubuntu 12.04: GTK 3.4&lt;/li&gt;
&lt;li&gt;Ubuntu 12.10: GTK 3.6&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Extraire l'archive.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Renommer le dossier extrait en &lt;code&gt;Clearlooks-Phenix&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Copier le dossier &lt;code&gt;Clearlooks-Phenix&lt;/code&gt; dans un des deux emplacements suivants:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;~/.themes/&lt;/code&gt; pour l'utilisateur courant;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;/usr/share/themes/&lt;/code&gt; pour tous les utilisateurs, incluant le style des logiciels lancés en tant que superutilisateur (par exemple Synaptic).&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Arch Linux&lt;/h3&gt;

&lt;p&gt;Un &lt;a href=&quot;https://aur.archlinux.org/packages.php?ID=60380&quot;&gt;paquet AUR&lt;/a&gt; est maintenu par eworm.&lt;/p&gt;

&lt;h3&gt;Debian&lt;/h3&gt;

&lt;p&gt;Le paquet &lt;a href=&quot;http://packages.debian.org/sid/clearlooks-phenix-theme&quot;&gt;&lt;code&gt;clearlooks-phenix-theme&lt;/code&gt;&lt;/a&gt; peut être installé sous Debian unstable.&lt;/p&gt;

&lt;h3&gt;Gentoo&lt;/h3&gt;

&lt;p&gt;Voir le paquet suivant:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;http://packages.gentoo.org/package/x11-themes/clearlooks-phenix
&lt;/code&gt;&lt;/pre&gt;

&lt;h3&gt;Ubuntu&lt;/h3&gt;

&lt;p&gt;Le paquet &lt;a href=&quot;http://packages.ubuntu.com/quantal/clearlooks-phenix-theme&quot;&gt;&lt;code&gt;clearlooks-phenix-theme&lt;/code&gt;&lt;/a&gt; peut être installé sous Ubuntu 12.10 ou toute version ultérieure. Cependant, le paquet n'est pas à jour, et le &lt;a href=&quot;https://launchpad.net/~andrewshadoura/+archive/clearlooks-phenix&quot;&gt;PPA d'Andrew Shadura&lt;/a&gt; peut être utilisé à la place.&lt;/p&gt;

&lt;h2&gt;Configuration&lt;/h2&gt;

&lt;h3&gt;Arrière-plan&lt;/h3&gt;

&lt;p&gt;L'arrière-plan utilisé dans la capture d'écran du bureau de Gnome est disponible dans le dossier &lt;code&gt;wallpapers&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;Icônes&lt;/h3&gt;

&lt;p&gt;Le thème d'icônes utilisé dans la même capture d'écran est Mist, installé avec le paquet &lt;a href=&quot;http://packages.ubuntu.com/oneiric/gnome-themes&quot;&gt;&lt;code&gt;gnome-themes&lt;/code&gt;&lt;/a&gt;, sous licence LGPL. Cependant, ce paquet n'est plus disponible pour les dernières versions d'Ubuntu. Voici une méthode simple pour installer Mist:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.jpfleury.net/site/fichiers/Mist.tar&quot;&gt;Télécharger l'archive du thème d'icônes Mist.&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Extraire l'archive.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Copier le dossier &lt;code&gt;Mist&lt;/code&gt; dans un des deux emplacements suivants:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;~/.icons/&lt;/code&gt; pour l'utilisateur courant;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;/usr/share/icons/&lt;/code&gt; pour tous les utilisateurs.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Ensuite, choisir le thème d'icônes Mist:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;sous Gnome: avec le logiciel gnome-tweak-tool en paramétrant &lt;em&gt;Theme &gt; Icon theme&lt;/em&gt;;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;sous Xfce: en allant dans &lt;em&gt;Paramètres &gt; Apparence &gt; Icônes&lt;/em&gt; du menu principal.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Aussi, des jeux de couleurs ont été réalisés par DDZ pour s'agencer avec Clearlooks-Phénix:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://opendesktop.org/content/show.php?content=151907&quot;&gt;Gnome-Colors-Clearlooks&lt;/a&gt;, jeu de couleurs pour le thème d'icônes Gnome-Colors;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://opendesktop.org/content/show.php?content=151908&quot;&gt;Humanities-Clearlooks&lt;/a&gt;, jeu de couleurs pour le thème d'icônes Humanities.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://opendesktop.org/content/show.php?content=151994&quot;&gt;KDE3-Clearlooks-Colors&lt;/a&gt;, jeu de couleurs pour KDE 3.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://opendesktop.org/content/show.php?content=151993&quot;&gt;KDE4-Clearlooks-Colors&lt;/a&gt;, jeu de couleurs pour KDE 4.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Bureau géré par Nautilus&lt;/h3&gt;

&lt;p&gt;Par défaut, le texte des icônes sur un bureau géré par Nautilus est noir. Pour afficher le texte en blanc, ouvrir le fichier &lt;code&gt;gtk-3.0/applications.css&lt;/code&gt; dans un éditeur de texte, trouver le code relatif à Nautilus:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;/************
 * Nautilus *
 ************/

/*
CODE
CSS
COMMENTÉ
*/
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;et le décommenter, ce qui donne:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;/************
 * Nautilus *
 ************/

CODE
CSS
DÉCOMMENTÉ
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Pour avoir une couleur personnalisée, modifier la couleur directement dans le fichier &lt;code&gt;gtk-3.0/applications.css&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;Variantes de couleurs&lt;/h3&gt;

&lt;p&gt;À partir de Clearlooks-Phénix 2, il est très facile de créer une variante de couleurs du thème GTK3. Seulement quelques déclarations de couleur doivent être modifiées dans le fichier &lt;code&gt;gtk-3.0/gtk-variant.css&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;En ce qui concerne la bordure des boutons, elle provient de fichiers au format SVG, qui peuvent être modifiés avec &lt;a href=&quot;http://inkscape.org/&quot;&gt;Inkscape&lt;/a&gt;. Pour plus de détails, voir la capture vidéo &lt;a href=&quot;http://www.youtube.com/watch?v=DWJHDS5hQsw&quot;&gt;Utiliser Inkscape pour modifier la couleur de la bordure d'un bouton&lt;/a&gt;. Un script Bash est également inclus avec Clearlooks-Phénix dans le but d'accélérer la modification des images SVG et PNG. Pour l'utiliser, copier le fichier &lt;code&gt;doc/images.sh.txt&lt;/code&gt;, le coller à la racine du thème en cours de développement (au même emplacement que le fichier &lt;code&gt;index.theme&lt;/code&gt;) et le renommer &lt;code&gt;images.sh&lt;/code&gt;. Ensuite, il ne reste plus qu'à modifier les variables dans la première section du fichier selon la variante de couleurs voulue et à lancer le script dans une console (&lt;code&gt;bash images.sh&lt;/code&gt;). Le paquet &lt;code&gt;imagemagick&lt;/code&gt; est requis.&lt;/p&gt;

&lt;h3&gt;Emplacement des boutons de fenêtres&lt;/h3&gt;

&lt;p&gt;Si après une installation ou une mise à jour d'Ubuntu, les boutons de fenêtres se trouvent à gauche, mais que vous les voulez à droite, lancez la commande suivante dans une console:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;gconftool-2 --set /apps/metacity/general/button_layout --type string &quot;:minimize,maximize,close&quot;
&lt;/code&gt;&lt;/pre&gt;

&lt;h2&gt;Développement&lt;/h2&gt;

&lt;p&gt;Dernière version: 3.0.15 (2013-02-06)&lt;/p&gt;

&lt;p&gt;Le logiciel Git est utilisé pour la gestion de versions. &lt;a href=&quot;http://jpfleury.indefero.net/p/clearlooks-phenix/source/tree/master/&quot;&gt;Le dépôt peut être consulté en ligne ou récupéré en local.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Clearlooks-Phénix dispose également d'un &lt;a href=&quot;http://jpfleury.indefero.net/p/clearlooks-phenix/issues/&quot;&gt;système de suivi&lt;/a&gt;, sur lequel les rapports de bogues et les suggestions peuvent être soumis. Des commentaires peuvent également être postés sur la page de &lt;a href=&quot;http://gnome-look.org/content/show.php?content=145210&quot;&gt;Clearlooks-Phénix sur GNOME-Look.org&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;Licence&lt;/h2&gt;

&lt;p&gt;Auteur: Jean-Philippe Fleury &lt;a href=&quot;&amp;#109;&amp;#97;&amp;#x69;&amp;#x6c;&amp;#116;&amp;#111;&amp;#x3a;&amp;#x63;&amp;#111;&amp;#110;&amp;#x74;&amp;#x61;&amp;#99;&amp;#116;&amp;#x40;&amp;#x6a;p&amp;#102;&amp;#x6c;&amp;#x65;u&amp;#114;&amp;#121;&amp;#x2e;&amp;#x6e;&amp;#101;&amp;#116;&quot;&gt;&amp;#x63;&amp;#111;&amp;#110;&amp;#x74;&amp;#x61;&amp;#99;&amp;#116;&amp;#x40;&amp;#x6a;p&amp;#102;&amp;#x6c;&amp;#x65;u&amp;#114;&amp;#121;&amp;#x2e;&amp;#x6e;&amp;#101;&amp;#116;&lt;/a&gt;&lt;br /&gt;
Copyright © Jean-Philippe Fleury, 2011-2012.&lt;/p&gt;

&lt;p&gt;Ce programme est un logiciel libre; vous pouvez le redistribuer ou le
modifier suivant les termes de la GNU General Public License telle que
publiée par la Free Software Foundation: soit la version 3 de cette
licence, soit (à votre gré) toute version ultérieure.&lt;/p&gt;

&lt;p&gt;Ce programme est distribué dans l'espoir qu'il vous sera utile, mais SANS
AUCUNE GARANTIE: sans même la garantie implicite de COMMERCIALISABILITÉ
ni d'ADÉQUATION À UN OBJECTIF PARTICULIER. Consultez la Licence publique
générale GNU pour plus de détails.&lt;/p&gt;

&lt;p&gt;Vous devriez avoir reçu une copie de la Licence publique générale GNU avec
ce programme; si ce n'est pas le cas, consultez
&lt;a href=&quot;http://www.gnu.org/licenses/&quot;&gt;http://www.gnu.org/licenses/&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;Matériel tiers&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Thème Adwaita, provenant du paquet &lt;a href=&quot;http://packages.ubuntu.com/oneiric/gnome-themes-standard&quot;&gt;&lt;code&gt;gnome-themes-standard&lt;/code&gt;&lt;/a&gt;, sous licence LGPL.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Fichier &lt;code&gt;gtk-2.0/gtkrc&lt;/code&gt;, provenant du paquet &lt;a href=&quot;http://packages.ubuntu.com/oneiric/gtk2-engines&quot;&gt;&lt;code&gt;gtk2-engines&lt;/code&gt;&lt;/a&gt;, sous licence LGPL.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Fichier &lt;code&gt;metacity-1/metacity-theme-1.xml&lt;/code&gt;, provenant du paquet &lt;a href=&quot;http://packages.ubuntu.com/oneiric/gnome-themes-selected&quot;&gt;&lt;code&gt;gnome-themes-selected&lt;/code&gt;&lt;/a&gt;, sous licence LGPL.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Fichier &lt;code&gt;openbox-3/themerc&lt;/code&gt;, provenant du paquet &lt;a href=&quot;http://packages.ubuntu.com/oneiric/openbox&quot;&gt;&lt;code&gt;openbox&lt;/code&gt;&lt;/a&gt;, sous licence GPL.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Thème &lt;a href=&quot;http://xfce-look.org/content/show.php/Clearlooks+for+XFWM4?content=137055&quot;&gt;Clearlooks XFWM4&lt;/a&gt;, sous licence GPL.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Fichiers dans &lt;code&gt;wallpapers&lt;/code&gt;, basés sur une &lt;a href=&quot;http://gnome-look.org/content/show.php?content=22210&quot;&gt;image de volvoguy&lt;/a&gt;, sous licence GPL.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
																						
															</description>
			<pubDate>Fri, 26 Apr 2013 00:55:00 -0400</pubDate>
		</item>

		<item>
			<title>Gestion de projet avec Git</title>
			<link>http://www.jpfleury.net/tutoriels/gestion-projet-git.php</link>
			<guid isPermaLink="false">2012-07-21 23:34;http://www.jpfleury.net/tutoriels/gestion-projet-git.php</guid>
			<description>
															&lt;!-- APERÇU: automatique --&gt;							
&lt;p&gt;Ce qui suit illustre une méthode de travail avec &lt;a href=&quot;http://git-scm.com/&quot;&gt;Git&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;Étapes&lt;/h2&gt;

&lt;h3&gt;Création du projet&lt;/h3&gt;

&lt;p&gt;Note: l'emplacement distant utilisé en exemple pour héberger le projet est sur &lt;a href=&quot;http://baregit.com/&quot;&gt;Baregit&lt;/a&gt;.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;cd /tmp
mkdir projet-demo
cd projet-demo
git init
touch version.txt
git add .
git commit -m &quot;Début de versionnage de projet-demo&quot;
git remote add origin git@baregit.com:utilisateur/projet-demo.git
git push origin master
&lt;/code&gt;&lt;/pre&gt;

&lt;h3&gt;Création d'une branche de développement&lt;/h3&gt;

&lt;p&gt;La branche de développement est utilisée pour préparer la prochaine version. C'est donc sur cette branche que le travail s'effectue. La branche &lt;code&gt;master&lt;/code&gt; contient toujours le code de la dernière version stable publiée.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;git checkout -b dev
touch fichier1
git add .
git commit -m &quot;Message fichier1&quot;
git push origin dev
&lt;/code&gt;&lt;/pre&gt;

&lt;h3&gt;Création d'une branche topique&lt;/h3&gt;

&lt;p&gt;Une branche topique, créée à partir de la branche &lt;code&gt;dev&lt;/code&gt;, est utile pour travailler sur une nouvelle fonctionnalité, qui pourra être ajoutée plus tard dans la branche de développement.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;git checkout -b fonctionnalite1
touch fonctionnalite1-fichier1
git add .
git commit -m &quot;Message fonctionnalite1-fichier1&quot;
touch fonctionnalite1-fichier2
git add .
git commit -m &quot;Message fonctionnalite1-fichier2&quot;
&lt;/code&gt;&lt;/pre&gt;

&lt;h3&gt;Continuation du travail sur la branche de développement&lt;/h3&gt;

&lt;pre&gt;&lt;code&gt;git checkout dev
touch fichier2
git add .

# On met de côté les modifications en cours pour travailler sur autre chose.
git stash
touch fichier3
git add .
git commit -m &quot;Message fichier3&quot;

# On retourne travailler sur les changements précédemment mis de côté.
git stash pop
git status
git add .
git commit -m &quot;Message fichier2&quot;
git push origin dev
&lt;/code&gt;&lt;/pre&gt;

&lt;h3&gt;Travail sur le même projet à partir d'un autre emplacement&lt;/h3&gt;

&lt;pre&gt;&lt;code&gt;git clone git@baregit.com:utilisateur/projet-demo.git ../autre-emplacement-projet-demo
cd ../autre-emplacement-projet-demo
git checkout dev
touch fichier4
git add .
git commit -m &quot;Message fichier4&quot;
git push origin dev
&lt;/code&gt;&lt;/pre&gt;

&lt;h3&gt;Retour au premier emplacement&lt;/h3&gt;

&lt;p&gt;Pour mettre à jour une branche locale, il est souvent conseillé d'utiliser &lt;code&gt;git pull&lt;/code&gt;. Cette commande effectue en réalité deux actions:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;git fetch&lt;/code&gt;, pour récupérer les modifications présentes à l'emplacement distant;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;git merge&lt;/code&gt;, pour intégrer ces modifications dans la branche locale courante.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Si la branche locale ne contient pas de modifications inconnues de l'emplacement distant, &lt;code&gt;git merge&lt;/code&gt; va simplement déplacer la référence &lt;code&gt;HEAD&lt;/code&gt; vers la dernière révision. Exemple (les graphiques ont été générés avec &lt;a href=&quot;http://git.gnome.org/browse/gitg/&quot;&gt;gitg&lt;/a&gt;):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Avant &lt;code&gt;git merge&lt;/code&gt;:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://www.jpfleury.net/site/fichiers/images/modele-developpement-git/avant-git-merge-ff.png&quot; alt=&quot;Historique du projet avant la fusion des modifications présentes à l'emplacement distant&quot; width=&quot;248&quot; height=&quot;99&quot; /&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Après &lt;code&gt;git merge&lt;/code&gt;:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://www.jpfleury.net/site/fichiers/images/modele-developpement-git/apres-git-merge-ff.png&quot; alt=&quot;La référence «HEAD» a été déplacée vers la dernière révision&quot; width=&quot;303&quot; height=&quot;99&quot; /&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Dans le cas contraire, les deux branches divergent et une nouvelle révision va être créée pour contenir les modifications de la fusion. Cette révision va bien sûr apparaître dans l'historique. Exemple:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Avant &lt;code&gt;git merge&lt;/code&gt;:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://www.jpfleury.net/site/fichiers/images/modele-developpement-git/avant-git-merge-no-ff.png&quot; alt=&quot;Historique du projet avant la fusion des modifications présentes à l'emplacement distant&quot; width=&quot;264&quot; height=&quot;123&quot; /&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Après &lt;code&gt;git merge&lt;/code&gt;:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://www.jpfleury.net/site/fichiers/images/modele-developpement-git/apres-git-merge-no-ff.png&quot; alt=&quot;La fusion des modifications a été effectuée et une nouvelle révision a été créée&quot; width=&quot;416&quot; height=&quot;147&quot; /&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Avec le temps, l'historique va en être considérablement alourdi. Pour cette raison, j'utilise &lt;code&gt;git rebase&lt;/code&gt;, qui permet de réappliquer les modifications locales à la suite de la dernière révision de la branche distante. L'historique demeure donc linéaire. Exemple:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Avant &lt;code&gt;git rebase&lt;/code&gt;:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://www.jpfleury.net/site/fichiers/images/modele-developpement-git/avant-git-merge-no-ff.png&quot; alt=&quot;Historique du projet avant la mise à jour avec l'emplacement distant&quot; width=&quot;264&quot; height=&quot;123&quot; /&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Après &lt;code&gt;git rebase&lt;/code&gt;:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://www.jpfleury.net/site/fichiers/images/modele-developpement-git/apres-git-rebase.png&quot; alt=&quot;La branche locale a été mise à jour avec l'emplacement distant à l'aide d'une recombinaison des révisions&quot; width=&quot;248&quot; height=&quot;123&quot; /&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Voir l'article &lt;a href=&quot;http://notes.envato.com/developers/rebasing-merge-commits-in-git/&quot;&gt;Rebasing Merge Commits in Git&lt;/a&gt; concernant l'importance d'utiliser le paramètre &lt;code&gt;-p&lt;/code&gt; (&lt;code&gt;--preserve-merges&lt;/code&gt;) avec &lt;code&gt;git rebase&lt;/code&gt;.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;cd ../projet-demo
git checkout dev
git fetch origin
git rebase -p origin/dev
touch fichier5
git add .
git commit -m &quot;Message fichier5&quot;
echo &quot;1.0&quot; &amp;gt; version.txt
git add .
git commit -m &quot;Mise à jour du numéro de version (1.0)&quot;
git push origin dev
&lt;/code&gt;&lt;/pre&gt;

&lt;h3&gt;Publication de la première version&lt;/h3&gt;

&lt;p&gt;Lorsque la branche de développement reflète l'état désiré pour la prochaine version du logiciel, elle est fusionnée dans la branche &lt;code&gt;master&lt;/code&gt;, et une étiquette est créée avec le numéro de version.&lt;/p&gt;

&lt;p&gt;Le paramètre &lt;code&gt;--no-ff&lt;/code&gt; est utilisé lors de la fusion pour s'assurer que les révisions de la branche de développement soient regroupées dans l'historique et facilement distingables des autres révisions.&lt;/p&gt;

&lt;p&gt;Aussi, le paramètre &lt;code&gt;-s&lt;/code&gt; utilisé avec &lt;code&gt;git tag&lt;/code&gt; permet de créer une étiquette signée. Utiliser le paramètre &lt;code&gt;-a&lt;/code&gt; pour créer un objet &lt;code&gt;tag&lt;/code&gt; sans le signer.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;git checkout master
git fetch origin
git rebase -p origin/master
git merge --no-ff dev
git tag -s 1.0 -m &quot;Message 1.0&quot;
git push --tags origin master
&lt;/code&gt;&lt;/pre&gt;

&lt;h3&gt;Développement de la deuxième version&lt;/h3&gt;

&lt;pre&gt;&lt;code&gt;git checkout dev
touch fichier6
git add .
git commit -m &quot;Message fichier6&quot;
git push origin dev
&lt;/code&gt;&lt;/pre&gt;

&lt;h3&gt;Continuation du développement de la fonctionnalité 1&lt;/h3&gt;

&lt;p&gt;Noter l'utilisation de &lt;code&gt;git rebase&lt;/code&gt; pour ajouter dans la branche topique les modifications de la branche de développement.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;git checkout fonctionnalite1
git rebase -p dev
touch fonctionnalite1-fichier3
git add .
git commit -m &quot;Message fonctionnalite1-fichier3&quot;
&lt;/code&gt;&lt;/pre&gt;

&lt;h3&gt;Intégration de la fonctionnalité 1&lt;/h3&gt;

&lt;p&gt;Lors qu'une foncitonnalité est terminée, la branche topique correspondante est fusionnée à la branche de développement, et est ensuite supprimée. Noter l'utilisation du paramètre &lt;code&gt;--no-ff&lt;/code&gt; lors de la fusion.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;git checkout dev
git fetch origin
git rebase -p origin/dev
git checkout fonctionnalite1
git rebase -p dev
git checkout dev
git merge --no-ff fonctionnalite1
git branch -d fonctionnalite1
&lt;/code&gt;&lt;/pre&gt;

&lt;h3&gt;Continuation et fin du développement de la deuxième version&lt;/h3&gt;

&lt;pre&gt;&lt;code&gt;touch fichier7
git add .
git commit -m &quot;Message fichier7&quot;
echo &quot;2.0&quot; &amp;gt; version.txt
git add .
git commit -m &quot;Mise à jour du numéro de version (2.0)&quot;
git push origin dev
&lt;/code&gt;&lt;/pre&gt;

&lt;h3&gt;Publication de la deuxième version&lt;/h3&gt;

&lt;pre&gt;&lt;code&gt;git checkout master
git fetch origin
git rebase -p origin/master
git merge --no-ff dev
git tag -s 2.0 -m &quot;Message 2.0&quot;
git push --tags origin master
&lt;/code&gt;&lt;/pre&gt;

&lt;h2&gt;Historique&lt;/h2&gt;

&lt;p&gt;L'historique résultant de ce projet de démonstration est le suivant:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://www.jpfleury.net/site/fichiers/images/modele-developpement-git/projet-demo-gitg.png&quot; alt=&quot;&quot; width=&quot;436&quot; height=&quot;387&quot; /&gt;&lt;/p&gt;

&lt;h2&gt;Alias&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Notes:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Pour utiliser un alias, passer son nom comme argument de git. Par exemple, un alias créé comme ceci:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;git config --global alias.NOM 'CODE DE L'ALIAS'
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;pourra être utilisé ainsi:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;git NOM
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Pour que l'alias soit actif seulement pour le projet courant, enlever le paramètre &lt;code&gt;--global&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;p&gt;Voici des suggestions d'alias:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Afficher le nom de la branche courante:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;git config --global alias.b '!branche=$(git symbolic-ref HEAD 2&amp;gt;&amp;amp;-) &amp;amp;&amp;amp; echo &quot;${branche#refs/heads/}&quot;'
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Mise à jour de la branche locale courante avec les dernières révisions distantes:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;git config --global alias.fr '!git fetch origin &amp;amp;&amp;amp; git rebase -p origin/$(git b)'
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Mettre à jour la branche distante avec les dernières révisions locales:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;git config --global alias.po '!git push origin $(git b)'
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Mettre à jour la branche distante avec les dernières révisions locales (étiquettes comprises):&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;git config --global alias.pto '!git push --tags origin $(git b)'
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Fusionner la branche topique courante dans une autre précisée en argument:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;git config --global alias.fbt '!fbt() { \
if test -z &quot;$1&quot;; then echo &quot;Veuillez préciser la branche dans laquelle se placer avant de fusionner la branche topique courante ($(git b)).&quot;; exit 1; fi &amp;amp;&amp;amp; \
git checkout &quot;$1&quot; &amp;amp;&amp;amp; \
git fr &amp;amp;&amp;amp; \
git checkout @{-2} &amp;amp;&amp;amp; \
git rebase -p &quot;$1&quot; &amp;amp;&amp;amp; \
git checkout &quot;$1&quot; &amp;amp;&amp;amp; \
git merge --no-ff @{-1}; \
}; fbt'
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Publier une nouvelle version en fusionnant la branche &lt;code&gt;dev&lt;/code&gt; dans la branche &lt;code&gt;master&lt;/code&gt; (à ajuster selon sa méthode de travail ou celle du projet courant):&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;git config --global alias.v '!v() { \
if test -z &quot;$1&quot;; then echo &quot;Veuillez préciser le numéro ou le nom de la nouvelle version.&quot;; exit 1; fi &amp;amp;&amp;amp; \
version=$1 &amp;amp;&amp;amp; \
hui=$(date +%Y-%m-%d) &amp;amp;&amp;amp; \
echo &quot;$version ($hui)&quot; &amp;gt; doc/version.txt &amp;amp;&amp;amp; \
git add doc/version.txt &amp;amp;&amp;amp; \
if test -f doc/LISEZ-MOI.mkd; then perl -0777 -pi -e &quot;s/^(## Développement\n\nDernière version: )[^\n]+/\${1}$version ($hui)/m&quot; doc/LISEZ-MOI.mkd &amp;amp;&amp;amp; \
git add doc/LISEZ-MOI.mkd; fi &amp;amp;&amp;amp; \
if test -f doc/README.mkd; then perl -0777 -pi -e &quot;s/^(## Development\n\nLast version: )[^\n]+/\${1}$version ($hui)/m&quot; doc/README.mkd &amp;amp;&amp;amp; \
git add doc/README.mkd; fi &amp;amp;&amp;amp; \
git commit -m &quot;Mise à jour du numéro de version ($version)&quot; &amp;amp;&amp;amp; \
git push origin dev &amp;amp;&amp;amp; \
git checkout master &amp;amp;&amp;amp; \
git fr &amp;amp;&amp;amp; \
git merge --no-ff dev &amp;amp;&amp;amp; \
git tag -s &quot;$version&quot; -m &quot;Version $version&quot; &amp;amp;&amp;amp; \
git pto &amp;amp;&amp;amp; \
git checkout dev &amp;amp;&amp;amp; \
versionDev=$version+ &amp;amp;&amp;amp; \
echo &quot;$versionDev&quot; &amp;gt; doc/version.txt &amp;amp;&amp;amp; \
git add doc/version.txt &amp;amp;&amp;amp; \
git commit -m &quot;Passage à un numéro de version de développement ($versionDev)&quot; &amp;amp;&amp;amp; \
git po; \
}; v'
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Publier une nouvelle version en fusionnant une branche topique de développement (par exemple &lt;code&gt;dev-v2&lt;/code&gt;) dans la branche principale correspondante (par exemple &lt;code&gt;v2&lt;/code&gt;) [à ajuster selon sa méthode de travail ou celle du projet courant]:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;git config --global alias.vbt '!vbt() { \
if test -z &quot;$1&quot;; then echo &quot;Veuillez préciser le numéro ou le nom de la nouvelle version.&quot;; exit 1; fi &amp;amp;&amp;amp; \
if test -z &quot;$2&quot;; then echo &quot;Veuillez préciser la branche dans laquelle se placer avant de fusionner la branche topique courante ($(git b)).&quot;; exit 1; fi &amp;amp;&amp;amp; \
version=$1 &amp;amp;&amp;amp; \
bt=$2 &amp;amp;&amp;amp; \
btdev=$(git b) &amp;amp;&amp;amp; \
hui=$(date +%Y-%m-%d) &amp;amp;&amp;amp; \
echo &quot;$version ($hui)&quot; &amp;gt; doc/version.txt &amp;amp;&amp;amp; \
git add doc/version.txt &amp;amp;&amp;amp; \
if test -f doc/LISEZ-MOI.mkd; then perl -0777 -pi -e &quot;s/^(## Développement\n\nDernière version: )[^\n]+/\${1}$version ($hui)/m&quot; doc/LISEZ-MOI.mkd &amp;amp;&amp;amp; \
git add doc/LISEZ-MOI.mkd; fi &amp;amp;&amp;amp; \
if test -f doc/README.mkd; then perl -0777 -pi -e &quot;s/^(## Development\n\nLast version: )[^\n]+/\${1}$version ($hui)/m&quot; doc/README.mkd &amp;amp;&amp;amp; \
git add doc/README.mkd; fi &amp;amp;&amp;amp; \
git commit -m &quot;Mise à jour du numéro de version ($version)&quot; &amp;amp;&amp;amp; \
git push origin &quot;$btdev&quot; &amp;amp;&amp;amp; \
git checkout &quot;$bt&quot; &amp;amp;&amp;amp; \
git fr &amp;amp;&amp;amp; \
git merge --no-ff &quot;$btdev&quot; &amp;amp;&amp;amp; \
git tag -s &quot;$version&quot; -m &quot;Version $version&quot; &amp;amp;&amp;amp; \
git pto &amp;amp;&amp;amp; \
git checkout &quot;$btdev&quot; &amp;amp;&amp;amp; \
versionDev=$version+ &amp;amp;&amp;amp; \
echo &quot;$versionDev&quot; &amp;gt; doc/version.txt &amp;amp;&amp;amp; \
git add doc/version.txt &amp;amp;&amp;amp; \
git commit -m &quot;Passage à un numéro de version de développement ($versionDev)&quot; &amp;amp;&amp;amp; \
git po; \
}; vbt'
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ul&gt;

																						
															</description>
			<pubDate>Sat, 21 Jul 2012 23:34:00 -0400</pubDate>
		</item>

		<item>
			<title>Corbeille-SpaceFM: corbeille pour SpaceFM conforme à la spécification de freedesktop.org</title>
			<link>http://www.jpfleury.net/logiciels/corbeille-spacefm.php</link>
			<guid isPermaLink="false">2012-07-21 23:34;http://www.jpfleury.net/logiciels/corbeille-spacefm.php</guid>
			<description>
															&lt;!-- APERÇU: automatique --&gt;							&lt;p lang=&quot;en&quot;&gt;&lt;strong&gt;&lt;a hreflang=&quot;en&quot; href=&quot;http://www.jpfleury.net/en/software/corbeille-spacefm.php&quot;&gt;Read this page in English.&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;Aperçu&lt;/h2&gt;

&lt;p&gt;Corbeille-SpaceFM est une extension ajoutant le support de la corbeille au gestionnaire de fichiers &lt;a href=&quot;http://ignorantguru.github.com/spacefm/&quot;&gt;SpaceFM&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Corbeille-SpaceFM est conforme à la &lt;a href=&quot;http://standards.freedesktop.org/trash-spec/trashspec-latest.html&quot;&gt;spécification de freedesktop.org relative à la corbeille&lt;/a&gt;, et est donc interopérable avec d'autres implémentations conformes, qui pourront gérer les fichiers mis à la corbeille par Corbeille-SpaceFM, et vice versa. Des essais ont été effectués avec Thunar, Nautilus et Dolphin.&lt;/p&gt;

&lt;p&gt;Corbeille-SpaceFM gère sans problème les noms de fichiers formés de n'importe quel caractère valide, par exemple des retours à la ligne.&lt;/p&gt;

&lt;p&gt;Aussi, une attention particulière a été portée à la vitesse d'exécution. Corbeille-SpaceFM supporte les processeurs multicoeurs et peut manipuler des centaines ou des milliers de fichiers sans souffrir d'un ralentissement trop important. Voir la section &lt;em&gt;Précisions&lt;/em&gt; ci-dessous pour des tests de performance.&lt;/p&gt;

&lt;h2&gt;Dépendances&lt;/h2&gt;

&lt;p&gt;Un effort a été déployé pour requérir un minimum de dépendances. Corbeille-SpaceFM est écrit en Bash et fait seulement appel à quelques commandes externes provenant toutes du paquet &lt;code&gt;coreutils&lt;/code&gt; (&lt;code&gt;ls&lt;/code&gt;, &lt;code&gt;mv&lt;/code&gt;, &lt;code&gt;rm&lt;/code&gt;...); il devrait donc fonctionner pour tout le monde sans installation supplémentaire.&lt;/p&gt;

&lt;h2&gt;Installation&lt;/h2&gt;

&lt;p&gt;La marche à suivre pour installer une extension dans SpaceFM est décrite dans le manuel du logiciel. En gros, il y a deux possibilités:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://ignorantguru.github.com/spacefm/spacefm-manual-en.html#plugins-install&quot;&gt;Installer une extension.&lt;/a&gt; Les fichiers de l'extension sont protégés contre une modification inopportune puisqu'ils appartiennent au superutilisateur (le mot de passe du superutilisateur est nécessaire lors de l'installation), et l'extension est disponible pour tous les utilisateurs dans le menu &lt;em&gt;Plugins&lt;/em&gt; de SpaceFM.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://ignorantguru.github.com/spacefm/spacefm-manual-en.html#plugins-copy&quot;&gt;Copier une extension.&lt;/a&gt;. Une fois copiée, l'extension peut être collée dans n'importe quel menu (aucun mot de passe superutilisateur requis).&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pour chacune des options, il est possible de télécharger soi-même l'extension pour ensuite la sélectionner sur son disque dur, ou bien de fournir une URL et laisser SpaceFM gérer le téléchargement. &lt;a href=&quot;http://jpfleury.indefero.net/p/corbeille-spacefm/downloads/&quot;&gt;Consulter la liste des fichiers offerts en téléchargement.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Alternativement, une archive peut être construite à partir du code source:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://jpfleury.indefero.net/p/corbeille-spacefm/source/download/master/&quot;&gt;Télécharger le code source.&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Extraire l'archive.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Ouvrir une console dans le dossier extrait.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Dans la console, lancer la commande suivante:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;./script.sh archive $LANGUE
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Les valeurs possibles pour &lt;code&gt;$LANGUE&lt;/code&gt; sont &lt;code&gt;en&lt;/code&gt; et &lt;code&gt;fr&lt;/code&gt;. Une archive sera créée à la racine du dossier. Elle peut être directement utilisée par SpaceFM pour procéder à l'installation.&lt;/p&gt;

&lt;h2&gt;Désinstallation&lt;/h2&gt;

&lt;p&gt;Voir les instructions pour &lt;a href=&quot;http://ignorantguru.github.com/spacefm/spacefm-manual-en.html#plugins-uninstall&quot;&gt;désinstaller une extension&lt;/a&gt; dans le manuel de SpaceFM.&lt;/p&gt;

&lt;h2&gt;Utilisation&lt;/h2&gt;

&lt;p&gt;Corbeille-SpaceFM correspond à un ensemble de 9 commandes (disponibles dans le menu &lt;em&gt;Plugins | Corbeille&lt;/em&gt; de SpaceFM si l'installation a été effectuée avec les droits d'administration). Prendre note qu'&lt;strong&gt;il n'y a pas de fenêtre de confirmation&lt;/strong&gt; après qu'une commande est sélectionnée.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Mettre à la corbeille&lt;/em&gt;: au moins un fichier en dehors de la corbeille doit être sélectionné pour que cette commande soit active. Les fichiers sélectionnés seront déplacés vers la corbeille.&lt;/p&gt;

&lt;p&gt;Suggestion: il peut être pratique de créer le raccourci clavier &lt;em&gt;Maj+Suppr&lt;/em&gt; pour cette commande.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Restaurer&lt;/em&gt;: au moins un fichier dans la corbeille doit être sélectionné pour que cette commande soit active. Les fichiers sélectionnés seront déplacés vers leur emplacement original. Si un fichier existe déjà à cet emplacement, aucun déplacement n'aura lieu et un message d'erreur sera affiché.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Supprimer définitivement&lt;/em&gt;: au moins un fichier dans la corbeille doit être sélectionné pour que cette commande soit active. Les fichiers sélectionnés seront supprimés définitivement, donc ils ne pourront plus être restaurés à partir de la corbeille.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Aller à la corbeille&lt;/em&gt;: cette commande est toujours active. Le dossier de la corbeille sera ouvert dans un nouvel onglet dans la fenêtre actuelle de SpaceFM. Aussi, si des corbeilles racine sont trouvées (par exemple, une corbeille à la racine d'un support amovible), elles seront ouvertes chacune dans un nouvel onglet.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Afficher les propriétés&lt;/em&gt;: cette commande est toujours active. Une boîte de dialogue affichera le nombre de fichiers mis dans la corbeille ainsi que la taille totale de la corbeille.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Vider la corbeille&lt;/em&gt;: cette commande est toujours active. Il s'agit d'un raccourci pour supprimer définitivement tous les fichiers de la corbeille. Le même résultat peut être obtenu en sélectionnant tous les fichiers de la corbeille et en choisissant de les supprimer définitivement.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Limiter la taille de la corbeille&lt;/em&gt;: cette commande est toujours active. Elle permet de réduire la corbeille à une taille donnée. Les fichiers sont supprimés en ordre croissant de date de mise à la corbeille (les fichiers mis à la corbeille depuis le plus longtemps sont supprimés en premier).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Supprimer les anciens fichiers&lt;/em&gt;: cette commande est toujours active. Elle permet de supprimer les fichiers mis à la corbeille depuis un nombre de jours donné.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Supprimer les fichiers volumineux&lt;/em&gt;: cette commande est toujours active. Elle permet de supprimer les fichiers mis à la corbeille et dont la taille est supérieure ou égale à une taille donnée.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Précisions&lt;/h2&gt;

&lt;h3&gt;Vitesse&lt;/h3&gt;

&lt;p&gt;Corbeille-SpaceFM a été pensé pour être rapide, même lorsque qu'un nombre important de fichiers doivent être manipulés. Les processeurs multicoeurs sont supportés, les commandes intégrées de Bash ont été privilégiées autant que possible et le nombre de sous-processus à l'intérieur de boucles a été réduit au minimum.&lt;/p&gt;

&lt;p&gt;Des tests de performance ont été effectués pour comparer Corbeille-SpaceFM avec Thunar, le gestionnaire de fichiers par défaut de Xfce (Thunar a été choisi, car Xfce est le gestionnaire de bureau que j'utilise). Chaque commande du test manipulait 1000 fichiers texte et a été lancée 5 fois. Les résultats correspondent au temps moyen en secondes.&lt;/p&gt;

&lt;p&gt;Le premier test a été effectué sur un portable ayant un processeur Intel Core 2 Duo T9300 et 4 Gio de mémoire vive. SpaceFM 0.7.3 et Thunar 1.2.3 ont été utilisés sous Xubuntu 11.10. Les résultats sont les suivants:&lt;/p&gt;

&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
  &lt;th&gt;&lt;/th&gt;
  &lt;th&gt;Corbeille-SpaceFM&lt;/th&gt;
  &lt;th&gt;Thunar&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
  &lt;td&gt;&lt;strong&gt;Mettre à la corbeille&lt;/strong&gt;&lt;/td&gt;
  &lt;td&gt;3&lt;/td&gt;
  &lt;td&gt;12&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td&gt;&lt;strong&gt;Supprimer définitivement&lt;/strong&gt;&lt;/td&gt;
  &lt;td&gt;3&lt;/td&gt;
  &lt;td&gt;12&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td&gt;&lt;strong&gt;Restaurer&lt;/strong&gt;&lt;/td&gt;
  &lt;td&gt;4&lt;/td&gt;
  &lt;td&gt;15&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td&gt;&lt;strong&gt;Vider la corbeille&lt;/strong&gt;&lt;/td&gt;
  &lt;td&gt;1&lt;/td&gt;
  &lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;Le deuxième test a été effectué sur un miniportable ayant un processeur Intel Atom N450 et 2 Gio de mémoire vive. SpaceFM 0.7.3 et Thunar 1.2.3 ont été utilisés sous Ubuntu 11.10. Les résultats sont les suivants:&lt;/p&gt;

&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
  &lt;th&gt;&lt;/th&gt;
  &lt;th&gt;Corbeille-SpaceFM&lt;/th&gt;
  &lt;th&gt;Thunar&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
  &lt;td&gt;&lt;strong&gt;Mettre à la corbeille&lt;/strong&gt;&lt;/td&gt;
  &lt;td&gt;15&lt;/td&gt;
  &lt;td&gt;41&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td&gt;&lt;strong&gt;Supprimer définitivement&lt;/strong&gt;&lt;/td&gt;
  &lt;td&gt;14&lt;/td&gt;
  &lt;td&gt;44&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td&gt;&lt;strong&gt;Restaurer&lt;/strong&gt;&lt;/td&gt;
  &lt;td&gt;19&lt;/td&gt;
  &lt;td&gt;50&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td&gt;&lt;strong&gt;Vider la corbeille&lt;/strong&gt;&lt;/td&gt;
  &lt;td&gt;10&lt;/td&gt;
  &lt;td&gt;6&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

&lt;h3&gt;Symboles utilisés pour la taille des fichiers&lt;/h3&gt;

&lt;p&gt;Pour la taille des fichiers, Corbeille-SpaceFM utilise la signification habituelle du &lt;a href=&quot;http://fr.wikipedia.org/wiki/Pr%C3%A9fixe_binaire&quot;&gt;préfixe binaire&lt;/a&gt;, c'est-à-dire la puissance de 2, mais avec les nouveaux termes proposés pour différentier sans équivoque les préfixes binaires des préfixes du système international (en puissance de 10). Par exemple, Mio est utilisé pour 1024 Kio, et 1 Kio équivaut à 1024 octets.&lt;/p&gt;

&lt;h3&gt;Fichiers pouvant être mis à la corbeille&lt;/h3&gt;

&lt;p&gt;Les fichiers présents sur la même partition que la corbeille de bureau sont déplacés vers cette corbeille, c'est-à-dire &lt;code&gt;$XDG_DATA_HOME/Trash&lt;/code&gt;. La plupart du temps, cela signifie déplacer les fichiers vers &lt;code&gt;/home/user/.local/share/Trash/files&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Les fichiers sur d'autres partitions ne sont pas gérés par Corbeille-SpaceFM, comme permis par la spécification. Les raisons sont qu'un tel système est complexe et, à mon humble avis, pas très ergonomique.&lt;/p&gt;

&lt;p&gt;Selon la spécification, les fichiers d'autres partitions peuvent être mis à la corbeille de bureau. Cependant, tenons compte de ces situations:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Déplacer des fichiers externes vers la corbeille de bureau résulterait en une copie de ces fichiers à partir de leur emplacement original vers la partition de la corbeille de bureau. Cette situation pourrait convenir pour quelques fichiers sur un support amovible en USB 2.0, mais pas nécessairement pour la mise à la corbeille de 50 Gio de données, ou de fichiers distants ou présents sur des périphériques lents.&lt;/p&gt;

&lt;p&gt;La spécification permet de faire l'usage d'exceptions, par exemple de désactiver la mise à la corbeille de fichiers distants. Cependant, cela ne permet pas vraiment de résoudre le problème, et je crois que le déplacement de fichiers d'une partition vers une autre devrait être le fait d'une action explicite entreprise par l'utilisateur.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Les supports amovibles sont parfois montés chaque fois avec un nouveau nom. Ainsi, un fichier mis à la corbeille à un moment donné peut ne pas être restauré si le périphérique a été démonté et remonté depuis.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Un fichier mis à la corbeille à partir d'un support amovible ne pourra pas être restauré si le périphérique en question n'est pas monté.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Une implémentation peut supporter plutôt la mise à la corbeille dans des dossiers racine, c'est-à-dire à la racine d'un système de fichiers monté. Cependant, prenons en compte ce qui suit:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Deux emplacements sont possibles, &lt;code&gt;$topdir/.Trash/$uid&lt;/code&gt; et &lt;code&gt;$topdir/.Trash-$uid&lt;/code&gt;, donc deux emplacements doivent être vérifiés, avec le risque de se retrouver avec deux corbeilles non vides sur le même périphérique pour le même utilisateur.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Plusieurs situations sont épineuses: systèmes de fichiers sans support du bit collant, sans identifiant utilisateur numérique ou tout simplement sans identifiant utilisateur, sans permissions, etc. S'il y a trop d'exceptions, est-ce encore utile?&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Il est possible d'utiliser un support amovible sous plusieurs systèmes avec différents identifiants utilisateur, donc chaque fois avec un dossier de corbeille différent. Dans ces conditions, nos propres fichiers mis précédemment à la corbeille ne nous sont pas accessibles (sauf à avoir les droits d'administration).&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Aussi, j'ai consulté plusieurs rapports de bogue sur Launchpad au sujet de la mise à la corbeille. J'ai trouvé plusieurs situations intéressantes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Les fichiers mis à la corbeille sont situés dans un dossier caché, donc ils ne sont pas affichés par défaut dans la plupart des gestionnaires de fichiers. Il y a des rapports de bogue au sujet d'utilisateurs ayant partagé leur périphérique sans savoir que les fichiers supprimés se trouvaient dans un dossier caché. Ceux avec qui le périphérique avait été partagé pouvaient avoir accès à la corbeille, surtout en prenant en compte le fait que cette dernière ne constitue pas un dossier caché sous Windows.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Il y a des rapports de bogue à propos d'utilisateurs incapables d'ajouter des fichiers sur leur périphérique alors qu'ils ont supprimé des données. Ils ne s'étaient pas rendu compte qu'une corbeille cachée était présente sur leur périphérique et prenait encore de la place.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Il y a des rapports de bogue à propos du fait que des dossiers cachés de corbeille sont créés automatiquement sans jamais être supprimés, même lorsqu'ils sont vides.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Il y a des rapports demandant l'ajout d'une option pour désactiver la mise à la corbeille dans les dossiers racine.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Voir par exemple ce vieux rapport (datant de 2005), &lt;a href=&quot;https://bugs.launchpad.net/ubuntu/+source/nautilus/+bug/12893&quot;&gt;Shouldn't put .Trash-$USER on removable devices&lt;/a&gt;, ayant 13 doublons et 104 commentaires, ou cet autre rapport (2004), &lt;a href=&quot;https://bugzilla.gnome.org/show_bug.cgi?id=138058&quot;&gt;Ask to empty when unmounting media with items in trash&lt;/a&gt;, ayant 12 doublons et 44 commentaires. Les deux sont marqués comme étant résolus, mais en réalité ce n'est pas le cas. Nous pouvons noter de la confusion de la part des utilisateurs ainsi que des implémentations pas très claires (ou bien est-ce la spécification qui n'est pas assez claire).&lt;/p&gt;

&lt;p&gt;Personnellement, j'ajouterais que certains gestionnaires de fichiers affichent les fichiers des corbeilles racine directement dans la corbeille de bureau, et ce sans différentier ces fichiers de ceux locaux. Un utilisateur peut donc vider la corbeille de bureau sans se rendre compte qu'il vide également toutes les corbeilles situées sur d'autres partitions. Un utilisateur peut vouloir vider une corbeille racine sans vider la corbeille de bureau, toutefois sans trouver de moyen d'accomplir une telle action. Un utilisateur risque de penser que tous les fichiers listés dans la corbeille de bureau sont (en toute logique) situés sur la partition utilisateur, mais, après avoir démonté son support amovible (et potentiellement après l'avoir partagé), réaliser que certains fichiers mis à la corbeille ne sont plus accessibles (ou, autrement dit, que le périphérique contient encore les fichiers mis à la corbeille). Tout ceci est plutôt source de confusion.&lt;/p&gt;

&lt;p&gt;Je crois vraiment que le meilleur moyen de gérer la mise à la corbeille de fichiers situés sur une partition différente de celle de la corbeille de bureau est de laisser l'utilisateur gérer le cas manuellement. Par exemple, il est possible de déplacer manuellement les fichiers vers la partition utilisateur pour ensuite les mettre à la corbeille de bureau.&lt;/p&gt;

&lt;p&gt;Cependant, prendre note que la commande &lt;em&gt;Aller à la corbeille&lt;/em&gt; de Corbeille-SpaceFM affiche, s'il y a lieu, les corbeilles racine, puisqu'il est écrit dans la spécification:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;If an implementation does NOT provide such trashing, and does provide the user
  with some interface to view and/or undelete trashed files, it SHOULD make a
  “best effort” to show files trashed in top directories (by both methods) to
  the user, among other trashed files or in a clearly accessible separate way.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;Traduction&lt;/h2&gt;

&lt;p&gt;Corbeille-SpaceFM peut être traduit:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Cliquer droit sur une des commandes de Corbeille-SpaceFM et sélectionner &lt;em&gt;Command | Browse | Files&lt;/em&gt;. Ouvrir le fichier &lt;code&gt;init.inc.sh&lt;/code&gt;, situé à la racine du dossier. Les phrases à traduire se trouvent dans les sections &lt;em&gt;Localization, 1 of 2&lt;/em&gt; et &lt;em&gt;Localization, 2 of 2&lt;/em&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Cliquer droit sur une des commandes de Corbeille-SpaceFM et sélectionner &lt;em&gt;Command | Browse | Plugin&lt;/em&gt;. Ouvrir le fichier &lt;code&gt;plugin&lt;/code&gt;, situé à la racine du dossier. Les phrases à traduire se présentent sous la forme suivante:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;cstm_00000000-label=Phrase à traduire
cstm_00000000-desc=Phrase à traduire
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Toute personne intéressée à effectuer une traduction peut donc traduire les phrases et m'envoyer le résultat. Pour l'instant, Corbeille-SpaceFM est disponible en français et en anglais.&lt;/p&gt;

&lt;h2&gt;Développement&lt;/h2&gt;

&lt;p&gt;Dernière version: 1.0.4 (2012-05-22)&lt;/p&gt;

&lt;p&gt;Le logiciel Git est utilisé pour la gestion de versions. &lt;a href=&quot;http://jpfleury.indefero.net/p/corbeille-spacefm/source/tree/master/&quot;&gt;Le dépôt peut être consulté en ligne ou récupéré en local.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Corbeille-SpaceFM dispose également d'un &lt;a href=&quot;http://jpfleury.indefero.net/p/corbeille-spacefm/issues/&quot;&gt;système de suivi&lt;/a&gt;, sur lequel les rapports de bogues et les suggestions peuvent être soumis.&lt;/p&gt;

&lt;h2&gt;Licence&lt;/h2&gt;

&lt;p&gt;Auteur: Jean-Philippe Fleury &lt;a href=&quot;&amp;#109;&amp;#97;&amp;#x69;&amp;#x6c;&amp;#116;&amp;#111;&amp;#x3a;&amp;#x63;&amp;#111;&amp;#110;&amp;#x74;&amp;#x61;&amp;#99;&amp;#116;&amp;#x40;&amp;#x6a;p&amp;#102;&amp;#x6c;&amp;#x65;u&amp;#114;&amp;#121;&amp;#x2e;&amp;#x6e;&amp;#101;&amp;#116;&quot;&gt;&amp;#x63;&amp;#111;&amp;#110;&amp;#x74;&amp;#x61;&amp;#99;&amp;#116;&amp;#x40;&amp;#x6a;p&amp;#102;&amp;#x6c;&amp;#x65;u&amp;#114;&amp;#121;&amp;#x2e;&amp;#x6e;&amp;#101;&amp;#116;&lt;/a&gt;&lt;br /&gt;
Copyright © Jean-Philippe Fleury, 2012.&lt;/p&gt;

&lt;p&gt;Ce programme est un logiciel libre; vous pouvez le redistribuer ou le
modifier suivant les termes de la GNU General Public License telle que
publiée par la Free Software Foundation: soit la version 3 de cette
licence, soit (à votre gré) toute version ultérieure.&lt;/p&gt;

&lt;p&gt;Ce programme est distribué dans l'espoir qu'il vous sera utile, mais SANS
AUCUNE GARANTIE: sans même la garantie implicite de COMMERCIALISABILITÉ
ni d'ADÉQUATION À UN OBJECTIF PARTICULIER. Consultez la Licence publique
générale GNU pour plus de détails.&lt;/p&gt;

&lt;p&gt;Vous devriez avoir reçu une copie de la Licence publique générale GNU avec
ce programme; si ce n'est pas le cas, consultez
&lt;a href=&quot;http://www.gnu.org/licenses/&quot;&gt;http://www.gnu.org/licenses/&lt;/a&gt;.&lt;/p&gt;
																						
															</description>
			<pubDate>Sat, 21 Jul 2012 23:34:00 -0400</pubDate>
		</item>

		<item>
			<title>Bascule: déplacer la fenêtre active d'un écran à un autre</title>
			<link>http://www.jpfleury.net/logiciels/bascule.php</link>
			<guid isPermaLink="false">2012-08-30 00:47;http://www.jpfleury.net/logiciels/bascule.php</guid>
			<description>
															&lt;!-- APERÇU: interne --&gt;							&lt;p lang=&quot;en&quot;&gt;&lt;strong&gt;&lt;a hreflang=&quot;en&quot; href=&quot;http://www.jpfleury.net/en/software/bascule.php&quot;&gt;Read this page in English.&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;Aperçu&lt;/h2&gt;

&lt;p&gt;Bascule est un script Bash permettant de déplacer la fenêtre active d'un écran à un autre sous GNU/Linux à l'aide d'un raccourci-clavier.&lt;/p&gt;

&lt;p&gt;Bascule supporte deux écrans (de même résolution ou non) ayant un segment latéral qui se touche, peu importe la position sur l'axe des y&lt;!-- /aperçu --&gt;, par exemple:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;            |¯¯¯¯¯¯¯¯¯¯¯|
            |           |
            |           |
            |           |
            |___________|
|¯¯¯¯¯¯¯¯¯¯¯|
|           |
|           |
|           |
|___________|

            |¯¯¯¯¯¯¯¯¯¯¯|
            |           |
|¯¯¯¯¯¯¯¯¯¯¯|           |
|           |           |
|           |___________|
|           |
|___________|

|¯¯¯¯¯¯¯¯¯¯¯|¯¯¯¯¯¯¯¯¯¯¯|
|           |           |
|           |           |
|           |           |
|___________|___________|

|¯¯¯¯¯¯¯¯¯¯¯|
|           |
|           |¯¯¯¯¯¯¯¯¯¯¯|
|           |           |
|___________|           |
            |           |
            |___________|

|¯¯¯¯¯¯¯¯¯¯¯|
|           |
|           |
|           |
|___________|
            |¯¯¯¯¯¯¯¯¯¯¯|
            |           |
            |           |
            |           |
            |___________|
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Bascule prend également en compte les tableaux de bord, peu importe leur nombre et leur emplacement. Ainsi, une fenêtre déplacée vers un autre écran ne sera jamais cachée en partie sous un tableau de bord, ni étendue au-delà du nouvel écran. Une fenêtre maximisée le demeurera sur le nouvel écran.&lt;/p&gt;

&lt;p&gt;Bascule est inspiré d'un &lt;a href=&quot;http://ubuntuforums.org/showthread.php?p=10210628#post10210628&quot;&gt;script présenté sur le forum anglophone d'Ubuntu&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;Dépendances&lt;/h2&gt;

&lt;p&gt;Les paquets suivants doivent être installés:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;wmctrl&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;x11-utils&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;xdotool&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Installation&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://jpfleury.indefero.net/p/bascule/source/download/master/&quot;&gt;Télécharger l'archive de la dernière version.&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Extraire l'archive.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Utilisateur courant&lt;/h3&gt;

&lt;p&gt;Le script est prêt à être utilisé par l'utilisateur courant.&lt;/p&gt;

&lt;h3&gt;Tous les utilisateurs&lt;/h3&gt;

&lt;p&gt;Pour rendre accessible le script à tous les utilisateurs, ajouter le fichier &lt;code&gt;bascule.sh&lt;/code&gt; dans le dossier &lt;code&gt;/usr/bin/&lt;/code&gt; (nécessite d'avoir les droits d'administration).&lt;/p&gt;

&lt;p&gt;Dans ce cas, le dossier créé par l'extraction de l'archive peut être effacé ou mis à la corbeille après la copie.&lt;/p&gt;

&lt;h2&gt;Désinstallation&lt;/h2&gt;

&lt;h3&gt;Utilisateur courant&lt;/h3&gt;

&lt;p&gt;Supprimer simplement le dossier créé par l'extraction de l'archive.&lt;/p&gt;

&lt;h3&gt;Tous les utilisateurs&lt;/h3&gt;

&lt;p&gt;Supprimer le fichier précédemment copié dans &lt;code&gt;/usr/bin/&lt;/code&gt; (nécessite d'avoir les droits d'administration).&lt;/p&gt;

&lt;h2&gt;Utilisation&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Ouvrir le script &lt;code&gt;bascule.sh&lt;/code&gt; dans un éditeur de texte et renseigner les quelques variables au début du fichier (section &lt;em&gt;Variables à modifier.&lt;/em&gt;).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Ouvrir le gestionnaire de raccourcis-clavier offert par son gestionnaire de bureau (exemple sous Xfce: &lt;em&gt;Menu principal &gt; Paramètres &gt; Gestionnaire de paramètres &gt; Clavier &gt; Raccourcis des applications&lt;/em&gt;).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Assigner le raccourci voulu à Bascule en précisant le chemin du script dans le dossier local ou dans &lt;code&gt;/usr/bin/&lt;/code&gt;, selon le cas.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Utiliser ce raccourci clavier va déplacer la fenêtre active d'un écran à un autre.&lt;/p&gt;

&lt;h2&gt;Développement&lt;/h2&gt;

&lt;p&gt;Dernière version: 1.0.2 (2012-05-22)&lt;/p&gt;

&lt;p&gt;Le logiciel Git est utilisé pour la gestion de versions. &lt;a href=&quot;http://jpfleury.indefero.net/p/bascule/source/tree/master/&quot;&gt;Le dépôt peut être consulté en ligne ou récupéré en local.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Bascule dispose également d'un &lt;a href=&quot;http://jpfleury.indefero.net/p/bascule/issues/&quot;&gt;système de suivi&lt;/a&gt;, sur lequel les rapports de bogues et les suggestions peuvent être soumis.&lt;/p&gt;

&lt;h2&gt;Licence&lt;/h2&gt;

&lt;p&gt;Auteur: Jean-Philippe Fleury &lt;a href=&quot;&amp;#109;&amp;#97;&amp;#x69;&amp;#x6c;&amp;#116;&amp;#111;&amp;#x3a;&amp;#x63;&amp;#111;&amp;#110;&amp;#x74;&amp;#x61;&amp;#99;&amp;#116;&amp;#x40;&amp;#x6a;p&amp;#102;&amp;#x6c;&amp;#x65;u&amp;#114;&amp;#121;&amp;#x2e;&amp;#x6e;&amp;#101;&amp;#116;&quot;&gt;&amp;#x63;&amp;#111;&amp;#110;&amp;#x74;&amp;#x61;&amp;#99;&amp;#116;&amp;#x40;&amp;#x6a;p&amp;#102;&amp;#x6c;&amp;#x65;u&amp;#114;&amp;#121;&amp;#x2e;&amp;#x6e;&amp;#101;&amp;#116;&lt;/a&gt;&lt;br /&gt;
Copyright © Jean-Philippe Fleury, 2012.&lt;/p&gt;

&lt;p&gt;Ce programme est un logiciel libre; vous pouvez le redistribuer ou le
modifier suivant les termes de la GNU General Public License telle que
publiée par la Free Software Foundation: soit la version 3 de cette
licence, soit (à votre gré) toute version ultérieure.&lt;/p&gt;

&lt;p&gt;Ce programme est distribué dans l'espoir qu'il vous sera utile, mais SANS
AUCUNE GARANTIE: sans même la garantie implicite de COMMERCIALISABILITÉ
ni d'ADÉQUATION À UN OBJECTIF PARTICULIER. Consultez la Licence publique
générale GNU pour plus de détails.&lt;/p&gt;

&lt;p&gt;Vous devriez avoir reçu une copie de la Licence publique générale GNU avec
ce programme; si ce n'est pas le cas, consultez
&lt;a href=&quot;http://www.gnu.org/licenses/&quot;&gt;http://www.gnu.org/licenses/&lt;/a&gt;.&lt;/p&gt;
																						
															</description>
			<pubDate>Thu, 30 Aug 2012 00:47:00 -0400</pubDate>
		</item>

		<item>
			<title>Open URI Context Menu: ouvrir une URI à partir de gedit</title>
			<link>http://www.jpfleury.net/logiciels/open-uri-context-menu.php</link>
			<guid isPermaLink="false">2012-07-21 23:34;http://www.jpfleury.net/logiciels/open-uri-context-menu.php</guid>
			<description>
															&lt;!-- APERÇU: automatique --&gt;							&lt;p lang=&quot;en&quot;&gt;&lt;strong&gt;&lt;a hreflang=&quot;en&quot; href=&quot;http://www.jpfleury.net/en/software/open-uri-context-menu.php&quot;&gt;Read this page in English.&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;À propos&lt;/h2&gt;

&lt;p&gt;«Open URI Context Menu» est un greffon pour gedit, l'éditeur de texte par défaut de Gnome. Ce greffon ajoute deux options dans le menu contextuel lors d'un clic droit sur une URI contenue dans le texte d'un fichier: ouverture dans le navigateur ou ouverture dans gedit pour consultation du code source.&lt;/p&gt;

&lt;p&gt;La &lt;a href=&quot;http://wiki.sukimashita.com/GEdit_Plugins&quot;&gt;version originale&lt;/a&gt; a été développée par Martin Szulecki pour gedit 2.&lt;/p&gt;

&lt;p&gt;Le présent dépôt constitue un portage du greffon vers gedit 3.&lt;/p&gt;

&lt;h2&gt;Dépendances&lt;/h2&gt;

&lt;p&gt;Le greffon utilise la commande &lt;code&gt;xdg-open&lt;/code&gt; du paquet &lt;code&gt;xdg-utils&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;Installation&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://jpfleury.indefero.net/p/open-uri-context-menu/source/download/master/&quot;&gt;Télécharger l'archive de la dernière version.&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Extraire l'archive.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Copier les fichiers &lt;code&gt;open-uri-context-menu.plugin&lt;/code&gt; et &lt;code&gt;open-uri-context-menu.py&lt;/code&gt; dans le dossier suivant:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;~/.local/share/gedit/plugins/
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Activer le greffon dans le menu &lt;em&gt;Édition &gt; Préférences &gt; Greffons&lt;/em&gt; de gedit.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Développement&lt;/h2&gt;

&lt;p&gt;Dernière version: 1.0.1 (2012-05-22)&lt;/p&gt;

&lt;p&gt;Le logiciel Git est utilisé pour la gestion de versions. &lt;a href=&quot;http://jpfleury.indefero.net/p/open-uri-context-menu/source/tree/master/&quot;&gt;Le dépôt peut être consulté en ligne ou récupéré en local.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;«Open URI Context Menu» dispose également d'un &lt;a href=&quot;http://jpfleury.indefero.net/p/open-uri-context-menu/issues/&quot;&gt;système de suivi&lt;/a&gt;, sur lequel les rapports de bogues et les suggestions peuvent être soumis.&lt;/p&gt;

&lt;h2&gt;Licence&lt;/h2&gt;

&lt;p&gt;Auteurs: Martin Szulecki &lt;a href=&quot;&amp;#x6d;&amp;#x61;&amp;#x69;&amp;#108;&amp;#116;&amp;#111;:&amp;#x6f;&amp;#x70;&amp;#x65;&amp;#110;&amp;#115;&amp;#117;s&amp;#x65;&amp;#x40;&amp;#x73;&amp;#117;&amp;#107;&amp;#105;m&amp;#x61;&amp;#x73;&amp;#x68;&amp;#105;&amp;#116;&amp;#97;.&amp;#x63;&amp;#x6f;&amp;#x6d;&quot;&gt;&amp;#x6f;&amp;#x70;&amp;#x65;&amp;#110;&amp;#115;&amp;#117;s&amp;#x65;&amp;#x40;&amp;#x73;&amp;#117;&amp;#107;&amp;#105;m&amp;#x61;&amp;#x73;&amp;#x68;&amp;#105;&amp;#116;&amp;#97;.&amp;#x63;&amp;#x6f;&amp;#x6d;&lt;/a&gt;, Jean-Philippe Fleury &lt;a href=&quot;&amp;#109;&amp;#97;&amp;#x69;&amp;#x6c;&amp;#116;&amp;#111;&amp;#x3a;&amp;#x63;&amp;#111;&amp;#110;&amp;#x74;&amp;#x61;&amp;#99;&amp;#116;&amp;#x40;&amp;#x6a;p&amp;#102;&amp;#x6c;&amp;#x65;u&amp;#114;&amp;#121;&amp;#x2e;&amp;#x6e;&amp;#101;&amp;#116;&quot;&gt;&amp;#x63;&amp;#111;&amp;#110;&amp;#x74;&amp;#x61;&amp;#99;&amp;#116;&amp;#x40;&amp;#x6a;p&amp;#102;&amp;#x6c;&amp;#x65;u&amp;#114;&amp;#121;&amp;#x2e;&amp;#x6e;&amp;#101;&amp;#116;&lt;/a&gt;&lt;br /&gt;
Copyright © Martin Szulecki, 2007-2008.&lt;br /&gt;
Copyright © Jean-Philippe Fleury, 2011.&lt;/p&gt;

&lt;p&gt;Ce programme est un logiciel libre; vous pouvez le redistribuer ou le
modifier suivant les termes de la GNU General Public License telle que
publiée par la Free Software Foundation: soit la version 3 de cette
licence, soit (à votre gré) toute version ultérieure.&lt;/p&gt;

&lt;p&gt;Ce programme est distribué dans l'espoir qu'il vous sera utile, mais SANS
AUCUNE GARANTIE: sans même la garantie implicite de COMMERCIALISABILITÉ
ni d'ADÉQUATION À UN OBJECTIF PARTICULIER. Consultez la Licence publique
générale GNU pour plus de détails.&lt;/p&gt;

&lt;p&gt;Vous devriez avoir reçu une copie de la Licence publique générale GNU avec
ce programme; si ce n'est pas le cas, consultez
&lt;a href=&quot;http://www.gnu.org/licenses/&quot;&gt;http://www.gnu.org/licenses/&lt;/a&gt;.&lt;/p&gt;
																						
															</description>
			<pubDate>Sat, 21 Jul 2012 23:34:00 -0400</pubDate>
		</item>

		<item>
			<title>oneko-css: petite image en noir et blanc de chat ou de chien sur son site web</title>
			<link>http://www.jpfleury.net/logiciels/oneko-css.php</link>
			<guid isPermaLink="false">2012-07-21 23:34;http://www.jpfleury.net/logiciels/oneko-css.php</guid>
			<description>
															&lt;!-- APERÇU: automatique --&gt;							&lt;p lang=&quot;en&quot;&gt;&lt;strong&gt;&lt;a hreflang=&quot;en&quot; href=&quot;http://www.jpfleury.net/en/software/oneko-css.php&quot;&gt;Read this page in English.&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;Aperçu&lt;/h2&gt;

&lt;p&gt;oneko-css permet d'ajouter une petite image en noir et blanc de chat ou de chien dans une colonne de site web. Au chargement de la page, l'image est prise au hasard dans une banque de 64 images (32 de chat et 32 de chien).&lt;/p&gt;

&lt;p&gt;Voici quelques exemples:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://jpfleury.indefero.net/p/oneko-css/source/tree/master/doc/exemples.png&quot; width=&quot;204&quot; height=&quot;416&quot; alt=&quot;Exemples d'images de chat ou de chien affichées par oneko-css.&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Utilisation&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://jpfleury.indefero.net/p/oneko-css/source/download/master/&quot;&gt;Télécharger l'archive de la dernière version.&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Extraire l'archive.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Copier le dossier extrait dans un espace d'hébergement web.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Visiter la démo (fichier &lt;code&gt;demo.php&lt;/code&gt;).&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Il ne reste plus qu'à intégrer les fichiers à votre site web selon votre configuration et vos préférences.&lt;/p&gt;

&lt;h2&gt;Développement&lt;/h2&gt;

&lt;p&gt;Dernière version: 1.0.2 (2012-05-22)&lt;/p&gt;

&lt;p&gt;Le logiciel Git est utilisé pour la gestion de versions. &lt;a href=&quot;http://jpfleury.indefero.net/p/oneko-css/source/tree/master/&quot;&gt;Le dépôt peut être consulté en ligne ou récupéré en local.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;oneko-css dispose également d'un &lt;a href=&quot;http://jpfleury.indefero.net/p/oneko-css/issues/&quot;&gt;système de suivi&lt;/a&gt;, sur lequel les rapports de bogues et les suggestions peuvent être soumis.&lt;/p&gt;

&lt;h2&gt;Licence&lt;/h2&gt;

&lt;p&gt;Auteur: Jean-Philippe Fleury &lt;a href=&quot;&amp;#109;&amp;#97;&amp;#x69;&amp;#x6c;&amp;#116;&amp;#111;&amp;#x3a;&amp;#x63;&amp;#111;&amp;#110;&amp;#x74;&amp;#x61;&amp;#99;&amp;#116;&amp;#x40;&amp;#x6a;p&amp;#102;&amp;#x6c;&amp;#x65;u&amp;#114;&amp;#121;&amp;#x2e;&amp;#x6e;&amp;#101;&amp;#116;&quot;&gt;&amp;#x63;&amp;#111;&amp;#110;&amp;#x74;&amp;#x61;&amp;#99;&amp;#116;&amp;#x40;&amp;#x6a;p&amp;#102;&amp;#x6c;&amp;#x65;u&amp;#114;&amp;#121;&amp;#x2e;&amp;#x6e;&amp;#101;&amp;#116;&lt;/a&gt;&lt;br /&gt;
Copyright © Jean-Philippe Fleury, 2011-2012.&lt;/p&gt;

&lt;p&gt;Ce programme est un logiciel libre; vous pouvez le redistribuer ou le
modifier suivant les termes de la GNU Affero General Public License telle que
publiée par la Free Software Foundation: soit la version 3 de cette
licence, soit (à votre gré) toute version ultérieure.&lt;/p&gt;

&lt;p&gt;Ce programme est distribué dans l'espoir qu'il vous sera utile, mais SANS
AUCUNE GARANTIE: sans même la garantie implicite de COMMERCIALISABILITÉ
ni d'ADÉQUATION À UN OBJECTIF PARTICULIER. Consultez la Licence publique
générale GNU Affero pour plus de détails.&lt;/p&gt;

&lt;p&gt;Vous devriez avoir reçu une copie de la Licence publique générale GNU Affero
avec ce programme; si ce n'est pas le cas, consultez
&lt;a href=&quot;http://www.gnu.org/licenses/&quot;&gt;http://www.gnu.org/licenses/&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;Matériel tiers&lt;/h3&gt;

&lt;p&gt;Toutes les images proviennent du &lt;a href=&quot;http://packages.ubuntu.com/oneiric/oneko&quot;&gt;logiciel oneko&lt;/a&gt;, publié dans le &lt;a href=&quot;http://changelogs.ubuntu.com/changelogs/pool/universe/o/oneko/oneko_1.2.sakura.6-7/oneko.copyright&quot;&gt;domaine public&lt;/a&gt;.&lt;/p&gt;
																						
															</description>
			<pubDate>Sat, 21 Jul 2012 23:34:00 -0400</pubDate>
		</item>

		<item>
			<title>GConjugo, apprentissage de la conjugaison dans plusieurs langues</title>
			<link>http://www.jpfleury.net/logiciels/gconjugo.php</link>
			<guid isPermaLink="false">2011-03-08;http://www.jpfleury.net/logiciels/gconjugo.php</guid>
			<description>
															&lt;!-- APERÇU: automatique --&gt;							
&lt;p&gt;GConjugo est un logiciel libre permettant de pratiquer la conjugaison des verbes dans plusieurs langues et selon plusieurs niveaux de difficulté. Il est développé par Maxence Dolle.&lt;/p&gt;

&lt;img class=&quot;imgCentre&quot; src=&quot;http://www.gconjugo.org/site/fichiers/galeries/captures-d-ecran/gconjugo-entrainement-correction.png&quot; alt=&quot;Correction d'un exercice de conjugaison en espagnol en mode entraînement&quot; width=&quot;500&quot; height=&quot;348&quot; /&gt;

&lt;p class=&quot;centre&quot;&gt;&lt;a href=&quot;http://www.gconjugo.org/&quot;&gt;&lt;img class=&quot;imgSansBordure&quot; src=&quot;http://www.squeletml.net/site/fichiers/en-savoir-plus.png&quot; alt=&quot;En savoir plus sur GConjugo&quot; width=&quot;272&quot; height=&quot;70&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

																						
															</description>
			<dc:creator>Jean-Philippe Fleury</dc:creator>
			<pubDate>Tue, 08 Mar 2011 00:00:00 -0500</pubDate>
		</item>

		<item>
			<title>pdfmm: assistant graphique pour réduire la taille d'un fichier PDF</title>
			<link>http://www.jpfleury.net/logiciels/pdfmm.php</link>
			<guid isPermaLink="false">2012-07-21 23:34;http://www.jpfleury.net/logiciels/pdfmm.php</guid>
			<description>
															&lt;!-- APERÇU: automatique --&gt;							&lt;p lang=&quot;en&quot;&gt;&lt;strong&gt;&lt;a hreflang=&quot;en&quot; href=&quot;http://www.jpfleury.net/en/software/pdfmm.php&quot;&gt;Read this page in English.&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;Aperçu&lt;/h2&gt;

&lt;p&gt;pdfmm (pour «pdf moins moins», ou «pdf--») est un assistant graphique pour réduire la taille de fichiers PDF.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://jpfleury.indefero.net/p/pdfmm/source/tree/master/doc/exemple1-fr.png&quot; width=&quot;683&quot; height=&quot;526&quot; alt=&quot;Assistant graphique de réduction de la taille des fichiers PDF&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Voici quelques résultats obtenus avec des fichiers PDF choisis au hasard:&lt;/p&gt;

&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
  &lt;th&gt;Taille de départ&lt;/th&gt;
  &lt;th&gt;Taille à la sortie&lt;/th&gt;
  &lt;th&gt;% d'optimisation&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
  &lt;td&gt;29 Kio&lt;/td&gt;
  &lt;td&gt;23 Kio&lt;/td&gt;
  &lt;td&gt;20 %&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td&gt;363 Kio&lt;/td&gt;
  &lt;td&gt;72 Kio&lt;/td&gt;
  &lt;td&gt;80 %&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td&gt;733 Kio&lt;/td&gt;
  &lt;td&gt;658 Kio&lt;/td&gt;
  &lt;td&gt;10 %&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td&gt;991 Kio&lt;/td&gt;
  &lt;td&gt;349 Kio&lt;/td&gt;
  &lt;td&gt;65 %&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td&gt;1,7 Mio&lt;/td&gt;
  &lt;td&gt;0,8 Mio&lt;/td&gt;
  &lt;td&gt;52 %&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td&gt;1,9 Mio&lt;/td&gt;
  &lt;td&gt;1,1 Mio&lt;/td&gt;
  &lt;td&gt;40 %&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td&gt;2,3 Mio&lt;/td&gt;
  &lt;td&gt;1,6 Mio&lt;/td&gt;
  &lt;td&gt;31 %&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td&gt;3,4 Mio&lt;/td&gt;
  &lt;td&gt;1,3 Mio&lt;/td&gt;
  &lt;td&gt;60 %&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td&gt;7,1 Mio&lt;/td&gt;
  &lt;td&gt;5,4 Mio&lt;/td&gt;
  &lt;td&gt;23 %&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td&gt;14,8 Mio&lt;/td&gt;
  &lt;td&gt;9,4 Mio&lt;/td&gt;
  &lt;td&gt;36 %&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td&gt;54,3 Mio&lt;/td&gt;
  &lt;td&gt;14,6 Mio&lt;/td&gt;
  &lt;td&gt;73 %&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;Bien sûr, ces chiffres sont donnés seulement à titre d'exemples. Le résultat ne sera sûrement pas le même avec d'autres fichiers de taille similaire. Tout dépend du contenu.&lt;/p&gt;

&lt;h2&gt;Dépendances&lt;/h2&gt;

&lt;p&gt;pdfmm est un script shell dépendant de bash (&gt;= 4.0), sed, zenity et ghostscript.&lt;/p&gt;

&lt;h2&gt;Installation&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://jpfleury.indefero.net/p/pdfmm/source/download/master/&quot;&gt;Télécharger l'archive de la dernière version.&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Extraire l'archive.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Utilisateur courant&lt;/h3&gt;

&lt;p&gt;Le script est prêt à être utilisé par l'utilisateur courant.&lt;/p&gt;

&lt;h3&gt;Tous les utilisateurs&lt;/h3&gt;

&lt;p&gt;Pour rendre accessible le script à tous les utilisateurs, ajouter le fichier &lt;code&gt;pdfmm&lt;/code&gt; dans le dossier &lt;code&gt;/usr/bin/&lt;/code&gt; (nécessite d'avoir les droits d'administration).&lt;/p&gt;

&lt;p&gt;Dans ce cas, le dossier créé par l'extraction de l'archive peut être effacé ou mis à la corbeille après la copie.&lt;/p&gt;

&lt;h2&gt;Désinstallation&lt;/h2&gt;

&lt;h3&gt;Utilisateur courant&lt;/h3&gt;

&lt;p&gt;Supprimer simplement le dossier créé par l'extraction de l'archive.&lt;/p&gt;

&lt;h3&gt;Tous les utilisateurs&lt;/h3&gt;

&lt;p&gt;Supprimer le fichier &lt;code&gt;pdfmm&lt;/code&gt; précédemment copié dans &lt;code&gt;/usr/bin/&lt;/code&gt; (nécessite d'avoir les droits d'administration).&lt;/p&gt;

&lt;h2&gt;Utilisation&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Notes:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Aucun fichier original n'est modifié. Le fichier optimisé est créé dans le même dossier que le fichier original.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Un fichier de configuration est créé dans le dossier personnel de l'utilisateur lançant &lt;code&gt;pdfmm&lt;/code&gt;:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;~/.config/pdfmm.conf
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Ce fichier contient le dossier du dernier fichier sélectionné. C'est ce dossier qui sera proposé par défaut lors de la prochaine ouverture de &lt;code&gt;pdfmm&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Utilisateur courant&lt;/h3&gt;

&lt;p&gt;Pour utiliser le script dans une console, lancer le fichier &lt;code&gt;pdfmm&lt;/code&gt; en précisant son chemin d'accès:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;chemin/vers/pdfmm
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Si vous vous trouvez dans le même dossier que le fichier &lt;code&gt;pdfmm&lt;/code&gt;, la commande est:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;./pdfmm
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Dans tous les cas, il est possible de préciser en argument les fichiers PDF à optimiser, par exemple:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;./pdfmm chemin/vers/le/fichier1.pdf chemin/vers/le/fichier2.pdf
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Il est également possible d'ouvrir le script en cliquant sur le fichier &lt;code&gt;pdfmm&lt;/code&gt; (simple clic ou double clic selon votre configuration) et en choisissant de le lancer.&lt;/p&gt;

&lt;p&gt;Vous pouvez également créer un lanceur dont la commande correspond au chemin absolu vers le fichier, par exemple:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;/home/NOM/chemin/vers/pdfmm
&lt;/code&gt;&lt;/pre&gt;

&lt;h3&gt;Tous les utilisateurs&lt;/h3&gt;

&lt;p&gt;Dans une console, simplement saisir &lt;code&gt;pdfmm&lt;/code&gt;. Les fichiers PDF à optimiser peuvent être précisés en argument.&lt;/p&gt;

&lt;p&gt;Un lanceur peut également être créé. Dans ce cas, la commande est simplement &lt;code&gt;pdfmm&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;Traduction&lt;/h2&gt;

&lt;p&gt;pdfmm peut s'afficher dans plusieurs langues. Toute personne intéressée à effectuer une traduction peut donc traduire les phrases présentes dans la section &lt;em&gt;Localisation&lt;/em&gt; du fichier &lt;code&gt;pdfmm&lt;/code&gt; et m'envoyer le résultat. Pour l'instant, pdfmm est disponible en français et en anglais.&lt;/p&gt;

&lt;h2&gt;Développement&lt;/h2&gt;

&lt;p&gt;Dernière version: 1.2.1 (2012-06-02)&lt;/p&gt;

&lt;p&gt;Le logiciel Git est utilisé pour la gestion de versions. &lt;a href=&quot;http://jpfleury.indefero.net/p/pdfmm/source/tree/master/&quot;&gt;Le dépôt peut être consulté en ligne ou récupéré en local.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;pdfmm dispose également d'un &lt;a href=&quot;http://jpfleury.indefero.net/p/pdfmm/issues/&quot;&gt;système de suivi&lt;/a&gt;, sur lequel les rapports de bogues et les suggestions peuvent être soumis.&lt;/p&gt;

&lt;h2&gt;Licence&lt;/h2&gt;

&lt;p&gt;Auteur: Jean-Philippe Fleury &lt;a href=&quot;&amp;#109;&amp;#97;&amp;#x69;&amp;#x6c;&amp;#116;&amp;#111;&amp;#x3a;&amp;#x63;&amp;#111;&amp;#110;&amp;#x74;&amp;#x61;&amp;#99;&amp;#116;&amp;#x40;&amp;#x6a;p&amp;#102;&amp;#x6c;&amp;#x65;u&amp;#114;&amp;#121;&amp;#x2e;&amp;#x6e;&amp;#101;&amp;#116;&quot;&gt;&amp;#x63;&amp;#111;&amp;#110;&amp;#x74;&amp;#x61;&amp;#99;&amp;#116;&amp;#x40;&amp;#x6a;p&amp;#102;&amp;#x6c;&amp;#x65;u&amp;#114;&amp;#121;&amp;#x2e;&amp;#x6e;&amp;#101;&amp;#116;&lt;/a&gt;&lt;br /&gt;
Copyright © Jean-Philippe Fleury, 2011-2012.&lt;/p&gt;

&lt;p&gt;Ce programme est un logiciel libre; vous pouvez le redistribuer ou le
modifier suivant les termes de la GNU General Public License telle que
publiée par la Free Software Foundation: soit la version 3 de cette
licence, soit (à votre gré) toute version ultérieure.&lt;/p&gt;

&lt;p&gt;Ce programme est distribué dans l'espoir qu'il vous sera utile, mais SANS
AUCUNE GARANTIE: sans même la garantie implicite de COMMERCIALISABILITÉ
ni d'ADÉQUATION À UN OBJECTIF PARTICULIER. Consultez la Licence publique
générale GNU pour plus de détails.&lt;/p&gt;

&lt;p&gt;Vous devriez avoir reçu une copie de la Licence publique générale GNU avec
ce programme; si ce n'est pas le cas, consultez
&lt;a href=&quot;http://www.gnu.org/licenses/&quot;&gt;http://www.gnu.org/licenses/&lt;/a&gt;.&lt;/p&gt;
																						
															</description>
			<pubDate>Sat, 21 Jul 2012 23:34:00 -0400</pubDate>
		</item>

		<item>
			<title>MyNotex, logiciel libre de prise et de gestion de notes</title>
			<link>http://www.jpfleury.net/logiciels/mynotex.php</link>
			<guid isPermaLink="false">2010-12-28;http://www.jpfleury.net/logiciels/mynotex.php</guid>
			<description>
															&lt;!-- APERÇU: automatique --&gt;							&lt;div class=&quot;chapeau&quot;&gt;
&lt;p class=&quot;legende&quot;&gt;&lt;span&gt;Résumé&lt;/span&gt;&lt;/p&gt;
&lt;div class=&quot;contenuChapeau&quot;&gt;
&lt;p&gt;Ceci est une traduction de la &lt;a href=&quot;http://sites.google.com/site/mynotex/&quot;&gt;page d'accueil du site de MyNotext&lt;/a&gt;, un logiciel libre de prise et de gestion de notes. Le développeur de MyNotex est Massimo Nardello.&lt;/p&gt;&lt;/div&gt;&lt;!-- /.contenuChapeau --&gt;
&lt;/div&gt;&lt;div id=&quot;tableDesMatieres&quot;&gt;
&lt;h2 id=&quot;tableDesMatieresBdTitre&quot; class=&quot;bDtitre&quot;&gt;Table des matières&lt;/h2&gt;
&lt;ul id=&quot;tableDesMatieresBdCorps&quot; class=&quot;bDcorps afficher&quot;&gt;
&lt;li&gt;&lt;a href=&quot;#Captures-d-ecran&quot;&gt;Captures d'écran&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#Aide-et-contacts&quot;&gt;Aide et contacts&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#Ameliorations&quot;&gt;Améliorations&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#Articles&quot;&gt;Articles&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#Demandes&quot;&gt;Demandes&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#Rapports-de-bogue&quot;&gt;Rapports de bogue&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#Telechargement&quot;&gt;Téléchargement&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#Test-de-charge&quot;&gt;Test de charge&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;/div&gt;&lt;!-- /#tableDesMatieres --&gt;
&lt;!-- /.chapeau --&gt;
&lt;p&gt;&lt;strong&gt;MyNotex est un logiciel libre sous GNU/Linux pour la prise et la gestion de notes.&lt;/strong&gt; Les notes sont classées par sujet et sont composées d'un titre, d'une date, de mots clés (étiquettes) et d'un contenu textuel. Le contenu peut être mis en forme (police, taille, couleur, surlignage, gras, italique, souligné et barré) et renfermer des images. MyNotex gère également l'alignement des paragraphes ainsi que les listes non ordonnées et ordonnées avec indentation automatique. Un fichier MyNotex peut contenir plusieurs sujets et notes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Voici quelques exemples d'utilisation de MyNotex:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Prendre des notes lors de réunions, de cours, de conférences, etc.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Écrire et conserver des idées, des mémos, des lettres, des rapports, des agendas, des projets, etc.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Écrire et conserver des rapports chiffrés de réunions confidentielles.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Écrire et conserver des séries de cours et de conférences.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Écrire et tenir un journal (quotidien ou non).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Dresser et tenir une liste d'articles au format PDF (joindre chaque fichier PDF à une note classée dans un sujet thématique, insérer l'auteur et le titre de l'article dans le titre de la note, et insérer le résumé dans le texte de la note ou les mots clés; ainsi, il est possible de faire appel à la fonction de recherche de MyNotex pour retrouver l'article).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Écrire et conserver des archives de code source (pour les programmeurs).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Écrire et conserver des critiques de livres, de films, etc.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Recueillir de nombreux documents écrits simples (sans image, note de bas de page, titre, etc.) dans un seul fichier.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Créer une archive d'images, par exemple en ajoutant le fichier original comme pièce jointe et en incluant une version redimensionnée dans le texte des notes accompagnée d'une description.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Créer une archive de textes en ligne (articles de magazines en ligne, blogues, etc.) en les copiant à partir du navigateur.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Conserver une liste chiffrée de mots de passe.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Gérer une liste de tâches.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Partager des notes et des documents avec d'autres.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Les nouvelles fonctionnalités ajoutées dans la version 1.2.2 sont:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Copie du texte sélectionné d'une note au format LaTeX.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Envoi du texte d'une note par courriel au moyen du logiciel de messagerie par défaut.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Choix d'exporter ou non la date des notes dans le fichier d'exportation au format HTML.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Nouveaux raccourcis-clavier:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;«Ctrl+Maj+Alt+C»: copier au format LaTeX.&lt;/li&gt;
&lt;li&gt;«Ctrl+Maj+E»: envoyer comme courriel.&lt;/li&gt;
&lt;li&gt;«Ctrl+Maj+I»: insérer un fichier.&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Les autres principales fonctionnalités du logiciel sont les suivantes:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Ajout de pièces jointes (fichiers de tout type) aux notes. Les pièces jointes sont compressées et conservées dans un dossier situé dans le même emplacement que le fichier MyNotex et portant le même nom (sans l'extension), et sont gérées par le logiciel. Leur nombre n'est limité que par l'espace disque disponible.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Chiffrement du contenu des notes avec l'algorithme AES.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Recherche dans le titre des sujets, le titre et le texte des notes, le nom des pièces jointes, la date et les mots clés.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Recherche à l'aide de plusieurs mots clés (condition de type OU) ou entre deux dates.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Liste des mots clés utilisés dans le fichier en cours d'utilisation, utile pour les ajouter par double clic lors de la création d'une note ou lors d'une recherche.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Déplacement d'une note (et de ses pièces jointes, s'il y a lieu) d'un sujet à un autre.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Importation d'un sujet et de ses notes et ses pièces jointes à partir d'un autre fichier MyNotex, ou exportation vers un autre fichier.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Importation de fichiers texte ou de documents texte d'OpenOffice.org ou de LibreOffice.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Importation de notes créées avec Tomboy ou Gnote.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Ouverture du texte de la note actuelle dans OpenOffice.org ou LibreOffice (utile entre autres pour imprimer la note).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Exportation des données au format HTML, pouvant facilement être ouvert avec un traitement de texte comme OpenOffice.org ou LibreOffice.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Alignement des paragraphes et indentation des listes.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Liens entre notes.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Ajout d'une pièce jointe ou de plusieurs à la fois par glisser-déposer.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Ajout d'images (avec possibilité de redimensionnement) dans le texte d'une note; les images sont sauvegardées dans le dossier des pièces jointes.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Zoom du texte des notes avec «Ctrl + molette de souris» ou «Ctrl + +/-».&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Ajout des symboles  («Ctrl+Maj+T») et  («Ctrl+Maj+R») pour gérer une liste de choses à faire.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Ouverture du texte de la note actuelle dans le navigateur par défaut, permettant ainsi de l'imprimer.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Enfin, il est possible de synchroniser deux fichiers MyNotex différents pour faire en sorte que les modifications (ajout, modification ou suppression de sujets, de notes ou de pièces jointes) dans chacun d'eux soient répercutés dans l'autre; ainsi, à la fin du processus, les deux fichiers et leur dossier de pièces jointes sont identiques. Cette fonctionnalité permet de modifier hors ligne plusieurs fichiers MyNotex pour ensuite les synchroniser par Internet ou LAN, ou par un service d'hébergement de données dans les nuages comme Dropbox ou Ubuntu One.&lt;/p&gt;

&lt;p&gt;Un fichier MyNotex correspond à une base de données &lt;a href=&quot;http://www.sqlite.org/&quot;&gt;SQLite&lt;/a&gt;, moteur de base de données populaire dont le contenu peut être lu et exporté facilement grâce à différents outils disponibles sur Internet. La version de SQLite utilisée par MyNotex est 3.7.2-1 ou une version plus récente (disponible depuis Ubuntu 10.04), mais MyNotex devrait fonctionner également avec toute version égale ou supérieure à 3.&lt;/p&gt;

&lt;p&gt;L'utilisation de SQLite et l'absence d'une structure en arborescence pour afficher le titre des sujets et des notes démarquent MyNotex des autres logiciels de prise de notes. &lt;em&gt;MyNotex a été développé dans un soucis de gestion d'un très grand nombre de notes, même s'il peut être utilisé plus modestement pour seulement quelques notes. L'utilisation de grilles au lieu d'une structure en arborescence ainsi que du format SQLite au lieu d'un fichier XML offre une robustesse et une vitesse accrues lors de la manipulation d'une grande quantité de données.&lt;/em&gt; Cela rend MyNotex utile non seulement pour un usage personnel, mais aussi pour partager de nombreux documents au sein d'un groupe ou d'une organisation. Voir plus bas le résultat d'un test de charge.&lt;/p&gt;

&lt;p&gt;MyNotex est en anglais par défaut, mais s'il est installé à partir du paquet deb, il sera automatiquement traduit, s'il y a lieu, en allemand, en français ou en italien, selon la langue du système. Si seul l'exécutable est téléchargé, lancer MyNotex et aller dans &lt;em&gt;Tools – Set language...&lt;/em&gt; pour installer un fichier de langue disponible sur la &lt;a href=&quot;http://sites.google.com/site/mynotex/files&quot;&gt;page de téléchargement&lt;/a&gt; du site Web de Mynotex. Il est également possible d'ouvrir avec un éditeur de texte le fichier &lt;code&gt;english.lng&lt;/code&gt; (un simple fichier texte) présent dans le dossier d'installation du logiciel (&lt;code&gt;/usr/lib/mynotex&lt;/code&gt;) ou obtenu sur la &lt;a href=&quot;http://sites.google.com/site/mynotex/files&quot;&gt;page de téléchargement&lt;/a&gt;, y traduire toutes les phrases dans la langue voulue à partir de l'anglais et l'installer.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;MyNotex a été développé avec &lt;a href=&quot;http://www.lazarus.freepascal.org/&quot;&gt;Lazarus&lt;/a&gt;&lt;/strong&gt; et les composants suivants: &lt;a href=&quot;http://wiki.freepascal.org/ZVDateTimeControls_Package&quot;&gt;TDBZVDateTimePicker&lt;/a&gt;, &lt;a href=&quot;http://wiki.freepascal.org/RichMemo&quot;&gt;TRichMemo&lt;/a&gt; (version modifiée) et &lt;a href=&quot;http://wiki.lazarus.freepascal.org/DCPcrypt&quot;&gt;DCPcrypt&lt;/a&gt;. Il a été développé et testé sous Ubuntu 12.04 et compilé pour Gnome.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;MyNotex est un logiciel libre et est publié sous la Licence publique générale GNU, version 3 (http://www.gnu.org/licenses/gpl-3.0.txt).&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Le développeur (Massimo Nardello) ne prévoit pas publier de version de MyNotex pour Windows et Mac OS, et ce à cause d'un manque de temps et de ses préférences pour les logiciels libres. À tout le moins, l'EDI (environnement de développement intégré) utilisé (Lazarus) peut compiler le même code pour GNU/Linux, Windows et Mac OS. Ainsi, MyNotex peut en théorie être compilé pour ces plate-formes, mais le code devrait préalablement être revu; et la modification du composant TRichMemo, complétée.&lt;/p&gt;

&lt;p&gt;L'auteur de MyNotex tient à remercier Jean-Philippe Fleury pour sa participation au débogage du logiciel et pour ses suggestions d'amélioration.&lt;/p&gt;

&lt;h2 id=&quot;Captures-d-ecran&quot;&gt;Captures d'écran&lt;/h2&gt;

&lt;p&gt;Voici une capture d'écran de la version actuelle de MyNotex:&lt;/p&gt;

&lt;p class=&quot;centre&quot;&gt;&lt;a class=&quot;sansDecoration&quot; href=&quot;http://www.jpfleury.net/site/fichiers/mynotex/mynotex-grand.png&quot;&gt;&lt;img class=&quot;sansBordure&quot; src=&quot;http://www.jpfleury.net/site/fichiers/mynotex/mynotex-petit.png&quot; width=&quot;640&quot; height=&quot;487&quot; alt=&quot;Interface de MyNotex&quot; /&gt;&lt;br /&gt;
Cliquer sur l'image pour l'agrandir&lt;/a&gt;&lt;/p&gt;

&lt;div class=&quot;blocAvecFond blocArrondi&quot;&gt;
    &lt;span class=&quot;licence&quot;&gt;&lt;a href=&quot;http://www.gnu.org/licenses/gpl.html&quot;&gt;&lt;img src=&quot;http://www.jpfleury.net/fichiers/licence-gnu-gpl-80x15.png&quot; width=&quot;80&quot; height=&quot;15&quot; alt=&quot;Licence publique générale de GNU, version 3 ou toute version ultérieure&quot; /&gt;&lt;/a&gt; Mis à disposition sous la &lt;a href=&quot;http://www.gnu.org/licenses/gpl.html&quot;&gt;licence publique générale de GNU, version 3 ou toute version ultérieure&lt;/a&gt;.&lt;/span&gt;
&lt;/div&gt;

&lt;p&gt;&lt;a href=&quot;http://sites.google.com/site/mynotex/#TOC-Screenshots&quot;&gt;Voir d'autres captures d'écran de MyNotex.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Voici une vidéo de démonstration d'une ancienne version de MyNotex&lt;/strong&gt; (version 1.1.1), créée par Jean-Philippe Fleury:&lt;/p&gt;

&lt;div class=&quot;video&quot;&gt;
&lt;!--[if !IE]&gt; --&gt;
  &lt;object type=&quot;application/x-shockwave-flash&quot; data=&quot;http://www.youtube.com/v/HVrNk5jelfo?fs=1&amp;amp;hl=fr_FR&amp;amp;cc_load_policy=1&quot; width=&quot;480&quot; height=&quot;385&quot;&gt;
&lt;!-- &lt;![endif]--&gt;
&lt;!--[if IE]&gt;
  &lt;object classid=&quot;clsid:D27CDB6E-AE6D-11cf-96B8-444553540000&quot; codebase=&quot;http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0&quot; width=&quot;480&quot; height=&quot;385&quot;&gt;
    &lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/HVrNk5jelfo?fs=1&amp;amp;hl=fr_FR&amp;amp;cc_load_policy=1&quot; /&gt;
&lt;!--&gt;&lt;!-- http://Validifier.com --&gt;
  &lt;/object&gt;
&lt;!-- &lt;![endif]--&gt;
&lt;/div&gt;

&lt;!-- /.video --&gt;

&lt;div class=&quot;blocAvecFond blocArrondi&quot;&gt;
    &lt;p&gt;&lt;span class=&quot;licence&quot;&gt;&lt;a href=&quot;http://www.gnu.org/licenses/gpl.html&quot;&gt;&lt;img src=&quot;http://www.jpfleury.net/fichiers/licence-gnu-gpl-80x15.png&quot; width=&quot;80&quot; height=&quot;15&quot; alt=&quot;Licence publique générale de GNU, version 3 ou toute version ultérieure&quot; /&gt;&lt;/a&gt; Mis à disposition sous la &lt;a href=&quot;http://www.gnu.org/licenses/gpl.html&quot;&gt;licence publique générale de GNU, version 3 ou toute version ultérieure&lt;/a&gt;.&lt;/span&gt;&lt;/p&gt;
    
    &lt;p&gt;&lt;a href=&quot;$urlFichiers/mynotex/video-mynotex.zip&quot;&gt;Télécharger la vidéo originale au format Theora ainsi que les sous-titres (24&amp;nbsp;Mio).&lt;/a&gt;&lt;/p&gt;
    
    &lt;div class=&quot;codeVideo&quot;&gt;
        &lt;p class=&quot;bDtitre&quot;&gt;Insérer cette vidéo sur votre site:&lt;/p&gt;
        
        &lt;div class=&quot;bDcorps gauche&quot;&gt;
            &lt;pre&gt;&lt;code&gt;&amp;lt;!--[if !IE]&amp;gt; --&amp;gt;
      &amp;lt;object type=&quot;application/x-shockwave-flash&quot; data=&quot;http://www.youtube.com/v/HVrNk5jelfo?fs=1&amp;amp;amp;hl=fr_FR&amp;amp;amp;cc_load_policy=1&quot; width=&quot;480&quot; height=&quot;385&quot;&amp;gt;
    &amp;lt;!-- &amp;lt;![endif]--&amp;gt;
    &amp;lt;!--[if IE]&amp;gt;
      &amp;lt;object classid=&quot;clsid:D27CDB6E-AE6D-11cf-96B8-444553540000&quot; codebase=&quot;http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0&quot; width=&quot;480&quot; height=&quot;385&quot;&amp;gt;
          &amp;lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/HVrNk5jelfo?fs=1&amp;amp;amp;hl=fr_FR&amp;amp;amp;cc_load_policy=1&quot; /&amp;gt;
    &amp;lt;!--&amp;gt;&amp;lt;!-- http://Validifier.com --&amp;gt;
      &amp;lt;/object&amp;gt;
    &amp;lt;!-- &amp;lt;![endif]--&amp;gt;&lt;/code&gt;&lt;/pre&gt;
        &lt;/div&gt;
    &lt;/div&gt;
&lt;/div&gt;

&lt;h2 id=&quot;Aide-et-contacts&quot;&gt;Aide et contacts&lt;/h2&gt;

&lt;p&gt;Pour poser des questions, partager des idées ou rapporter des bogues au sujet de MyNotex, il est possible de visiter le &lt;a href=&quot;http://groups.google.com/forum/#!forum/mynotex&quot;&gt;forum en ligne&lt;/a&gt; ou de s'y inscrire. Ce forum est géré par Jean-Philippe Fleury. Les messages peuvent être écrits en anglais ou en français.&lt;/p&gt;

&lt;p&gt;Pour contacter l'auteur de MyNotex, écrire à ms.nardello &amp;#95;arobas&amp;#95; gmail &amp;#95;point&amp;#95; com. 
Cependant, ne pas le contacter pour du support sur l'installation ou l'utilisation du logiciel, car il ne peut malheureusement pas répondre individuellement à chaque demande.&lt;/p&gt;

&lt;h2 id=&quot;Ameliorations&quot;&gt;Améliorations&lt;/h2&gt;

&lt;p&gt;La &lt;a href=&quot;http://sites.google.com/site/mynotex/improvements&quot;&gt;page des améliorations&lt;/a&gt; liste les nouvelles fonctionnalités ajoutées au fil des versions de MyNotex.&lt;/p&gt;

&lt;h2 id=&quot;Articles&quot;&gt;Articles&lt;/h2&gt;

&lt;p&gt;La &lt;a href=&quot;http://sites.google.com/site/mynotex/reviews&quot;&gt;page des articles&lt;/a&gt; liste les revues du logiciel publiées en ligne.&lt;/p&gt;

&lt;h2 id=&quot;Demandes&quot;&gt;Demandes&lt;/h2&gt;

&lt;p&gt;La &lt;a href=&quot;http://sites.google.com/site/mynotex/wish-list&quot;&gt;page des demandes&lt;/a&gt; liste les fonctionnalités suggérées qui seront implémentées dans MyNotex.&lt;/p&gt;

&lt;h2 id=&quot;Rapports-de-bogue&quot;&gt;Rapports de bogue&lt;/h2&gt;

&lt;p&gt;La &lt;a href=&quot;http://sites.google.com/site/mynotex/bugs-report&quot;&gt;page des rapports de bogue&lt;/a&gt; liste les problèmes connus de la version actuelle de MyNotex et qui seront résolus dans la prochaine version.&lt;/p&gt;

&lt;h2 id=&quot;Telechargement&quot;&gt;Téléchargement&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;La dernière version stable de MyNotex est la 1.2.1, publiée le 8 mai 2012.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;La &lt;a href=&quot;http://sites.google.com/site/mynotex/files&quot;&gt;page de téléchargement&lt;/a&gt; offre les fichiers suivants:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Un paquet deb pour installer MyNotex sur Ubuntu, Debian ou des distributions fondées sur cette dernière.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Une archive contenant le fichier exécutable du programme, permettant d'utiliser MyNotex sur les autres distributions (télécharger l'archive, l'extraire, rendre exécutable le fichier, copier ce dernier dans le dossier voulu et le lancer; SQLite &gt;= 3 doit être installé).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Les fichiers de langue pour l'allemand, le français et l'italien (utiles seulement pour une installation de MyNotex sur des distributions non fondées sur Debian).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Le manuel d'utilisation de MyNotex (allemand, anglais, français, italien) au format PDF.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Le code source de MyNotex et du composant TRichMemo modifié.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Les paquets deb ainsi que le fichier exécutable sont disponibles en 32-bit et 64-bit.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Aller à la &lt;a href=&quot;http://sites.google.com/site/mynotex/files&quot;&gt;page de téléchargement&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&quot;Test-de-charge&quot;&gt;Test de charge&lt;/h2&gt;

&lt;p&gt;Pour tester la réactivité de MyNotex (version 1.0.6) avec une grande quantité de données, un fichier de 100000 notes a été créé grâce à un logiciel et a ensuite été divisé en 100 sujets (1000 notes par sujet); chaque note était composée d'un texte d'environ 15000 caractères, équivalant à quatre pages pleines au format A4 (totalisant un milliard et demi de caractères). Bien que le fichier avait une taille d'environ 1,5 Gio, le logiciel avait encore un bon temps de réponse, sauf pour la recherche dans le texte des notes, qui a pris environ 25 secondes. L'ordinateur utilisé pour le test est un portable muni d'un processeur Intel Core i5 et de 4 Gio de mémoire vive.&lt;/p&gt;
																						
															</description>
			<dc:creator>Jean-Philippe Fleury</dc:creator>
			<pubDate>Tue, 28 Dec 2010 00:00:00 -0500</pubDate>
		</item>

		<item>
			<title>Une installation optimisée de Drupal</title>
			<link>http://www.jpfleury.net/tutoriels/installation-optimisee-de-drupal.php</link>
			<guid isPermaLink="false">2012-07-21 23:34;http://www.jpfleury.net/tutoriels/installation-optimisee-de-drupal.php</guid>
			<description>
															&lt;!-- APERÇU: automatique --&gt;							
&lt;p&gt;Quelques pistes pour une installation optimisée de Drupal 6. Il s'agit d'un brouillon, une sorte de mémo, et il faudrait bien que je prenne le temps de faire du gros ménage là-dedans et d'en faire un tutoriel un peu plus abouti.&lt;/p&gt;

&lt;h2&gt;La base&lt;/h2&gt;

&lt;p&gt;Premièrement, on récupère la dernière version de Drupal. On trouvera le lien sur &lt;a href=&quot;http://drupalfr.org/&quot;&gt;l'accueil de Drupal francophone&lt;/a&gt;. Ensuite on &lt;a href=&quot;http://drupal.org/project/fr&quot;&gt;télécharge les fichiers pour le français&lt;/a&gt;. Une fois les deux archives extraites, on fusionne les dossiers, ce qui donne par exemple &lt;code&gt;cp -R fr-6.x-1.0/. drupal-6.9&lt;/code&gt;. On installe le tout sur son serveur.&lt;/p&gt;

&lt;h2&gt;La configuration et les modules à ajouter&lt;/h2&gt;

&lt;p&gt;On a une installation de base de Drupal. Il va falloir ajouter ou configurer plusieurs modules pour modeler Drupal à notre convenance.&lt;/p&gt;

&lt;h3&gt;Option &lt;em&gt;URLs simplifiées&lt;/em&gt;&lt;/h3&gt;

&lt;p&gt;On active les URL simplifiées, option disponible par défaut dans Drupal.&lt;/p&gt;

&lt;p&gt;On passe donc maintenant de liens &lt;code&gt;?q=node/1&lt;/code&gt; à des liens &lt;code&gt;node/83&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;Choisir entre conserver ou supprimer les www&lt;/h3&gt;

&lt;p&gt;Le contenu dupliqué est le fait qu'un même contenu puisse être accessible par plus d'une URL. C'est le cas par exemple si un site présente le même contenu sur exemple.com et www.exemple.com. Les moteurs de recherche essaient de réduire le contenu dupliqué dans leurs résultats. Par exemple, s'il y a du contenu dupliqué reconnu par Google, ce dernier affiche à la dernière page de résultats une phrase de ce type:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Pour limiter les résultats aux pages les plus pertinentes (total : 128), Google a ignoré certaines pages à contenu similaire.
  Si vous le souhaitez, vous pouvez relancer la recherche en incluant les pages ignorées.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;C'est mieux de choisir soi-même. Commençons par choisir entre un site avec www ou un site sans www. Dans le .htaccess de Drupal, il y a une section qu'on peut décommenter. Voir ce qui suit ce paragraphe:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;# If your site can be accessed both with and without the 'www.' prefix, you
# can use one of the following settings to redirect users to your preferred
# URL, either WITH or WITHOUT the 'www.' prefix. Choose ONLY one option:
&lt;/code&gt;&lt;/pre&gt;

&lt;h3&gt;Page title&lt;/h3&gt;

&lt;p&gt;Le &lt;a href=&quot;http://drupal.org/project/page_title&quot;&gt;module Page Title&lt;/a&gt; permet de personnaliser pour chaque page le contenu de la balise &lt;code&gt;title&lt;/code&gt; dans l'en-tête HTML de notre page. Par exemple, on peut saisir soi-même le contenu, faire ajouter automatiquement le terme associé, etc. Dans ce dernier cas, s'il n'y a pas de terme, plusieurs séparateurs peuvent se suivre. Par exemple, si on met &lt;code&gt;[page-title] | [term] | [site-name]&lt;/code&gt; comme contenu de la balise &lt;code&gt;title&lt;/code&gt; et qu'il n'y a pas de terme, on va obtenir comme titre &lt;code&gt;Mon titre | | Mon site&lt;/code&gt;. J'ai fait un rapport de bogue à ce sujet: &lt;a href=&quot;http://drupal.org/node/386014&quot;&gt;http://drupal.org/node/386014&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Pour ajouter la pagination dans le titre, voir la demande &lt;a href=&quot;http://drupal.org/node/224262&quot;&gt;http://drupal.org/node/224262&lt;/a&gt; et le code proposé. En espérant que le correctif soit intégré au module Token bientôt.&lt;/p&gt;

&lt;p&gt;À noter que ce module dépend du &lt;a href=&quot;http://drupal.org/project/token&quot;&gt;module Token&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;Meta tags&lt;/h3&gt;

&lt;p&gt;Le &lt;a href=&quot;http://drupal.org/project/nodewords&quot;&gt;module Meta tags&lt;/a&gt; permet de personnaliser plusieurs métabalises, dont &lt;code&gt;keywords&lt;/code&gt; et &lt;code&gt;description&lt;/code&gt;. Bien sûr le référencement ne repose plus sur les métabalises, mais il peut y avoir un intérêt quand même. Par exemple, le contenu de la balise &lt;code&gt;description&lt;/code&gt; est souvent affiché dans les résultats des moteurs de recherche. Il y a donc un intérêt à la soigner. Pour sa part, la balise &lt;code&gt;keywords&lt;/code&gt; pourrait permettre, si son contenu est personnalisé, d'éviter que certaines pages ayant un contenu ressemblant soient considérées comme du contenu dupliqué.&lt;/p&gt;

&lt;p&gt;Pour la pagination (page 1, page 2, etc.), ce module met pour l'instant &lt;code&gt;noindex&lt;/code&gt;. Dans mon cas, ce n'est pas adapté parce que je mets une description de la catégorie sur ces pages. Voir &lt;a href=&quot;http://drupal.org/node/294996&quot;&gt;http://drupal.org/node/294996&lt;/a&gt;, en espérant qu'un correctif soit apporté bientôt.&lt;/p&gt;

&lt;h3&gt;Pathauto&lt;/h3&gt;

&lt;p&gt;Le &lt;a href=&quot;http://drupal.org/project/pathauto&quot;&gt;module Pathauto&lt;/a&gt; permet d'obtenir des URL plus parlantes, par exemple &lt;code&gt;ouverture-de-mon-site&lt;/code&gt; au lieu de &lt;code&gt;node/1&lt;/code&gt;. À noter que ce module dépend du module Path (livré par défaut avec un Drupal de base).&lt;/p&gt;

&lt;p&gt;Il est recommandé d'installer en complément le module Path redirect.&lt;/p&gt;

&lt;p&gt;Note: pour que la redirection de flux RSS fonctionne, il faut mettre &lt;code&gt;0/feed&lt;/code&gt; dans le champ «Internal feed alias text (leave blank to disable) :». Voir &lt;a href=&quot;http://drupal.org/node/263199&quot;&gt;Taxonomy term path feed problem&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;Path redirect&lt;/h3&gt;

&lt;p&gt;Le &lt;a href=&quot;http://drupal.org/project/path_redirect&quot;&gt;module Path redirect&lt;/a&gt; permet de rediriger d'anciennes adresses vers les nouvelles dans le cas où on modifie l'URL d'une page. Quand le module Pathauto est également installé, ce dernier peut être configuré pour faire automatiquement les redirections.&lt;/p&gt;

&lt;h3&gt;Global Redirect&lt;/h3&gt;

&lt;p&gt;Le &lt;a href=&quot;http://drupal.org/project/globalredirect&quot;&gt;module Global Redirect&lt;/a&gt; s'assure qu'il n'y a pas de page ayant deux adresses différentes. Si une page est accessible par exemple par &lt;code&gt;node/1&lt;/code&gt; et &lt;code&gt;ouverture-de-mon-site&lt;/code&gt;, le module va effectuer une redirection 301 de la première adresse vers la seconde.&lt;/p&gt;

&lt;h3&gt;Formulaire de contact&lt;/h3&gt;

&lt;p&gt;Maintenant on ajoute un forumlaire de contact en activant le module Contact, livré par défaut avec Drupal.&lt;/p&gt;

&lt;h3&gt;GeSHi Filter (coloration syntaxique)&lt;/h3&gt;

&lt;p&gt;Si vous voulez ajouter proprement du code source sur vos pages, le &lt;a href=&quot;http://drupal.org/project/geshifilter&quot;&gt;module GeShi Filter&lt;/a&gt; permet d'activer la coloration syntaxique pour du code.&lt;/p&gt;

&lt;h3&gt;Markdown filter&lt;/h3&gt;

&lt;p&gt;Si vous voulez utiliser la syntaxe Markdown dans vos pages, installez le &lt;a href=&quot;http://drupal.org/project/markdown&quot;&gt;module Markdown filter&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note: si on active GeSHi Filter et Markdown filter, il faut bien faire attention à ce que le filtre Markdown soit analysé avant le filtre GeSHi.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;Mailhandler&lt;/h3&gt;

&lt;p&gt;Si vous voulez créer du contenu par courriel, installez le &lt;a href=&quot;http://drupal.org/project/mailhandler&quot;&gt;module Mailhandler&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;Mailsave&lt;/h3&gt;

&lt;p&gt;Le &lt;a href=&quot;http://drupal.org/project/mailsave&quot;&gt;module Mailsave&lt;/a&gt; est un complément à Mailhandler. Il permet entre autres de créer automatiquement des fichiers attachés aux pages créées par Mailhandler selon les pièces jointes au courriel.&lt;/p&gt;

&lt;p&gt;À noter qu'on doit aussi activer le module Upload (qui est livré par défaut avec Drupal), étant donné que Mailsave se base sur les droits définis pour ce module.&lt;/p&gt;

&lt;h3&gt;CustomError&lt;/h3&gt;

&lt;p&gt;Le &lt;a href=&quot;http://drupal.org/project/customerror&quot;&gt;module CustomError&lt;/a&gt; permet de configurer les pages d'erreur 403 et 404 sans avoir à créer de noeud spécial.&lt;/p&gt;

&lt;p&gt;Ne pas oublier d'aller sur la page &lt;code&gt;admin/settings/error-reporting&lt;/code&gt; et configurer les adresses comme ceci:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;customerror/403
customerror/404
&lt;/code&gt;&lt;/pre&gt;

&lt;h3&gt;XML Sitemap&lt;/h3&gt;

&lt;p&gt;Le module XML Sitemap permet de générer automatiquement un plan du site.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note: en date du 17 février 2009, ce module est encore en version de développement pour Drupal 6.&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;CCK&lt;/h3&gt;

&lt;p&gt;Le &lt;a href=&quot;http://drupal.org/project/cck&quot;&gt;module CCK&lt;/a&gt; est quasiment un incontournable. Il permet d'ajouter des champs selon nos besoins, donc de créer ou de configurer des types de contenu.&lt;/p&gt;

&lt;h3&gt;Views&lt;/h3&gt;

&lt;p&gt;Le &lt;a href=&quot;http://drupal.org/project/views&quot;&gt;module Views&lt;/a&gt; est le compagnon de CCK. Il permet de créer selon des critères précis des listes de contenu. Ensuite, on peut utiliser ces listes pour former notre page d'accueil, des pages de section, des blocs, etc.&lt;/p&gt;

&lt;h3&gt;Advanced Help&lt;/h3&gt;

&lt;p&gt;Pour profiter d'une aide avancée de Views, il faut installer le &lt;a href=&quot;http://drupal.org/project/advanced_help&quot;&gt;module Advanced Help&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;Insert View&lt;/h3&gt;

&lt;p&gt;Le &lt;a href=&quot;http://drupal.org/project/insert_view&quot;&gt;module Insert View&lt;/a&gt; permet d'insérer des vues (générées par le module Views) dans du contenu sans devoir passer par du code PHP. Exemple: &lt;code&gt;[view:nom]&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;robots.txt&lt;/h3&gt;

&lt;p&gt;Si nécessaire, personnaliser ce fichier (oui, il faudrait que je développe un peu plus :)).&lt;/p&gt;

&lt;h3&gt;filter_default&lt;/h3&gt;

&lt;p&gt;À faire.&lt;/p&gt;

&lt;h3&gt;Comment mail&lt;/h3&gt;

&lt;p&gt;Le &lt;a href=&quot;http://drupal.org/project/commentmail&quot;&gt;module Comment mail&lt;/a&gt; permet de recevoir un courriel à chaque nouveau commentaire posté sur le site.&lt;/p&gt;

&lt;h3&gt;Comment Notify&lt;/h3&gt;

&lt;p&gt;Le &lt;a href=&quot;http://drupal.org/project/comment_notify&quot;&gt;module Comment Notify&lt;/a&gt; ajoute une option dans le formulaire de commentaire pour permettre aux internautes de s'abonner aux réponses à leur commentaire ou de s'abonner à tous les nouveaux commentaires de l'article.&lt;/p&gt;

&lt;h3&gt;Captcha&lt;/h3&gt;

&lt;p&gt;Le &lt;a href=&quot;http://drupal.org/project/captcha&quot;&gt;module Captcha&lt;/a&gt; permet d'éviter le pourriel dans les commentaires.&lt;/p&gt;

&lt;h3&gt;Pagination&lt;/h3&gt;

&lt;p&gt;Le &lt;a href=&quot;http://drupal.org/project/pagination&quot;&gt;module Pagination&lt;/a&gt; permet de paginer de longues pages. Cependant, ce module incrémente déjà la variable GET page, ce qui entre en conflit avec le correctif que j'ai appliqué à Drupal pour faire la même chose. Voir le rapport &lt;a href=&quot;http://drupal.org/node/386154&quot;&gt;http://drupal.org/node/386154&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;Optimiser la structure des pages&lt;/h3&gt;

&lt;p&gt;Par défaut, la plupart des thèmes mettent le titre du site dans une balise &lt;code&gt;h1&lt;/code&gt; et le titre de la page (ou du noeud) dans une balise &lt;code&gt;h2&lt;/code&gt;. À changer. Le titre du site devrait être dans une &lt;code&gt;div&lt;/code&gt; et le titre de page dans un &lt;code&gt;h1&lt;/code&gt;. Sur la page d'accueil, c'est pas une mauvaise idée de mettre le titre de site exceptionnellement dans un &lt;code&gt;h1&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;Faire débuter le numéro de la pagination à 1 et non 0&lt;/h3&gt;

&lt;p&gt;Par exemple, le lien vers la deuxième page est ?page=1, mais ça devrait plutôt être ?page=2. J'ai soumis un &lt;a href=&quot;http://drupal.org/node/385270&quot;&gt;correctif pour le fichier includes/pager.inc&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;Term Fields et afficher la description des termes de taxonomie seulement sur la première page&lt;/h3&gt;

&lt;p&gt;Par défaut, ce n'est pas vraiment possible d'avoir une page personnalisée pour la page d'index des termes de taxonomie. Par exemple, la page &lt;code&gt;/taxonomy/term/id&lt;/code&gt; va lister les noeuds faisant partie de ce terme, avec possiblement la description dans le haut si cette information a été remplie. Si la description s'affiche, elle va s'affiche pour toutes les pages (donc sur la page 1, page 2, page 3, etc.). Si on veut écrire une grande description, ce n'est pas adapté. Ce que je propose, c'est donc de faire afficher la description complète sur la première page, et seulement un petit résumé sur les pages suivantes.&lt;/p&gt;

&lt;p&gt;On va donc installer le &lt;a href=&quot;http://drupal.org/project/term_fields&quot;&gt;module Term Fields&lt;/a&gt;, qui va nous permettre d'ajouter des champs personnalisés aux termes. On va donc installer ce module et ajouter un champ résumé, qu'on va faire afficher seulement sur les pages supérieures à 1. Pour ce faire, on peut ajouter par exemple la fonciton suivante dans notre fichier &lt;code&gt;template.php&lt;/code&gt;:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;/* Afficher la description des termes de taxonomie seulement sur la première page, et afficher le résumé sur les pages subséquentes */

/**
 * Render a taxonomy term page HTML output.
 *
 * @param $tids
 *   An array of term ids.
 * @param $result
 *   A pager_query() result, such as that performed by taxonomy_select_nodes().
 *
 * @ingroup themeable
 */
function phptemplate_taxonomy_term_page($tids, $result) {
  drupal_add_css(drupal_get_path('module', 'taxonomy') .'/taxonomy.css');

  $output = '';

  // Only display the description if we have a single term, to avoid clutter and confusion.
  if (count($tids) == 1) {
    $term = taxonomy_get_term($tids[0]);
    $description = $term-&amp;gt;description;

    // Check that a description is set.
    if (!empty($description)) {
      $output .= '&amp;lt;div class=&quot;taxonomy-term-description&quot;&amp;gt;';
      // Si on se trouve sur la première page, on affiche la description complète
      if (empty($_GET['page'])) {
        $output .= '&amp;lt;p class=&quot;legende&quot;&amp;gt;&amp;lt;span&amp;gt;Description de la catégorie &amp;lt;em&amp;gt;' . $term-&amp;gt;name . '&amp;lt;/em&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;div class=&quot;taxonomy-term-description-contenu&quot;&amp;gt;';
        $output .= filter_xss_admin($description);
        $output .= '&amp;lt;/div&amp;gt;';
      }

      // Sinon on affiche seulement le résumé.
      else {
        $output .= '&amp;lt;p class=&quot;legende&quot;&amp;gt;&amp;lt;span&amp;gt;Résumé de la catégorie &amp;lt;em&amp;gt;' . $term-&amp;gt;name . '&amp;lt;/em&amp;gt;&amp;lt;/span&amp;gt;&amp;lt;/p&amp;gt;&amp;lt;div class=&quot;taxonomy-term-description-contenu&quot;&amp;gt;';
        $output .= term_fields_get_field($term-&amp;gt;tid, 'resume');
        $output .= l ('&amp;lt;p class=&quot;taxonomy-term-description-contenu-plus&quot;&amp;gt;En savoir plus sur la catégorie &amp;lt;em&amp;gt;' . $term-&amp;gt;name . '&amp;lt;/em&amp;gt;...&amp;lt;/p&amp;gt;', taxonomy_term_path($term), array('html' =&amp;gt; TRUE));
        $output .= '&amp;lt;/div&amp;gt;';
      }

      $output .= '&amp;lt;/div&amp;gt;';
    }
  }

  $output .= taxonomy_render_nodes($result);

  return $output;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Et un style qui l'accompagne:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;/* Description des termes de taxonomie */

div.taxonomy-term-description {
    margin-top: 1.5em;
    border: 1px solid #eee;
}

p.legende {
    margin-top: -0.8em;
    margin-left: 10px;
    float: left;
}

p.legende span
{
    padding: 0px 10px;
    background-color: #fff;
    font-weight: bold;
}

div.taxonomy-term-description-contenu {
    clear: left;
    padding: 10px 0 10px 10px;
}

p.taxonomy-term-description-contenu-plus {
    margin-top: 10px;
}
&lt;/code&gt;&lt;/pre&gt;

&lt;h3&gt;Syndication&lt;/h3&gt;

&lt;p&gt;Le &lt;a href=&quot;http://drupal.org/project/syndication&quot;&gt;module Syndication&lt;/a&gt; permet de créer une page recenssant tous les flux RSS du site. On peut également générer des flux RSS en mariant plusieurs termes.&lt;/p&gt;

&lt;h3&gt;Taxonomy Menu&lt;/h3&gt;

&lt;p&gt;Le &lt;a href=&quot;http://drupal.org/project/taxonomy_menu&quot;&gt;module Taxonomy Menu&lt;/a&gt; permet d'ajouter dans un menu une liste de terme pour chaque vocabulaire.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Note: j'utilisais avant le &lt;a href=&quot;http://drupal.org/project/taxonomy_blocks&quot;&gt;module Taxonomy Blocks&lt;/a&gt;, qui permet de créer un menu listant chaque terme d'un vocabulaire (optionnellement, on peut faire afficher entre parenthèses le nombre d'éléments de chaque terme). Cependant, dû à un certains nombre de bogues, dont le problème de non-génération des classes habituelles pour les listes (par exemple &lt;code&gt;leaf first&lt;/code&gt;), j'ai changé pour le module Taxonomy Menu.&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;Piwik - Web analytics&lt;/h3&gt;

&lt;p&gt;Le &lt;a href=&quot;http://drupal.org/project/piwik&quot;&gt;module Piwik - Web analytics&lt;/a&gt; permet d'ajouter le code nécessaire au suivi statistique des visites à l'aide du logiciel &lt;a href=&quot;http://piwik.org/&quot;&gt;Piwik&lt;/a&gt; (que l'on doit installer à part).&lt;/p&gt;

&lt;h3&gt;Node Hierarchy&lt;/h3&gt;

&lt;p&gt;Le &lt;a href=&quot;http://drupal.org/project/nodehierarchy&quot;&gt;module Node Hierarchy&lt;/a&gt; permet de créer facilement une hiérarchie entre les pages, par exemple en assignant telle page enfant de telle autre page parente. On peut configurer pathauto pour que l'URL reflète la hiérarchie, et on peut également faire créer automatiquement le menu hiérarchisé.&lt;/p&gt;

&lt;h3&gt;Menu block&lt;/h3&gt;

&lt;p&gt;Le &lt;a href=&quot;http://drupal.org/project/menu_block&quot;&gt;module Menu block&lt;/a&gt; permet d'ajouter un bloc qui reflète le menu dans lequel la page courante fait partie.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Note: le &lt;a href=&quot;http://drupal.org/project/local_menu&quot;&gt;module Local Menu&lt;/a&gt; permet de réaliser la même chose, mais pour seulement un bloc, alors que Menu block permet de créer autant de bloc qu'on veut.&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;Table of Contents&lt;/h3&gt;

&lt;p&gt;Le &lt;a href=&quot;http://drupal.org/project/tableofcontents&quot;&gt;module Table of Contents&lt;/a&gt; permet de générer une table des matières d'une page en se basant sur les titres HTML de niveau 1 à 6.&lt;/p&gt;

&lt;h3&gt;Search config&lt;/h3&gt;

&lt;p&gt;Le &lt;a href=&quot;http://drupal.org/project/search_config&quot;&gt;module Search config&lt;/a&gt; permet de configurer les options dans la recherche avancée (et plus).&lt;/p&gt;

&lt;h2&gt;Autres modules potentiellement utiles&lt;/h2&gt;

&lt;h3&gt;Taxonomy Title&lt;/h3&gt;

&lt;p&gt;Le &lt;a href=&quot;http://drupal.org/project/taxonomy_title&quot;&gt;module Taxonomy Title&lt;/a&gt; permet de configurer le titre (contenu de la balise h1 ou h2 selon les thèmes) pour les pages d'index de chaque terme.&lt;/p&gt;

&lt;h3&gt;SiteMenu&lt;/h3&gt;

&lt;p&gt;Le &lt;a href=&quot;http://drupal.org/project/sitemenu&quot;&gt;module SiteMenu&lt;/a&gt; permet de générer une page listant tous les noeuds classés par catégorie.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Note: en date du 7 mars 2009, ce module est encore en version de développement pour Drupal 6.&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;À tester plus tard&lt;/h2&gt;

&lt;h3&gt;Taxonomy redirect&lt;/h3&gt;

&lt;p&gt;Le &lt;a href=&quot;http://drupal.org/project/taxonomy_redirect&quot;&gt;module Taxonomy redirect&lt;/a&gt; permet de changer l'adresse de taxonomie, mais ne permet pas encore une redirection automatique de l'ancienne adresse par défaut de Drupal vers la nouvelle.&lt;/p&gt;

&lt;h2&gt;À faire&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Avoir des URL simplifiées aussi pour la pagination, donc se débarrasser des &lt;code&gt;?page=&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

																						
															</description>
			<pubDate>Sat, 21 Jul 2012 23:34:00 -0400</pubDate>
		</item>

		<item>
			<title>Motus: protéger ses informations importantes en les chiffrant</title>
			<link>http://www.jpfleury.net/logiciels/motus.php</link>
			<guid isPermaLink="false">2012-07-21 23:34;http://www.jpfleury.net/logiciels/motus.php</guid>
			<description>
															&lt;!-- APERÇU: automatique --&gt;							&lt;h2&gt;Aperçu&lt;/h2&gt;

&lt;p&gt;Motus est un logiciel permettant de chiffrer et déchiffrer rapidement un fichier texte sur un système GNU/Linux. Il est particulièrement utile pour sauvegarder des mots de passe et des identifiants de connexion.&lt;/p&gt;

&lt;p&gt;Une coloration syntaxique est offerte pour l'éditeur de texte gedit. Ainsi, les informations peuvent facilement être mises en valeur visuellement.&lt;/p&gt;

&lt;p&gt;Motus a vu le jour pour proposer une alternative à la plupart des logiciels de gestion de mots de passe qui ont une structure définie à l'avance et qui empêchent ainsi l'utilisateur d'entrer et d'ordonner ses informations comme il le souhaite.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://jpfleury.indefero.net/p/motus/source/tree/master/doc/exemple1.png&quot; width=&quot;685&quot; height=&quot;704&quot; alt=&quot;Coloration syntaxique de Motus dans gedit.&quot; /&gt;&lt;/p&gt;

&lt;h2&gt;Dépendances&lt;/h2&gt;

&lt;p&gt;Motus est développé en langage Shell (Bash). Les dépendances logicielles sont les suivantes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;coreutils&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;openssl&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;secure-delete&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;zenity&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Les logiciels qui suivent ne sont pas obligatoires, mais sont suggérés pour tirer profit pleinement des fonctionnalités de Motus:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;alltray&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;gedit&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;xdg-utils&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Installation&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://jpfleury.indefero.net/p/motus/source/download/master/&quot;&gt;Télécharger l'archive de la dernière version.&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Extraire l'archive.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Ouvrir une console dans le dossier extrait.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Dans la console, lancer le script d'installation en mode superutilisateur, ce qui donne (sous Ubuntu):&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;sudo ./scripts.sh installer
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Le dossier créé par l'extraction de l'archive peut être effacé ou mis à la corbeille après l'installation.&lt;/p&gt;

&lt;h2&gt;Désinstallation&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Ouvrir une console dans le dossier extrait.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Dans la console, lancer le script de désinstallation en mode superutilisateur, ce qui donne (sous Ubuntu):&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;sudo ./scripts.sh desinstaller
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Utilisation&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Une entrée pour lancer Motus est ajoutée dans la section &lt;em&gt;Accessoires&lt;/em&gt; du menu principal. Motus peut également être lancé en ligne de commande:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;motus
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Le fichier de configuration global est &lt;code&gt;/usr/share/motus/config.inc.sh&lt;/code&gt;. La configuration peut être personnalisée pour l'utilisateur courant dans &lt;code&gt;~/.motus/config.inc.sh&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Un exécutable &lt;code&gt;gedit-unique&lt;/code&gt; est créé dans &lt;code&gt;/usr/bin/&lt;/code&gt;. Il s'agit du script utilisé par défaut par Motus pour lancer l'éditeur de texte, mais ce script peut être utilisé en dehors de Motus. Il lance une instance de gedit avec un dossier temporaire unique, ce qui permet d'isoler le fichier ouvert dans cette instance (les prochains fichiers ouverts en passant par le gestionnaire de fichiers ou par la ligne de commande ne le seront jamais dans cette instance).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Le chiffrement utilisé est l'AES-256 en mode CBC (voir &lt;a href=&quot;http://fr.wikipedia.org/wiki/Standard_de_chiffrement_avanc%C3%A9&quot;&gt;Standard de chiffrement avancé&lt;/a&gt;).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Le chemin du fichier chiffré est défini dans cet ordre:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Il peut être précisé en entrée standard lors du lancement de Motus, par exemple:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;echo &quot;/chemin/vers/le/fichier/chiffré&quot; | motus
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Si l'entrée standard est vide, la valeur de la variable &lt;code&gt;$fichierChiffre&lt;/code&gt; du fichier de configuration de l'utilisateur courant est utilisée.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Si cette variable est vide, un chemin est automatiquement généré:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;~/.motus/[A-Za-z0-9]{10}
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Le nom du fichier est composé de 10 caractères alphanumériques choisis au hasard. Une boîte de dialogue va s'ouvrir pour demander à l'utilisateur s'il veut créer un nouveau fichier à l'emplacement généré automatiquement ou à un emplacement personnalisé, ou s'il veut sélectionner un fichier déjà existant.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Le chemin du fichier déchiffré est le suivant:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;/run/shm/motus-[A-Za-z0-9]{10}/NOM_DU_FICHIER_CHIFFRÉ.motus
&lt;/code&gt;&lt;/pre&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;/run/shm/&lt;/code&gt; (ou &lt;code&gt;/dev/shm/&lt;/code&gt;) correspond à un emplacement en mémoire vive, donc le fichier déchiffré n'est pas enregistré sur le disque dur. Si cet emplacement n'existe pas, Motus utilise la valeur de la variable &lt;code&gt;$TMPDIR&lt;/code&gt; ou, si cette dernière n'est pas définie, le dossier &lt;code&gt;/tmp/&lt;/code&gt; (donc un emplacement sur le disque dur, mais un message d'avertissement va être affiché pour demander à l'utilisateur s'il veut continuer).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;motus-[A-Za-z0-9]{10}&lt;/code&gt; est le dossier temporaire. Les droits d'accès du dossier sont 700.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;NOM_DU_FICHIER_CHIFFRÉ.motus&lt;/code&gt; correspond au fichier déchiffré. Ses droits d'accès sont 600.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;À la fermeture de Motus, le dossier temporaire &lt;code&gt;motus-[A-Za-z0-9]{10}&lt;/code&gt; et son contenu sont supprimés de manière sécuritaire avec &lt;a href=&quot;http://manpages.ubuntu.com/manpages/precise/en/man1/srm.1.html&quot;&gt;&lt;code&gt;secure-delete&lt;/code&gt;&lt;/a&gt;. Si jamais des fichiers temporaires (par exemple &lt;code&gt;NOM_DU_FICHIER_CHIFFRÉ.motus~&lt;/code&gt;) ont été créés dans cet emplacement par l'éditeur de texte utilisé pour modifier le fichier déchiffré, ils seront supprimés en même temps.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Un fichier de sauvegarde du fichier chiffré de la session précédente est automatiquement créé lors du premier chiffrement de la session courante:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;/chemin/vers/le/fichier/chiffré.session-precedente
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Par défaut, on a donc:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;~/.motus/[A-Za-z0-9]{10}
~/.motus/[A-Za-z0-9]{10}.session-precedente
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Développement&lt;/h2&gt;

&lt;p&gt;Dernière version: 2.0.6 (2012-06-05)&lt;/p&gt;

&lt;p&gt;Le logiciel Git est utilisé pour la gestion de versions. &lt;a href=&quot;http://jpfleury.indefero.net/p/motus/source/tree/master/&quot;&gt;Le dépôt peut être consulté en ligne ou récupéré en local.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Motus dispose également d'un &lt;a href=&quot;http://jpfleury.indefero.net/p/motus/issues/&quot;&gt;système de suivi&lt;/a&gt;, sur lequel les rapports de bogues et les suggestions peuvent être soumis.&lt;/p&gt;

&lt;h2&gt;Licence&lt;/h2&gt;

&lt;p&gt;Auteur: Jean-Philippe Fleury &lt;a href=&quot;&amp;#109;&amp;#97;&amp;#x69;&amp;#x6c;&amp;#116;&amp;#111;&amp;#x3a;&amp;#x63;&amp;#111;&amp;#110;&amp;#x74;&amp;#x61;&amp;#99;&amp;#116;&amp;#x40;&amp;#x6a;p&amp;#102;&amp;#x6c;&amp;#x65;u&amp;#114;&amp;#121;&amp;#x2e;&amp;#x6e;&amp;#101;&amp;#116;&quot;&gt;&amp;#x63;&amp;#111;&amp;#110;&amp;#x74;&amp;#x61;&amp;#99;&amp;#116;&amp;#x40;&amp;#x6a;p&amp;#102;&amp;#x6c;&amp;#x65;u&amp;#114;&amp;#121;&amp;#x2e;&amp;#x6e;&amp;#101;&amp;#116;&lt;/a&gt;&lt;br /&gt;
Copyright © Jean-Philippe Fleury, 2008-2012.&lt;/p&gt;

&lt;p&gt;Ce programme est un logiciel libre; vous pouvez le redistribuer ou le
modifier suivant les termes de la GNU General Public License telle que
publiée par la Free Software Foundation: soit la version 3 de cette
licence, soit (à votre gré) toute version ultérieure.&lt;/p&gt;

&lt;p&gt;Ce programme est distribué dans l'espoir qu'il vous sera utile, mais SANS
AUCUNE GARANTIE: sans même la garantie implicite de COMMERCIALISABILITÉ
ni d'ADÉQUATION À UN OBJECTIF PARTICULIER. Consultez la Licence publique
générale GNU pour plus de détails.&lt;/p&gt;

&lt;p&gt;Vous devriez avoir reçu une copie de la Licence publique générale GNU avec
ce programme; si ce n'est pas le cas, consultez
&lt;a href=&quot;http://www.gnu.org/licenses/&quot;&gt;http://www.gnu.org/licenses/&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;Matériel tiers&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Logo de Motus&lt;/strong&gt;: le logo a été fait à partir de l'image &lt;code&gt;scalable/emotes/face-plain.svg&lt;/code&gt; du &lt;a href=&quot;http://archive.ubuntu.com/ubuntu/pool/main/g/gnome-icon-theme/gnome-icon-theme_2.28.0.orig.tar.gz&quot;&gt;thème d'icônes Gnome&lt;/a&gt;, sous licence GPL.&lt;/li&gt;
&lt;/ul&gt;
																						
															</description>
			<pubDate>Sat, 21 Jul 2012 23:34:00 -0400</pubDate>
		</item>

		<item>
			<title>RapportHamster++: personnaliser les rapports du gestionnaire de temps Hamster</title>
			<link>http://www.jpfleury.net/logiciels/rapporthamster++.php</link>
			<guid isPermaLink="false">2012-07-21 23:34;http://www.jpfleury.net/logiciels/rapporthamster++.php</guid>
			<description>
															&lt;!-- APERÇU: automatique --&gt;							&lt;p lang=&quot;en&quot;&gt;&lt;em&gt;&lt;a hreflang=&quot;en&quot; href=&quot;http://www.jpfleury.net/en/software/rapporthamster++.php&quot;&gt;Read this page in English.&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;Aperçu&lt;/h2&gt;

&lt;p&gt;RapportHamster++ est un ensemble de fonctions PHP permettant de personnaliser les rapports HTML créés par le &lt;a href=&quot;http://projecthamster.wordpress.com/&quot;&gt;gestionnaire de temps Hamster&lt;/a&gt;. Le parcours et la modification des rapports HTML sont principalement effectués grâce à l'extension DOM de PHP.&lt;/p&gt;

&lt;h2&gt;Dépendances&lt;/h2&gt;

&lt;p&gt;RapportHamster++ nécessite une version de Hamster utilisant la &lt;a href=&quot;http://projecthamster.wordpress.com/2010/06/06/custom-html-reports/&quot;&gt;nouvelle structure des rapports HTML&lt;/a&gt;. La version 2.31.6 utilise cette nouvelle structure. Il est possible que ce soit le cas également d'une version antérieure.&lt;/p&gt;

&lt;p&gt;Il faut aussi bien sûr un interpréteur PHP, sur un serveur ou en ligne de commande (PHP CLI). Pour utiliser PHP en ligne de commande, installer le paquet &lt;code&gt;php5-cli&lt;/code&gt; (testé sous Ubuntu).&lt;/p&gt;

&lt;h2&gt;Installation&lt;/h2&gt;

&lt;p&gt;Il n'y a pas d'installation nécessaire. Un fichier d'index est offert par défaut pour montrer l'utilisation possible des différentes fonctions avec PHP CLI.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://jpfleury.indefero.net/p/rapporthamsterpp/source/download/master/&quot;&gt;Télécharger l'archive de la dernière version.&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Extraire l'archive.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Ouvrir une console dans le dossier extrait.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Lancer le script d'index (les paramètres sont à titre d'exemples):&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;php index.cli.php &quot;/chemin/vers/le/rapport.html&quot; 1 1 1 1 1 &quot; h&quot; &quot; min&quot; 0
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Le rapport modifié sera enregistré dans le même répertoire que le rapport original, par exemple &lt;code&gt;/chemin/vers/le/rapport - 2.html&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Le dossier &lt;code&gt;doc/exemple&lt;/code&gt; contient deux fichiers:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;Gestion du temps, 2010-07-30 - 2010-08-05.html&lt;/code&gt;: un rapport créé par Hamster;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;Gestion du temps, 2010-07-30 - 2010-08-05 - 2.html&lt;/code&gt;: le même rapport, mais modifié par RapportHamster++.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Pour plus de détails sur les paramètres et les fonctions, analyser le fichier &lt;code&gt;index.cli.php&lt;/code&gt; dans un édtieur de texte et lire les commentaires de chaque fonction dans le fichier &lt;code&gt;inc/fonctions.inc.php&lt;/code&gt;. Voir également ci-dessous l'aperçu des fonctionnalités.&lt;/p&gt;

&lt;h2&gt;Survol des fonctionnalités&lt;/h2&gt;

&lt;p&gt;Le fichier &lt;code&gt;index.cli.php&lt;/code&gt; livré par défaut montre une utilisation possible des fonctions de RapportHamster++. Les fonctions en question sont:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;ajouteClassesLignesTable()&lt;/code&gt;: ajoute des classes aux lignes d'une table donnée. Le résultat visible est une couleur d'arrière-plan pour les lignes paires;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;ajouteDureeTotale()&lt;/code&gt;: ajoute la durée totale de toutes les activités du rapport;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;colonneMarkdownVersHtml()&lt;/code&gt;: convertit le texte d'une colonne de la syntaxe Markdown vers le HTML. Utile pour rédiger les descriptions en Markdown. Par exemple:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;Lorem *ipsum* dolor **sit** amet, `consectetuer` adipiscing [elit](dictum).
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;devient:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;p&amp;gt;Lorem &amp;lt;em&amp;gt;ipsum&amp;lt;/em&amp;gt; dolor &amp;lt;strong&amp;gt;sit&amp;lt;/strong&amp;gt; amet, &amp;lt;code&amp;gt;consectetuer&amp;lt;/code&amp;gt; adipiscing &amp;lt;a href=&quot;dictum&quot;&amp;gt;elit&amp;lt;/a&amp;gt;.&amp;lt;/p&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;dateSansZeroInitial()&lt;/code&gt;: supprime tout 0 initial dans les dates apparaissant dans le rapport. Par exemple:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;08 mai 2010
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;devient:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;8 mai 2010
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Autre exemple:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;Journal d'activité du 01 au 07 mai 2010
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;devient:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;Journal d'activité du 1 au 7 mai 2010
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;dureeFormatHamsterVersMinutes()&lt;/code&gt;: convertit la durée en nombre de minutes. Par exemple, pour la durée &lt;code&gt;8 h 15 min&lt;/code&gt;, le retour est &lt;code&gt;495&lt;/code&gt;;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;fusionneActivites()&lt;/code&gt;: fusionne les activités de la table «Journal d'activité» (deuxième onglet) du rapport. Les colonnes de début et de fin de l'activité sont supprimées.&lt;/p&gt;

&lt;p&gt;La fusion consiste à rechercher les activités semblables (mêmes jour, activité, catégorie et étiquettes) et dont la description utilise une syntaxe spéciale pour lier les activités entre elles. Soit les cinq activités suivantes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;description de l'activité 1 (1 h 35 min): [1] Début de l'activité. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;description de l'activité 2 (20 min): [1]&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;description de l'activité 3 (2 h 15 min): [1] Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;description de l'activité 4 (1 h 10 min): [1]&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;description de l'activité 5 (2 h 50 min): [1] Fin de l'activité. Praesent tempus; odio ac sagittis vehicula; mauris pede tincidunt lacus, in euismod orci mauris a quam.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ces cinq activités, si elles ont les mêmes jour, activité, catégorie et étiquettes, sont liées entre elles par le nombre entre crochets situé au début de chaque description, et seront donc fusionnées. La durée totale de l'activité sera la somme de toutes les activités liées (8 h 10 min dans cet exemple) et la description résultante contiendra s'il y a lieu la description de chaque activité:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;[1] Début de l'activité. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.

Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.

Fin de l'activité. Praesent tempus; odio ac sagittis vehicula; mauris pede tincidunt lacus, in euismod orci mauris a quam.
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;minutesVersDureeFormatHamster()&lt;/code&gt;: convertit le nombre de minutes en durée affichée par Hamster. Par exemple, pour &lt;code&gt;495&lt;/code&gt;, la durée retournée est &lt;code&gt;8 h 15 min&lt;/code&gt;;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;supprimeColonnes()&lt;/code&gt;: supprime les colonnes données dans la table donnée;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;supprimeJquery()&lt;/code&gt;: supprime jQuery du rapport. Utile lorsque des tables ont été supprimées et qu'une seule a été laissée;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;supprimeTables()&lt;/code&gt;: supprime les tables données. Une table correspond à un onglet principal dans le haut du rapport.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Développement&lt;/h2&gt;

&lt;p&gt;Dernière version: 1.0.1 (2012-05-22)&lt;/p&gt;

&lt;p&gt;Le logiciel Git est utilisé pour la gestion de versions. &lt;a href=&quot;http://jpfleury.indefero.net/p/rapporthamsterpp/source/tree/master/&quot;&gt;Le dépôt peut être consulté en ligne ou récupéré en local.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;RapportHamster++ dispose également d'un &lt;a href=&quot;http://jpfleury.indefero.net/p/rapporthamsterpp/issues/&quot;&gt;système de suivi&lt;/a&gt;, sur lequel les rapports de bogues et les suggestions peuvent être soumis.&lt;/p&gt;

&lt;h2&gt;Licence&lt;/h2&gt;

&lt;p&gt;Auteur: Jean-Philippe Fleury &lt;a href=&quot;&amp;#109;&amp;#97;&amp;#x69;&amp;#x6c;&amp;#116;&amp;#111;&amp;#x3a;&amp;#x63;&amp;#111;&amp;#110;&amp;#x74;&amp;#x61;&amp;#99;&amp;#116;&amp;#x40;&amp;#x6a;p&amp;#102;&amp;#x6c;&amp;#x65;u&amp;#114;&amp;#121;&amp;#x2e;&amp;#x6e;&amp;#101;&amp;#116;&quot;&gt;&amp;#x63;&amp;#111;&amp;#110;&amp;#x74;&amp;#x61;&amp;#99;&amp;#116;&amp;#x40;&amp;#x6a;p&amp;#102;&amp;#x6c;&amp;#x65;u&amp;#114;&amp;#121;&amp;#x2e;&amp;#x6e;&amp;#101;&amp;#116;&lt;/a&gt;&lt;br /&gt;
Copyright © Jean-Philippe Fleury, 2010-2012.&lt;/p&gt;

&lt;p&gt;Ce programme est un logiciel libre; vous pouvez le redistribuer ou le
modifier suivant les termes de la GNU General Public License telle que
publiée par la Free Software Foundation: soit la version 3 de cette
licence, soit (à votre gré) toute version ultérieure.&lt;/p&gt;

&lt;p&gt;Ce programme est distribué dans l'espoir qu'il vous sera utile, mais SANS
AUCUNE GARANTIE: sans même la garantie implicite de COMMERCIALISABILITÉ
ni d'ADÉQUATION À UN OBJECTIF PARTICULIER. Consultez la Licence publique
générale GNU pour plus de détails.&lt;/p&gt;

&lt;p&gt;Vous devriez avoir reçu une copie de la Licence publique générale GNU avec
ce programme; si ce n'est pas le cas, consultez
&lt;a href=&quot;http://www.gnu.org/licenses/&quot;&gt;http://www.gnu.org/licenses/&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;Matériel tiers&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://michelf.com/projets/php-markdown/&quot;&gt;&lt;strong&gt;PHP Markdown&lt;/strong&gt;&lt;/a&gt;: sous licence de style BSD.&lt;/li&gt;
&lt;/ul&gt;
																						
															</description>
			<pubDate>Sat, 21 Jul 2012 23:34:00 -0400</pubDate>
		</item>

		<item>
			<title>gedit-mediawiki: coloration syntaxique de la syntaxe MediaWiki dans gedit</title>
			<link>http://www.jpfleury.net/logiciels/gedit-mediawiki.php</link>
			<guid isPermaLink="false">2012-07-21 23:34;http://www.jpfleury.net/logiciels/gedit-mediawiki.php</guid>
			<description>
															&lt;!-- APERÇU: automatique --&gt;							&lt;p lang=&quot;en&quot;&gt;&lt;strong&gt;&lt;a hreflang=&quot;en&quot; href=&quot;http://www.jpfleury.net/en/software/gedit-mediawiki.php&quot;&gt;Read this page in English.&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;Aperçu&lt;/h2&gt;

&lt;p&gt;gedit-mediawiki ajoute la coloration syntaxique de la &lt;a href=&quot;http://meta.wikimedia.org/wiki/Aide:Syntaxe_wiki&quot;&gt;syntaxe MediaWiki&lt;/a&gt; dans gedit, l'éditeur de texte par défaut de Gnome.&lt;/p&gt;

&lt;p&gt;Voici une capture d'écran:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://jpfleury.indefero.net/p/gedit-mediawiki/source/tree/master/doc/exemple1.png&quot; width=&quot;685&quot; height=&quot;1112&quot; alt=&quot;Coloration syntaxique pour la syntaxe MediaWiki dans gedit.&quot; /&gt;&lt;/p&gt;

&lt;h2&gt;Installation&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://jpfleury.indefero.net/p/gedit-mediawiki/source/download/master/&quot;&gt;Télécharger l'archive de la dernière version.&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Extraire l'archive.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Copier le fichier &lt;code&gt;mediawiki.lang&lt;/code&gt; dans le dossier approprié (créer le dossier s'il n'existe pas):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;pour gedit 2: &lt;code&gt;~/.local/share/gtksourceview-2.0/language-specs/&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;pour gedit 3: &lt;code&gt;~/.local/share/gtksourceview-3.0/language-specs/&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;La coloration syntaxique de la syntaxe MediaWiki sera ajoutée à l'utilisateur courant (l'installation se fait donc sans les droits d'administration). Le dossier créé par l'extraction de l'archive peut être supprimé après l'installation.&lt;/p&gt;

&lt;h2&gt;Désinstallation&lt;/h2&gt;

&lt;p&gt;Supprimer le fichier précédemment installé.&lt;/p&gt;

&lt;h2&gt;Utilisation&lt;/h2&gt;

&lt;p&gt;Avant toute chose, redémarrer gedit s'il est ouvert.&lt;/p&gt;

&lt;p&gt;Choisir la coloration en allant dans le menu &lt;em&gt;Affichage &gt; Mode de coloration &gt; Autres&lt;/em&gt; de gedit et en cochant &lt;em&gt;MediaWiki&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Un fichier démo se trouve dans le dossier &lt;code&gt;doc&lt;/code&gt; de gedit-mediawiki.&lt;/p&gt;

&lt;h2&gt;Développement&lt;/h2&gt;

&lt;p&gt;Dernière version: 1.0.1 (2012-05-22)&lt;/p&gt;

&lt;p&gt;Le logiciel Git est utilisé pour la gestion de versions. &lt;a href=&quot;http://jpfleury.indefero.net/p/gedit-mediawiki/source/tree/master/&quot;&gt;Le dépôt peut être consulté en ligne ou récupéré en local.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;gedit-mediawiki dispose également d'un &lt;a href=&quot;http://jpfleury.indefero.net/p/gedit-mediawiki/issues/&quot;&gt;système de suivi&lt;/a&gt;, sur lequel les rapports de bogues et les suggestions peuvent être soumis.&lt;/p&gt;

&lt;h2&gt;Licence&lt;/h2&gt;

&lt;p&gt;Auteur: Jean-Philippe Fleury &lt;a href=&quot;&amp;#109;&amp;#97;&amp;#x69;&amp;#x6c;&amp;#116;&amp;#111;&amp;#x3a;&amp;#x63;&amp;#111;&amp;#110;&amp;#x74;&amp;#x61;&amp;#99;&amp;#116;&amp;#x40;&amp;#x6a;p&amp;#102;&amp;#x6c;&amp;#x65;u&amp;#114;&amp;#121;&amp;#x2e;&amp;#x6e;&amp;#101;&amp;#116;&quot;&gt;&amp;#x63;&amp;#111;&amp;#110;&amp;#x74;&amp;#x61;&amp;#99;&amp;#116;&amp;#x40;&amp;#x6a;p&amp;#102;&amp;#x6c;&amp;#x65;u&amp;#114;&amp;#121;&amp;#x2e;&amp;#x6e;&amp;#101;&amp;#116;&lt;/a&gt;&lt;br /&gt;
Copyright © Jean-Philippe Fleury, 2009-2012.&lt;/p&gt;

&lt;p&gt;Ce programme est un logiciel libre; vous pouvez le redistribuer ou
le modifier suivant les termes de la GNU Lesser General Public License telle
que publiée par la Free Software Foundation: soit la version 2.1 de la
License, soit (à votre gré) toute version ultérieure.&lt;/p&gt;

&lt;p&gt;Ce programme est distribué dans l'espoir qu'il sera utile, mais
SANS AUCUNE GARANTIE: sans même la garantie implicite de
COMMERCIALISABILITÉ ou d'ADÉQUATION À UN OBJECTIF PARTICULIER. Consultez
la Licence publique générale limitée GNU pour plus de détails.&lt;/p&gt;

&lt;p&gt;Vous devriez avoir reçu une copie de la Licence publique générale limitée GNU
avec ce programme; si ce n'est pas le cas, écrivez à la:
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
MA 02110-1301, USA.&lt;/p&gt;
																						
															</description>
			<pubDate>Sat, 21 Jul 2012 23:34:00 -0400</pubDate>
		</item>

		<item>
			<title>gedit-markdown: support du langage Markdown dans gedit</title>
			<link>http://www.jpfleury.net/logiciels/gedit-markdown.php</link>
			<guid isPermaLink="false">2012-07-21 23:34;http://www.jpfleury.net/logiciels/gedit-markdown.php</guid>
			<description>
															&lt;!-- APERÇU: automatique --&gt;							&lt;p lang=&quot;en&quot;&gt;&lt;strong&gt;&lt;a hreflang=&quot;en&quot; href=&quot;http://www.jpfleury.net/en/software/gedit-markdown.php&quot;&gt;Read this page in English.&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;Aperçu&lt;/h2&gt;

&lt;p&gt;gedit-markdown est un ensemble de fichiers ajoutant le support du langage &lt;a href=&quot;http://michelf.com/projets/php-markdown/concepts/&quot;&gt;Markdown&lt;/a&gt; (ou de la version spéciale &lt;a href=&quot;http://michelf.com/projets/php-markdown/extra/&quot;&gt;Markdown Extra&lt;/a&gt;) dans gedit, l'éditeur de texte par défaut de Gnome.&lt;/p&gt;

&lt;p&gt;Plus précisément, gedit-markdown ajoute:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;la coloration syntaxique des fichiers Markdown ainsi que des extraits de code pour accélérer la rédaction;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;le greffon &lt;em&gt;Aperçu Markdown&lt;/em&gt;, affichant dans le panneau latéral ou inférieur de gedit un aperçu en HTML de la sélection ou du document en cours d'édition (ce greffon peut également être utilisé comme navigateur Web; voir la section &lt;em&gt;Utilisation&lt;/em&gt;);&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;un outil externe permettant d'exporter le code HTML de la sélection ou du document en cours d'édition;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;un jeu de couleurs, optionnel, colorant le code Markdown d'une manière plus ressemblante au rendu HTML.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src=&quot;http://jpfleury.indefero.net/p/gedit-markdown/source/tree/master/doc/exemple1.png&quot; width=&quot;684&quot; height=&quot;779&quot; alt=&quot;Coloration syntaxique par défaut du Markdown dans gedit.&quot; /&gt;&lt;/p&gt;

&lt;h2&gt;Dépendances&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;gedit-markdown supporte gedit 2 et gedit 3. Il est livré avec un installateur pour GNU/Linux. Sous Windows XP, seuls certains fichiers fonctionnent, et doivent être installés à la main.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Le greffon «Aperçu Markdown» dépend de Python 2 (&gt;= 2.6) ou de Python 3 (&gt;= 3.1), bien que pour l'instant, gedit ne supporte que Python 2. L'installateur va copier le greffon seulement si la bonne version de Python est installée.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;La désactivation de la vérification orthographique dans la coloration syntaxique pour les contextes non pertinents (par exemple dans les adresses URL) dépend de GtkSourceView &gt;= 2.10.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Pour les utilisateurs d'Ubuntu 11.10 ou une version plus récente: le paquet &lt;code&gt;gir1.2-webkit-3.0&lt;/code&gt; doit être installé pour que le greffon «Aperçu Markdown» fonctionne.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Installation (ou mise à jour)&lt;/h2&gt;

&lt;h3&gt;GNU/Linux&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://jpfleury.indefero.net/p/gedit-markdown/source/download/master/&quot;&gt;Télécharger l'archive de la dernière version.&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Extraire l'archive.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Ouvrir une console dans le dossier extrait.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Lancer le script d'installation dans la console et répondre aux questions demandées, ce qui donne:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;./gedit-markdown.sh installer
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Le support de Markdown sera ajouté à l'utilisateur courant (l'installation se fait donc sans les droits d'administration). Le dossier créé par l'extraction de l'archive peut être supprimé après l'installation.&lt;/p&gt;

&lt;h3&gt;Windows XP&lt;/h3&gt;

&lt;p&gt;Voici la marche à suivre pour gedit 2:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Coloration syntaxique: dans l'archive de gedit-markdown, trouver le dossier &lt;code&gt;language-specs&lt;/code&gt;, copier le fichier correspondant à la version de Markdown voulue, par exemple:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;language-specs/markdown.lang
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;et le coller dans le dossier suivant:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;C:\Program Files\gedit\share\gtksourceview-2.0\language-specs\
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Jeu de couleurs optionnel: dans l'archive de gedit-markdown, copier le fichier &lt;code&gt;styles/classic-markdown.xml&lt;/code&gt; et le coller dans le dossier suivant:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;C:\Program Files\gedit\share\gtksourceview-2.0\styles\
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Désinstallation&lt;/h2&gt;

&lt;h3&gt;GNU/Linux&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Ouvrir une console dans le dossier extrait.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Lancer le script de désinstallation dans la console, ce qui donne:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;./gedit-markdown.sh desinstaller
&lt;/code&gt;&lt;/pre&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Astuce:&lt;/strong&gt; il est possible de préciser en ligne de commande la version de gedit. Les valeurs possibles sont &lt;code&gt;2&lt;/code&gt; et &lt;code&gt;3&lt;/code&gt;. Ça peut être utile lors d'une mise à jour de gedit 2 vers gedit 3. Ainsi, le script peut être lancé pour supprimer les fichiers de l'ancienne version de gedit. Exemple:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;./gedit-markdown.sh desinstaller 2
&lt;/code&gt;&lt;/pre&gt;

&lt;h3&gt;Windows XP&lt;/h3&gt;

&lt;p&gt;Simplement supprimer à la main les fichiers ajoutés lors de l'installation.&lt;/p&gt;

&lt;h2&gt;Utilisation&lt;/h2&gt;

&lt;p&gt;Avant toute chose, redémarrer gedit s'il est ouvert.&lt;/p&gt;

&lt;h3&gt;Coloration syntaxique&lt;/h3&gt;

&lt;p&gt;La coloration syntaxique devrait s'activer automatiquement pour les fichiers reconnus comme étant des fichiers Markdown (extensions &lt;code&gt;.markdown&lt;/code&gt;, &lt;code&gt;.md&lt;/code&gt; ou &lt;code&gt;.mkd&lt;/code&gt;), sinon choisir la coloration en allant dans &lt;em&gt;Affichage &gt; Mode de coloration &gt; Balisage&lt;/em&gt; et cocher &lt;em&gt;Markdown&lt;/em&gt;.&lt;/p&gt;

&lt;h3&gt;Greffon &lt;em&gt;Aperçu Markdown&lt;/em&gt;&lt;/h3&gt;

&lt;p&gt;Pour activer le greffon, aller dans &lt;em&gt;Édition &gt; Préférences &gt; Greffons&lt;/em&gt; et sélectionner &lt;em&gt;Aperçu Markdown&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Deux éléments sont ajoutés dans le menu &lt;em&gt;Outils&lt;/em&gt; de gedit:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Actualiser l'aperçu Markdown&lt;/em&gt;: permet d'afficher dans le panneau latéral ou inférieur l'aperçu en HTML du document courant ou de la sélection.&lt;/p&gt;

&lt;p&gt;Note: il y a deux autres façons d'actualiser l'aperçu:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;par le raccourci-clavier &lt;em&gt;Ctrl+Alt+m&lt;/em&gt; (peut être modifié dans le fichier de configuration);&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;en cliquant droit dans la zone d'aperçu (panneau latéral ou inférieur) et en sélectionnant l'élément &lt;em&gt;Actualiser l'aperçu&lt;/em&gt; (gedit 3 seulement).&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Afficher ou cacher l'aperçu Markdown&lt;/em&gt;: permet d'afficher ou de cacher l'onglet d'aperçu dans le panneau de gedit.&lt;/p&gt;

&lt;p&gt;Note: le raccourci-clavier &lt;em&gt;Ctrl+Alt+v&lt;/em&gt; (peut être modifié dans le fichier de configuration) peut être utilisé pour effectuer la même action.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Si gedit 3 est utilisé, en cliquant droit dans la zone d'aperçu, un menu contextuel apparaît et offre plusieurs options. Outre celles par défaut (page suivante, page précédente, copie, etc.), on trouve:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Copier l'URL courante&lt;/em&gt;: permet de copier dans le presse-papiers l'adresse du document ou de la page dont le contenu est actuellement affiché dans l'onglet d'aperçu. S'il s'agit d'un document qui n'a pas encore été sauvegardé sur le disque, cet élément de menu est désactivé.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Aller à une autre URL&lt;/em&gt;: permet de spécifier manuellement une URL locale ou distante d'un document ou d'une page à visiter dans l'onglet d'aperçu.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Une des deux options suivantes, selon la valeur du paramètre &lt;code&gt;externalBrowser&lt;/code&gt; du fichier de configuration:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Ouvrir dans un navigateur externe&lt;/em&gt;: permet d'ouvrir le lien cliqué dans un navigateur externe.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Ouvrir dans le navigateur intégré&lt;/em&gt;: permet d'ouvrir le lien cliqué directement dans le panneau de gedit.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Actualiser l'aperçu&lt;/em&gt;: permet d'actualiser l'aperçu avec le contenu du document courant ou de la sélection.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;em&gt;Effacer l'aperçu&lt;/em&gt;: efface le contenu de la zone d'aperçu.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Voici une capture d'écran du greffon lorsqu'il est situé dans le panneau inférieur:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://jpfleury.indefero.net/p/gedit-markdown/source/tree/master/doc/exemple3.png&quot; width=&quot;684&quot; height=&quot;886&quot; alt=&quot;Aperçu en HTML d'un document Markdown dans le panneau inférieur de gedit.&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Voici maintenant le même greffon situé dans le panneau latéral (cliquer pour télécharger l'image au format original):&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://jpfleury.indefero.net/p/gedit-markdown/source/tree/master/doc/exemple4-grand.png&quot;&gt;&lt;img src=&quot;http://jpfleury.indefero.net/p/gedit-markdown/source/tree/master/doc/exemple4-petit.png&quot; width=&quot;684&quot; height=&quot;445&quot; alt=&quot;Aperçu en HTML d'un document Markdown dans le panneau latéral de gedit.&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;À noter que lorsque le curseur passe au-dessus d'un lien dans la zone d'aperçu, une infobulle affiche l'URL:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://jpfleury.indefero.net/p/gedit-markdown/source/tree/master/doc/exemple5.png&quot; width=&quot;684&quot; height=&quot;128&quot; alt=&quot;Infobulle affichant l'URL lorsque le curseur passe au-dessus d'un lien.&quot; /&gt;&lt;/p&gt;

&lt;h3&gt;Extraits de code&lt;/h3&gt;

&lt;p&gt;Pour utiliser les extraits de code de Markdown, il faut activer le greffon &lt;em&gt;Extraits de code&lt;/em&gt; dans le menu &lt;em&gt;Édition &gt; Préférences &gt; Greffons&lt;/em&gt; de gedit. Ensuite, aller dans &lt;em&gt;Outils &gt; Gérer les extraits de code...&lt;/em&gt; pour consulter les différentes possibilités.&lt;/p&gt;

&lt;h3&gt;Outil externe &lt;em&gt;Exporter en HTML&lt;/em&gt;&lt;/h3&gt;

&lt;p&gt;Pour utiliser l'outil externe, il faut activer le greffon &lt;em&gt;Outils externes&lt;/em&gt; dans le menu &lt;em&gt;Édition &gt; Préférences &gt; Greffons&lt;/em&gt; de gedit. L'outil est accessible par le menu &lt;em&gt;Outils &gt; Outils externes &gt; Exporter en HTML&lt;/em&gt; ou par le raccourci-clavier &lt;em&gt;Ctrl+Alt+h&lt;/em&gt;. Le code Markdown du document en cours d'édition ou de la sélection sera converti en HTML, et le résultat sera inséré dans un nouveau document.&lt;/p&gt;

&lt;p&gt;Pour modifier l'outil, aller dans &lt;em&gt;Outils &gt; Gérer les outils externes...&lt;/em&gt;.&lt;/p&gt;

&lt;h3&gt;Jeu de couleurs optionnel&lt;/h3&gt;

&lt;p&gt;Un jeu de couleurs optionnel est installé automatiquement par gedit-markdown. Pour l'utiliser, aller dans le menu &lt;em&gt;Édition &gt; Préférences &gt; Police et couleurs &gt; Jeu de couleurs&lt;/em&gt; de gedit et sélectionner &lt;em&gt;Classic Markdown&lt;/em&gt;. Cette coloration se rapproche d'un rendu HTML, par exemple les emphases fortes et les titres sont en gras et de couleur noire, les liens sont bleus et soulignés, etc. Ce jeu de couleurs resemble à ceci:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://jpfleury.indefero.net/p/gedit-markdown/source/tree/master/doc/exemple2.png&quot; width=&quot;684&quot; height=&quot;779&quot; alt=&quot;Jeu de couleurs optionnel pour la coloration syntaxique du Markdown dans gedit.&quot; /&gt;&lt;/p&gt;

&lt;h3&gt;Fichier de configuration&lt;/h3&gt;

&lt;p&gt;Le fichier de configuration de gedit-markdown est le suivant:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$XDG_CONFIG_HOME/gedit/gedit-markdown.ini
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;ce qui correspond la plupart du temps à:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$HOME/.config/gedit/gedit-markdown.ini
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Seule la section &lt;code&gt;markdown-preview&lt;/code&gt; peut être modifiée, et contient plusieurs paramètres:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;externalBrowser&lt;/code&gt;: ouverture des liens dans un navigateur externe par défaut. Valeurs possibles: &lt;code&gt;0&lt;/code&gt; (ne pas ouvrir les liens dans un navigateur externe par défaut; valeur par défaut) ou &lt;code&gt;1&lt;/code&gt; (ouvrir les liens dans un navigateur externe par défaut).&lt;/p&gt;

&lt;p&gt;Si &lt;code&gt;externalBrowser&lt;/code&gt; vaut &lt;code&gt;0&lt;/code&gt;, alors le menu contextuel apparaissant lors d'un clic droit sur un lien contiendra une option pour ouvrir le lien dans un navigateur externe. Si &lt;code&gt;externalBrowser&lt;/code&gt; vaut &lt;code&gt;1&lt;/code&gt;, alors le menu contextuel contiendra une option pour ouvrir le lien dans le navigateur interne.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;panel&lt;/code&gt;: emplacement de l'aperçu Markdown. Valeurs possibles: &lt;code&gt;side&lt;/code&gt; (panneau latéral) ou &lt;code&gt;bottom&lt;/code&gt; (panneau inférieur).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;shortcut&lt;/code&gt;: raccourci-clavier pour générer l'aperçu en HTML du document courant. La valeur par défaut est &lt;code&gt;&amp;lt;Control&amp;gt;&amp;lt;Alt&amp;gt;m&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;version&lt;/code&gt;: la version du langage Markdown à utiliser pour générer l'aperçu et exporter en HTML. Valeurs possibles: &lt;code&gt;standard&lt;/code&gt; ou &lt;code&gt;extra&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;visibility&lt;/code&gt;: visibilité de l'onglet d'aperçu dans le panneau lors de l'ouverture de gedit. Valeurs possibles: &lt;code&gt;0&lt;/code&gt; (caché) ou &lt;code&gt;1&lt;/code&gt; (affiché; valeur par défaut).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;code&gt;visibilityShortcut&lt;/code&gt;: raccourci-clavier pour afficher ou cacher l'onglet d'aperçu dans le panneau de gedit. La valeur par défaut est &lt;code&gt;&amp;lt;Control&amp;gt;&amp;lt;Alt&amp;gt;v&lt;/code&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Précisions ou limitations&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;La coloration syntaxique ainsi que les extraits de code pour Markdown (version standard) ont été ajoutés officiellement à GtkSourceView et gedit &gt; 3.1.1. Dans l'installateur de gedit-markdown, si la version choisie est Markdown standard, une vérification sera effectuée pour ne pas copier des fichiers qui existent déjà (aucune vérification ne sera effectuée pour l'installation de Markdown Extra puisqu'il ne s'agit pas de la version livrée par défaut avec GtkSourceView et gedit &gt; 3.1.1).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;D'anciennes versions de gedit-markdown ajoutaient également un type MIME pour les fichiers Markdown ainsi que la reconnaissance d'une extension supplémentaire (&lt;code&gt;.mdtxt&lt;/code&gt;). Depuis que le support des fichiers Markdown a été ajouté directement dans la base de données partagée MIME &lt;code&gt;shared-mime-info&lt;/code&gt; (&lt;a href=&quot;https://bugs.freedesktop.org/show_bug.cgi?id=27441&quot;&gt;consulter le rapport de bogue&lt;/a&gt;), gedit-markdown n'ajoute plus son propre fichier de type MIME pour Markdown. Aussi, dans un but de conformité avec la spécification, l'extension &lt;code&gt;.mdtxt&lt;/code&gt; n'est plus supportée.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Puisqu'il est possible d'ajouter du code HTML directement dans un texte écrit en Markdown, j'ai également ajouté la coloration syntaxique du HTML, ce qui a entre autres comme conséquence que le code Markdown dans du HTML est coloré syntaxiquement. Il faut cependant avoir en tête que selon la syntaxe officielle, du code Markdown dans un environnement HTML n'est pas transformé, il est affiché tel quel, et que selon la syntaxe du Markdown Extra, seul le code Markdown dans un bloc possédant un attribut &lt;code&gt;markdown&lt;/code&gt; dont la valeur est de 1 (par exemple &lt;code&gt;&amp;lt;div markdown=&quot;1&quot;&amp;gt;&lt;/code&gt;) est transformé.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Markdown permet d'écrire du code dans un paragraphe. Pour ce faire, le code doit être entouré d'un accent grave (&amp;#96;), ou de plusieurs, pourvu que le nombre soit identique de part et d'autre, et qu'il n'y ait pas dans le code un nombre identique d'accents qui se suivent. Exemples:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;`lorem lorem lorem lorem`

`lorem lorem `` lorem lorem`

`lorem lorem ````` lorem lorem`

``lorem lorem lorem lorem``

``lorem lorem ` lorem lorem``

``lorem lorem ````` lorem lorem``
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Prendre note que gedit-markdown supporte la coloration jusqu'à 2 accents de part et d'autre du code.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Un bloc de citation peut contenir des éléments Markdown de niveaux bloc ou texte, mais gedit-markdown supporte seulement la coloration des éléments de niveau texte (emphase, lien, etc.).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Il n'est pas possible de savoir dans quel contexte une ligne se trouve, entre autres parce que le retour à la ligne ne peut pas être utilisé dans les expressions rationnelles de la coloration syntaxique. En voici des conséquences:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Selon la syntaxe du Markdown, pour écrire plusieurs paragraphes dans un item de liste, il faut indenter chaque paragraphe. Exemple:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;- Item A (paragraphe 1).

    Item A (paragraphe 2).

    Item A (paragraphe 3).

- Item B.
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Il y a donc conflit au plan de la coloration syntaxique entre un paragraphe indenté à l'intérieur d'une liste (quatre espaces ou une tabulation) et une ligne de code indentée en dehors d'une liste (également quatre espaces ou une tabulation). Le choix a été fait de colorer une ligne de code seulement à partir de deux niveaux d'indentation.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Seul le soulignement d'un titre de style Setext est analysé et coloré. Il n'y a donc pas de garanti qu'il s'agit bien d'un soulignement de titre.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Avec Markdown Extra, quelques éléments sont analysés et colorés sans certitude qu'ils sont bien dans le bon contexte: l'attribut &lt;code&gt;id&lt;/code&gt; pour un titre de style Setext, le deux-points séparateur dans une liste de définition et la ligne de séparation d'un tableau.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Traduction&lt;/h2&gt;

&lt;p&gt;Les messages de l'installateur peuvent être traduits. Toute personne intéressée à effectuer une traduction peut donc copier le fichier &lt;code&gt;gedit-markdown.pot&lt;/code&gt; situé dans le répertoire &lt;code&gt;locale&lt;/code&gt;, le renommer en &lt;code&gt;LANGUE.po&lt;/code&gt;, y traduire les phrases et m'envoyer le résultat.&lt;/p&gt;

&lt;p&gt;De même, le greffon &lt;em&gt;Aperçu Markdown&lt;/em&gt; est également traduisible. Le fichier contenant les phrases à traduire est &lt;code&gt;plugins/markdown-preview/locale/markdown-preview.pot&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Pour l'instant, gedit-markdown est disponible en français et en anglais.&lt;/p&gt;

&lt;h2&gt;Développement&lt;/h2&gt;

&lt;p&gt;Dernière version: 1.4.1 (2013-01-17)&lt;/p&gt;

&lt;p&gt;Le logiciel Git est utilisé pour la gestion de versions. &lt;a href=&quot;http://jpfleury.indefero.net/p/gedit-markdown/source/tree/master/&quot;&gt;Le dépôt peut être consulté en ligne ou récupéré en local.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;gedit-markdown dispose également d'un &lt;a href=&quot;http://jpfleury.indefero.net/p/gedit-markdown/issues/&quot;&gt;système de suivi&lt;/a&gt;, sur lequel les rapports de bogues et les suggestions peuvent être soumis.&lt;/p&gt;

&lt;h2&gt;Licence&lt;/h2&gt;

&lt;p&gt;Auteur: Jean-Philippe Fleury &lt;a href=&quot;&amp;#109;&amp;#97;&amp;#x69;&amp;#x6c;&amp;#116;&amp;#111;&amp;#x3a;&amp;#x63;&amp;#111;&amp;#110;&amp;#x74;&amp;#x61;&amp;#99;&amp;#116;&amp;#x40;&amp;#x6a;p&amp;#102;&amp;#x6c;&amp;#x65;u&amp;#114;&amp;#121;&amp;#x2e;&amp;#x6e;&amp;#101;&amp;#116;&quot;&gt;&amp;#x63;&amp;#111;&amp;#110;&amp;#x74;&amp;#x61;&amp;#99;&amp;#116;&amp;#x40;&amp;#x6a;p&amp;#102;&amp;#x6c;&amp;#x65;u&amp;#114;&amp;#121;&amp;#x2e;&amp;#x6e;&amp;#101;&amp;#116;&lt;/a&gt;&lt;br /&gt;
Copyright © Jean-Philippe Fleury, 2009-2012.&lt;/p&gt;

&lt;p&gt;Ce programme est un logiciel libre; vous pouvez le redistribuer ou le
modifier suivant les termes de la GNU General Public License telle que
publiée par la Free Software Foundation: soit la version 3 de cette
licence, soit (à votre gré) toute version ultérieure.&lt;/p&gt;

&lt;p&gt;Ce programme est distribué dans l'espoir qu'il vous sera utile, mais SANS
AUCUNE GARANTIE: sans même la garantie implicite de COMMERCIALISABILITÉ
ni d'ADÉQUATION À UN OBJECTIF PARTICULIER. Consultez la Licence publique
générale GNU pour plus de détails.&lt;/p&gt;

&lt;p&gt;Vous devriez avoir reçu une copie de la Licence publique générale GNU avec
ce programme; si ce n'est pas le cas, consultez
&lt;a href=&quot;http://www.gnu.org/licenses/&quot;&gt;http://www.gnu.org/licenses/&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;Matériel tiers&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Le greffon d'aperçu Markdown est basé sur &lt;a href=&quot;http://live.gnome.org/Gedit/MarkdownSupport&quot;&gt;Markdown Preview&lt;/a&gt;, sous licence GPL version 2 ou toute version ultérieure, et sur &lt;a href=&quot;http://www.freewisdom.org/projects/python-markdown/&quot;&gt;Python Markdown&lt;/a&gt;, sous licence de style BSD.&lt;/li&gt;
&lt;/ul&gt;
																						
															</description>
			<pubDate>Sat, 21 Jul 2012 23:34:00 -0400</pubDate>
		</item>

		<item>
			<title>gedit-url: coloration syntaxique des URL dans gedit</title>
			<link>http://www.jpfleury.net/logiciels/gedit-url.php</link>
			<guid isPermaLink="false">2012-07-21 23:34;http://www.jpfleury.net/logiciels/gedit-url.php</guid>
			<description>
															&lt;!-- APERÇU: automatique --&gt;							&lt;p lang=&quot;en&quot;&gt;&lt;strong&gt;&lt;a hreflang=&quot;en&quot; href=&quot;http://www.jpfleury.net/en/software/gedit-url.php&quot;&gt;Read this page in English.&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;Aperçu&lt;/h2&gt;

&lt;p&gt;gedit-url ajoute la coloration syntaxique des URL dans gedit, l'éditeur de texte par défaut de Gnome.&lt;/p&gt;

&lt;p&gt;Voici une capture d'écran (cliquer pour télécharger l'image au format original):&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://jpfleury.indefero.net/p/gedit-url/source/tree/master/doc/exemple1-grand.png&quot;&gt;&lt;img src=&quot;http://jpfleury.indefero.net/p/gedit-url/source/tree/master/doc/exemple1-petit.jpg&quot; width=&quot;685&quot; height=&quot;247&quot; alt=&quot;Coloration syntaxique des URL dans gedit.&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Installation&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://jpfleury.indefero.net/p/gedit-url/source/download/master/&quot;&gt;Télécharger l'archive de la dernière version.&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Extraire l'archive.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Copier le fichier &lt;code&gt;url.lang&lt;/code&gt; dans le dossier approprié (créer le dossier s'il n'existe pas):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;pour gedit 2: &lt;code&gt;~/.local/share/gtksourceview-2.0/language-specs/&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;pour gedit 3: &lt;code&gt;~/.local/share/gtksourceview-3.0/language-specs/&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;La coloration syntaxique des URL sera ajoutée à l'utilisateur courant (l'installation se fait donc sans les droits d'administration). Le dossier créé par l'extraction de l'archive peut être supprimé après l'installation.&lt;/p&gt;

&lt;h2&gt;Désinstallation&lt;/h2&gt;

&lt;p&gt;Supprimer le fichier précédemment installé.&lt;/p&gt;

&lt;h2&gt;Utilisation&lt;/h2&gt;

&lt;p&gt;Avant toute chose, redémarrer gedit s'il est ouvert.&lt;/p&gt;

&lt;p&gt;Choisir la coloration en allant dans la menu &lt;em&gt;Affichage &gt; Mode de coloration &gt; Autres&lt;/em&gt; de gedit et cocher &lt;em&gt;URL&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Un fichier démo se trouve dans le dossier &lt;code&gt;doc&lt;/code&gt; de gedit-url.&lt;/p&gt;

&lt;h2&gt;Développement&lt;/h2&gt;

&lt;p&gt;Dernière version: 1.0.1 (2012-05-22)&lt;/p&gt;

&lt;p&gt;Le logiciel Git est utilisé pour la gestion de versions. &lt;a href=&quot;http://jpfleury.indefero.net/p/gedit-url/source/tree/master/&quot;&gt;Le dépôt peut être consulté en ligne ou récupéré en local.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;gedit-url dispose également d'un &lt;a href=&quot;http://jpfleury.indefero.net/p/gedit-url/issues/&quot;&gt;système de suivi&lt;/a&gt;, sur lequel les rapports de bogues et les suggestions peuvent être soumis.&lt;/p&gt;

&lt;h2&gt;Licence&lt;/h2&gt;

&lt;p&gt;Auteur: Jean-Philippe Fleury &lt;a href=&quot;&amp;#109;&amp;#97;&amp;#x69;&amp;#x6c;&amp;#116;&amp;#111;&amp;#x3a;&amp;#x63;&amp;#111;&amp;#110;&amp;#x74;&amp;#x61;&amp;#99;&amp;#116;&amp;#x40;&amp;#x6a;p&amp;#102;&amp;#x6c;&amp;#x65;u&amp;#114;&amp;#121;&amp;#x2e;&amp;#x6e;&amp;#101;&amp;#116;&quot;&gt;&amp;#x63;&amp;#111;&amp;#110;&amp;#x74;&amp;#x61;&amp;#99;&amp;#116;&amp;#x40;&amp;#x6a;p&amp;#102;&amp;#x6c;&amp;#x65;u&amp;#114;&amp;#121;&amp;#x2e;&amp;#x6e;&amp;#101;&amp;#116;&lt;/a&gt;&lt;br /&gt;
Copyright © Jean-Philippe Fleury, 2009-2012.&lt;/p&gt;

&lt;p&gt;Ce programme est un logiciel libre; vous pouvez le redistribuer ou le
modifier suivant les termes de la GNU General Public License telle que
publiée par la Free Software Foundation: soit la version 3 de cette
licence, soit (à votre gré) toute version ultérieure.&lt;/p&gt;

&lt;p&gt;Ce programme est distribué dans l'espoir qu'il vous sera utile, mais SANS
AUCUNE GARANTIE: sans même la garantie implicite de COMMERCIALISABILITÉ
ni d'ADÉQUATION À UN OBJECTIF PARTICULIER. Consultez la Licence publique
générale GNU pour plus de détails.&lt;/p&gt;

&lt;p&gt;Vous devriez avoir reçu une copie de la Licence publique générale GNU avec
ce programme; si ce n'est pas le cas, consultez
&lt;a href=&quot;http://www.gnu.org/licenses/&quot;&gt;http://www.gnu.org/licenses/&lt;/a&gt;.&lt;/p&gt;
																						
															</description>
			<pubDate>Sat, 21 Jul 2012 23:34:00 -0400</pubDate>
		</item>

		<item>
			<title>Squeletml: système de gestion de contenu léger et sans base de données</title>
			<link>http://www.jpfleury.net/logiciels/squeletml.php</link>
			<guid isPermaLink="false">2012-08-17 10:33;http://www.jpfleury.net/logiciels/squeletml.php</guid>
			<description>
															&lt;!-- APERÇU: automatique --&gt;							&lt;div class=&quot;chapeau&quot;&gt;
&lt;p class=&quot;legende&quot;&gt;&lt;span&gt;Résumé&lt;/span&gt;&lt;/p&gt;
&lt;div class=&quot;contenuChapeau&quot;&gt;
&lt;p&gt;Cette page constitue une introduction à Squeletml. &lt;a href=&quot;http://www.jpfleury.net/logiciels/squeletml.php?page=documentation&quot;&gt;Vous pouvez également consulter la documentation complète&lt;/a&gt;.&lt;/p&gt;
&lt;/div&gt;&lt;!-- /.contenuChapeau --&gt;
&lt;/div&gt;&lt;div id=&quot;tableDesMatieres&quot;&gt;
&lt;h2 id=&quot;tableDesMatieresBdTitre&quot; class=&quot;bDtitre&quot;&gt;Table des matières&lt;/h2&gt;
&lt;ul id=&quot;tableDesMatieresBdCorps&quot; class=&quot;bDcorps afficher&quot;&gt;
&lt;li&gt;&lt;a href=&quot;#Apercu&quot;&gt;Aperçu&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#Fonctionnalites-et-caracteristiques&quot;&gt;Fonctionnalités et caractéristiques&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#Documentation&quot;&gt;Documentation&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#Telechargement&quot;&gt;Téléchargement&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#Developpement&quot;&gt;Développement&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#Licence&quot;&gt;Licence&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;#Materiel-tiers&quot;&gt;Matériel tiers&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;#Visuel&quot;&gt;Visuel&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;#Code&quot;&gt;Code&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;/ul&gt;
&lt;/li&gt;&lt;/ul&gt;
&lt;/div&gt;&lt;!-- /#tableDesMatieres --&gt;
&lt;!-- /.chapeau --&gt;
&lt;h2 id=&quot;Apercu&quot;&gt;Aperçu&lt;/h2&gt;

&lt;p&gt;Le logiciel libre Squeletml est un système de gestion de contenu sans base de données, utilisant un squelette de site valide XHTML 1.0 Strict et géré par inclusion de fichiers PHP, c'est-à-dire un site dont le corps de chaque page se trouve dans un fichier unique et dont les principaux éléments de structuration comme l'en-tête, le bas de page, etc. sont partagés entre toutes les pages. Il a pour but d'optimiser la création et la maintenance de ce genre de site.&lt;/p&gt;

&lt;p&gt;En effet, seulement deux fichiers doivent être inclus dans chaque page (un au début et un à la fin), peu importe le type de page (galerie, catégorie, formulaire de contact, etc.), et ces derniers fournissent une structure de site personnalisée et traduite dans la langue de la page (si disponible). Chaque page peut facilement avoir ses propres informations: langue, balise &lt;code&gt;title&lt;/code&gt;, métabalises, feuilles de style, scripts Javascript, titre de premier niveau (&lt;code&gt;h1&lt;/code&gt;), licence, table des matières, etc. L'en-tête personnalisée permet d'offrir de meilleurs repères aux internautes, d'éviter le contenu dupliqué dans les moteurs de recherche et d'avoir un site optimisé pour le référencement.&lt;/p&gt;

&lt;p&gt;Aussi, un fichier de configuration permet de paramétrer, par simple affectation de variables, le flux HTML ainsi que plusieurs aspects visuels sans devoir bidouiller dans les feuilles de style CSS, la structure de page XHTML ou la programmation PHP. Bien sûr, il est également possible d'utiliser ses propres styles ou structure de page.&lt;/p&gt;

&lt;p&gt;Enfin, Squeletml fournit plusieurs modules prêts à l'emploi: formulaires de contact, galeries photo, classement par catégories, flux RSS, commentaires avec notification, partage de la page par courriel ou par marque-pages et réseaux sociaux, cron, fichiers Sitemap, interface d'administration reproduisant les principales actions normalement effectuées par FTP, etc. Un site Squeletml peut être géré autant par l'interface graphique de l'administration que par un  simple éditeur de texte. Le tout peut facilement être traduit puisque Squeletml utilise PHP Gettext pour l'affichage de l'interface.&lt;/p&gt;

&lt;p&gt;Le fonctionnement de Squeletml est indéniablement inspiré de systèmes de gestion de contenu comme &lt;a href=&quot;http://www.drupalfr.org/&quot;&gt;Drupal&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&quot;Fonctionnalites-et-caracteristiques&quot;&gt;Fonctionnalités et caractéristiques&lt;/h2&gt;

&lt;p&gt;Voici un aperçu des fonctionnalités et des caractéristiques de Squeletml:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Sans base de données.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Requiert Apache et PHP 5, et compatible PHP 5.3.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Structure valide XHTML 1.0 Strict (si nécessaire, il est possible de choisir la définition de type de document ou tout simplement d'utiliser sa propre structure de page).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Possibilité d'utiliser la &lt;a href=&quot;http://michelf.com/projets/php-markdown/extra/&quot;&gt;syntaxe Markdown Extra&lt;/a&gt; pour le texte des pages et d'imbriquer du code PHP dans le Markdown.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Fichier de configuration offrant une syntaxe simple pour:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;insérer des fichiers CSS ou Javascipt dans l'en-tête de certaines pages en particulier ou pour toutes les pages du site;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;fusionner les feuilles de style dans un seul fichier, tout comme les scripts Javascript, permettant ainsi de réduire le nombre de requêtes HTTP lors de la visite d'une page;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;choisir diverses structures et styles possibles pour le site: nombre de colonnes et arrière-plan, position des blocs de contenu (comme les menus) dans le flux HTML (et par conséquent leur ordre dans les colonnes), présence ou non de certaines structures comme le bas de page, ajout de blocs de contenu personnalisés, blocs avec couleur de fond et coins arrondis, activation de boîtes déroulantes sur les contenus spécifiés (affichant ou masquant le corps du contenu par simple clic sur le titre, et enregistrant la préférence de l'internaute), etc.;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;configurer finement les galeries et les formulaires de contact.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Création aisée d'une page: seulement deux fichiers PHP à inclure pour chaque page, un au début et un à la fin, et toujours les deux mêmes fichiers, peu importe la langue ou le type de la page (texte, galerie, catégorie, formulaire de contact, etc.).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Personnalisation de l'en-tête pour chaque page: balise &lt;code&gt;title&lt;/code&gt;, métabalises, langue, etc.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Gestion multilingue, et structure de site (menus, bas de page, etc.) selon la langue de la page.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Possibilité de générer automatiquement une table des matières pour la page en cours.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Construction automatique des pages de galerie et de catégorie et du menu des catégories.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Ajout de formulaires de contact avec options d'antipourriel et de copie à l'expéditeur.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Module de partage par courriel et par marque-pages et réseaux sociaux.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Gestion des commentaires:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Formulaire d'ajout de commentaires activable ou désactivable page par page.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Options relatives à l'affichage des commentaires.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Notification par courriel des nouveaux commentaires avec lien de désabonnement.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Section d'administration pour la modération des commentaires.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Syndication de contenu (flux RSS):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Par défaut, un flux RSS pour chaque catégorie et chaque galerie, et des flux RSS globaux contenant les dernières publications du site et les dernières images de toutes les galeries.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Un flux RSS global activable pour chaque langue du site.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Galeries photo:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Nombre illimité de galeries.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Formats d'image PNG, JPG ou GIF.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Pagination configurable des vignettes constituant l'accueil de la galerie.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Choix de la navigation (et de son emplacement) entre chaque image d'une galerie, dont avec des flèches, des vignettes ou une fenêtre Javascript permettant de naviguer d'une image à une autre sans rechargement de page.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Information personnalisable pour chaque image (légende, attributs de la balise &lt;code&gt;img&lt;/code&gt;, en-tête HTML, etc.), ou génération automatique, évitant ainsi le contenu dupliqué d'une manière ou d'une autre.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Syntaxe Markdown Extra en option pour les légendes.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Affichage par défaut des données Exif des images au format JPG.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Choix de l'emplacement de la légende et des données Exif (au-dessus ou au-dessous de l'image, ou dans une colonne du site).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Réordonnement d'une image dans une galerie sans modification de l'URL de cette image.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Génération automatique des vignettes ou utilisation de vignettes personnalisées.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Script offert pour redimensionner automatiquement les images originales et ainsi obtenir des copies de taille intermédiaire.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Ajout d'images par lot contenues dans une archive (&lt;code&gt;.tar&lt;/code&gt;, &lt;code&gt;.tar.bz2&lt;/code&gt;, &lt;code&gt;.tar.gz&lt;/code&gt; ou &lt;code&gt;.zip&lt;/code&gt;).&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Reconnaissance automatique possible de la version d'une image selon le nom du fichier (par exemple un nom de fichier terminant par &lt;code&gt;-vignette.extension&lt;/code&gt; pour une vignette).&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Choix possible d'une ou de plusieurs licences pour tout le site ou selon chaque page.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Mise à jour rapide: la configuration personnalisée d'un site se trouve dans un dossier qui ne sera pas écrasé lors d'une mise à jour de Squeletml.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Cron permettant d'effectuer automatiquement des tâches d'administration, comme la génération du cache et la construction de fichiers Sitemap.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Section d'administration offrant des fonctionnalités utiles sans devoir passer par FTP:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;Fichiers: parcours des dossiers du site, renommage, suppression, création, modification (coloration syntaxique du code en direct à l'aide de &lt;a href=&quot;http://marijn.haverbeke.nl/codemirror/&quot;&gt;CodeMirror&lt;/a&gt; durant la saisie), ajout, téléchargement...&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Accès: ajout, modification et suppresion d'utilisateurs ayant le droit d'accéder à l'administration; mise en maintenance du site; suppression du cache; lancement du cron; sauvegarde du site.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Gestion des galeries: listage de toutes les galeries existantes, création et mise à jour du fichier de configuration pour chaque galerie, génération automatique d'images de taille intermédiaire à partir des images originales, ajout et suppression d'images, etc.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Gestion des catégories, des commentaires, des flux RSS globaux et des fichiers Sitemap.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Documentation: consultation de l'aide directement en local.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id=&quot;Documentation&quot;&gt;Documentation&lt;/h2&gt;

&lt;p&gt;Voir le fichier &lt;code&gt;doc/documentation.mkd&lt;/code&gt; dans l'archive du logiciel, ou visiter la &lt;a href=&quot;http://www.jpfleury.net/logiciels/squeletml.php?page=documentation&quot;&gt;documentation en ligne&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&quot;Telechargement&quot;&gt;Téléchargement&lt;/h2&gt;

&lt;p&gt;&lt;a href=&quot;http://jpfleury.indefero.net/p/squeletml/source/download/master/&quot;&gt;Télécharger l'archive de la dernière version.&lt;/a&gt;&lt;/p&gt;

&lt;h2 id=&quot;Developpement&quot;&gt;Développement&lt;/h2&gt;

&lt;p&gt;Dernière version: 3.2.14 (2013-05-15)&lt;/p&gt;

&lt;p&gt;Le logiciel Git est utilisé pour la gestion de versions. &lt;a href=&quot;http://jpfleury.indefero.net/p/squeletml/source/tree/master/&quot;&gt;Le dépôt peut être consulté en ligne ou récupéré en local.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Squeletml dispose également d'un &lt;a href=&quot;http://jpfleury.indefero.net/p/squeletml/issues/&quot;&gt;système de suivi&lt;/a&gt;, sur lequel les rapports de bogues et les suggestions peuvent être soumis. N'oubliez pas d'indiquer votre environnement d'hébergement. Vous pouvez récolter ces informations en visitant la page &lt;code&gt;admin/versions.admin.php&lt;/code&gt;. S'il y a des erreurs en visitant cette page, allez plutôt sur &lt;code&gt;admin/versions-solo.admin.php&lt;/code&gt;. (S'il y a lieu, modifier le nom du dossier d'administration.)&lt;/p&gt;

&lt;h2 id=&quot;Licence&quot;&gt;Licence&lt;/h2&gt;

&lt;p&gt;Auteur: Jean-Philippe Fleury &lt;a href=&quot;&amp;#109;&amp;#97;&amp;#x69;&amp;#x6c;&amp;#116;&amp;#111;&amp;#x3a;&amp;#x63;&amp;#111;&amp;#110;&amp;#x74;&amp;#x61;&amp;#99;&amp;#116;&amp;#x40;&amp;#x6a;p&amp;#102;&amp;#x6c;&amp;#x65;u&amp;#114;&amp;#121;&amp;#x2e;&amp;#x6e;&amp;#101;&amp;#116;&quot;&gt;&amp;#x63;&amp;#111;&amp;#110;&amp;#x74;&amp;#x61;&amp;#99;&amp;#116;&amp;#x40;&amp;#x6a;p&amp;#102;&amp;#x6c;&amp;#x65;u&amp;#114;&amp;#121;&amp;#x2e;&amp;#x6e;&amp;#101;&amp;#116;&lt;/a&gt;&lt;br /&gt;
Copyright © Jean-Philippe Fleury, 2008-2013.&lt;/p&gt;

&lt;p&gt;Ce programme est un logiciel libre; vous pouvez le redistribuer ou le
modifier suivant les termes de la GNU Affero General Public License telle que
publiée par la Free Software Foundation: soit la version 3 de cette
licence, soit (à votre gré) toute version ultérieure.&lt;/p&gt;

&lt;p&gt;Ce programme est distribué dans l'espoir qu'il vous sera utile, mais SANS
AUCUNE GARANTIE: sans même la garantie implicite de COMMERCIALISABILITÉ
ni d'ADÉQUATION À UN OBJECTIF PARTICULIER. Consultez la Licence publique
générale GNU Affero pour plus de détails.&lt;/p&gt;

&lt;p&gt;Vous devriez avoir reçu une copie de la Licence publique générale GNU Affero
avec ce programme; si ce n'est pas le cas, consultez
&lt;a href=&quot;http://www.gnu.org/licenses/&quot;&gt;http://www.gnu.org/licenses/&lt;/a&gt;.&lt;/p&gt;

&lt;h3 id=&quot;Materiel-tiers&quot;&gt;Matériel tiers&lt;/h3&gt;

&lt;h4 id=&quot;Visuel&quot;&gt;Visuel&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Logo de Squeletml&lt;/strong&gt;: le logo a été fait à partir de l'image &lt;code&gt;clipart/animals/lizard_guillaume_boitel_.svg&lt;/code&gt; de l'&lt;a href=&quot;http://www.openclipart.org/&quot;&gt;Open Clip Art Library&lt;/a&gt; et de la police de caractères &lt;a href=&quot;http://www.dafont.com/FR/architext.font&quot;&gt;&lt;em&gt;Architext&lt;/em&gt;&lt;/a&gt;. Les deux sont dans le domaine public.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Bannières&lt;/strong&gt;: les bannières (80px × 15px) de Squeletml et des licences utilisent la police de caractères &lt;a href=&quot;http://www.dafont.com/FR/micropixel.font&quot;&gt;Picopixel&lt;/a&gt; de Sebastian Weber. Sur le site de Dafont, la licence est précisée ainsi: «Domaine public / GNU GPL». J'ai écrit à l'auteur pour obtenir des précisions, sans réponse pour l'instant. Les bannières des licences Copyleft utilisent également une image de &lt;a href=&quot;http://commons.wikimedia.org/wiki/Image:Copyleft.svg?uselang=fr&quot;&gt;Wikimedia Commons&lt;/a&gt; dans le domaine public. La bannière du domaine public utilise également une image de &lt;a href=&quot;http://fr.wikipedia.org/wiki/Fichier:PD-icon.svg&quot;&gt;Wikimedia Commons&lt;/a&gt; dans le domaine public.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Images utilisées dans les galeries&lt;/strong&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;les images de la galerie démo sont dans le domaine public et proviennent de &lt;a href=&quot;http://commons.wikimedia.org/wiki/Accueil&quot;&gt;Wikimedia Commons&lt;/a&gt;;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;la petite icône proposant la navigation sans fenêtre Javascript provient du &lt;a href=&quot;https://addons.mozilla.org/fr/firefox/addon/1237&quot;&gt;module QuickJava pour Firefox&lt;/a&gt;, sous licence Mozilla Public License version 1.1;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;la petite icône offrant un lien vers le format original d'une image provient du &lt;a href=&quot;http://packages.ubuntu.com/jaunty/gnome-icon-theme&quot;&gt;thème d'icônes Gnome&lt;/a&gt;, sous licence GPL.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Icône utilisée dans le lien de déconnexion&lt;/strong&gt;: cette icône provient du &lt;a href=&quot;http://packages.ubuntu.com/jaunty/gnome-icon-theme&quot;&gt;thème d'icônes Gnome&lt;/a&gt;, sous licence GPL.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Icône utilisée pour les informations de publication&lt;/strong&gt;: cette icône est une version modifiée d'une image provenant de l'&lt;a href=&quot;http://www.openclipart.org/&quot;&gt;Open Clip Art Library&lt;/a&gt; et est dans le domaine public.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Icônes utilisées dans le porte-documents&lt;/strong&gt;: ces icônes proviennent du &lt;a href=&quot;http://packages.ubuntu.com/jaunty/gnome-icon-theme&quot;&gt;thème d'icônes Gnome&lt;/a&gt;, sous licence GPL.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Icône utilisée dans le script de gestion des flux RSS globaux&lt;/strong&gt;: cette icône provient du &lt;a href=&quot;http://packages.ubuntu.com/jaunty/gnome-icon-theme&quot;&gt;thème d'icônes Gnome&lt;/a&gt;, sous licence GPL.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Logo utilisé pour représenter Firefox dans le module d'affiche d'un message pour Internet Explorer 6&lt;/strong&gt;: ce logo est sous triple licence Mozilla Public License version 1.1/GPL version 2 ou toute version ultérieure/LGPL version 2.1 ou toute version ultérieure, et provient de &lt;a href=&quot;http://commons.wikimedia.org/wiki/Image:Deer_Park_Globe.png?uselang=fr&quot;&gt;Wikimedia Commons&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Icône des flux RSS&lt;/strong&gt;: cette icône est sous triple licence Mozilla Public License version 1.1/GPL version 2 ou toute version ultérieure/LGPL version 2.1 ou toute version ultérieure, et provient de &lt;a href=&quot;http://commons.wikimedia.org/wiki/Image:Feed-icon.svg?uselang=fr&quot;&gt;Wikimedia Commons&lt;/a&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Image de cône pour la page de maintenance&lt;/strong&gt;: cette image provient de &lt;a href=&quot;http://commons.wikimedia.org/wiki/Image:Small-Traffic-Cone-Edited.png?uselang=fr&quot;&gt;Wikimedia Commons&lt;/a&gt; et est dans le domaine public.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Image en cercle dans la page d'erreur 401&lt;/strong&gt;: cette image provient de l'&lt;a href=&quot;http://www.openclipart.org/&quot;&gt;Open Clip Art Library&lt;/a&gt; et est dans le domaine public.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Image en triangle utilisée dans la page d'erreur 404 et comme vignette par défaut&lt;/strong&gt;: modification d'une image provenant de &lt;a href=&quot;http://commons.wikimedia.org/wiki/Image:Attention_Sign.svg?uselang=fr&quot;&gt;Wikimedia Commons&lt;/a&gt; et étant dans le domaine public.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h4 id=&quot;Code&quot;&gt;Code&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://codemirror.net/&quot;&gt;&lt;strong&gt;CodeMirror&lt;/strong&gt;&lt;/a&gt;: sous licence BSD. J'ai créé un jeu de couleurs, nommé &lt;em&gt;gedit&lt;/em&gt;, distribué sous licence AGPL version 3 ou toute version ultérieure.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://ezcomponents.org/&quot;&gt;&lt;strong&gt;eZ Components&lt;/strong&gt;&lt;/a&gt;: sous la nouvelle licence BSD.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://api.drupal.org/api/function/_filter_htmlcorrector/6&quot;&gt;&lt;strong&gt;&amp;#95;filter&amp;#95;htmlcorrector&lt;/strong&gt;&lt;/a&gt;: fonction de Drupal, sous licence GPL.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://htmlpurifier.org/&quot;&gt;&lt;strong&gt;HTML Purifier&lt;/strong&gt;&lt;/a&gt;: sous licence LGPL version 2.1 ou toute version ultérieure.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://jquery.com/&quot;&gt;&lt;strong&gt;jQuery&lt;/strong&gt;&lt;/a&gt;: sous double licence MIT et GPL.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://plugins.jquery.com/project/cookie&quot;&gt;&lt;strong&gt;jQuery Cookie plugin&lt;/strong&gt;&lt;/a&gt;: sous double licence MIT et GPL.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://jqueryui.com/&quot;&gt;&lt;strong&gt;jQuery UI&lt;/strong&gt;&lt;/a&gt;: sous double licence MIT et GPL.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&quot;https://launchpad.net/php-gettext/&quot;&gt;&lt;strong&gt;PHP gettext&lt;/strong&gt;&lt;/a&gt;: sous licence GPL version 2 ou toute version ultérieure.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://phpjs.org/&quot;&gt;&lt;strong&gt;PHPJS&lt;/strong&gt;&lt;/a&gt;: sous double licence MIT et GPL.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://michelf.com/projets/php-markdown/extra/&quot;&gt;&lt;strong&gt;PHP Markdown Extra&lt;/strong&gt;&lt;/a&gt;: sous licence de style BSD.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://simplehtmldom.sourceforge.net/&quot;&gt;&lt;strong&gt;PHP Simple HTML DOM Parser&lt;/strong&gt;&lt;/a&gt;: sous licence MIT.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://css3pie.com/&quot;&gt;&lt;strong&gt;PIE (Progressive Internet Explorer)&lt;/strong&gt;&lt;/a&gt;: sous double licence Apache version 2 ou GPL version 2.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://www.digitalia.be/software/slimbox2&quot;&gt;&lt;strong&gt;Slimbox 2&lt;/strong&gt;&lt;/a&gt;: sous licence MIT.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://fuelyourcoding.com/table-of-contents-jquery-plugin/&quot;&gt;&lt;strong&gt;Table of Contents jQuery Plugin&lt;/strong&gt;&lt;/a&gt;: le script original a été écrit par Doug Neiner et est sous licence MIT. J'ai modifié le script et ai incorporé une fraction de code provenant du &lt;a href=&quot;http://drupal.org/project/pathauto&quot;&gt;module Pathauto pour Drupal&lt;/a&gt;, publié sous licence GPL (sans précision de la version). Je publie le script résultant sous licence GPL version 3 ou toute version ultérieure.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href=&quot;http://vikjavev.no/computing/ump.php?id=306&quot;&gt;&lt;strong&gt;Unsharp Mask for PHP&lt;/strong&gt;&lt;/a&gt;: permission écrite de l'auteur Torstein Hønsi d'ajouter «Unsharp Mask for PHP» à mon script sous AGPL.&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;
																						
															</description>
			<pubDate>Fri, 17 Aug 2012 10:33:00 -0400</pubDate>
		</item>

	</channel>
</rss>