<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://www.shadoware.org/feed/rss2/xslt" ?><rss version="2.0"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:wfw="http://wellformedweb.org/CommentAPI/"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>Shadoware.Org - Mot-clé - debian</title>
  <link>http://www.shadoware.org/</link>
  <atom:link href="http://www.shadoware.org/index.php/feed/tag/debian/rss2" rel="self" type="application/rss+xml"/>
  <description>Moi, mes idées, mes logiciels ...</description>
  <language>fr</language>
  <pubDate>Mon, 06 Feb 2012 15:38:11 +0100</pubDate>
  <copyright>Ulrich VANDENHEKKE</copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Présentation de XINX</title>
    <link>http://www.shadoware.org/post/2010/01/13/Presentation_XINX</link>
    <guid isPermaLink="false">urn:md5:0edc55e4ed72a6a0c0e21f3ac74a2c19</guid>
    <pubDate>Sun, 02 May 2010 21:55:00 +0200</pubDate>
    <dc:creator>Ulrich Van Den Hekke</dc:creator>
        <category>XINX</category>
        <category>debian</category><category>egx</category><category>generix</category><category>generix group</category><category>libre</category><category>planet</category><category>qt</category><category>stylesheet</category><category>xinx</category><category>xsl</category>    
    <description>&lt;p&gt;Ce billet fait suite à la sortie de la version 0.9.0 de &lt;strong&gt;XINX&lt;/strong&gt; et va vous décrire ce logiciel. &lt;strong&gt;XINX&lt;/strong&gt; est éditeur de feuille de style &lt;em&gt;XSL&lt;/em&gt; (il fait également éditeur &lt;em&gt;JavaScript&lt;/em&gt; et &lt;em&gt;CSS&lt;/em&gt; mais actuellement moins bien que ce que peuvent faire d'autres).&lt;/p&gt;


&lt;p&gt;Il permet l'édition des feuilles de styles en proposant de compléter sur le nom des balises (normal), sur les attributs (normal), sur les valeurs d'attributs&amp;nbsp;: les variables, les paramètres, ... Il propose également automatiquement les différents paramètres lors de l'utilisation d'un &lt;code&gt;call:template&lt;/code&gt;.&lt;/p&gt;


&lt;p&gt;L'éditeur est fortement tourné vers l'édition de feuille de style &lt;em&gt;XSL&lt;/em&gt; pour génération d&lt;em&gt;'HTML&lt;/em&gt; mais peut être utilisé pour générer du &lt;em&gt;XML&lt;/em&gt;.&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://www.shadoware.org/public/billets/xinx/0.9.0/splash.png&quot; alt=&quot;XINX Logo&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;XINX Logo, mai 2010&quot; /&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;    &lt;h3&gt;Historique&lt;/h3&gt;


&lt;p&gt;Depuis un certain temps déjà (5 ans), je travaille pour la société &lt;em&gt;Generix Group&lt;/em&gt; éditant et intégrant un ERP&lt;sup&gt;[&lt;a href=&quot;http://www.shadoware.org/post/2010/01/13/Presentation_XINX#pnote-624-1&quot; id=&quot;rev-pnote-624-1&quot;&gt;1&lt;/a&gt;]&lt;/sup&gt; du nom de &lt;em&gt;GCE&lt;/em&gt;.&lt;/p&gt;


&lt;p&gt;Sur la partie Web de cet ERP, il est possible d'intervenir à plusieurs endroits pour modifier son fonctionnement&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Le paramétrage (&lt;em&gt;BDD&lt;/em&gt;)&amp;nbsp;: Modification d'un paramètre pour agir sur le comportement du logiciel&lt;/li&gt;
&lt;li&gt;La couche métier (&lt;em&gt;JAVA&lt;/em&gt;)&amp;nbsp;: Lit le paramétrage (&lt;em&gt;BDD&lt;/em&gt;) et réalise les traitements. Il est possible de développer de nouveaux objets, mais aussi de dériver ceux existants.&lt;/li&gt;
&lt;li&gt;La couche de présentation (&lt;em&gt;XSL&lt;/em&gt;)&amp;nbsp;: A l'aide d'un flux de présentation généré par la couche métier et d'un fichier de configuration, présente les données à l'écran.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;La dernière couche est donc l'interprétation d'un flux de donnée, générée à partir de la couche métier (JAVA), à l'aide de feuille de style XSL.&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;XINX&lt;/strong&gt; sert à modifier la couche de présentation (&lt;em&gt;XSL&lt;/em&gt;). Sur cette dernière couche, on crée et modifie des feuilles de styles pour modifier la présentation des données à l'écran (Déplacer des champs, supprimer des champs, ajouter des champs, règle de gestion simple ...).&lt;/p&gt;


&lt;p&gt;En mode &lt;em&gt;projet&lt;/em&gt;, chez les clients, les modifications ne sont pas faites directement sur les feuilles de styles standard livrées, mais sur des feuilles de styles dérivées, afin de faciliter les migrations, et la correction des anomalies.&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://www.shadoware.org/public/billets/xinx/0.9.0/structure_dossier.png&quot; alt=&quot;Structure dossier &amp;lt;= 140&quot; style=&quot;float:right; margin: 0 0 1em 1em;&quot; title=&quot;Structure dossier &amp;lt;= 140, mai 2010&quot; /&gt;&lt;/p&gt;


&lt;p&gt;Lors de la modification de feuille de style &lt;em&gt;standard&lt;/em&gt;, il faut alors renommer et placer ce fichier dans un dossier séparé. C'est de cette tâche récurrente qu'est venue la création de l'éditeur de feuille de style &lt;strong&gt;XINX&lt;/strong&gt;.&lt;/p&gt;


&lt;p&gt;Le but était alors, lors de la sauvegarde d'un fichier standard, de proposer automatiquement la sauvegarde dans le bon dossier.&lt;/p&gt;


&lt;p&gt;L'autre point à l'origine de la création de &lt;strong&gt;XINX&lt;/strong&gt; est la non-existence d'un logiciel de développement de feuille de style &lt;em&gt;XSL&lt;/em&gt; gratuit et/ou libre (Il y a bien &lt;em&gt;XML Spy&lt;/em&gt; qui correspondait à peu prés mais qui était payant, et dont nous n'avions pas la licence).&lt;/p&gt;


&lt;p&gt;Sont alors venu s'ajouter d'autres fonctionnalités&amp;nbsp;: la complétion sur les balises, les attributs, les variables, .... &lt;img src=&quot;/dotclear/themes/default/smilies/smile.png&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;


&lt;h3&gt;Qu'est que XINX aujourd'hui&amp;nbsp;?&lt;/h3&gt;


&lt;p&gt;&lt;strong&gt;XINX&lt;/strong&gt; prévu initialement comme aide au développement des consultants qui font des développements de feuille de style, est maintenant un éditeur de feuille de style &lt;em&gt;XSL&lt;/em&gt; avec gestion des plugins. L'un des plugins contient des petites fonctionnalités utiles au quotidien par les consultants travaillants sur l'ERP, fonctionnalité auparavant implémenté directement dans le logiciel.&lt;/p&gt;


&lt;p&gt;Dit autrement, cette nouvelle version marque donc une étape&amp;nbsp;: La partie de &lt;strong&gt;XINX&lt;/strong&gt; propre à &lt;em&gt;Generix Group&lt;/em&gt; à été séparée dans un plugin. &lt;strong&gt;XINX&lt;/strong&gt; en lui même n'est alors plus qu'un éditeur de feuille de style, extensible via des plugins, mais il retrouve les mêmes fonctionnalités grâce à ce plugin.&lt;/p&gt;


&lt;h3&gt;Licence&lt;/h3&gt;


&lt;p&gt;&lt;img src=&quot;http://www.gnu.org/graphics/gplv3-127x51.png&quot; alt=&quot;&quot; style=&quot;float:right; margin: 0 0 1em 1em;&quot; /&gt;&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;XINX&lt;/strong&gt; est un logiciel libre dont la licence choisie est la GPLv3. Ce qui signifie que vous pouvez&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;télécharger le logiciel&lt;/li&gt;
&lt;li&gt;utiliser le logiciel pour faire ce que vous voulez&lt;/li&gt;
&lt;li&gt;télécharger les sources du logiciels&lt;/li&gt;
&lt;li&gt;modifier les sources du logiciels&lt;/li&gt;
&lt;li&gt;utiliser le logiciel modifié par vos soins&lt;/li&gt;
&lt;li&gt;distribuer le logiciel ou la version modifiée (attention à différencier les parties originales du logiciel avec le bon copyright, et les parties modifiées).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;En tant que logiciel libre &lt;strong&gt;XINX&lt;/strong&gt; possède une plateforme de contribution (ticket, wiki, source, ...) qui se trouve à l'adresse &lt;a href=&quot;http://xinx.shadoware.org&quot; hreflang=&quot;fr&quot;&gt;http://xinx.shadoware.org&lt;/a&gt;. Vous pouvez donc y aller pour contribuer.&lt;/p&gt;


&lt;p&gt;Vous pouvez contribuer de plusieurs façons&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Développement d'un Plugin&lt;/li&gt;
&lt;li&gt;Développement d'un script &lt;em&gt;ECMAScript&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Développement d'un petit patch&lt;/li&gt;
&lt;li&gt;Développement d'un gros patch&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Technologie&lt;/h3&gt;


&lt;p&gt;&lt;strong&gt;XINX&lt;/strong&gt; est un logiciel développé en &lt;em&gt;Qt&lt;/em&gt;. Il compile et tourne sous &lt;em&gt;Gnu/Debian&lt;/em&gt; (normalement n'importe quelle distribution devrait faire l'affaire, mais &lt;em&gt;Gnu/Debian&lt;/em&gt; est la seule distribution testée), et sous &lt;em&gt;MS/Windows&lt;/em&gt;. Il devrait normalement également tourner sous &lt;em&gt;MacOS&lt;/em&gt; (si les dépendances comme les librairies &lt;em&gt;libxml2&lt;/em&gt; et &lt;em&gt;libxslt&lt;/em&gt; sont compilables sous cet OS).&lt;/p&gt;


&lt;p&gt;A chaque version un paquet &lt;em&gt;Gnu/Debian&lt;/em&gt; est mis à disposition sur le dépôt (&lt;code&gt;apt.shadoware.org&lt;/code&gt;) et un binaire &lt;em&gt;MS/Windows&lt;/em&gt; est proposé en téléchargement. &lt;strong&gt;XINX&lt;/strong&gt; est toujours compilable à partir des sources pour les autres distributions ou juste parce que vous préférez ainsi. :D&lt;/p&gt;


&lt;h3&gt;Intégration continue &amp;amp; Tests&lt;/h3&gt;


&lt;p&gt;A chaque &lt;em&gt;validation&lt;/em&gt; sur le référenciel &lt;em&gt;SubVersion&lt;/em&gt;, l'application est compilée et testée (vous pouvez voir le résultat des tests à l'adresse &lt;a href=&quot;http://xinx.shadoware.org/build&quot; hreflang=&quot;fr&quot;&gt;suivante&lt;/a&gt;. A la sortie de la version 0.9.0, les tests couvrent 27% de la librairie principale. Je dois donc encore écrire d'autres jeux de tests.&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://www.shadoware.org/public/billets/xinx/0.9.0/.bitten_m.jpg&quot; alt=&quot;Intégration continue&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;Intégration continue, mai 2010&quot; /&gt;&lt;/p&gt;


&lt;h3&gt;Code réutilisable pour d'autres projets&lt;/h3&gt;


&lt;p&gt;&lt;strong&gt;XINX&lt;/strong&gt; peut également être intéressant pour d'autres développeurs &lt;em&gt;Qt&lt;/em&gt;.&lt;/p&gt;


&lt;p&gt;En effet, vous pouvez trouver dans la dernière version, ainsi que dans les versions précédentes plusieurs classes utilitaires.
Par exemple (liste presque non exhaustive)&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://xinx.shadoware.org/doxygen/devel/html/classTreeProxyItemModel.html&quot; hreflang=&quot;en&quot;&gt;TreeProxyItemModel&lt;/a&gt;&amp;nbsp;: convertit un modèle format table en modèle format arbre. Utile lorsque l'arbre est représenté dans une base de donnée relationnelle par exemple.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://xinx.shadoware.org/doxygen/devel/html/classRecursiveSortFilterProxyModel.html&quot; hreflang=&quot;en&quot;&gt;RecursiveSortFilterProxyModel&lt;/a&gt;&amp;nbsp;: Utilisé pour rechercher facilement des données dans un arbre et permet d'afficher les enfants.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://xinx.shadoware.org/doxygen/devel/html/classXinxLineEdit.html&quot; hreflang=&quot;en&quot;&gt;XinxLineEdit&lt;/a&gt;&amp;nbsp;: Inspiré de KDE, affiche un bouton pour effacer le texte dans la ligne d'édition&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://xinx.shadoware.org/doxygen/devel/html/classXinxListWidgetImpl.html&quot; hreflang=&quot;en&quot;&gt;XinxListWidgetImpl&lt;/a&gt;&amp;nbsp;: Permet de modifier une liste de valeur (ajout, suppression, valeur par défaut, classement, ...)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://xinx.shadoware.org/doxygen/devel/html/classPluginSelector.html&quot; hreflang=&quot;en&quot;&gt;PluginSelector&lt;/a&gt;&amp;nbsp;: Inspiré de KDE, permet d'afficher une liste des plugins, avec un bouton &lt;em&gt;A propos de ...&lt;/em&gt; et un bouton &lt;em&gt;Configurer ...&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://xinx.shadoware.org/doxygen/devel/html/classQMenuView.html&quot; hreflang=&quot;en&quot;&gt;QMenuView&lt;/a&gt;&amp;nbsp;: Inspiré d'un exemple de Qt et permet d'afficher un menu à partir d'un modèle.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Fonctionnalités&lt;/h3&gt;


&lt;h4&gt;Recherche parmi les fichiers d'un dossier&lt;/h4&gt;


&lt;p&gt;Un dock sur le coté permet en mode projet de rechercher et d'ouvrir un fichier parmi une multitude de fichier d'un projet (utile pour les fichiers avec beaucoup de feuille de style).&lt;/p&gt;


&lt;p&gt;La recherche peut se faire avec des Jockers (*)&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://www.shadoware.org/public/billets/xinx/0.9.0/dockprojet.png&quot; alt=&quot;Dock projet&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;Dock projet, mai 2010&quot; /&gt;&lt;/p&gt;


&lt;h4&gt;La complétion XSL&lt;/h4&gt;


&lt;p&gt;&lt;img src=&quot;http://www.shadoware.org/public/billets/xinx/0.9.0/.completion_s.jpg&quot; alt=&quot;Completion&quot; style=&quot;float:right; margin: 0 0 1em 1em;&quot; title=&quot;Completion, mai 2010&quot; /&gt;&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;XINX&lt;/strong&gt; permet  de compléter sur les feuilles de styles à plusieurs niveaux&lt;sup&gt;[&lt;a href=&quot;http://www.shadoware.org/post/2010/01/13/Presentation_XINX#pnote-624-2&quot; id=&quot;rev-pnote-624-2&quot;&gt;2&lt;/a&gt;]&lt;/sup&gt;&amp;nbsp;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;la balise (fonctionnalité standard vous allez me dire)&amp;nbsp;: &lt;strong&gt;XINX&lt;/strong&gt; permet de compléter sur les balises xsl:, les balises html ...&lt;/li&gt;
&lt;li&gt;les attributs (encore standard). Pour chaque balise, &lt;strong&gt;XINX&lt;/strong&gt; est capable de compléter sur les attributs de la balise saisie.&lt;/li&gt;
&lt;li&gt;les valeurs d'attribut (là c'est intéressant). Permet de compléter sur les variables déclarées dans le fichier &lt;em&gt;XSL&lt;/em&gt;, ainsi que dans les fichiers importés (pour retrouver les fichiers importés, &lt;strong&gt;XINX&lt;/strong&gt;, utilise le mode projet et les paramètres qui y sont définits). De plus sur les attributs non &lt;em&gt;XSL&lt;/em&gt;, &lt;strong&gt;XINX&lt;/strong&gt; ajoute automatiquement les accolades &lt;code&gt;{  }&lt;/code&gt; et les &lt;code&gt;$&lt;/code&gt; pour les variables et les paramètres.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;De plus lors de l'utilisation de la balise call:template, &lt;strong&gt;XINX&lt;/strong&gt; va chercher automatiquement les paramètres (&lt;code&gt;xsl:param&lt;/code&gt;) du template donné, et les ajoute automatiquement en &lt;code&gt;xsl:with-param&lt;/code&gt;.
Pour les balises &lt;code&gt;xsl:apply-templates&lt;/code&gt; &lt;strong&gt;XINX&lt;/strong&gt; propose la liste des modes des templates existants.&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://www.shadoware.org/public/billets/xinx/0.9.0/completion2.png&quot; alt=&quot;Completion 2&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;Completion 2, mai 2010&quot; /&gt;&lt;/p&gt;


&lt;h4&gt;Le parsing de la feuille de style&lt;/h4&gt;


&lt;p&gt;Fonctionnalité du moment, si vous indiquez un flux de données et une feuille de style, &lt;strong&gt;XINX&lt;/strong&gt; est capable d'afficher le résultat (la source &lt;em&gt;HTML&lt;/em&gt; et le résultat dans un navigateur Webkit)&lt;/p&gt;


&lt;p&gt;Si l'emplacement où doivent s'exécuter les pages est définit alors, les feuilles de styles, les images, ... pourront être affichées.&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://www.shadoware.org/public/billets/xinx/0.9.0/.representation_html_m.jpg&quot; alt=&quot;Représentation HTML&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;Représentation HTML, mai 2010&quot; /&gt;&lt;/p&gt;


&lt;h3&gt;A venir&lt;/h3&gt;


