<?xml version="1.0" encoding="utf-8"?><?xml-stylesheet title="XSL formatting" type="text/xsl" href="http://planet.ubuntu-fr.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/">
<channel>
  <title>Planet Ubuntu Francophone - Ligne de commande</title>
  <link>http://planet.ubuntu-fr.org/</link>
  <description></description>
  <language>fr</language>
  <pubDate>Fri, 05 Dec 2008 05:26:50 +0100</pubDate>
  <copyright></copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <item>
    <title>Rendre ses scripts plus facilement accessibles</title>
    <link>http://www.respawner.fr/blog/index.php?post/2008/10/04/Rendre-ses-scripts-plus-facilement-accessibles</link>
    <guid isPermaLink="false">urn:md5:06114d8b4a63ab87e68cf90cc58250fa</guid>
    <pubDate>Fri, 03 Oct 2008 23:07:00 +0200</pubDate>
    <dc:creator>Respawner</dc:creator>
        <category>PUF</category>
        <category>Accueil</category><category>Bash</category><category>Cli</category><category>Libre</category><category>Ligne de commande</category><category>Linux</category><category>Script</category><category>Ubuntu</category>    
    <description>    &lt;p&gt;&lt;img title=&quot;designed_for_ubuntu.png, aoû 2008&quot; style=&quot;margin: 0 1em 1em 0; float: left;&quot; alt=&quot;&quot; src=&quot;http://www.respawner.fr/respawner/public/ImagesPages/designed_for_ubuntu.png&quot; /&gt;Chose qui me trottait dans la tête de puis longtemps mais que j'ai enfin réalisé. Après avoir migré de ma jolie Ubuntu 8.04.1 LTS à notre cher Intrepid Ibex (en version beta), je me suis dit qu'il serait temps de rendre mes scripts shell (un bon petit nombre quand même) accessibles directement via simplement une ligne de commande comme on va taper &lt;strong&gt;vlc&lt;/strong&gt; pour le lancer (par exemple).&lt;br /&gt;Pour réaliser ceci rien de bien complexe. Je l'ai fait avec mes scripts mais on peut très bien le faire avec d'autres types de fichiers exécutables comme du code C compilé entre autre. J'ai, pour commencer, créer un dossier contenant tous mes scripts soigneusement triés selon leurs utilisations (administration, multimédia, etc...). Après ceci, j'ai créé un dossier, toujours dans mon répertoire personnel, qui va me servir de conteneur pour les &quot;exécutables&quot;. En réalité, ces derniers ne seront ni plus ni moins que des liens symboliques.&lt;br /&gt;&lt;code&gt;~$ mkdir Executables&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Une variable système est chargée de lister tous les emplacements où se trouvent des fichiers à exécuter. Cette variable est le &lt;strong&gt;PATH&lt;/strong&gt;. On peut avoir un aperçu de sa valeur via la commande suivante.&lt;br /&gt;&lt;code&gt;~$ echo ${PATH} # Valeur d'origine&lt;br /&gt;/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Nous allons la modifier afin que les liens symboliques que nous allons créer soient considérés directement comme des commandes. Pour cela, on utilise cette ligne de commande.&lt;br /&gt;&lt;code&gt;~$ export PATH=/home/utilisateur/Executables/:$PATH&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Le petit problème de cette commande est que le PATH modifié n'est valable que pour le terminal ouvert actuellement. Pour rendre cette modification définitive, il faut modifier le fichier &lt;em&gt;~/.bashrc&lt;/em&gt;. Ainsi à chaque fois qu'un terminal va s'ouvrir le fichier &lt;em&gt;~/.bashrc&lt;/em&gt; sera lu et la variable PATH d'origine sera donc modifier à chaque fois. On ouvre donc le fichier &lt;em&gt;~/.bashrc&lt;/em&gt; et à la fin on ajoute la ligne suivante.&lt;br /&gt;&lt;code&gt;export PATH=/home/utilisateur/Executables/:$PATH&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Maintenant, il nous faut créer les liens symboliques. Le nom du lien sera la commande à entrer dans le terminal. Pour cela, on utilise la commande suivante en admettant que mon script se trouve dans le répertoire &lt;em&gt;/home/utilisateur/Scripts/&lt;/em&gt;.&lt;br /&gt;&lt;code&gt;~$ sudo ln -s /home/utilisateur/Scripts/monscript.sh /home/utilisateur/Executables/macommande&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Ainsi, en entrant :&lt;br /&gt;&lt;code&gt;~$ macommande&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Le script &lt;em&gt;monscript.sh&lt;/em&gt; sera exécuté.&lt;br /&gt;Pour essayer d'illustrer ceci, voici un exemple (que j'utilise) :&lt;br /&gt;&lt;code&gt;~$ sudo ln -s /home/respawner/Scripts/Multimedia/insertsrt.sh /home/respawner/Executables/insertsrt&lt;/code&gt;&lt;/p&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Zenity, une interface graphique pour vos scripts</title>
    <link>http://www.respawner.fr/blog/index.php?post/2008/09/29/Zenity-une-interface-graphique-pour-vos-scripts</link>
    <guid isPermaLink="false">urn:md5:37ac7973807b9a1c2ab199d6568ccf85</guid>
    <pubDate>Mon, 29 Sep 2008 19:04:00 +0200</pubDate>
    <dc:creator>Respawner</dc:creator>
        <category>PUF</category>
        <category>Accueil</category><category>Cli</category><category>Gui</category><category>Libre</category><category>Ligne de commande</category><category>Linux</category><category>Script</category><category>Ubuntu</category><category>Zenity</category>    
    <description>    &lt;p&gt;&lt;img title=&quot;designed_for_ubuntu.png, aoû 2008&quot; style=&quot;margin: 0 1em 1em 0; float: left;&quot; alt=&quot;&quot; src=&quot;http://www.respawner.fr/respawner/public/ImagesPages/designed_for_ubuntu.png&quot; /&gt;Les amoureux de la &lt;a hreflang=&quot;fr&quot; href=&quot;http://fr.wikipedia.org/wiki/Command-line_interface&quot;&gt;CLI&lt;/a&gt; (ligne de commande) ont pour habitude de faire quelques scripts shell par ci par là afin d'automatiser les choses et/ou de se rendre la vie plus facile.&lt;br /&gt;Il est vrai qu'un bon terminal peut faire beaucoup de choses et que c'est parfois pratique de ne pas avoir à lancer une &lt;a hreflang=&quot;fr&quot; href=&quot;http://fr.wikipedia.org/wiki/Environnement_graphique&quot;&gt;GUI&lt;/a&gt;. Toutefois, la GUI est une magnifique invention pour nos yeux mais aussi pour notre cerveau. Visualiser les choses avec des effets, des représenations, des boîtes de dialogue reste, à priori, pour le commun des mortels, plus agréable que la CLI. Un script shell permet entre autre d'exécuter une suite de commandes avec des structures avancées bien entendu (if, while, etc...). Par contre, on ne peut pas concevoir, en sh, en bash etc..., des interfaces comme avec du &lt;a hreflang=&quot;en&quot; href=&quot;http://www.gtk.org/&quot;&gt;GTK&lt;/a&gt; et du C (ou même Java, Python, et j'en passe encore). Pour palier à ce soucis, &lt;a hreflang=&quot;en&quot; href=&quot;http://live.gnome.org/Zenity&quot;&gt;&lt;strong&gt;Zenity&lt;/strong&gt;&lt;/a&gt; arrive à notre secours.&lt;/p&gt;    &lt;p&gt;Zenity est un programme permettant d'afficher des fenêtres GTK+, et d'obtenir un retour selon l'action réalisée. La &quot;valeur&quot; renvoyée après exécution peut prendre 2 formes :&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;Un code de retour, donc accessible via la variable &lt;strong&gt;$?&lt;/strong&gt; (après exécution). Le 0 indique OK, le reste une erreur.&lt;/li&gt;