&lt;p&gt;Bien que l'avenir du logiciel dépend de ces utilisateurs, voici les nouvelles fonctionnalités que devrait apporter la prochaine version&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Déverminage de feuille de style XSL&lt;/li&gt;
&lt;li&gt;Amélioration du parseur JavaScript et CSS&lt;/li&gt;
&lt;li&gt;Quelques réécritures (Vue projet, ...)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Le plugin GCE&lt;/h3&gt;


&lt;p&gt;Comme indiqué ci-dessous, il existe un plugin &lt;em&gt;GCE&lt;/em&gt; utilisé par les consultants travaillants sur l'ERP &lt;em&gt;GCE&lt;/em&gt;.&lt;/p&gt;


&lt;p&gt;Ce plugin permet de dupliquer une feuille de style d'un dossier à un autre (sans modification des fichiers standards), de lire les dictionnaires de libellé de l'ERP GCE, la lecture du fichier de configuration du lecteur &lt;em&gt;GCE&lt;/em&gt;.&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://www.shadoware.org/public/billets/xinx/0.9.0/.derivation_m.jpg&quot; alt=&quot;Dérivation de feuille de style&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;Dérivation de feuille de style, mai 2010&quot; /&gt;&lt;/p&gt;


&lt;h3&gt;Téléchargement&lt;/h3&gt;


&lt;p&gt;Vous pouvez télécharger &lt;strong&gt;XINX&lt;/strong&gt; à l'adresse &lt;a href=&quot;http://xinx.shadoware.org/downloads&quot; hreflang=&quot;fr&quot;&gt;http://xinx.shadoware.org/downloads&lt;/a&gt; (source et version Windows).&lt;/p&gt;


&lt;p&gt;Si vous voulez installer &lt;strong&gt;XINX&lt;/strong&gt; sur une Gnu/Debian (32 ou 64 bits) vous pouvez inclure le dépôt suivant&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;
# Shadoware.Org
deb http://apt.shadoware.org/ squeeze main
&lt;/pre&gt;


&lt;p&gt;Et installé de la façon suivante&amp;nbsp;:&lt;/p&gt;

&lt;pre class=&quot;bash bash&quot; style=&quot;font-family:inherit&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;aptitude&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;install&lt;/span&gt; xinx&lt;/pre&gt;