&lt;li&gt;Résultat envoyé directement sur la sortie standard &lt;strong&gt;stdout&lt;/strong&gt;. Que l'on récupère donc très simplement avec le &lt;strong&gt;=&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Grâce à ceci, on peut donc facilement demander des informations à l'utilisateur, les traiter et lui en présenter grâce à une GUI avec un simple script.&lt;br /&gt;Zenity met à notre disposition 12 types de fenêtres avec des buts précis. Toutes ces fenêtres sont &quot;créées&quot; avec une ligne de commande commençant par &lt;strong&gt;zenity&lt;/strong&gt; suivie d'options.&lt;/p&gt;
&lt;ol&gt;&lt;li&gt;Un calendrier avec l'option &lt;strong&gt;--calendar&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Une fenêtre possédant un champ pour entrer du texte avec l'option &lt;strong&gt;--entry&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Une fenêtre d'erreur avec l'option &lt;strong&gt;--error&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Une fenêtre de sélection de fichier avec l'option &lt;strong&gt;--file-selection&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Une fenêtre pouvant contenir une information avec l'option &lt;strong&gt;--info&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Une fenêtre qui contient une liste d'entrées avec l'option &lt;strong&gt;--list&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Une icône dans la zone de notification avec l'option &lt;strong&gt;--notification&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Une fenêtre associée avec une barre de progression avec l'option &lt;strong&gt;--progress&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Une fenêtre qui contient 2 boutons pour répondre à une question avec l'option &lt;strong&gt;--question&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Une fenêtre permettant d'afficher un texte complet avec l'option &lt;strong&gt;--text-info&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Une fenêtre pour afficher un avertissement avec l'option &lt;strong&gt;--warning&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Une fenêtre contenant une échelle pour déterminer une valeur avec l'option &lt;strong&gt;--scale&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;En image, c'est un peu plus parlant (GUI oblige).&lt;/p&gt;
&lt;center&gt;&lt;a href=&quot;http://www.respawner.fr/respawner/public/Zenity/ZenityCalendar.png&quot;&gt;&lt;img title=&quot;ZenityCalendar.png, sep 2008&quot; alt=&quot;&quot; src=&quot;http://www.respawner.fr/respawner/public/Zenity/.ZenityCalendar_s.jpg&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://www.respawner.fr/respawner/public/Zenity/ZenityEntry.png&quot;&gt;&lt;img title=&quot;ZenityEntry.png, sep 2008&quot; alt=&quot;&quot; src=&quot;http://www.respawner.fr/respawner/public/Zenity/ZenityEntry.png&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://www.respawner.fr/respawner/public/Zenity/ZenityError.png&quot;&gt;&lt;img title=&quot;ZenityError.png, sep 2008&quot; alt=&quot;&quot; src=&quot;http://www.respawner.fr/respawner/public/Zenity/.ZenityError_s.jpg&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://www.respawner.fr/respawner/public/Zenity/ZenityFileSelection.png&quot;&gt;&lt;img title=&quot;ZenityFileSelection.png, sep 2008&quot; alt=&quot;&quot; src=&quot;http://www.respawner.fr/respawner/public/Zenity/.ZenityFileSelection_s.jpg&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.respawner.fr/respawner/public/Zenity/ZenityInfo.png&quot;&gt;&lt;img src=&quot;http://www.respawner.fr/respawner/public/Zenity/.ZenityInfo_s.jpg&quot; alt=&quot;ZenityInfo.png&quot; title=&quot;ZenityInfo.png, sep 2008&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://www.respawner.fr/respawner/public/Zenity/ZenityList.png&quot;&gt;&lt;img src=&quot;http://www.respawner.fr/respawner/public/Zenity/.ZenityList_s.jpg&quot; alt=&quot;ZenityList.png&quot; title=&quot;ZenityList.png, sep 2008&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://www.respawner.fr/respawner/public/Zenity/ZenityNotification.png&quot;&gt;&lt;img src=&quot;http://www.respawner.fr/respawner/public/Zenity/ZenityNotification.png&quot; alt=&quot;ZenityNotification.png&quot; title=&quot;ZenityNotification.png, sep 2008&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://www.respawner.fr/respawner/public/Zenity/ZenityProgress.png&quot;&gt;&lt;img src=&quot;http://www.respawner.fr/respawner/public/Zenity/ZenityProgress.png&quot; alt=&quot;ZenityProgress.png&quot; title=&quot;ZenityProgress.png, sep 2008&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;http://www.respawner.fr/respawner/public/Zenity/ZenityQuestion.png&quot;&gt;&lt;img src=&quot;http://www.respawner.fr/respawner/public/Zenity/.ZenityQuestion_s.jpg&quot; alt=&quot;ZenityQuestion.png&quot; title=&quot;ZenityQuestion.png, sep 2008&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://www.respawner.fr/respawner/public/Zenity/ZenityScale.png&quot;&gt;&lt;img src=&quot;http://www.respawner.fr/respawner/public/Zenity/.ZenityScale_s.jpg&quot; alt=&quot;ZenityScale.png&quot; title=&quot;ZenityScale.png, sep 2008&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://www.respawner.fr/respawner/public/Zenity/ZenityTextInfo.png&quot;&gt;&lt;img src=&quot;http://www.respawner.fr/respawner/public/Zenity/.ZenityTextInfo_s.jpg&quot; alt=&quot;ZenityTextInfo.png&quot; title=&quot;ZenityTextInfo.png, sep 2008&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://www.respawner.fr/respawner/public/Zenity/ZenityWarning.png&quot;&gt;&lt;img src=&quot;http://www.respawner.fr/respawner/public/Zenity/.ZenityWarning_s.jpg&quot; alt=&quot;ZenityWarning.png&quot; title=&quot;ZenityWarning.png, sep 2008&quot; /&gt;&lt;/a&gt;&lt;/center&gt;&lt;br /&gt;A chacun de ces types de fenêtres sont associés des options particulières pour maîtriser un peu mieux le contenu encore. Je ne vais pas les détailler ici. Il y a cependant 4 options génériques et donc applicables à toute fenêtre. Ce sont :&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;strong&gt;--title&lt;/strong&gt;=&quot;Ecrire le titre de la fenêtre&quot;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;--window-icon&lt;/strong&gt;=Chemin/vers/l'icone/de/la/fenêtre&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;--width&lt;/strong&gt;=Largeur de la fenêtre&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;--height&lt;/strong&gt;=Hauteur de la fenêtre&lt;/li&gt;
&lt;/ol&gt;
Avec tout ceci, vous devriez avoir déjà suffisamment d'informations pour faire quelques scripts avec une petite interface graphique. Pour plus d'informations n'oubliez pas la commande indispensable.&lt;br /&gt;&lt;center&gt;&lt;code&gt;~$ man zenity&lt;/code&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;J'ai réalisé un &lt;a href=&quot;http://www.respawner.fr/respawner/public/Zenity/insertsubs.sh&quot;&gt;script (insertsubs.sh)&lt;/a&gt; permettant d'intégrer des sous-titres à une vidéo, dans la continuité de ce &lt;a href=&quot;http://www.respawner.fr/blog/index.php?post/2008/09/26/Incruster-des-sous-titres-dans-une-video&quot;&gt;billet&lt;/a&gt;, le tout avec une interface Zenity. N'hésitez pas à y jeter un oeil, vous y apprendrez probablement quelque(s) chose(s).&lt;br /&gt;</description>
    
    
    
      </item>
    
  <item>
    <title>Exporter un fichier source au format html / latex...</title>
    <link>http://blog.creaone.fr/post/2007/11/24/Exporter-un-fichier-source-au-format-html-/-latex</link>
    <guid isPermaLink="false">urn:md5:10fc90709b455cc75a0e839a277ba4dd</guid>
    <pubDate>Sat, 24 Nov 2007 18:07:00 +0100</pubDate>
    <dc:creator>Creaone</dc:creator>
        <category>PUF</category>
        <category>Accueil</category><category>Coloration syntaxique</category><category>Conversion</category><category>Export</category><category>Export html</category><category>Export latex</category><category>Ligne de commande</category><category>Linux</category><category>Planet-libre</category><category>Puf</category><category>Source-highlight</category><category>Ubuntu</category>    
    <description>    &lt;p&gt;Depuis quelques temps je recherchais le bon logiciel me permettant
d'exporter mes fichiers sources (c, c++, php, css) aux formats xhtml conservant
la coloration syntaxique et permettant ainsi l'impression en couleur.&lt;/p&gt;	   &lt;p&gt;&lt;a href=&quot;http://blog.creaone.fr/post/2007/11/24/Exporter-un-fichier-source-au-format-html-/-latex&quot;&gt;Lire la suite&lt;/a&gt;&lt;/p&gt;</description>
    
    
    
      </item>
    
</channel>
</rss>