&lt;p&gt;Vous pouvez vous tenir au courant des sorties de version grâce à la &lt;a href=&quot;http://lists.shadoware.org/listinfo/xinx&quot; hreflang=&quot;fr&quot;&gt;mailing list&lt;/a&gt;&lt;/p&gt;
&lt;div class=&quot;footnotes&quot;&gt;&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt;[&lt;a href=&quot;http://www.shadoware.org/post/2010/01/13/Presentation_XINX#rev-pnote-624-1&quot; id=&quot;pnote-624-1&quot;&gt;1&lt;/a&gt;] Un ERP et un logiciel de gestion d'entreprise. Un ERP permet de gérer, par exemple, les produits, les clients, les fournisseurs, les stocks, les ventes, les achats, la logistique, la comptabilité, .... Je ne vais pas vous faire une présentation des ERPs, car même si cela pourrait faire un billet intéressant, ce n'est pas le but ici.&lt;/p&gt;
&lt;p&gt;[&lt;a href=&quot;http://www.shadoware.org/post/2010/01/13/Presentation_XINX#rev-pnote-624-2&quot; id=&quot;pnote-624-2&quot;&gt;2&lt;/a&gt;] Merci à &lt;a href=&quot;http://qcodeedit.edyuk.org/&quot; hreflang=&quot;en&quot;&gt;QCodeEdit&lt;/a&gt; qui me fournit quelques fonctionnalités utiles.&lt;/p&gt;&lt;/div&gt;
</description>
    
    
    
          <comments>http://www.shadoware.org/post/2010/01/13/Presentation_XINX#comment-form</comments>
      <wfw:comment>http://www.shadoware.org/post/2010/01/13/Presentation_XINX#comment-form</wfw:comment>
      <wfw:commentRss>http://www.shadoware.org/feed/atom/comments/624</wfw:commentRss>
      </item>
    
  <item>
    <title>KMyMoney - Logiciel de compte</title>
    <link>http://www.shadoware.org/post/2009/02/24/KMyMoney-Logiciel-de-compte</link>
    <guid isPermaLink="false">urn:md5:a8f1185e40fdd9ff15ac06145d59a8af</guid>
    <pubDate>Sat, 23 May 2009 12:31:00 +0200</pubDate>
    <dc:creator>Ulrich Van Den Hekke</dc:creator>
        <category>Logiciels</category>
        <category>argent</category><category>debian</category><category>kde</category><category>libre</category><category>planet</category><category>qt</category>    
    <description>    &lt;p&gt;&lt;img src=&quot;http://www.shadoware.org/public/billets/kmymoney/logo.png&quot; alt=&quot;Logo KMyMoney&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;Logo KMyMoney, fév. 2009&quot; /&gt;&lt;/p&gt;


&lt;p&gt;Voilà un bon logiciel sur lequel on peut compter (mouarf&amp;nbsp;! mouarf&amp;nbsp;! mouarf !), KMyMoney est un éditeur de compte. Je l'utilise quotidiennement,  et je décide donc d'en parler un peu, pour que d'autres personnes puissent s'intéresser aussi à  ce logiciel.&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://www.shadoware.org/public/billets/kmymoney/.Summary_m.jpg&quot; alt=&quot;Summary.png&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;Summary.png, mai 2009&quot; /&gt;&lt;/p&gt;


&lt;p&gt;KMyMoney est un logiciel de gestion de compte pour particulier. Il vous permet de gérer plusieurs de vos comptes en banque, en vous permettant de saisir les dépenses et les recettes sur chacun de vos comptes.&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://www.shadoware.org/public/billets/kmymoney/.Registres_m.jpg&quot; alt=&quot;Registres.png&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;Registres.png, mai 2009&quot; /&gt;&lt;/p&gt;


&lt;p&gt;Vous pouvez également lui indiquer vos échéances (par exemple&amp;nbsp;: forfait téléphone, prêt immobilier&lt;sup&gt;[&lt;a href=&quot;http://www.shadoware.org/post/2009/02/24/KMyMoney-Logiciel-de-compte#pnote-615-1&quot; id=&quot;rev-pnote-615-1&quot;&gt;1&lt;/a&gt;]&lt;/sup&gt;, mais aussi salaire, vos virements internes ou externes, ...) qu'il s'occupera de mettre à jour dans le registre automatiquement ou à votre demande.&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://www.shadoware.org/public/billets/kmymoney/.Echeancier_m.jpg&quot; alt=&quot;Echeancier.png&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;Echeancier.png, mai 2009&quot; /&gt;&lt;/p&gt;


&lt;p&gt;Après une année d'utilisation, il vous permet également de sortir un rapport détaillé sur vos dépenses et vos recettes suivant les catégories saisies pour vos opérations. Cette information peut vous être très utile pour voir où se trouve le &quot;trou&quot; de votre porte monnaie et ainsi  faire une rustine. Il vous permet aussi de vous projeter vers l'avenir et de faire votre budget pour l'année prochaine. KMyMoney vous offre pour cela, la saisie de votre budget, ainsi que plusieurs rapports d'écart, vous permettant ainsi de retrouver facilement où vous avez finalement dépensé plus que le budget prévu, et où vous avez dépensé moins.&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://www.shadoware.org/public/billets/kmymoney/.Rapport_m.jpg&quot; alt=&quot;Rapport.png&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;Rapport.png, mai 2009&quot; /&gt;&lt;/p&gt;


&lt;p&gt;En plus de vos comptes en banque &lt;em&gt;normaux&lt;/em&gt;, KMyMoney vous permet également de gérer vos comptes titre, et les actions que vous y avez mises. Vous pouvez alors facilement suivre la chute vertigineuse de la bourse et votre portefeuille fondre littéralement, mais aussi la remontée (on espère), des actions d'ici quelques ... siècles.&lt;/p&gt;


&lt;p&gt;Enfin pour les paranos, vos comptes peuvent être cryptés à l'aide de votre clé GnuPG automatiquement par KMyMoney &lt;img src=&quot;/dotclear/themes/default/smilies/smile.png&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://www.shadoware.org/public/billets/kmymoney/.Cryptage_m.jpg&quot; alt=&quot;Cryptage.png&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;Cryptage.png, mai 2009&quot; /&gt;&lt;/p&gt;


&lt;p&gt;Après cette courte présentation, je vous souhaite bon compte &lt;img src=&quot;/dotclear/themes/default/smilies/wink.png&quot; alt=&quot;;)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;Pour une vie équilibrée, n'oubliez pas de profiter du soleil, au lieu de passer votre temps sur votre ordinateur&lt;/p&gt;&lt;/blockquote&gt;
&lt;div class=&quot;footnotes&quot;&gt;&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt;[&lt;a href=&quot;http://www.shadoware.org/post/2009/02/24/KMyMoney-Logiciel-de-compte#rev-pnote-615-1&quot; id=&quot;pnote-615-1&quot;&gt;1&lt;/a&gt;] Il s'occupera d'ailleurs de calculer la durée des échéances, ... en fonction des différents chiffres que vous allez lui entrer.&lt;/p&gt;&lt;/div&gt;
</description>
    
    
    
          <comments>http://www.shadoware.org/post/2009/02/24/KMyMoney-Logiciel-de-compte#comment-form</comments>
      <wfw:comment>http://www.shadoware.org/post/2009/02/24/KMyMoney-Logiciel-de-compte#comment-form</wfw:comment>
      <wfw:commentRss>http://www.shadoware.org/feed/atom/comments/615</wfw:commentRss>
      </item>
    
  <item>
    <title>KDE4 devient instable ...</title>
    <link>http://www.shadoware.org/post/2009/04/11/KDE4-passe-dans-sid</link>
    <guid isPermaLink="false">urn:md5:8d9737fde2f18ddfb08a0869850ed3d6</guid>
    <pubDate>Sat, 11 Apr 2009 11:29:00 +0200</pubDate>
    <dc:creator>Ulrich Van Den Hekke</dc:creator>
        <category>Logiciels</category>
        <category>debian</category><category>kde</category><category>planet</category><category>qt</category>    
    <description>    &lt;p&gt;Titre trolleur, cela ne veux pas dire que KDE 4 est moins stable qu'avant mais qu'il a passé une étape supplémentaire chez Debian.&lt;/p&gt;


&lt;p&gt;Voilà quelques jours déjà que la distribution &lt;strong&gt;Gnu/Debian&lt;/strong&gt; intègre &lt;strong&gt;KDE 4&lt;/strong&gt; dans sa version instable. C'est une grande nouvelle car cela va permettre à toute les personnes se trouvant en instable et n'ayant pas touchées à la branche expérimental de Debian de pouvoir tester &lt;strong&gt;KDE 4&lt;/strong&gt;.&lt;/p&gt;


&lt;p&gt;Malheureusement pour les &lt;em&gt;traumatisé de KDE 4&lt;/em&gt;, l'intégration de ce dernier remplace KDE 3.5 et ne viens pas se positionner en parallèle. Il me semble pourtant que lors du passage de KDE 2 à KDE 3, il était possible d'avoir les deux bureaux en même temps sur sa machine et de switcher de l'un à l'autre sans difficulté. Cela signifie donc peut-être aussi la perte d'utilisateur pour KDE sous Gnu/Debian au profit d'un autre environnement de bureau.&lt;/p&gt;


&lt;p&gt;Afin d'effectuer la migration en douceur, Gnu/Debian propose un assistant de migration de KDE du nom de Kaboom. Cet assistant, démarrer lors de la première connexion de l'utilisateur et vous propose alors de sauvegarder votre ancien dossier de configuration KDE 3 et de migrer le dossier .kde vers la version 4.&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://www.shadoware.org/public/billets/kaboom/.kaboom1_s.jpg&quot; alt=&quot;kaboom1.png&quot; title=&quot;kaboom1.png, avr. 2009&quot; /&gt;&lt;img src=&quot;http://www.shadoware.org/public/billets/kaboom/.kaboom2_s.jpg&quot; alt=&quot;kaboom2.png&quot; title=&quot;kaboom2.png, avr. 2009&quot; /&gt;&lt;img src=&quot;http://www.shadoware.org/public/billets/kaboom/.kaboom3_s.jpg&quot; alt=&quot;kaboom3.png&quot; title=&quot;kaboom3.png, avr. 2009&quot; /&gt;&lt;/p&gt;


&lt;p&gt;Je viens donc de passer à KDE 4 et m'émerveille des nouvelles fonctionnalités de KWin (cube, placement des fenêtres) que je n'avais pas avant, car n'avait jamais installé Compiz ...&lt;/p&gt;


&lt;p&gt;Bonne installation,&lt;/p&gt;</description>
    
    
    
          <comments>http://www.shadoware.org/post/2009/04/11/KDE4-passe-dans-sid#comment-form</comments>
      <wfw:comment>http://www.shadoware.org/post/2009/04/11/KDE4-passe-dans-sid#comment-form</wfw:comment>
      <wfw:commentRss>http://www.shadoware.org/feed/atom/comments/619</wfw:commentRss>
      </item>
    
  <item>
    <title>XINX 0.8.0.0</title>
    <link>http://www.shadoware.org/post/2009/03/06/XINX-0.8.0.0</link>
    <guid isPermaLink="false">urn:md5:bb0b61b90ea40245272ba7dd11a09eaa</guid>
    <pubDate>Fri, 06 Mar 2009 20:39:00 +0100</pubDate>
    <dc:creator>Ulrich Van Den Hekke</dc:creator>
        <category>XINX</category>
        <category>debian</category><category>egx</category><category>generix</category><category>generix group</category><category>paquets</category><category>qt</category><category>trolltech</category><category>xinx</category>    
    <description>&lt;p&gt;&lt;img src=&quot;http://www.shadoware.org/public/billets/xinx/.editeur_de_texte_s.jpg&quot; alt=&quot;Editeur de texte&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;Editeur de texte, mar. 2009&quot; /&gt;&lt;/p&gt;


&lt;p&gt;J'ai le plaisir de vous annoncer la sortie de la nouvelle version de &lt;strong&gt;XINX&lt;/strong&gt;.&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;XINX&lt;/strong&gt; est un éditeur de projet web basé sur les technologies XSL, HTML, CSS, JavaScript. Il possède un mode projet permettant de dériver les projets à la manière des consultants GCE de l'entreprise &lt;em&gt;Generix Group&lt;/em&gt;.&lt;/p&gt;


&lt;p&gt;Cette dernière version a mis beaucoup de temps pour sortir et est moins complète que celle que je souhaitais faire à l'origine. Cela viens de plusieurs raison&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;de gros changement interne&lt;/li&gt;
&lt;li&gt;moins de temps le soir et le week-end.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;La prochaine version 0.8.1 contiendra les développements que je n'ai pu mettre dans cette version. N'hésitez pas à faire un retour sur les problèmes que vous rencontrez pour que ces derniers soit également corriger pour la prochaine version.&lt;/p&gt;


&lt;p&gt;Nous allons détailler ci-dessous les différentes amélioration incluse dans cette version.&lt;/p&gt;    &lt;h3&gt;QCodeEdit - Le nouvel éditeur&lt;/h3&gt;


&lt;p&gt;L'éditeur de texte de cette version a complètement été remplacé. On est passé de QTextEdit (&lt;em&gt;éditeur de texte de Qt Software&lt;/em&gt;) à QCodeEdit (&lt;em&gt;Développé par Luc Bruant aka fullmetalcoder&lt;/em&gt;). Heureusement que les APIs de ces deux éditeurs sont très similaire ce qui a permis d'effectuer les changements assez rapidement (quelques mois au lieu de quelques années &lt;img src=&quot;/dotclear/themes/default/smilies/wink.png&quot; alt=&quot;;)&quot; class=&quot;smiley&quot; /&gt; ).&lt;/p&gt;


&lt;p&gt;Je tiens également à remercier &lt;em&gt;fullmetalcoder&lt;/em&gt; de sa réactivité sur le développement de QCodeEdit.&lt;/p&gt;


&lt;p&gt;Les nouveautés qu'apportent ce nouvel éditeur par rapport à QTextEdit sont&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;le folding&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&quot;http://www.shadoware.org/public/billets/xinx/marqueur.png&quot; alt=&quot;Mark&quot; style=&quot;float:right; margin: 0 0 1em 1em;&quot; title=&quot;Mark, mar. 2009&quot; /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;les couleurs de fond sur les marque pages et les erreurs (pour une plus grande clarté).&lt;/li&gt;
&lt;li&gt;un chargement plus rapide des fichiers (exemple&amp;nbsp;: &lt;code&gt;configuration.xml&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;pourvoir faire des sélections verticales (à l'aide de Ctrl+Shift) comme le font certain éditeurs&lt;/li&gt;
&lt;li&gt;afficher les correspondances de parenthèses&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Test du XPATH&lt;/h3&gt;


&lt;p&gt;&lt;img src=&quot;http://www.shadoware.org/public/billets/xinx/.xpath_s.jpg&quot; alt=&quot;X-Quey&quot; style=&quot;float:left; margin: 0 1em 1em 0;&quot; title=&quot;X-Quey, mar. 2009&quot; /&gt;&lt;/p&gt;


&lt;p&gt;Cette boite de dialogue permet d'exécuter un X-PATH (ou une requête XQuery) sur un fichier de présentation. Cela permet de tester rapidement les X-PATH compliqué avant de lancer la page sous le navigateur.&lt;/p&gt;


&lt;p&gt;Il est possible de saisir des X-PATH relativement à un X-PATH sélectionné dans le flux de présentation ou  de manière absolu.&lt;/p&gt;


&lt;h3&gt;Script automatique&lt;/h3&gt;


&lt;p&gt;&lt;strong&gt;XINX&lt;/strong&gt; permet également d'appeler un script lors de la sauvegarde d'un fichier. Pour cela un nouvel objet permettant de modifier le contenue de l'éditeur plus facilement a été créé.
Comme exemple à la sauvegarde de script ont été mis à jours&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;La mise à jours des key('url-param','') par des X-PATH&lt;/li&gt;
&lt;li&gt;La mise à jours du nom du fichier dans les feuilles de styles.&lt;/li&gt;
&lt;/ul&gt;
&lt;pre class=&quot;javascript javascript&quot; style=&quot;font-family:inherit&quot;&gt;obj.&lt;span style=&quot;color: #660066;&quot;&gt;beforeSave&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;
	&lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;this&lt;/span&gt;.&lt;span style=&quot;color: #660066;&quot;&gt;run&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;
&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
obj.&lt;span style=&quot;color: #660066;&quot;&gt;run&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;
&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;
	&lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;var&lt;/span&gt; search &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;new&lt;/span&gt; DocumentSearch&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt; textEdit &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;
&amp;nbsp;
	search.&lt;span style=&quot;color: #660066;&quot;&gt;options&lt;/span&gt;.&lt;span style=&quot;color: #660066;&quot;&gt;regExp&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #003366; font-weight: bold;&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;
	search.&lt;span style=&quot;color: #660066;&quot;&gt;searchText&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #3366CC;&quot;&gt;&amp;quot;key&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\\&lt;/span&gt;('url-param', '(.*)'&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\\&lt;/span&gt;)&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;
	search.&lt;span style=&quot;color: #660066;&quot;&gt;replaceText&lt;/span&gt; &lt;span style=&quot;color: #339933;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #3366CC;&quot;&gt;&amp;quot;/layout_data/application_data/temporaire/param[@name='&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\\&lt;/span&gt;1']&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;
&amp;nbsp;
	&lt;span style=&quot;color: #000066; font-weight: bold;&quot;&gt;while&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt; search.&lt;span style=&quot;color: #660066;&quot;&gt;next&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #009900;&quot;&gt;&amp;#123;&lt;/span&gt;&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;
&lt;span style=&quot;color: #009900;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;span style=&quot;color: #339933;&quot;&gt;;&lt;/span&gt;&lt;/pre&gt;


&lt;p&gt;La nouveauté se trouve dans l'ajout de quatre nouvelle méthodes. La méthode utilisé ici est &lt;code&gt;beforeSave&lt;/code&gt; et permet de faire des modifications au texte avant sauvegarde. Tout comme &lt;code&gt;afterSave&lt;/code&gt; permet d'effectuer des modifications au texte après sauvegarde. Nous avons également deux méthodes beforeLoad et afterLoad pour les opérations à faire lors de la lecture.&lt;/p&gt;


&lt;h3&gt;Autres nouveautés&lt;/h3&gt;


&lt;p&gt;Bien sur cet version apporte aussi d'autres nouveautés comme&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;la fermeture automatique de balise&lt;/li&gt;
&lt;li&gt;des nouvelles options, ...&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Installation&lt;/h3&gt;


&lt;h4&gt;Sous Ms/Windows&lt;/h4&gt;


&lt;p&gt;Pour installer la dernière version de &lt;strong&gt;XINX&lt;/strong&gt; vous pouvez télécharger le &lt;a href=&quot;http://xinx.shadoware.org/downloads/40&quot; hreflang=&quot;fr&quot;&gt;programme d'installation&lt;/a&gt; et le lancer. Il remplacera automatiquement l'ancienne version.&lt;/p&gt;


&lt;p&gt;Si vous avez des fichiers de données modifiés (template, script, ...) pensez à les sauvegarder.&lt;/p&gt;


&lt;h4&gt;Sous Gnu/Linux&lt;/h4&gt;


&lt;p&gt;Sous Debian, vous pouvez ajouter le dépôt dans le fichier /etc/apt/sources.list. Ainsi vous serez automatiquement prévenu des mises à jours éventuelle.&lt;/p&gt;

&lt;pre&gt;
deb http://apt.shadoware.org/ sid main
&lt;/pre&gt;


&lt;p&gt;puis dans une console&amp;nbsp;:&lt;/p&gt;

&lt;pre class=&quot;bash bash&quot; style=&quot;font-family:inherit&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sudo&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;apt-cache&lt;/span&gt; search xinx
&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sudo&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;aptitude&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;install&lt;/span&gt; xinx&lt;/pre&gt;


&lt;p&gt;Pour les autres distributions ou pour les machines MacOS vous pouvez compiler &lt;strong&gt;XINX&lt;/strong&gt; à partir des sources.&lt;/p&gt;</description>
    
    
    
          <comments>http://www.shadoware.org/post/2009/03/06/XINX-0.8.0.0#comment-form</comments>
      <wfw:comment>http://www.shadoware.org/post/2009/03/06/XINX-0.8.0.0#comment-form</wfw:comment>
      <wfw:commentRss>http://www.shadoware.org/feed/atom/comments/618</wfw:commentRss>
      </item>
    
  <item>
    <title>Debian Lenny est sortie</title>
    <link>http://www.shadoware.org/post/2009/02/15/Debian-Lenny-est-sortie</link>
    <guid isPermaLink="false">urn:md5:1de72db849f36d393c469df0b42620f2</guid>
    <pubDate>Sun, 15 Feb 2009 11:41:00 +0000</pubDate>
    <dc:creator>Ulrich Van Den Hekke</dc:creator>
        <category>Logiciels</category>
        <category>debian</category><category>kde</category><category>planet</category>    
    <description>    &lt;p&gt;Bonjours à tous,&lt;/p&gt;


&lt;p&gt;Voici la grande nouvelle de ce Week-End&amp;nbsp;:
Hier, le jour de la &lt;strong&gt;St Valentin&lt;/strong&gt;, la distribution stable &lt;strong&gt;Gnu/Debian&lt;/strong&gt; est passé de &lt;strong&gt;Etch&lt;/strong&gt; à &lt;strong&gt;Lenny&lt;/strong&gt;&lt;sup&gt;[&lt;a href=&quot;http://www.shadoware.org/post/2009/02/15/Debian-Lenny-est-sortie#pnote-612-1&quot; id=&quot;rev-pnote-612-1&quot;&gt;1&lt;/a&gt;]&lt;/sup&gt;.&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://www.shadoware.org/public/billets/lenny/debian-logo.png&quot; alt=&quot;Logo Debian&quot; style=&quot;display:block; margin:0 auto;&quot; title=&quot;Logo Debian, fév. 2009&quot; /&gt;&lt;/p&gt;


&lt;p&gt;Cela annonce donc non seulement une nouvelle version stable de &lt;strong&gt;Gnu/Debian&lt;/strong&gt; (ce qui est loin d'arriver tous les jours) mais aussi le déblocage de &lt;strong&gt;sid&lt;/strong&gt;.&lt;/p&gt;


&lt;p&gt;Attention lors des prochaines mises à jour, &lt;strong&gt;KDE 4&lt;/strong&gt; (ainsi que les dernières versions de tous les logiciels) arrivera doucement sur votre bureau&lt;sup&gt;[&lt;a href=&quot;http://www.shadoware.org/post/2009/02/15/Debian-Lenny-est-sortie#pnote-612-2&quot; id=&quot;rev-pnote-612-2&quot;&gt;2&lt;/a&gt;]&lt;/sup&gt; si vous êtes en &lt;strong&gt;sid&lt;/strong&gt; ou en &lt;strong&gt;testing&lt;/strong&gt;. Cela va de même pour les dernières versions du noyau qui devrait arriver également.&lt;/p&gt;


&lt;p&gt;La prochaine, future distribution stable (qui apparaîtra sûrement d'ici 5 ans) sera &lt;strong&gt;squeeze&lt;/strong&gt;.&lt;/p&gt;
&lt;div class=&quot;footnotes&quot;&gt;&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt;[&lt;a href=&quot;http://www.shadoware.org/post/2009/02/15/Debian-Lenny-est-sortie#rev-pnote-612-1&quot; id=&quot;pnote-612-1&quot;&gt;1&lt;/a&gt;] http://blog.ganneff.de/blog/2009/02/14/lenny-release.html&lt;/p&gt;
&lt;p&gt;[&lt;a href=&quot;http://www.shadoware.org/post/2009/02/15/Debian-Lenny-est-sortie#rev-pnote-612-2&quot; id=&quot;pnote-612-2&quot;&gt;2&lt;/a&gt;] http://pusling.com/blog/?p=94&lt;/p&gt;&lt;/div&gt;
</description>
    
    
    
          <comments>http://www.shadoware.org/post/2009/02/15/Debian-Lenny-est-sortie#comment-form</comments>
      <wfw:comment>http://www.shadoware.org/post/2009/02/15/Debian-Lenny-est-sortie#comment-form</wfw:comment>
      <wfw:commentRss>http://www.shadoware.org/feed/atom/comments/612</wfw:commentRss>
      </item>
    
  <item>
    <title>Email2Trac</title>
    <link>http://www.shadoware.org/post/2008/10/21/Email2Trac</link>
    <guid isPermaLink="false">urn:md5:5ec8ea26412295d7bc4b6d2846dff997</guid>
    <pubDate>Wed, 22 Oct 2008 09:00:00 +0200</pubDate>
    <dc:creator>Ulrich Van Den Hekke</dc:creator>
        <category>Logiciels</category>
        <category>article</category><category>bug</category><category>debian</category><category>dédié</category><category>mail</category><category>planet</category><category>trac</category>    
    <description>&lt;p&gt;&lt;em&gt;Email2Trac&lt;/em&gt; est un logiciel permettant de créer un ticket sous &lt;em&gt;Trac&lt;/em&gt; en envoyant un mail au système de suivi de ticket.&lt;/p&gt;


&lt;p&gt;L'intérêt d'envoyer un mail au système de suivi plutôt que de se connecter sur le site Internet pour faire ses rapports d'anomalie, est de faciliter l'accès à de nouvelles personnes.
En effet, il est parfois plus facile d'envoyer un mail avec son client mail préféré (en considérant que le logiciel est quasiment toujours ouvert, ce qui doit être le cas en entreprise) que d'ouvrir le navigateur pour envoyer une anomalie de temps en temps (ouvrir le site, se logger, remplir tous les champs, ...).&lt;/p&gt;


&lt;p&gt;Ceci peut également être utilisé par un outil de rapport de bug, envoyant un mail automatique (avec confirmation de l'utilisateur) au crash dudit logiciel.&lt;/p&gt;    &lt;p&gt;Comme dit précédemment, &lt;em&gt;EMail2Trac&lt;/em&gt;&lt;sup&gt;[&lt;a href=&quot;http://www.shadoware.org/post/2008/10/21/Email2Trac#pnote-611-1&quot; id=&quot;rev-pnote-611-1&quot;&gt;1&lt;/a&gt;]&lt;/sup&gt; permet&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;d'ajouter un ticket en envoyant un mail, avec des fichiers attachés&lt;/li&gt;
&lt;li&gt;mettre à jour un ticket (en répondant au mail du ticket par exemple)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Installation&lt;/h3&gt;


&lt;p&gt;Pour installer &lt;em&gt;Email2Trac&lt;/em&gt;, il faut télécharger le &lt;a href=&quot;ftp://ftp.sara.nl/pub/outgoing/email2trac.tar.gz&quot;&gt;source&lt;/a&gt; et le décompresser dans un dossier temporaire (ou utilisateur).&lt;/p&gt;


&lt;h4&gt;Sans gestionnaire de paquet&lt;/h4&gt;


&lt;p&gt;Ensuite la compilation se fait à l'aide des habituelles &lt;code&gt;autotools&lt;/code&gt;&lt;/p&gt;

&lt;pre class=&quot;bash bash&quot; style=&quot;font-family:inherit&quot;&gt;configure &lt;span style=&quot;color: #660033;&quot;&gt;--prefix&lt;/span&gt;=&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;usr&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;local&lt;/span&gt; --with-mta_user=nobody --with-trac_user=www-data
&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;make&lt;/span&gt; 
&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;make&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;install&lt;/span&gt;&lt;/pre&gt;


&lt;h4&gt;Sous Debian&lt;/h4&gt;


&lt;p&gt;Après avoir installé les paquets &lt;code&gt;cdbs&lt;/code&gt; et &lt;code&gt;autotools-dev&lt;/code&gt;, vous pouvez exécuter les commandes suivante en &lt;em&gt;root&lt;/em&gt; (ou la première à l'aide de &lt;em&gt;fakeroot&lt;/em&gt;)&amp;nbsp;:&lt;/p&gt;

&lt;pre class=&quot;bash bash&quot; style=&quot;font-family:inherit&quot;&gt;debian&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;rules binary
&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;dpkg&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-i&lt;/span&gt; ..&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;email2trac_&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;&lt;/span&gt;version&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt;.deb&lt;/pre&gt;


&lt;p&gt;Pour le gestionnaire de paquets &lt;em&gt;RPM&lt;/em&gt; vous pouvez visiter la page &lt;a href=&quot;https://subtrac.sara.nl/oss/email2trac/wiki/Email2tracInstallation&quot; hreflang=&quot;en&quot;&gt;https://subtrac.sara.nl/oss/email2trac/wiki/Email2tracInstallation&lt;/a&gt;&lt;/p&gt;


&lt;h3&gt;Configuration de l'application&lt;/h3&gt;


&lt;p&gt;La deuxième étape est l'édition du fichier &lt;code&gt;/etc/email2trac.conf&lt;/code&gt;. Dans ce fichier les informations à renseigner concerne la gestion du projet Trac&lt;sup&gt;[&lt;a href=&quot;http://www.shadoware.org/post/2008/10/21/Email2Trac#pnote-611-2&quot; id=&quot;rev-pnote-611-2&quot;&gt;2&lt;/a&gt;]&lt;/sup&gt; par &lt;em&gt;Email2Trac&lt;/em&gt;.&lt;/p&gt;

&lt;pre class=&quot;ini ini&quot; style=&quot;font-family:inherit&quot;&gt;&lt;span style=&quot;color: #000066; font-weight:bold;&quot;&gt;&lt;span style=&quot;&quot;&gt;&amp;#91;&lt;/span&gt;DEFAULT&lt;span style=&quot;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;/span&gt;
project: /www/site/trac/projet1
spam_level: &lt;span style=&quot;&quot;&gt;5&lt;/span&gt;
drop_spam: &lt;span style=&quot;&quot;&gt;1&lt;/span&gt;
ticket_update: &lt;span style=&quot;&quot;&gt;1&lt;/span&gt;
strip_signature: &lt;span style=&quot;&quot;&gt;1&lt;/span&gt;
&amp;nbsp;
&lt;span style=&quot;color: #000066; font-weight:bold;&quot;&gt;&lt;span style=&quot;&quot;&gt;&amp;#91;&lt;/span&gt;projet2&lt;span style=&quot;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;/span&gt;
project: /www/site/trac/projet2
spam_level: &lt;span style=&quot;&quot;&gt;5&lt;/span&gt;
drop_spam: &lt;span style=&quot;&quot;&gt;1&lt;/span&gt;
ticket_update: &lt;span style=&quot;&quot;&gt;1&lt;/span&gt;
strip_signature: &lt;span style=&quot;&quot;&gt;1&lt;/span&gt;&lt;/pre&gt;


&lt;p&gt;Les différentes options dépendent de ce que vous souhaitez avoir. Les différentes possibilités sont à l'adresse &lt;a href=&quot;https://subtrac.sara.nl/oss/email2trac/wiki/Email2tracConfiguration&quot; hreflang=&quot;en&quot;&gt;suivante&lt;/a&gt;.&lt;/p&gt;


&lt;h4&gt;Spam&lt;/h4&gt;


&lt;p&gt;La gestion du SPAM se fait à l'aide des 3 lignes&amp;nbsp;:&lt;/p&gt;
&lt;pre class=&quot;ini ini&quot; style=&quot;font-family:inherit&quot;&gt;spam_level: &lt;span style=&quot;&quot;&gt;5&lt;/span&gt;
drop_spam: &lt;span style=&quot;&quot;&gt;1&lt;/span&gt;
spam_header: X-Spam-Level&lt;/pre&gt;


&lt;p&gt;La ligne &lt;code&gt;spam_header&lt;/code&gt; étant à configurer suivant votre politique de gestion des spams (utilisation de &lt;em&gt;SpamAssassin&lt;/em&gt; ou d'un autre utilitaire).&lt;/p&gt;


&lt;h3&gt;Configuration de Postfix&lt;/h3&gt;


&lt;p&gt;Il faut maintenant configurer notre système de messagerie pour intégrer &lt;em&gt;Email2Trac&lt;/em&gt;. Nous allons détailler ici la mise en place de &lt;em&gt;Email2Trac&lt;/em&gt; sous &lt;em&gt;Postfix&lt;/em&gt;. Pour les autres serveurs mails vous pouvez visiter la page&amp;nbsp;: &lt;a href=&quot;http://www.shadoware.org/post/2008/10/21/en&quot;&gt;http://subtrac.sara.nl/oss/email2trac/wiki/Email2tracMta&lt;/a&gt;&lt;/p&gt;


&lt;h4&gt;Aliases&lt;/h4&gt;


&lt;p&gt;La première méthode concerne la modification du fichier des &lt;em&gt;alias&lt;/em&gt; pour une configuration standard de &lt;em&gt;postfix&lt;/em&gt;.  Nous allons commencer par modifier le fichier &lt;code&gt;/etc/aliases&lt;/code&gt; en ajoutant la ligne suivante (pour le projet 1)&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;
projet1: |&amp;quot;/usr/bin/run_email2trac&amp;quot;
&lt;/pre&gt;


&lt;p&gt;Il est également possible de préciser le projet sur lequel il faut travailler (projet définit dans &lt;code&gt;/etc/email2trac.conf&lt;/code&gt;)&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;
projet2: |&amp;quot;/usr/bin/run_email2trac --project=projet2 --ticket_prefix=devel&amp;quot;
&lt;/pre&gt;


&lt;p&gt;Dans le fichier &lt;code&gt;/etc/postfix/main.cf&lt;/code&gt;, il faut avoir défini l'emplacement des alias de la manière suivante&amp;nbsp;:&lt;/p&gt;

&lt;pre class=&quot;ini ini&quot; style=&quot;font-family:inherit&quot;&gt;&lt;span style=&quot;color: #000099;&quot;&gt;alias_maps&lt;/span&gt; &lt;span style=&quot;color: #000066; font-weight:bold;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #660066;&quot;&gt; hash:/etc/aliases&lt;/span&gt;&lt;/pre&gt;


&lt;p&gt;Les commandes suivantes permettent de mettre à jour le fichier des alias et demander à &lt;em&gt;Postfix&lt;/em&gt; de recharger la configuration&amp;nbsp;:&lt;/p&gt;

&lt;pre class=&quot;bash bash&quot; style=&quot;font-family:inherit&quot;&gt;postaliases &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;etc&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;aliases
postfix reload&lt;/pre&gt;


&lt;p&gt;Une fois ceci terminé, les mails envoyé à &lt;em&gt;projet1@domain.org&lt;/em&gt; et &lt;em&gt;projet2@domaine.org&lt;/em&gt; seront automatiquement redirigés vers &lt;em&gt;email2trac&lt;/em&gt; qui s'occupera de créer le ticket dans votre système de suivi.&lt;/p&gt;


&lt;h4&gt;Transport&lt;/h4&gt;


&lt;p&gt;Cette configuration concerne les personnes qui ont une configuration plus complexe de &lt;em&gt;postfix&lt;/em&gt; par exemple en gérant des domaines virtuels. Il est alors possible de définir une redirection des tickets pour un sous domaine.&lt;/p&gt;


&lt;p&gt;Nous avons donc créé le sous-domaine &lt;em&gt;tickets.domaine.org&lt;/em&gt; et voulons que les mails envoyés à &lt;em&gt;projet1@tickets.domaine.org&lt;/em&gt; est &lt;em&gt;projet2@tickets.domaine.org&lt;/em&gt; soient redirigés vers email2trac.&lt;/p&gt;


&lt;p&gt;Pour cela nous allons créer un fichier &lt;code&gt;/etc/postfix/transport&lt;/code&gt; avec les lignes ci-dessous&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;
projet1@tickets.domaine.org      projet1:
projet2@tickets.domaine.org      projet2:
&lt;/pre&gt;


&lt;p&gt;Puis dans le fichier &lt;code&gt;/etc/postfix/main.cf&lt;/code&gt; nous allons définir que pour le sous domaine &lt;em&gt;tickets.domaine.org&lt;/em&gt;, il faut lire et utiliser le fichier des transports. (Attention il ne faut pas ajouter ce sous-domaine dans &lt;code&gt;mydestination&lt;/code&gt;.&lt;/p&gt;

&lt;pre class=&quot;ini ini&quot; style=&quot;font-family:inherit&quot;&gt;&lt;span style=&quot;color: #000099;&quot;&gt;relay_domains&lt;/span&gt; &lt;span style=&quot;color: #000066; font-weight:bold;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #660066;&quot;&gt; tickets.domaine.org&lt;/span&gt;
&lt;span style=&quot;color: #000099;&quot;&gt;transport_maps&lt;/span&gt; &lt;span style=&quot;color: #000066; font-weight:bold;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #660066;&quot;&gt; hash:/etc/postfix/transport&lt;/span&gt;&lt;/pre&gt;


&lt;p&gt;Ensuite, il nous faut définir dans le fichier &lt;code&gt;/etc/postfix/master.cf&lt;/code&gt; notre nouveau mode de transport. Il n'est pas obligé d'utiliser &lt;code&gt;run_email2trac&lt;/code&gt; qui fait un changement d'utilisateur, car dans le fichier &lt;code&gt;master.cf&lt;/code&gt; on peut directement définir l'utilisateur de destination.&lt;/p&gt;

&lt;pre&gt;
projet1      unix  -       n       n       -       -       pipe
  flags=FR user=www-data argv=/usr/bin/email2trac
  ${nexthop} ${user}
projet2      unix  -       n       n       -       -       pipe
  flags=FR user=www-data argv=/usr/bin/email2trac
  ${nexthop} ${user}
&lt;/pre&gt;


&lt;p&gt;Enfin il faut redémarrer &lt;em&gt;postfix&lt;/em&gt;&amp;nbsp;:&lt;/p&gt;
&lt;pre class=&quot;bash bash&quot; style=&quot;font-family:inherit&quot;&gt;postmap &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;etc&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;postfix&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;transport
postfix reload&lt;/pre&gt;


&lt;p&gt;Et voilà vous pouvez envoyer vos mails à &lt;em&gt;projet1@tickets.shadoware.org&lt;/em&gt;.&lt;/p&gt;



&lt;h3&gt;Tester&lt;/h3&gt;


&lt;p&gt;Pour tester il est possible d'envoyer un mail, comme ceci&amp;nbsp;:&lt;/p&gt;
&lt;pre class=&quot;bash bash&quot; style=&quot;font-family:inherit&quot;&gt;mail projet1&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;tickets.shadoware.org &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;&lt;/span&gt; ticket.txt&lt;/pre&gt;


&lt;p&gt;En cas de problème, vous pouvez vérifier que email2trac est bien configuré avec la commande&amp;nbsp;:&lt;/p&gt;
&lt;pre class=&quot;bash bash&quot; style=&quot;font-family:inherit&quot;&gt;email2trac &lt;span style=&quot;color: #660033;&quot;&gt;--project&lt;/span&gt;=projet1 &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;&lt;/span&gt; ticket.txt&lt;/pre&gt;
&lt;div class=&quot;footnotes&quot;&gt;&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt;[&lt;a href=&quot;http://www.shadoware.org/post/2008/10/21/Email2Trac#rev-pnote-611-1&quot; id=&quot;pnote-611-1&quot;&gt;1&lt;/a&gt;] &lt;a href=&quot;http://subtrac.sara.nl/oss/email2trac/wiki&quot; title=&quot;http://subtrac.sara.nl/oss/email2trac/wiki&quot;&gt;http://subtrac.sara.nl/oss/email2tr...&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;[&lt;a href=&quot;http://www.shadoware.org/post/2008/10/21/Email2Trac#rev-pnote-611-2&quot; id=&quot;pnote-611-2&quot;&gt;2&lt;/a&gt;] &lt;a href=&quot;http://trac.edgewall.org/&quot; title=&quot;http://trac.edgewall.org/&quot;&gt;http://trac.edgewall.org/&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;
</description>
    
    
    
          <comments>http://www.shadoware.org/post/2008/10/21/Email2Trac#comment-form</comments>
      <wfw:comment>http://www.shadoware.org/post/2008/10/21/Email2Trac#comment-form</wfw:comment>
      <wfw:commentRss>http://www.shadoware.org/feed/atom/comments/611</wfw:commentRss>
      </item>
    
  <item>
    <title>Paquet Debian et Qt</title>
    <link>http://www.shadoware.org/post/2008/09/08/45-paquet-debian-et-qt</link>
    <guid isPermaLink="false">urn:md5:98bc4b24cff491d05aba301c4e3acd97</guid>
    <pubDate>Mon, 08 Sep 2008 20:45:00 +0000</pubDate>
    <dc:creator>Ulrich Van Den Hekke</dc:creator>
        <category>Distribution</category>
        <category>debian</category><category>dépots</category><category>paquets</category><category>planet</category><category>qmake</category><category>qt</category><category>trolltech</category>    
    <description>&lt;p&gt;A titre personnel je fabrique quelques programmes en Qt. Comme j'utilise un système &lt;em&gt;Gnu/Debian&lt;/em&gt;, j'ai cherché à fabriquer des paquets pour mon système (plus pour le plaisir qu'autre chose, car la plus grande partie de mes utilisateurs sont sous &lt;em&gt;MS/Windows&lt;/em&gt;).&lt;/p&gt;


&lt;p&gt;Ce billet explique la création de paquet &lt;em&gt;Gnu/Debian&lt;/em&gt; pour des applications Qt 4 utilisant QMake&lt;/p&gt;    &lt;h3&gt;Installation des paquets&lt;/h3&gt;


&lt;p&gt;Pour la création des paquets pour des programmes utilisant &lt;code&gt;qmake&lt;/code&gt;, il faut &lt;code&gt;cdbs, dh_make, dpkg-buildpackage&lt;/code&gt;.&lt;/p&gt;

&lt;pre class=&quot;bash&quot;&gt;aptitude &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;install&lt;/span&gt; cdbs dh-&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;make&lt;/span&gt; fakeroot devscripts&lt;/pre&gt;


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


&lt;h4&gt;Préparation&lt;/h4&gt;


&lt;p&gt;Vous pouvez donc choisir un de vos programmes que vous voulez empaqueter. Pour cela vous allez commencer par nettoyer l'arborescence de votre projet pour retirer les fichiers de sauvegarde ainsi que les fichiers de construction (&lt;code&gt;*~ *.o&lt;/code&gt;, ...). Ce petit nettoyage va permettre d'avoir un paquet source &lt;em&gt;propre&lt;/em&gt;.&lt;/p&gt;


&lt;p&gt;Il faut que vous placiez les sources dans un dossier du nom de &lt;code&gt;&amp;lt;programme&amp;gt;-&amp;lt;version&amp;gt;&lt;/code&gt;.&lt;/p&gt;


&lt;p&gt;Voici un exemple de fichier projet&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;
TARGET = qgenconfig
TEMPLATE = app

CONFIG += exceptions warn_on qt
QT += xml

HEADERS += src/loadconfigimpl.h \
   src/setupfile.h \
   src/configfile.h \
   src/p_configfile.h
SOURCES += src/loadconfigimpl.cpp \
   src/setupfile.cpp \
   src/main.cpp \
   src/configfile.cpp
FORMS = ui/loadconfig.ui

DESTDIR = bin
MOC_DIR = build
OBJECTS_DIR = build
UI_DIR = build
&lt;/pre&gt;


&lt;p&gt;Pour générer le &lt;code&gt;Makefile&lt;/code&gt;, vous pouvez faire comme d'habitude&amp;nbsp;:&lt;/p&gt;
&lt;pre class=&quot;bash&quot;&gt;qmake-qt4 qgenconfig.pro&lt;/pre&gt;


&lt;h4&gt;Création des scripts&lt;/h4&gt;


&lt;p&gt;Pour créer les paquets, il faut un ensemble de script dans le dossier &lt;code&gt;debian&lt;/code&gt;. Pour se faciliter la vie, il est possible de créer les scripts avec &lt;code&gt;dh_make&lt;/code&gt;.&lt;/p&gt;

&lt;pre class=&quot;bash&quot;&gt;&lt;span style=&quot;color: #007800;&quot;&gt;DEBFULLNAME=&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Ulrich Van Den Hekke&amp;quot;&lt;/span&gt; dh_make -e ulrich.vdh&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;@&lt;/span&gt;shadoware.org -n -s -c gpl&lt;/pre&gt;


&lt;p&gt;Voici la description de la liste des paramètres&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;DEBFULLNAME&lt;/code&gt; indique le nom du mainteneur.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-e&lt;/code&gt; Permet de préciser l'email (suivis de l'email).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-n&lt;/code&gt; Produit un paquet natif pour &lt;em&gt;Gnu/Debian&lt;/em&gt; (quand l'auteur fait ses paquets lui-même).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-s&lt;/code&gt; Indique que le paquet ne va contenir qu'un simple exécutable (si vous voulez faire plusieurs paquets, il suffit de ne pas mettre cette option).&lt;/li&gt;
&lt;li&gt;&lt;code&gt;-c&lt;/code&gt; Indique la licence d'utilisation (ici &lt;code&gt;gpl&lt;/code&gt;).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Vous pouvez ensuite supprimer les fichiers exemples (mais pas nécessairement si vous voulez les étudier).&lt;/p&gt;

&lt;pre class=&quot;bash&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;rm&lt;/span&gt; debian&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/*&lt;/span&gt;.ex  debian&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/*&lt;/span&gt;.EX  debian&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;docs  debian&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;dirs&lt;/span&gt;&lt;/pre&gt;


&lt;h5&gt;Paquet simple&lt;/h5&gt;


&lt;p&gt;Nous allons commencer par créer un paquet simple. Cela signifie qu'il n'y aura qu'un seul exécutable dans le paquet (pas de librairie, ...).&lt;/p&gt;


&lt;p&gt;Dans le fichier &lt;code&gt;control&lt;/code&gt;, il faut que vous renseignez les informations du paquet que vous allez créer.&lt;/p&gt;

&lt;pre&gt;
Source: qgenconfig
Section: devel
Priority: extra
Maintainer: Ulrich Van Den Hekke &amp;lt;ulrich.vdh@shadoware.org&amp;gt;
Build-Depends: debhelper (&amp;gt;= 7)
Standards-Version: 3.7.3
Homepage: http://projects.shadoware.org/qgenconfig

Package: qgenconfig
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}
Description: Create a config class in Qt after loading a XML file.
 Load an XML description file of a settings object and create a class
 that can be used to load and save information in a QSettings class. To
 load information structure are used.
&lt;/pre&gt;


&lt;p&gt;Dans le paquet ci-dessus, on créait un paquet binaire et un paquet source. Les variables de dépendance (dans &lt;code&gt;Depends&lt;/code&gt;) sont remplacées automatiquement à la génération du paquet. La description est celle écrite dans &lt;code&gt;aptitude&lt;/code&gt;. La première ligne est la description courte, les suivantes (précédées d'un espace) sont la description longue.&lt;/p&gt;


&lt;p&gt;Ensuite on va remplacer le fichier &lt;code&gt;debian/rules&lt;/code&gt; en utilisant &lt;code&gt;cdbs&lt;/code&gt;&amp;nbsp;:&lt;/p&gt;

&lt;pre class=&quot;bash&quot;&gt;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;#!/usr/bin/make -f&lt;/span&gt;
include &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;usr&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;share&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;cdbs&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;rules&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;debhelper.mk
include &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;usr&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;share&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;cdbs&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;class&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;qmake.mk
&lt;span style=&quot;color: #007800;&quot;&gt;QMAKE=&lt;/span&gt;qmake-qt4
&amp;nbsp;
&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;install&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;qgenconfig::
	&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;mkdir&lt;/span&gt; $&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;DEB_DESTDIR&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;usr&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;
	&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;mkdir&lt;/span&gt; $&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;DEB_DESTDIR&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;usr&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;bin&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;
	&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;cp&lt;/span&gt; $&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;CURDIR&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;bin&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;qgenconfig $&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;DEB_DESTDIR&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;usr&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;bin&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;/pre&gt;


&lt;p&gt;En premier lieu on définit les variables pour la compilation, puis ensuite on définit les opérations d'installations dans la cible &lt;code&gt;install/qgenconfig&lt;/code&gt;&lt;sup&gt;[&lt;a href=&quot;http://www.shadoware.org/post/2008/09/08/45-paquet-debian-et-qt#pnote-36-1&quot; id=&quot;rev-pnote-36-1&quot;&gt;1&lt;/a&gt;]&lt;/sup&gt;.
Dans les opérations, vous allez copier votre exécutable dans le dossier de génération de debian (dossier &lt;code&gt;debian/&amp;lt;cible&amp;gt;&lt;/code&gt;).&lt;/p&gt;


&lt;h5&gt;Paquet multiple&lt;/h5&gt;


&lt;p&gt;Créer plusieurs paquets à partir d'une même source avec &lt;code&gt;cdbs&lt;/code&gt; est assez simple. Il suffit de rajouter des cibles, correspondantes au fichier &lt;code&gt;control&lt;/code&gt;, dans le fichier &lt;code&gt;rules&lt;/code&gt; .&lt;/p&gt;


&lt;p&gt;Dans le fichier de &lt;code&gt;control&lt;/code&gt; on va avoir plusieurs paquets binaires pour un seul paquet source.&lt;/p&gt;

&lt;pre&gt;
Source: xinx
Section: devel
Priority: extra
Maintainer: Ulrich Van Den Hekke &amp;lt;xinx@shadoware.org&amp;gt;
Build-Depends: debhelper (&amp;gt;= 7)
Standards-Version: 3.7.3
Homepage: http://xinx.shadoware.org/

Package: xinx
Section: devel
Architecture: any
Depends: ${shlibs:Depends}, ${misc:Depends}, xinx-scripts (&amp;gt;= 0.7.2.0)
Recommends: xinx-plugins-services, xinx-plugins-cvs, xinx-plugins-svn
Suggests: xinx-doc
Description: XSL/JS/HTML editor for Generix
 XINX is an editor of XSL stylesheet, JavaScript, Cascading Style Sheet.
 This editor is used with egx.

Package: xinx-doc
Section: doc
Architecture: all
Depends: xinx (&amp;gt;= 0.7.2.0)
Description: Documentation for xinx
 Technical Documentation of XINX
&lt;/pre&gt;


&lt;p&gt;Nous allons définir dans le fichier &lt;code&gt;rules&lt;/code&gt; les différentes cibles que nous avons dans le fichier &lt;code&gt;control&lt;/code&gt;&lt;sup&gt;[&lt;a href=&quot;http://www.shadoware.org/post/2008/09/08/45-paquet-debian-et-qt#pnote-36-2&quot; id=&quot;rev-pnote-36-2&quot;&gt;2&lt;/a&gt;]&lt;/sup&gt;.&lt;/p&gt;

&lt;pre class=&quot;bash&quot;&gt;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;#!/usr/bin/make -f&lt;/span&gt;
include &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;usr&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;share&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;cdbs&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;rules&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;debhelper.mk
include &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;usr&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;share&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;cdbs&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;class&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;qmake.mk
&lt;span style=&quot;color: #007800;&quot;&gt;QMAKE=&lt;/span&gt;qmake-qt4 project.pro
&amp;nbsp;
&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;install&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;xinx::
	&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;mkdir&lt;/span&gt; $&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;CURDIR&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;debian&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;xinx&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;usr&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;
	&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;mkdir&lt;/span&gt; $&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;CURDIR&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;debian&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;xinx&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;usr&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;bin&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;
	&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;cp&lt;/span&gt; $&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;CURDIR&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;xinx&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;xinx $&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;CURDIR&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;debian&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;xinx&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;usr&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;bin&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;
	&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;cp&lt;/span&gt; $&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;CURDIR&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;xinxprojectwizard&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;xinxprojectwizard $&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;CURDIR&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;debian&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;xinx&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;usr&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;bin&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;
&amp;nbsp;
	&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;mkdir&lt;/span&gt; $&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;CURDIR&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;debian&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;xinx&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;usr&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;lib&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;
	&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;cp&lt;/span&gt; -a $&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;CURDIR&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;libxinx&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;libsharedxinx&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt; $&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;CURDIR&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;debian&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;xinx&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;usr&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;lib&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;
	&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;cp&lt;/span&gt; -a $&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;CURDIR&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;components&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;libxinxcmp&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt; $&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;CURDIR&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;debian&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;xinx&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;usr&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;lib&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;
&amp;nbsp;
&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;install&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;xinx-doc::
	&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;mkdir&lt;/span&gt; $&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;CURDIR&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;debian&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;xinx-doc&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;usr&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;
	&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;mkdir&lt;/span&gt; $&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;CURDIR&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;debian&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;xinx-doc&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;usr&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;share&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;
	&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;mkdir&lt;/span&gt; $&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;CURDIR&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;debian&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;xinx-doc&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;usr&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;share&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;doc&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;
	&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;mkdir&lt;/span&gt; $&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;CURDIR&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;debian&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;xinx-doc&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;usr&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;share&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;doc&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;xinx-doc&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;
	&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;cp&lt;/span&gt; -a $&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;CURDIR&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;doc&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/*&lt;/span&gt; $&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;CURDIR&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;debian&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;xinx-doc&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;usr&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;share&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;doc&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;xinx-doc&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;
	&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;rm&lt;/span&gt; -rf $&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;CURDIR&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;debian&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;xinx-doc&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;usr&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;share&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;doc&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;xinx-doc&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;html&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;.svn&lt;/pre&gt;


&lt;p&gt;Ici on génère deux paquets, le paquet binaire et la documentation.&lt;/p&gt;


&lt;h4&gt;Génération du paquet&lt;/h4&gt;


&lt;h5&gt;Mise à jour des informations du paquets&lt;/h5&gt;

&lt;ul&gt;
&lt;li&gt;Pour modifier le changelog sur la version courante&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;dch -a&lt;/pre&gt;
&lt;ul&gt;
&lt;li&gt;Pour créer une nouvelle version&lt;/li&gt;
&lt;/ul&gt;
&lt;pre&gt;dch -i&lt;/pre&gt;


&lt;h5&gt;Création du paquet&lt;/h5&gt;


&lt;pre&gt;dpkg-buildpackage -rfakeroot&lt;/pre&gt;


&lt;p&gt;L'application va signer le paquet s'il trouve la clé assignée à l'utilisateur.&lt;/p&gt;


&lt;h3&gt;Création d'un dépôt&lt;/h3&gt;


&lt;p&gt;Après avoir créé des paquets, il peut-être intéressant de créer un dépôt pour installer ces paquets. voici la marche à suivre pour créer le dépôt.&lt;/p&gt;


&lt;p&gt;Sur votre serveur internet (nous ne parlerons pas ici de la mise à disposition sur Internet), vous allez devoir créer un dossier contenant votre référentiel (exemple&amp;nbsp;: &lt;code&gt;/www/sites/apt&lt;/code&gt;).&lt;/p&gt;


&lt;h4&gt;Création de l'arborescence&lt;/h4&gt;


&lt;p&gt;Vous allez devoir créer une arborescence comme suite&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;dists
   +- main 
       |- binary-i386
       |- binary-amd64
       +- source&lt;/pre&gt;


&lt;p&gt;Parmi les fichiers générés vous allez devoir mettre le fichier &lt;code&gt;.deb&lt;/code&gt; dans le dossier binaire, et les fichiers &lt;code&gt;.changes&lt;/code&gt;, &lt;code&gt;.dsc&lt;/code&gt;, et &lt;code&gt;.tar.gz&lt;/code&gt; dans le dossier &lt;code&gt;source&lt;/code&gt;.&lt;/p&gt;


&lt;h4&gt;Création d'un fichier apt-ftparchive.conf&lt;/h4&gt;


&lt;p&gt;Nous allons commencer par créer un fichier &lt;code&gt;apt-ftparchive.conf&lt;/code&gt;  dans lequel nous allons définir les fichiers à créer.&lt;/p&gt;

&lt;pre&gt;
Dir {
	ArchiveDir &amp;quot;.&amp;quot;;
	CacheDir &amp;quot;.&amp;quot;;
};

Tree &amp;quot;dists/unstable&amp;quot; {
	Sections &amp;quot;main&amp;quot;;
	Architectures &amp;quot;amd64 source&amp;quot;;
};

BinDirectory &amp;quot;dists/unstable/main/binary-amd64&amp;quot; {
	Packages &amp;quot;dists/unstable/main/binary-amd64/Packages&amp;quot;;
	Contents &amp;quot;dists/unstable/Contents-amd64&amp;quot;;
	SrcPackages &amp;quot;dists/unstable/main/source/Sources&amp;quot;;
};
&lt;/pre&gt;


&lt;h4&gt;Création du fichier apt-unstable-release.conf&lt;/h4&gt;

&lt;pre&gt;
APT::FTPArchive::Release::Origin	&amp;quot;shadoware.org&amp;quot;;
APT::FTPArchive::Release::Label		&amp;quot;shadoware.org&amp;quot;;
APT::FTPArchive::Release::Suite		&amp;quot;unstable&amp;quot;;
APT::FTPArchive::Release::Codename	&amp;quot;unstable&amp;quot;;
APT::FTPArchive::Release::Architectures	&amp;quot;amd64 source&amp;quot;;
APT::FTPArchive::Release::Components	&amp;quot;main&amp;quot;;
APT::FTPArchive::Release::Description	&amp;quot;Paquets du site Shadoware.Org&amp;quot;;
&lt;/pre&gt;


&lt;h4&gt;Création du fichier update-archive.sh&lt;/h4&gt;


&lt;p&gt;Ce fichier est celui que l'on doit exécuter pour la génération du contenu de l'arborescence&amp;nbsp;:&lt;/p&gt;

&lt;pre class=&quot;bash&quot;&gt;apt-ftparchive generate apt-ftparchive.conf
apt-ftparchive -c apt-unstable-release.conf release dists&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;unstable &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt; dists&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;unstable&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;Release&lt;/pre&gt;
&lt;div class=&quot;footnotes&quot;&gt;&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt;[&lt;a href=&quot;http://www.shadoware.org/post/2008/09/08/45-paquet-debian-et-qt#rev-pnote-36-1&quot; id=&quot;pnote-36-1&quot;&gt;1&lt;/a&gt;] D'autres cibles sont disponibles (cf la doc de &lt;code&gt;cdbs&lt;/code&gt;).&lt;/p&gt;
&lt;p&gt;[&lt;a href=&quot;http://www.shadoware.org/post/2008/09/08/45-paquet-debian-et-qt#rev-pnote-36-2&quot; id=&quot;pnote-36-2&quot;&gt;2&lt;/a&gt;] A cause d'un bogue, ou d'une mauvaise utilisation, la variable &lt;code&gt;$(DEB_DESTDIR)&lt;/code&gt; ne me ramenait pas la bonne valeur, je l'ai donc remplacée par &lt;code&gt;$(CURDIR)/debian&lt;/code&gt;.&lt;/p&gt;&lt;/div&gt;
</description>
    
    
    
          <comments>http://www.shadoware.org/post/2008/09/08/45-paquet-debian-et-qt#comment-form</comments>
      <wfw:comment>http://www.shadoware.org/post/2008/09/08/45-paquet-debian-et-qt#comment-form</wfw:comment>
      <wfw:commentRss>http://www.shadoware.org/feed/atom/comments/36</wfw:commentRss>
      </item>
    
  <item>
    <title>Mises à jour Gnu/Debian récentes</title>
    <link>http://www.shadoware.org/post/2008/02/18/43-mise-a-jours-gnu-debian-recente</link>
    <guid isPermaLink="false">urn:md5:6cfd2b9ca21c9d701f11bb6feba499d9</guid>
    <pubDate>Mon, 18 Feb 2008 18:28:00 +0000</pubDate>
    <dc:creator>Ulrich Van Den Hekke</dc:creator>
        <category>Logiciels</category>
        <category>debian</category><category>planet</category><category>update</category>    
    <description>    &lt;p&gt;Bonjour,&lt;/p&gt;


&lt;p&gt;La distribution GNU/Debian propose une nouvelle mise à jour pour sa version etch. Les points importants que je remarque, sont&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;la correction de la faille sur le noyau Linux pour toutes les machines serveurs&amp;nbsp;: Veillez à bien mettre à jour votre noyau car même si vous ne proposez pas de compte aux utilisateurs, l'escalade de privilèges peut intervenir dans une faille de sécurité de votre site Internet (cf de l'injection de code).&lt;/li&gt;
&lt;li&gt;la mise à jour de KDE, qui désormais permet à Konqueror de charger le plugin flash non libre.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Bien sûr, cette mise à jour propose également d'autres corrections de Bug et mise à jour de sécurité, ainsi que la suppression de certains paquets (soit trop miné/buggé, soit propriétaire). On peut par ailleurs retrouver le plugin flash dans les backports&lt;/p&gt;</description>
    
    
    
          <comments>http://www.shadoware.org/post/2008/02/18/43-mise-a-jours-gnu-debian-recente#comment-form</comments>
      <wfw:comment>http://www.shadoware.org/post/2008/02/18/43-mise-a-jours-gnu-debian-recente#comment-form</wfw:comment>
      <wfw:commentRss>http://www.shadoware.org/feed/atom/comments/34</wfw:commentRss>
      </item>
    
  <item>
    <title>Debian etch - Clé USB</title>
    <link>http://www.shadoware.org/post/2007/08/04/23-debian-etch-cle-usb</link>
    <guid isPermaLink="false">urn:md5:c6317ed8af5191d3802439e3c67d75d4</guid>
    <pubDate>Sat, 04 Aug 2007 13:17:00 +0000</pubDate>
    <dc:creator>Ulrich Van Den Hekke</dc:creator>
        <category>Linux</category>
        <category>debian</category><category>live</category><category>planet</category><category>usb</category>    
    <description>&lt;p&gt;Il peut être parfois utile de se déplacer ici et là avec une distribution Linux &lt;em&gt;clé en main&lt;/em&gt; sans se trimbaler toujours avec un ordinateur portable ou un CD.&lt;/p&gt;


&lt;p&gt;La clé USB devient alors très utile atteignant aujourd'hui des tailles de l'ordre de 2G pour pas trop cher&lt;sup&gt;[&lt;a href=&quot;http://www.shadoware.org/post/2007/08/04/23-debian-etch-cle-usb#pnote-22-1&quot; id=&quot;rev-pnote-22-1&quot;&gt;1&lt;/a&gt;]&lt;/sup&gt;. De petite taille, elle peut être utilisée dans des endroits ayant des ordinateurs avec un système d'exploitation propriétaire (ou un autre système libre, ou même pas sans système) mais permettant de démarrer sur un périphérique externe (une clé USB par exemple).&lt;/p&gt;


&lt;p&gt;L'utilité peut-être variable&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Surfer avec une plus grande tranquillité&lt;/li&gt;
&lt;li&gt;Utiliser ses logiciels favoris ( &lt;code&gt;Amarok&lt;/code&gt;, &lt;code&gt;KMyMoney&lt;/code&gt;, &lt;code&gt;KDevelop&lt;/code&gt;, ... )&lt;/li&gt;
&lt;li&gt;Utiliser une interface graphique, bien sûr, meilleure.&lt;/li&gt;
&lt;li&gt;Utiliser dans un système embarqué.&lt;/li&gt;
&lt;li&gt;Tester les ordinateurs portables dans les magasins&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;J'ai trouvé différents sites, tel que &lt;a href=&quot;http://www.breizh-ardente.fr/dotclear/index.php?2006/12/03/57-usbuntu-ou-comment-installer-ubuntu-sur-un-disque-clef-usb-en-mode-persistant&quot;&gt;Ubuntu en mode persistant&lt;/a&gt; permettant d'installer une distribution Ubuntu sur une clé USB ou un disque dur USB.
L'inconvénient de cette méthode est qu'il n'est pas possible d'installer uniquement ce que l'on souhaite partant obligatoirement d'une base LiveCD.&lt;/p&gt;


&lt;p&gt;Ensuite j'ai trouvé d'autres sites, tels que &lt;a href=&quot;http://feraga.com/node/25&quot;&gt;Howto Install a Debian GNU/Linux system onto a USB flash thumb drive&lt;/a&gt; et &lt;a href=&quot;http://www.debian-administration.org/articles/179&quot;&gt;Installing Debian onto USB flash media with everything encrypted.&lt;/a&gt; dont je me suis inspiré pour écrire ce tutoriel.&lt;/p&gt;
&lt;div class=&quot;footnotes&quot;&gt;&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt;[&lt;a href=&quot;http://www.shadoware.org/post/2007/08/04/23-debian-etch-cle-usb#rev-pnote-22-1&quot; id=&quot;pnote-22-1&quot;&gt;1&lt;/a&gt;] J'ai par ailleurs acheté récemment une clé USB de 2Go à cet effet pour à peine 15 euros&lt;/p&gt;&lt;/div&gt;
    &lt;h3&gt;Préparation de la clé&lt;/h3&gt;


&lt;h4&gt;Modules&lt;/h4&gt;


&lt;p&gt;Afin de pouvoir accéder à la clé USB, il faut bien évidemment avoir chargé sur sa machine &lt;em&gt;Gnu/Linux&lt;/em&gt; les modules adéquates&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;# modprobe ehci_hcd
# modprobe ohci_hcd 
# modprobe usbhid
# modprobe usb_storage&lt;/pre&gt;


&lt;h4&gt;Logiciels&lt;/h4&gt;


&lt;p&gt;Nous allons considérer que nous sommes sur un système à base de &lt;em&gt;Gnu/Debian&lt;/em&gt; (&lt;em&gt;Ubuntu&lt;/em&gt; devrait pouvoir faire l'affaire). Si vous avez un autre système, il vous faut trouver un moyen d'installer le programme &lt;code&gt;debootstrap&lt;/code&gt;&lt;/p&gt;


&lt;p&gt;Sur un système &lt;em&gt;Gnu/Debian&lt;/em&gt;, il vous suffit de taper la commande, si le programme n'est pas déjà installé&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;# aptitude install debootstrap&lt;/pre&gt;


&lt;h3&gt;Installation du système de base&lt;/h3&gt;


&lt;h4&gt;Partitionnement de la clé USB&lt;/h4&gt;


&lt;p&gt;En premier lieu il faut effectuer le partitionnement de la clé USB. Selon sa taille et aussi de la quantité de logiciel que vous voulez installer il faudra prévoir plus ou moins de place.&lt;/p&gt;


&lt;p&gt;Pour le partitionnement vous pouvez utiliser votre utilitaire favori (&lt;code&gt;parted&lt;/code&gt;, &lt;code&gt;qtparted&lt;/code&gt;, &lt;code&gt;fdisk&lt;/code&gt;, &lt;code&gt;cfdisk&lt;/code&gt;, ...). Le partitionnement que j'ai effectué pour ma propre clé est le suivant&amp;nbsp;:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;50Mo pour la partition &lt;strong&gt;/boot&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;1,5Go pour la partition &lt;strong&gt;/&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;le reste pour la partition &lt;strong&gt;/home&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;La partition &lt;strong&gt;/home&lt;/strong&gt; a été séparée afin de pouvoir mettre la partie &lt;strong&gt;/&lt;/strong&gt; de la clé USB en &lt;em&gt;lecture seule&lt;/em&gt; (étape que je n'ai pas encore effectuée).&lt;/p&gt;


&lt;pre&gt;Disk /dev/usb/k2g: 2024 MB, 2024275968 bytes
63 heads, 62 sectors/track, 1012 cylinders
Units = cylinders of 3906 * 512 = 1999872 bytes

       Device Boot      Start         End      Blocks   Id  System
/dev/sda1                   1          26       50747   83  Linux
/dev/sda2                  27         827     1564353   83  Linux
/dev/sda3                 828        1012      361305   83  Linux&lt;/pre&gt;


&lt;p&gt;Une fois les partitions créées vous pouvez les formater pour les utiliser.&lt;/p&gt;


&lt;pre&gt;# mke2fs /dev/sda1 -L live-boot
# mke2fs /dev/sda2 -L live-root
# mke2fs /dev/sda3 -L live-home
# mount /dev/sda2 /mnt
# mkdir /mnt/boot
# mkdir /mnt/home
# mount /dev/sda1 /mnt/boot
# mount /dev/sda3 /mnt/home&lt;/pre&gt;


&lt;h4&gt;Installation à l'aide de debootstrap&lt;/h4&gt;


&lt;p&gt;Une fois les partitions montées on peut installer le système &lt;em&gt;Gnu/Debian&lt;/em&gt; sur la clé USB en utilisant l'utilitaire &lt;code&gt;debootstrap&lt;/code&gt;&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;# debootstrap --arch i386 etch /mnt/ ftp://ftp2.fr.debian.org/debian/
I: Retrieving Release
I: Retrieving Packages
I: Validating Packages
I: Resolving dependencies of required packages...
I: Resolving dependencies of base packages...
I: Found additional base dependencies: libdb4.2 libgnutls12 libreadline5
   libsigc++-2.0-0c2a openbsd-inetd readline-common
I: Checking component main on http://ftp.debian.org/debian...
I: Retrieving adduser
...
I: Configuring gnupg...
I: Configuring sysklogd...
I: Configuring klogd...
I: Configuring netbase...
I: Configuring openbsd-inetd...
I: Base system installed successfully.&lt;/pre&gt;


&lt;h4&gt;Dans un Chroot&lt;/h4&gt;


&lt;p&gt;Les opérations suivantes sont à faire sur l'environnement de destination, il faut donc utiliser la commande &lt;code&gt;chroot&lt;/code&gt; pour s'y placer.&lt;/p&gt;


&lt;pre&gt;# chroot /mnt '/bin/bash -i'&lt;/pre&gt;


&lt;h4&gt;Noyaux&lt;/h4&gt;


&lt;p&gt;Une fois le système de base installé, il faut le configurer et y ajouter de quoi démarrer la clé USB.&lt;/p&gt;


&lt;h5&gt;Ajustement et systèmes de fichiers&amp;nbsp;: /etc/fstab&lt;/h5&gt;


&lt;p&gt;Cela dépend de votre configuration, et du partitionnement que vous avez fait. Si vous avez fait le même partitionnement que moi vous devriez avoir un &lt;strong&gt;fstab&lt;/strong&gt; ressemblant à celui là&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;#/etc/fstab: static file system informations.
#
LABEL=live-root    /           ext2    defaults,errors=remount-ro,noatime  0   1
LABEL=live-boot    /boot           ext2    defaults,noatime,ro         0   2
LABEL=live-home    /home           ext2    defaults,noatime            0   2
proc       /proc           proc    defaults                0   0
#tmpfs     /etc/network/run    tmpfs   defaults,noatime            0   0
tmpfs      /tmp            tmpfs   defaults,noatime            0   0
tmpfs      /var/lock       tmpfs   defaults,noatime            0   0
tmpfs      /var/log        tmpfs   defaults,noatime            0   0
tmpfs      /var/run        tmpfs   defaults,noatime            0   0
tmpfs      /var/tmp        tmpfs   defaults,noatime            0   0&lt;/pre&gt;


&lt;p&gt;J'utilise le label de la partition au lieu d'utiliser le &lt;em&gt;block device&lt;/em&gt;. L'utilisation du &lt;em&gt;block device&lt;/em&gt; peut gêner si la clé USB n'est pas toujours détectée dans le même ordre&lt;sup&gt;[&lt;a href=&quot;http://www.shadoware.org/post/2007/08/04/23-debian-etch-cle-usb#pnote-22-1&quot; id=&quot;rev-pnote-22-1&quot;&gt;1&lt;/a&gt;]&lt;/sup&gt;.
Les dossiers temporaires sont tous reportés dans un système de fichier virtuel (en mémoire) à l'aide de &lt;code&gt;tmpfs&lt;/code&gt;.&lt;/p&gt;


&lt;p&gt;Une fois le fichier &lt;strong&gt;/etc/fstab&lt;/strong&gt; configuré, il ne reste plus qu'à monter les partitions. Pour monter les partitions un simple &lt;code&gt;mount -a&lt;/code&gt; le fait. Il est aussi possible de monter les partitions une à une.&lt;/p&gt;


&lt;p&gt;&lt;ins&gt;Il est possible que la commande suivante faite hors du chroot puisse résoudre certain problème si l'application utilise udev, ...&lt;/ins&gt;&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;mount --bind /dev/ /mnt/dev/&lt;/pre&gt;


&lt;h5&gt;Le réseau&amp;nbsp;: /etc/hostname /etc/hosts&lt;/h5&gt;


&lt;p&gt;Le fichier &lt;strong&gt;/etc/hosts&lt;/strong&gt; doit contenir une ligne indiquant l'adresse du &lt;em&gt;loopback&lt;/em&gt; et le nom de la machine. Ceci afin que &lt;em&gt;KDE&lt;/em&gt; par exemple puisse démarrer&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;127.0.0.1       localhost.localdomain   localhost  liveding&lt;/pre&gt;


&lt;p&gt;Dans le fichier &lt;strong&gt;/etc/hostname&lt;/strong&gt; il faut également mettre le nom de la machine.&lt;/p&gt;


&lt;h5&gt;Apt&amp;nbsp;: /etc/apt/sources.list&lt;/h5&gt;


&lt;p&gt;Le fichier &lt;strong&gt;sources.list&lt;/strong&gt; contient les lignes par défaut suivantes&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;# etch
deb ftp://ftp2.fr.debian.org/debian/ etch main contrib non-free
deb-src ftp://ftp2.fr.debian.org/debian/ etch main contrib
deb http://security.debian.org/ etch/updates main
deb-src http://security.debian.org/ etch/updates main

# etch unofficial
deb http://ftp.debian-unofficial.org/debian etch main contrib non-free restricted&lt;/pre&gt;


&lt;p&gt;Ces lignes permettent de télécharger les paquets par défaut de &lt;em&gt;Gnu/Debian&lt;/em&gt; ainsi que les paquets de sécurité, et les paquets non officiels permettant d'activer certaine fonctionnalité.&lt;/p&gt;


&lt;h5&gt;Initrd&amp;nbsp;: /etc/kernel-img.conf&lt;/h5&gt;


&lt;p&gt;Dans le fichier &lt;strong&gt;/etc/kernel-img.conf&lt;/strong&gt; on enregistre les informations suivantes (afin que &lt;em&gt;Gnu/Debian&lt;/em&gt; crée un fichier &lt;code&gt;initrd&lt;/code&gt; lors de l'installation du noyau)&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;# Kernel Image management overrides
# See kernel-img.conf(5) for details
do_symlinks = Yes
do_initrd = yes&lt;/pre&gt;


&lt;p&gt;Le fichier &lt;code&gt;initrd&lt;/code&gt; permet de charger les modules nécessaires&lt;sup&gt;[&lt;a href=&quot;http://www.shadoware.org/post/2007/08/04/23-debian-etch-cle-usb#pnote-22-2&quot; id=&quot;rev-pnote-22-2&quot;&gt;2&lt;/a&gt;]&lt;/sup&gt; au démarrage de &lt;em&gt;Gnu/Linux&lt;/em&gt; sur une clé USB.&lt;/p&gt;


&lt;h5&gt;Installation de paquet&lt;/h5&gt;

&lt;pre&gt;
# aptitude install initrd-tools linux-image-2.6.16-1-686
# aptitude install grub
# aptitude install localepurge
# aptitude clean
# localepurge&lt;/pre&gt;


&lt;p&gt;On installe une image du noyau, ainsi que les outils pour générer l'image &lt;code&gt;initrd&lt;/code&gt;. On installe également &lt;code&gt;grub&lt;/code&gt; qui servira à démarrer sur la clé USB. Le paquet &lt;code&gt;localepurge&lt;/code&gt; permet quant à lui de nettoyer les locales qui prennent un peu trop de place sur la clé USB. Généralement je ne conserve que les locales françaises et anglaises.&lt;/p&gt;


&lt;p&gt;Il est aussi possible d'installer quelques paquets comme un serveur graphique, même voir &lt;em&gt;KDE&lt;/em&gt;, ou encore des outils d'administration. On peut aussi installer des outils qui pourront permettre de réparer une machine.&lt;/p&gt;


&lt;h5&gt;Quelques ajustements.&lt;/h5&gt;


&lt;p&gt;Afin de ne pas écrire trop souvent sur la clé USB, on remplace quelques fichiers.&lt;/p&gt;


&lt;pre&gt;rm -f /etc/blkid.tab*
ln -s /dev/null /etc/blkid.tab
rm -f /etc/mtab
ln -s /proc/mounts /etc/mtab&lt;/pre&gt;


&lt;h3&gt;Configuration de grub&lt;/h3&gt;


&lt;p&gt;Afin que la machine puisse démarrer il faut installer &lt;code&gt;grub&lt;/code&gt; sur le secteur de démarrage de la clé USB.
Pour cela, on peut quitter le &lt;code&gt;chroot&lt;/code&gt;. Pour installer &lt;code&gt;grub&lt;/code&gt; on peut utiliser &lt;code&gt;grub-install&lt;/code&gt;&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;# grub-install &lt;del&gt;recheck &lt;/del&gt;root-directory=/mnt/ /dev/sda&lt;/pre&gt;


&lt;p&gt;Normalement cela devrait fonctionner &lt;img src=&quot;/dotclear/themes/default/smilies/wink.png&quot; alt=&quot;;)&quot; class=&quot;smiley&quot; /&gt; mais il est possible, si cela ne marche pas d'essayer de l'installer à l'aide de la commande &lt;code&gt;grub&lt;/code&gt; directement (attention le &lt;em&gt;hd1&lt;/em&gt; est à adapter selon votre configuration)&amp;nbsp;:&lt;/p&gt;


&lt;pre&gt;# grub
grub&amp;gt; root (hd1,0)
grub&amp;gt; setup (hd1)&lt;/pre&gt;


&lt;p&gt;Il faut également renseigner le fichier &lt;strong&gt;/mnt/boot/grub/menu.lst&lt;/strong&gt;&lt;/p&gt;


&lt;pre&gt;# menu.lst - See: grub(8), info grub, update-grub(8)
#            grub-install(8), grub-floppy(8),
#            grub-md5-crypt, /usr/share/doc/grub
#            and /usr/share/doc/grub-doc/.

## default num
# Set the default entry to the entry number NUM. Numbering starts from 0, and
# the entry number 0 is the default if the command is not used.
#
# You can specify 'saved' instead of a number. In this case, the default entry
# is the entry saved with the command 'savedefault'.
# WARNING: If you are using dmraid do not change this entry to 'saved' or your
# array will desync and will not let you boot your system.
default        0

## timeout sec
# Set a timeout, in SEC seconds, before automatically booting the default entry
# (normally the first entry defined).
timeout        5

# Pretty colours
color cyan/blue white/blue

## password &lt;a href=&quot;http://www.shadoware.org/post/2007/08/04/&amp;#039;--md5&amp;#039;&quot; title=&quot;&amp;#039;--md5&amp;#039;&quot;&gt;'--md5'&lt;/a&gt; passwd
# If used in the first section of a menu file, disable all interactive editing
# control (menu entry editor and command-line)  and entries protected by the
# command 'lock'
# e.g. password topsecret
#      password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/
# password topsecret

#
# examples
#
# title        Windows 95/98/NT/2000
# root     (hd0,0)
# makeactive
# chainloader  +1
#
# title        Linux
# root     (hd0,1)
# kernel   /vmlinuz root=/dev/hda2 ro
#

#
# Put static boot stanzas before and/or after AUTOMAGIC KERNEL LIST

### BEGIN AUTOMAGIC KERNELS LIST
## lines between the AUTOMAGIC KERNELS LIST markers will be modified
## by the debian update-grub script except for the default options below

## DO NOT UNCOMMENT THEM, Just edit them to your needs

## ## Start Default Options ##
## default kernel options
## default kernel options for automagic boot options
## If you want special options for specific kernels use kopt_x_y_z
## where x.y.z is kernel version. Minor versions can be omitted.
## e.g. kopt=root=/dev/hda1 ro
##      kopt_2_6_8=root=/dev/hdc1 ro
##      kopt_2_6_8_2_686=root=/dev/hdc2 ro
# kopt=root=LABEL=live-root rootdelay=5 ro quiet

## default grub root device
## e.g. groot=(hd0,0)
# groot=(hd0,0)

## should update-grub create alternative automagic boot options
## e.g. alternative=true
##      alternative=false
# alternative=true

## should update-grub lock alternative automagic boot options
## e.g. lockalternative=true
##      lockalternative=false
# lockalternative=false

## additional options to use with the default boot option, but not with the
## alternatives
## e.g. defoptions=vga=791 resume=/dev/hda5
# defoptions=vga=791

## should update-grub lock old automagic boot options
## e.g. lockold=false
##      lockold=true
# lockold=false

## Xen hypervisor options to use with the default Xen boot option
# xenhopt=

## Xen Linux kernel options to use with the default Xen boot option
# xenkopt=console=tty0

## altoption boot targets option
## multiple altoptions lines are allowed
## e.g. altoptions=(extra menu suffix) extra boot options
##      altoptions=(single-user) single
# altoptions=(single-user mode) single

## controls how many kernels should be put into the menu.lst
## only counts the first occurence of a kernel, not the
## alternative kernel options
## e.g. howmany=all
##      howmany=7
# howmany=all

## should update-grub create memtest86 boot option
## e.g. memtest86=true
##      memtest86=false
# memtest86=true

## should update-grub adjust the value of the default booted system
## can be true or false
# updatedefaultentry=false

## ## End Default Options ##

title      Debian GNU/Linux, kernel 2.6.18-4-686
root       (hd0,0)
kernel     /vmlinuz-2.6.18-4-686 root=LABEL=live-root rootdelay=5 ro quiet vga=791
initrd     /initrd.img-2.6.18-4-686
savedefault

title      Debian GNU/Linux, kernel 2.6.18-4-686 (single-user mode)
root       (hd0,0)
kernel     /vmlinuz-2.6.18-4-686 root=LABEL=live-root rootdelay=5 ro quiet single
initrd     /initrd.img-2.6.18-4-686
savedefault

### END DEBIAN AUTOMAGIC KERNELS LIST&lt;/pre&gt;


&lt;h3&gt;Ajout d'un utilisateur&lt;/h3&gt;


&lt;p&gt;Enfin il ne faut pas oublier d'installer un compte utilisateur&lt;sup&gt;[&lt;a href=&quot;http://www.shadoware.org/post/2007/08/04/23-debian-etch-cle-usb#pnote-22-3&quot; id=&quot;rev-pnote-22-3&quot;&gt;3&lt;/a&gt;]&lt;/sup&gt;, ainsi que changer le mot de passe &lt;em&gt;root&lt;/em&gt; à l'aide des commandes&amp;nbsp;:&lt;/p&gt;

&lt;pre&gt;
# chroot /mnt
# passwd
# adduser toto&lt;/pre&gt;


&lt;h3&gt;Redémarrage et test&lt;/h3&gt;


&lt;p&gt;Il ne reste plus qu'à démonter toutes les partitions et redémarrer la machine.&lt;/p&gt;


&lt;pre&gt;# umount -a
# exit
# reboot&lt;/pre&gt;
&lt;div class=&quot;footnotes&quot;&gt;&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt;[&lt;a href=&quot;http://www.shadoware.org/post/2007/08/04/23-debian-etch-cle-usb#rev-pnote-22-1&quot; id=&quot;pnote-22-1&quot;&gt;1&lt;/a&gt;] Ce qui peut arriver quand on change de machine par exemple.&lt;/p&gt;
&lt;p&gt;[&lt;a href=&quot;http://www.shadoware.org/post/2007/08/04/23-debian-etch-cle-usb#rev-pnote-22-2&quot; id=&quot;pnote-22-2&quot;&gt;2&lt;/a&gt;] i.e les modules USB, ...&lt;/p&gt;
&lt;p&gt;[&lt;a href=&quot;http://www.shadoware.org/post/2007/08/04/23-debian-etch-cle-usb#rev-pnote-22-3&quot; id=&quot;pnote-22-3&quot;&gt;3&lt;/a&gt;] Il ne faudrait pas travailler en administrateur, hein !&lt;/p&gt;&lt;/div&gt;
</description>
    
    
    
          <comments>http://www.shadoware.org/post/2007/08/04/23-debian-etch-cle-usb#comment-form</comments>
      <wfw:comment>http://www.shadoware.org/post/2007/08/04/23-debian-etch-cle-usb#comment-form</wfw:comment>
      <wfw:commentRss>http://www.shadoware.org/feed/atom/comments/22</wfw:commentRss>
      </item>
    
  <item>
    <title>Chiffrer une partition d'un disque</title>
    <link>http://www.shadoware.org/post/2006/08/24/13-crypter-une-partition-d-un-disque</link>
    <guid isPermaLink="false">urn:md5:28a023220de6798e5e3b983dc4327a5f</guid>
    <pubDate>Thu, 24 Aug 2006 16:24:00 +0000</pubDate>
    <dc:creator>Ulrich Van Den Hekke</dc:creator>
        <category>Linux</category>
        <category>chiffrement</category><category>cryptsetup</category><category>debian</category><category>openssl</category><category>planet</category>    
    <description>&lt;p&gt;On peut se demander à quoi sert le chiffrage des partitions d'un disque sous Linux. Après tout, avec la gestion des droits on peut empêcher un utilisateur d'accéder à certain endroit du disque.&lt;/p&gt;
&lt;p&gt;Maintenant, imaginez que vous travaillez pour une entreprise et que vous possédez des données confidentielles (les documents du dernier prototype de 'chez_pas_quoi', ...).
En cas de vol de vos machines, un intrus peut lire le contenu du disque dur, avec un autre système d'exploitation, ou avec un autre Linux dont il aura les droits d'administrateur.&lt;/p&gt;
&lt;p&gt;Heureusement, les données confidentielles auront été cachées dans une partition chiffrée du disque dur, et donc non accessible sans la clé de cryptage que vous aurez judicieusement choisie.&lt;/p&gt;    &lt;h3&gt;Les préparations&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Il faut d'abord choisir une clé de chiffrage difficile à trouver. Souvent une suite de chiffres et de lettres minuscules/majuscules mélangées n'ayant aucune signification, constitue une véritable clé, difficilement cassable. Sont à proscrire les noms, les prénoms, les dates, ou tout autre événement lié à votre vie ou à la vie de l'entreprise.&lt;/li&gt;
&lt;li&gt;Une partition vide. Cette partition doit être complètement vide de données afin de pouvoir la reformater dans un autre système de fichier. Il vous faudra donc utiliser un logiciel tel que &lt;code&gt;Gnu/Parted&lt;/code&gt;, &lt;code&gt;QtParted&lt;/code&gt;, &lt;code&gt;Fdisk&lt;/code&gt;, &lt;code&gt;LVM&lt;/code&gt; pour créer votre partition, ou utiliser un fichier à l'aide de l'interface Loop. Dans les exemples ci-dessous nous utiliserons un volume logique issu de LVM. Il aura été créé à l'aide de la commande
&lt;pre&gt;lvcreate -L10G -n secure-close debian&lt;/pre&gt;
&lt;/li&gt;
&lt;li&gt;Posséder un noyau 2.6 compiler avec le support Device-Manager, et DM-Crypt, ainsi que les utilitaires dmsetup et cryptsetup que vous installez sous Gnu/Debian Sarge à l'aide de la commande&amp;nbsp;:
&lt;pre&gt;apt-get install dmsetup cryptsetup openssl&lt;/pre&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Préparation de la partition&lt;/h3&gt;
&lt;h4&gt;Cas d'une partition&lt;/h4&gt;
&lt;p&gt;Si vous stockez des données chiffrées sur une partition contenant à l'origine des données non cryptées ou des blancs, il sera très facile de repérer les données chiffrées et les données claires, de voir la quantité de données chiffrées, voire même de les décrypter plus facilement. Nous allons donc &lt;q&gt;nettoyer&lt;/q&gt; la partition en y écrivant des données aléatoires&lt;sup&gt;[&lt;a href=&quot;http://www.shadoware.org/post/2006/08/24/13-crypter-une-partition-d-un-disque#pnote-13-1&quot; id=&quot;rev-pnote-13-1&quot;&gt;1&lt;/a&gt;]&lt;/sup&gt;&amp;nbsp;:&lt;/p&gt;
&lt;pre&gt;dd if=/dev/urandom of=/dev/debian/secure-close&lt;/pre&gt;
&lt;h4&gt;Cas d'un fichier&lt;/h4&gt;
&lt;p&gt;Vous pouvez aussi décider d'enregistrer vos données chiffrées dans un fichier (parce que vous n'avez plus d'espace libre pour une nouvelle partition par exemple). Pour cela, vous pouvez utiliser les commandes suivantes. Il vous faudra alors utiliser le périphérique /dev/loop0 dans la suite de l'article.&lt;/p&gt;
&lt;pre&gt;dd if=/dev/urandom of=/home/secure_close.img bs=1M count=10000&lt;br /&gt;losetup /dev/loop0 /home/secure_close.img&lt;/pre&gt;
&lt;h3&gt;Chiffrement de la partition et création du système de fichier&lt;/h3&gt;
&lt;p&gt;Nous allons maintenant ouvrir notre partition en tant que système chiffré et formater son contenu. Vous pourrez formater la partition avec le système de fichier de votre choix (&lt;code&gt;ReiserFS&lt;/code&gt;, &lt;code&gt;Ext3FS&lt;/code&gt;, &lt;code&gt;Ext2FS&lt;/code&gt;, &lt;code&gt;XFS&lt;/code&gt;, ....)&lt;/p&gt;
&lt;h4&gt;Sous Gnu/Debian Sarge :&lt;/h4&gt;
&lt;pre&gt;openssl rand -base64 64 | head -n 1 | openssl aes-256-ecb &amp;gt; /home/secure_close.key&lt;/pre&gt;
&lt;p&gt;Cette ligne de commande va créer une clé de chiffrage dans le fichier secure_close.key et le protéger à l'aide de votre mot de passe. Cela vous permettra de changer votre mot de passe, sans reformater la partition. Cette commande vous demandera alors votre mot de passe, il ne faut maintenant plus l'oublier.&lt;/p&gt;
&lt;p&gt;Maintenant nous allons chiffrer la partition à proprement parlé&amp;nbsp;:&lt;/p&gt;
&lt;pre&gt;openssl enc -d -aes-256-ecb -in /home/secure_close.key | cryptsetup create secure-open /dev/debian/secure-close&lt;/pre&gt;
&lt;p&gt;Vous pourrez alors retrouver votre partition déchiffrée dans /dev/mapper/secure-open. Il ne vous reste plus qu'a créer le système de fichier, monter la partition et copier les fichiers à protéger. (Vous pouvez utiliser aussi un utilitaire d'effacement spécialisé pour écraser les fichiers avec un contenu aléatoire avant de réellement le supprimer.)&lt;/p&gt;
&lt;h4&gt;Sous Debian etch/sid :&lt;/h4&gt;
Sous Debian etch/sid, il est possible d'utiliser &lt;em&gt;Luks&lt;/em&gt; pour le chiffrage. Cela permet de stocker la clé au début de la partition, et de pouvoir la modifier ultérieurement sans reformater. Cela permet de ne plus avoir de fichier séparé avec la clé.
Pour formater une partition au format &lt;em&gt;Luks&lt;/em&gt; et ainsi l'initialiser avec le mot de passe de protection, il faut utiliser la commande suivante (Attention à ne pas oublier le mot de passe) :
&lt;pre&gt;cryptsetup luksFormat /dev/debian/secure-close&lt;/pre&gt;
Après cela, on se retrouve avec une partition chiffré vierge. Il faut donc l'ouvrir pour pouvoir ensuite y installer un système de fichier et des fichiers. Pour cela, on utilise la commande suivante qui va associer à notre partition chiffrée une partition déchiffrée (virtuelle)
&lt;pre&gt;cryptsetup luksOpen /dev/debian/secure-close secure-open&lt;/pre&gt;
&lt;h4&gt;Préparation et protection des données&lt;/h4&gt;
&lt;pre&gt;mke2fs -j /dev/mapper/secure-open&lt;br /&gt;mount -t ext3 /dev/mapper/secure-open /mnt&lt;br /&gt;cp -a dossiers_confidentiels/* /mnt/&lt;/pre&gt;
&lt;p&gt;Une fois que vous avez fini, vous pouvez démonter la partition, et supprimer l'accès au contenu déchiffré.&lt;/p&gt;
&lt;pre&gt;umount /mnt&lt;/pre&gt;
Si vous n'utilisez pas &lt;em&gt;Luks&lt;/em&gt; (sous Gnu/Debian Sarge) :
&lt;pre&gt;cryptsetup remove secure-open&lt;/pre&gt;
Si vous utilisez &lt;em&gt;Luks&lt;/em&gt;, la commande est
&lt;pre&gt;cryptsetup luksClose secure-open&lt;/pre&gt;
&lt;p&gt;Et si vous avez créé un périphérique &lt;code&gt;loop&lt;/code&gt;&amp;nbsp;:&lt;/p&gt;
&lt;pre&gt;losetup -d /dev/loop0&lt;/pre&gt;
&lt;h3&gt;Utilisation courante&amp;nbsp;:&lt;/h3&gt;
&lt;p&gt;Dans une utilisation courante vous allez monter la partition quand vous voudrez y accéder, et la démonter quand vous ne l'utiliserez plus.
Le montage de la partition se fait à l'aide des commandes ci-dessous, si vous n'utilisez pas &lt;em&gt;Luks&lt;/em&gt; :&lt;/p&gt;
&lt;pre&gt;[bash]openssl enc -d -aes-256-ecb -in /home/secure_close.key | cryptsetup create secure-open /dev/debian/secure-close&lt;br /&gt;mount -t ext3 /dev/mapper/secure-open /mnt&lt;/pre&gt;
et à partir de la commande suivante si vous utilisez &lt;em&gt;Luks&lt;/em&gt;
&lt;pre&gt;cryptsetup luksOpen /dev/debian/secure-close secure-open&lt;br /&gt;mount -t ext3 /dev/mapper/secure-open /mnt&lt;/pre&gt;
&lt;p&gt;Le démontage de la partition est identique&amp;nbsp;:&lt;/p&gt;
&lt;pre&gt;umount /mnt&lt;br /&gt;cryptsetup remove secure-open&lt;/pre&gt;
ou
&lt;pre&gt;umount /mnt&lt;br /&gt;cryptsetup luksClose secure-open&lt;/pre&gt;
&lt;h3&gt;Changement de mot de passe&lt;/h3&gt;
&lt;p&gt;Quand vous souhaitez changer de mot de passe, vous pouvez utiliser la commande suivante&amp;nbsp;:&lt;/p&gt;
Sans &lt;em&gt;Luks&lt;/em&gt;
&lt;pre&gt;echo `openssl enc -d -aes-256-ecb -in /home/secure_close.key` | openssl aes-256-ecb &amp;gt; /home/secure_close.key&lt;/pre&gt;
Avec &lt;em&gt;Luks&lt;/em&gt;
&lt;pre&gt;cryptsetup luksDump /dev/debian/secure-close&lt;/pre&gt; pour voir quels sont les slots utilisés.
puis
&lt;pre&gt;cryptsetup luksAddKey /dev/debian/secure-close&lt;br /&gt;cryptsetup luksDelKey [ancien slot]&lt;/pre&gt;
&lt;h3&gt;Un script pour le montage et le démontage automatique&lt;/h3&gt;
&lt;p&gt;Voici un script que vous pouvez utiliser en root ou à l'aide de la commande sudo pour monter et démonter vos partitions chiffrer&lt;sup&gt;[&lt;a href=&quot;http://www.shadoware.org/post/2006/08/24/13-crypter-une-partition-d-un-disque#pnote-13-3&quot; id=&quot;rev-pnote-13-3&quot;&gt;3&lt;/a&gt;]&lt;/sup&gt;&amp;nbsp;:&lt;/p&gt;
&lt;pre&gt;#!/bin/sh&lt;br /&gt;&lt;br /&gt;if [ -e /dev/mapper/secure-open ] ; then&lt;br /&gt;        umount /home/secure 2&amp;gt; /dev/null&lt;br /&gt;        if [ $? != 0 ] ; then&lt;br /&gt;                kdialog --title KSecure --error &quot;Impossible de démonter le périphérique&quot;&lt;br /&gt;        fi&lt;br /&gt;        if [ -e /dev/mapper/secure-open ] ; then&lt;br /&gt;                /sbin/cryptsetup remove secure-open&lt;br /&gt;                kdialog --title KSecure --msgbox &quot;Suppression du périphérique accomplie&quot;&lt;br /&gt;        fi&lt;br /&gt; else&lt;br /&gt;        password=`kdialog --title KSecure --password &quot;Clé de déchiffrement&quot;`&lt;br /&gt;        if [ -z $password ] ; then&lt;br /&gt;                password=&quot;nopassword&quot;&lt;br /&gt;        fi&lt;br /&gt;        echo &quot;$password&quot; | \&lt;br /&gt;        openssl enc -d -aes-256-ecb -in ~/compte/secure.cle -kfile /dev/stdin | \&lt;br /&gt;        /sbin/cryptsetup create secure-open /dev/debian/secure-close 2&amp;gt; /dev/null&lt;br /&gt;        mount /home/secure 2&amp;gt; /dev/null&lt;br /&gt;        if [ $? -ne  0 ] ; then&lt;br /&gt;                kdialog --title KSecure --error &quot;Clé incorrecte&quot;&lt;br /&gt;                /sbin/cryptsetup remove secure-open&lt;br /&gt;        fi&lt;br /&gt; fi&lt;/pre&gt;
&lt;div class=&quot;footnotes&quot;&gt;&lt;h4&gt;Notes&lt;/h4&gt;
&lt;p&gt;[&lt;a href=&quot;http://www.shadoware.org/post/2006/08/24/13-crypter-une-partition-d-un-disque#rev-pnote-13-1&quot; id=&quot;pnote-13-1&quot;&gt;1&lt;/a&gt;] Attention, cela détruira le contenu de la partition que vous assainissez&lt;/p&gt;
&lt;p&gt;[&lt;a href=&quot;http://www.shadoware.org/post/2006/08/24/13-crypter-une-partition-d-un-disque#rev-pnote-13-2&quot; id=&quot;pnote-13-2&quot;&gt;2&lt;/a&gt;] Les différentes commandes sont inspirés des sites suivants :
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://docisland.blogspot.com/&quot;&gt;http://docisland.blogspot.com/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;[&lt;a href=&quot;http://www.shadoware.org/post/2006/08/24/13-crypter-une-partition-d-un-disque#rev-pnote-13-3&quot; id=&quot;pnote-13-3&quot;&gt;3&lt;/a&gt;] Vous pourrez trouver un script pour le format &lt;em&gt;Luks&lt;/em&gt; dans les commentaires ou dans la partie Script du site.
&lt;/p&gt;
&lt;/div&gt;</description>
    
    
    
          <comments>http://www.shadoware.org/post/2006/08/24/13-crypter-une-partition-d-un-disque#comment-form</comments>
      <wfw:comment>http://www.shadoware.org/post/2006/08/24/13-crypter-une-partition-d-un-disque#comment-form</wfw:comment>
      <wfw:commentRss>http://www.shadoware.org/feed/atom/comments/13</wfw:commentRss>
      </item>
    
  <item>
    <title>Script Linux</title>
    <link>http://www.shadoware.org/post/2006/08/20/18-script-linux</link>
    <guid isPermaLink="false">urn:md5:f51296c9324ce77850255f0210dd08be</guid>
    <pubDate>Sun, 20 Aug 2006 10:45:00 +0000</pubDate>
    <dc:creator>Ulrich Van Den Hekke</dc:creator>
        <category>Linux</category>
        <category>debian</category><category>planet</category><category>script</category>    
    <description>&lt;p&gt;Ce billet est consacré au script Linux. J'ai écrit divers script pour &quot;automatiser&quot; certaines commandes, &lt;em&gt;même si je dois exécuter ces scripts manuellement&lt;/em&gt;. Je pourrais, quand bien même, appeler ces scripts dans un &lt;code&gt;cron&lt;/code&gt; si je le souhaitais.&lt;/p&gt;


&lt;p&gt;Vous trouverez, donc, dans la suite, différents scripts, différentes idées, à améliorer, à récupérer.&lt;/p&gt;    &lt;h3&gt;Liste des paquets&lt;/h3&gt;


&lt;p&gt;Ce script permet de lister les paquets installés sur un système GNU\Debian. Cela me permet de récupérer une liste de paquet dans un fichier, liste que je peux réutiliser dans un logiciel comme synaptic pour installer les mêmes paquets sur une autre distribution.
Couplé à une sauvegarde du dossier home et du dossier etc, le script permet de pouvoir réinstaller un système à l'identique (à condition que l'on ne se trouve pas sur &lt;em&gt;unstable&lt;/em&gt; et moyennant le dossier &lt;code&gt;/var&lt;/code&gt;.&lt;/p&gt;

&lt;pre class=&quot;bash&quot;&gt;&lt;span style=&quot;color: #007800;&quot;&gt;liste=&lt;/span&gt;`dpkg -l &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;tail&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;+6&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;cut&lt;/span&gt; -d\  -f3`
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;for&lt;/span&gt; i &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;in&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$liste&lt;/span&gt; ; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;do&lt;/span&gt;
&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;$i        install&amp;quot;&lt;/span&gt;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;done&lt;/span&gt;&lt;/pre&gt;



&lt;p&gt;&lt;ins&gt;La commande &lt;code&gt;dpkg --get-selections&lt;/code&gt; peut très bien remplacer le script ci-dessus. Merci à &lt;em&gt;mx&lt;/em&gt; pour sa remarque.&lt;/ins&gt;&lt;/p&gt;


&lt;h3&gt;Purge des paquets&lt;/h3&gt;


&lt;p&gt;Permet de purger les paquets supprimés d'une distribution GNU\Debian. Cela permet de supprimer les quelques fichiers inutiles lors de la suppression de paquet GNU\Debian. Néanmoins, parfois on ne veut pas faire les purges.&lt;/p&gt;

&lt;pre class=&quot;bash&quot;&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;for&lt;/span&gt; i &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;in&lt;/span&gt; `dpkg -l &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;grep&lt;/span&gt; -e &lt;span style=&quot;color: #ff0000;&quot;&gt;'^rc.*'&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;cut&lt;/span&gt; -f3 -d\ ` ; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;do&lt;/span&gt; dpkg -P &lt;span style=&quot;color: #007800;&quot;&gt;$i&lt;/span&gt; ; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;done&lt;/span&gt;&lt;/pre&gt;


&lt;h3&gt;Sécurisation des données&lt;/h3&gt;


&lt;p&gt;Permet de monter une partition démontée et démonter une partition montée. Ce script est basé sur KDialog pour demander les informations, il nécessite donc KDE (mais je pense qu'il est possible de le réécrire pour Gnome).
On lui passe en paramètre le nom d'un périphérique. Il suppose que la partition démontée est un volume logique (sous LVM) dont le groupe est GNU\Debian et dont le nom est &lt;code&gt;$DISK-close&lt;/code&gt;. Il crée à la suite le &lt;em&gt;device-mapper&lt;/em&gt; (en supposant qu'il a été créé à l'aide de &lt;em&gt;LUKS&lt;/em&gt;) du nom de &lt;code&gt;$DISK-open&lt;/code&gt;.
S'il trouve ce &quot;device-mapper'', il le démonte et le supprime.&lt;/p&gt;

&lt;pre class=&quot;bash&quot;&gt;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;#!/bin/sh&lt;/span&gt;
&amp;nbsp;
&lt;span style=&quot;color: #007800;&quot;&gt;DISK=&lt;/span&gt;$&lt;span style=&quot;color: #000000;&quot;&gt;1&lt;/span&gt;
&lt;span style=&quot;color: #007800;&quot;&gt;DISKOPEN=&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;$DISK-open&amp;quot;&lt;/span&gt;
&lt;span style=&quot;color: #007800;&quot;&gt;DISKCLOSE=&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;$DISK-close&amp;quot;&lt;/span&gt;
&amp;nbsp;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt; -e &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;dev&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;mapper&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;$DISKOPEN&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt; ; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;then&lt;/span&gt;
    &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;umount&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;dev&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;mapper&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;$DISKOPEN&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;dev&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;null
    &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$?&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;!&lt;/span&gt;= &lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt; ; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;then&lt;/span&gt;
        &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;kdialog&lt;/span&gt; --title KSecure --error &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Impossible de démonter le péripherique $DISK&amp;quot;&lt;/span&gt;
    &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;fi&lt;/span&gt;
        &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt; -e &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;dev&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;mapper&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;$DISKOPEN&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt; ; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;then&lt;/span&gt;
        &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;sbin&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;cryptsetup luksClose &lt;span style=&quot;color: #007800;&quot;&gt;$DISKOPEN&lt;/span&gt;
                &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;kdialog&lt;/span&gt; --title KSecure --msgbox &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Suppression du péripherique $DISK accomplie&amp;quot;&lt;/span&gt;
        &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;fi&lt;/span&gt;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;else&lt;/span&gt;
    &lt;span style=&quot;color: #007800;&quot;&gt;password=&lt;/span&gt;`&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;kdialog&lt;/span&gt; --title KSecure --password &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Cle de déchiffrement de $DISK&amp;quot;&lt;/span&gt;`
    &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt; -z &lt;span style=&quot;color: #007800;&quot;&gt;$password&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt; ; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;then&lt;/span&gt;
        &lt;span style=&quot;color: #007800;&quot;&gt;password=&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;nopassword&amp;quot;&lt;/span&gt;
    &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;fi&lt;/span&gt;
    &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;$password&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; \
        &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;sbin&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;cryptsetup luksOpen &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;dev&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;debian&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;$DISKCLOSE&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$DISKOPEN&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;dev&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;null
    &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;mount&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;dev&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;mapper&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;$DISKOPEN&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;dev&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;null
        &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$?&lt;/span&gt; -ne  &lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt; ; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;then&lt;/span&gt;
                &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;kdialog&lt;/span&gt; --title KSecure --error &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Clé incorrecte&amp;quot;&lt;/span&gt;
        &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;fi&lt;/span&gt;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;fi&lt;/span&gt;&lt;/pre&gt;


&lt;h3&gt;Apprentissage du spam&lt;/h3&gt;


&lt;p&gt;Permet d'appeler bogofliter et spamassassin sur une liste de message Indésirable au format mbox. Il permet aussi de faire l'apprentissage des messages désirables.&lt;/p&gt;

&lt;pre class=&quot;bash&quot;&gt;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;#!/bin/bash&lt;/span&gt;
&amp;nbsp;
sa-learn -L --no-&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sync&lt;/span&gt; --spam --mbox &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;home&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;phoenix&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;Mail&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;Indésirable\ \&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;Spam\&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;
sa-learn -L --no-&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sync&lt;/span&gt; --ham --mbox &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;home&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;phoenix&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;Mail&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;Désirable\ \&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;Non\ spam\&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;
&amp;nbsp;
bogofilter -N -s &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;home&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;phoenix&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;Mail&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;Indésirable\ \&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;Spam\&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;
bogofilter -S -n &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;home&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;phoenix&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;Mail&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;Désirable\ \&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;Non\ spam\&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;/pre&gt;


&lt;h3&gt;Création de lien&lt;/h3&gt;


&lt;p&gt;Permet à partir d'une liste de fichier identique générée par &lt;em&gt;fdupes&lt;/em&gt; de créer des liens physiques entre les fichiers pour économiser de la place. Attention&amp;nbsp;: si un des fichiers physiques est modifié, l'autre le sera aussi.&lt;/p&gt;

&lt;pre class=&quot;bash&quot;&gt;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;#!/bin/sh&lt;/span&gt;
&amp;nbsp;
&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; -n &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;|&amp;quot;&lt;/span&gt;
&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;read&lt;/span&gt; -r line
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;while&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$?&lt;/span&gt; -eq &lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt; ; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;do&lt;/span&gt;
    &lt;span style=&quot;color: #007800;&quot;&gt;line=&lt;/span&gt;`&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$line&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sed&lt;/span&gt; -e &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;s/&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\\&lt;/span&gt;&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\\&lt;/span&gt;&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\\&lt;/span&gt; /@/g&amp;quot;&lt;/span&gt;`
    &lt;span style=&quot;color: #007800;&quot;&gt;index=&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt;
    &lt;span style=&quot;color: #007800;&quot;&gt;principal=&lt;/span&gt;&lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&amp;quot;&lt;/span&gt;
    &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;for&lt;/span&gt; chemin &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;in&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$line&lt;/span&gt; ; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;do&lt;/span&gt; 
        &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$index&lt;/span&gt; -eq &lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt; ; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;then&lt;/span&gt;
            &lt;span style=&quot;color: #007800;&quot;&gt;principal=&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;$chemin&lt;/span&gt;
        &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;else&lt;/span&gt;
            &lt;span style=&quot;color: #007800;&quot;&gt;a=&lt;/span&gt;`&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$principal&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sed&lt;/span&gt; -e &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;s/@/&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\\&lt;/span&gt; /g&amp;quot;&lt;/span&gt;` 
            &lt;span style=&quot;color: #007800;&quot;&gt;b=&lt;/span&gt;`&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$chemin&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sed&lt;/span&gt; -e &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;s/@/&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\\&lt;/span&gt; /g&amp;quot;&lt;/span&gt;` 
            &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;ln&lt;/span&gt; -f &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;$a&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;$b&amp;quot;&lt;/span&gt;
        &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;fi&lt;/span&gt;
&amp;nbsp;
        &lt;span style=&quot;color: #007800;&quot;&gt;index=&lt;/span&gt;`&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;expr&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$index&lt;/span&gt; + &lt;span style=&quot;color: #000000;&quot;&gt;1&lt;/span&gt;`
    &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;done&lt;/span&gt;
&amp;nbsp;
    &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; -n &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;=&amp;quot;&lt;/span&gt;
&amp;nbsp;
    &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;read&lt;/span&gt; -r line
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;done&lt;/span&gt;
&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; -n &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;|&amp;quot;&lt;/span&gt;&lt;/pre&gt;


&lt;h3&gt;Renumérotation&lt;/h3&gt;


&lt;p&gt;Permet de renuméroté une liste d'image d'un dossier, du style &lt;code&gt;1 10 11 12 13 2 3 4...&lt;/code&gt; en une suite précédé d'un &lt;code&gt;0&lt;/code&gt;&amp;nbsp;: &lt;code&gt;01 02 03 04 05 06 ...&lt;/code&gt;&lt;/p&gt;

&lt;pre class=&quot;bash&quot;&gt;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;#!/bin/sh&lt;/span&gt;
&amp;nbsp;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;for&lt;/span&gt; DIR &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;in&lt;/span&gt; `&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;ls&lt;/span&gt;` ; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;do&lt;/span&gt;
&amp;nbsp;
&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; -n &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Change directory $DIR &amp;quot;&lt;/span&gt;
&amp;nbsp;
&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;cd&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$DIR&lt;/span&gt;
&amp;nbsp;
&lt;span style=&quot;color: #007800;&quot;&gt;CMD=&lt;/span&gt;`&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;ls&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sed&lt;/span&gt; -e &lt;span style=&quot;color: #ff0000;&quot;&gt;'s/&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\(&lt;/span&gt;.*&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\)&lt;/span&gt;_&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\(&lt;/span&gt;[1-9]&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\)&lt;/span&gt;&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\.&lt;/span&gt;jpg/mv &lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\1&lt;/span&gt;_&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\2&lt;/span&gt;.jpg &lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\1&lt;/span&gt;_0&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\2&lt;/span&gt;.jpg ;/g'&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;grep&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;mv &amp;quot;&lt;/span&gt;`
&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;eval&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$CMD&lt;/span&gt;
&amp;nbsp;
&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;cd&lt;/span&gt; ..
&amp;nbsp;
&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Ok&amp;quot;&lt;/span&gt;
&amp;nbsp;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;done&lt;/span&gt;&lt;/pre&gt;


&lt;h3&gt;Génération de playlist&lt;/h3&gt;


&lt;p&gt;Permet de générer une playlist sur un dossier pour utilisation avec le logiciel kpf (par exemple) de KDE. Il parcourt l'ensemble des dossiers et crée un fichier &lt;em&gt;m3u&lt;/em&gt; à chaque fois qu'il trouve un fichier multimédia. Il remplace le début du dossier par un lien &lt;em&gt;http&lt;/em&gt;.
Je rajoute qu'il existe un très bon site contenant de la musique &lt;strong&gt;libre&lt;/strong&gt;&amp;nbsp;: &lt;a href=&quot;http://www.jamendo.org/fr/&quot; hreflang=&quot;fr&quot;&gt;Jamendo&lt;/a&gt;.&lt;/p&gt;

&lt;pre class=&quot;bash&quot;&gt;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;#!/bin/sh&lt;/span&gt;
&amp;nbsp;
&lt;span style=&quot;color: #007800;&quot;&gt;OLD=&lt;/span&gt;`&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;pwd&lt;/span&gt;`
&amp;nbsp;
&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;cd&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;$1&amp;quot;&lt;/span&gt;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$?&lt;/span&gt; -ne &lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt; ; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;then&lt;/span&gt; 
  &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;exit&lt;/span&gt;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;fi&lt;/span&gt;
&amp;nbsp;
&lt;span style=&quot;color: #007800;&quot;&gt;THIS=&lt;/span&gt;`&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;pwd&lt;/span&gt;`
&lt;span style=&quot;color: #007800;&quot;&gt;BASE=&lt;/span&gt;`&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;basename&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;$THIS&amp;quot;&lt;/span&gt;`
&amp;nbsp;
&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Ouverture de $BASE&amp;quot;&lt;/span&gt;
&amp;nbsp;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;for&lt;/span&gt; path &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;in&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt; ; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;do&lt;/span&gt; 
  &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt; -d &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;$THIS/$path&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt; ; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;then&lt;/span&gt; 
    $&lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;$THIS/$path&amp;quot;&lt;/span&gt;
  &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;fi&lt;/span&gt;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;done&lt;/span&gt;
&amp;nbsp;
&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Traitement de $BASE&amp;quot;&lt;/span&gt;
&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;rm&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$BASE&lt;/span&gt;.m3u &lt;span style=&quot;color: #000000;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;dev&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;null
&amp;nbsp;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;for&lt;/span&gt; path &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;in&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt;.mp3 &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt;.ogg &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt;.wma &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt;.avi ; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;do&lt;/span&gt; 
  &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$path&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;grep&lt;/span&gt; \&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;dev&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;null 
  &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$?&lt;/span&gt; -eq &lt;span style=&quot;color: #000000;&quot;&gt;1&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt; ; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;then&lt;/span&gt;
    &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$THIS&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #007800;&quot;&gt;$path&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sed&lt;/span&gt; -e &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;s/&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\/&lt;/span&gt;media&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\/&lt;/span&gt;music/http&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\:&lt;/span&gt;&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\/&lt;/span&gt;&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\/&lt;/span&gt;192&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\.&lt;/span&gt;168&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\.&lt;/span&gt;101&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\.&lt;/span&gt;7&lt;span style=&quot;color: #000099; font-weight: bold;&quot;&gt;\:&lt;/span&gt;8001/g&amp;quot;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&amp;gt;&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$BASE&lt;/span&gt;.m3u
  &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;fi&lt;/span&gt;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;done&lt;/span&gt;
&amp;nbsp;
&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Sortie de $BASE&amp;quot;&lt;/span&gt;&lt;/pre&gt;


&lt;h3&gt;Script pour gérer les documents latex&lt;/h3&gt;


&lt;p&gt;Ce script date de quelques temps quand je devais générer des documents différents à partir d'un même document &lt;em&gt;LaTeX&lt;/em&gt;.
Il utilise différentes commandes pour cela, et permet aussi de nettoyer le dossier. Une sorte de &lt;em&gt;Makefile&lt;/em&gt; à la mode &lt;em&gt;bash&lt;/em&gt;.&lt;/p&gt;

&lt;pre class=&quot;bash&quot;&gt;&lt;span style=&quot;color: #808080; font-style: italic;&quot;&gt;#!/bin/sh&lt;/span&gt;
&amp;nbsp;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;if&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$#&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;!&lt;/span&gt;= &lt;span style=&quot;color: #000000;&quot;&gt;2&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt; ; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;then&lt;/span&gt;
  &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Il faut le nom du fichier et de la sortie&amp;quot;&lt;/span&gt;
  &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;exit&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;1&lt;/span&gt;;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;fi&lt;/span&gt;
&amp;nbsp;
&lt;span style=&quot;color: #007800;&quot;&gt;NAME=&lt;/span&gt;$&lt;span style=&quot;color: #000000;&quot;&gt;1&lt;/span&gt;
&lt;span style=&quot;color: #007800;&quot;&gt;DEST=&lt;/span&gt;$&lt;span style=&quot;color: #000000;&quot;&gt;2&lt;/span&gt;
&amp;nbsp;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;case&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$DEST&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;in&lt;/span&gt;
  cleanPDF&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt; 
    &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;rm&lt;/span&gt; -f &lt;span style=&quot;color: #007800;&quot;&gt;$NAME&lt;/span&gt;.pdf &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;;;&lt;/span&gt;
  cleanTXT&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;
    &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;rm&lt;/span&gt; -f &lt;span style=&quot;color: #007800;&quot;&gt;$NAME&lt;/span&gt;.txt &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;;;&lt;/span&gt;
  cleanPS&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;
    &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;rm&lt;/span&gt; -f &lt;span style=&quot;color: #007800;&quot;&gt;$NAME&lt;/span&gt;.&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;ps&lt;/span&gt;  &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;;;&lt;/span&gt;
  cleanDVI&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;
    &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;rm&lt;/span&gt; -f &lt;span style=&quot;color: #007800;&quot;&gt;$NAME&lt;/span&gt;.dvi &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;;;&lt;/span&gt;
  cleanHTML&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;
    &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;rm&lt;/span&gt; -f &lt;span style=&quot;color: #007800;&quot;&gt;$NAME&lt;/span&gt;.html &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;;;&lt;/span&gt;
  cleanTEX&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;
    &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;rm&lt;/span&gt; -f &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt;.log &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt;.toc &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt;.htoc &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt;.aux &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt;.haux &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;*&lt;/span&gt;~ &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;;;&lt;/span&gt;
  clean&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;
    glatex.&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sh&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$NAME&lt;/span&gt; cleanTEX
    glatex.&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sh&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$NAME&lt;/span&gt; cleanDVI
    glatex.&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sh&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$NAME&lt;/span&gt; cleanPS
    glatex.&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sh&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$NAME&lt;/span&gt; cleanTXT
    glatex.&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sh&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$NAME&lt;/span&gt; cleanPDF
    glatex.&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sh&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$NAME&lt;/span&gt; cleanHTML &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;;;&lt;/span&gt;
  mrproper&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;
    glatex.&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sh&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$NAME&lt;/span&gt; clean &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;;;&lt;/span&gt;
  _dvi&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;
    pslatex &lt;span style=&quot;color: #007800;&quot;&gt;$NAME&lt;/span&gt;.tex
    pslatex &lt;span style=&quot;color: #007800;&quot;&gt;$NAME&lt;/span&gt;.tex &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;;;&lt;/span&gt;
  xdvi&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;
    glatex.&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sh&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$NAME&lt;/span&gt; _dvi
    xdvi &lt;span style=&quot;color: #007800;&quot;&gt;$NAME&lt;/span&gt;.dvi &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;;;&lt;/span&gt;
  dvi&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;
    glatex.&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sh&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$NAME&lt;/span&gt; _dvi
    glatex.&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sh&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$NAME&lt;/span&gt; cleanTEX &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;;;&lt;/span&gt;
  _html&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;
    hevea -francais -fix -noiso &lt;span style=&quot;color: #007800;&quot;&gt;$NAME&lt;/span&gt;.tex &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;;;&lt;/span&gt;
  html&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;
    glatex.&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sh&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$NAME&lt;/span&gt; _html
    glatex.&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sh&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$NAME&lt;/span&gt; cleanTEX &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;;;&lt;/span&gt;
  _txt&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;
    hevea -francais -fix -text &lt;span style=&quot;color: #007800;&quot;&gt;$NAME&lt;/span&gt;.tex &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;;;&lt;/span&gt;
  txt&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;
    glatex.&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sh&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$NAME&lt;/span&gt; _txt
    glatex.&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sh&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$NAME&lt;/span&gt; cleanTEX &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;;;&lt;/span&gt;
  _ps&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;
    glatex.&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sh&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$NAME&lt;/span&gt; _dvi
    dvips -Ppdf &lt;span style=&quot;color: #007800;&quot;&gt;$NAME&lt;/span&gt;.dvi &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;;;&lt;/span&gt;
  &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;ps&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;
    glatex.&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sh&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$NAME&lt;/span&gt; _ps
    glatex.&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sh&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$NAME&lt;/span&gt; cleanDVI
    glatex.&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sh&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$NAME&lt;/span&gt; cleanTEX &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;;;&lt;/span&gt;
  _pdf&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;
    pdflatex &lt;span style=&quot;color: #007800;&quot;&gt;$NAME&lt;/span&gt;.tex
    pdflatex &lt;span style=&quot;color: #007800;&quot;&gt;$NAME&lt;/span&gt;.tex &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;;;&lt;/span&gt;
  pdf&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;
    glatex.&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sh&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$NAME&lt;/span&gt; _pdf
    glatex.&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sh&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$NAME&lt;/span&gt; cleanTEX &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;;;&lt;/span&gt;
&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;esac&lt;/span&gt;&lt;/pre&gt;</description>
    
    
    
          <comments>http://www.shadoware.org/post/2006/08/20/18-script-linux#comment-form</comments>
      <wfw:comment>http://www.shadoware.org/post/2006/08/20/18-script-linux#comment-form</wfw:comment>
      <wfw:commentRss>http://www.shadoware.org/feed/atom/comments/17</wfw:commentRss>
      </item>
    
</channel>
</rss>
