<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" gd:etag="W/&quot;CU8FQH0-cSp7ImA9WhdREEo.&quot;"><id>tag:blogger.com,1999:blog-3426172790642130209</id><updated>2011-07-31T02:56:51.359+02:00</updated><category term="linux" /><category term="vba" /><category term="putty" /><category term="excel" /><category term="bash" /><category term="tips" /><title>IT bits</title><subtitle type="html" /><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://it-bits.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://it-bits.blogspot.com/" /><author><name>Michel Rasschaert</name><uri>http://www.blogger.com/profile/14015659144264739631</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_huVWUYqbpyI/SLPSkws3W-I/AAAAAAAAAd8/XdRYSRHJG9A/s1600-R/1316305413_d479d54078_s_d.jpg" /></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>5</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/ItBites" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="itbites" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;C0cGSXgzfSp7ImA9Wx5VF0k.&quot;"><id>tag:blogger.com,1999:blog-3426172790642130209.post-8388294417322075793</id><published>2010-05-04T23:27:00.006+02:00</published><updated>2010-10-10T22:03:48.685+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-10-10T22:03:48.685+02:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="bash" /><category scheme="http://www.blogger.com/atom/ns#" term="tips" /><title>Espace dans les paramètres ligne de commande avec bash</title><content type="html">Il est assez courant d'écrire un script bash dont le rôle principal est d'exécuter un autre programme (il se contente donc souvent d'altérer les variables d'environnement par exemple).&lt;br /&gt;
&lt;br /&gt;
Ce qui est moins évident c'est de gérer correctement les paramètres contenant des espaces.&lt;br /&gt;
&lt;br /&gt;
&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Ainsi l'implémentation trivial utilisée habituellement ressemble à cela :&lt;br /&gt;
&lt;script src="http://gist.github.com/390052.js?file=trivial-impl.sh"&gt;&lt;/script&gt;&lt;br /&gt;
Malheureusement le résultat produit est celui-ci :&lt;br /&gt;
&lt;script src="http://gist.github.com/390052.js?file=trivial-result.txt"&gt;&lt;/script&gt;&lt;br /&gt;
Alors que l'on attendrait plutôt cela :&lt;br /&gt;
&lt;script src="http://gist.github.com/390052.js?file=expected-result.txt"&gt;&lt;/script&gt;&lt;br /&gt;
Pour obtenir ce résultat il faut procéder ainsi :&lt;br /&gt;
&lt;script src="http://gist.github.com/390052.js?file=correct-impl.sh"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3426172790642130209-8388294417322075793?l=it-bits.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3426172790642130209&amp;postID=8388294417322075793" title="0 commentaires" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3426172790642130209/posts/default/8388294417322075793?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3426172790642130209/posts/default/8388294417322075793?v=2" /><link rel="alternate" type="text/html" href="http://it-bits.blogspot.com/2010/05/espace-dans-les-parametres-ligne-de.html" title="Espace dans les paramètres ligne de commande avec bash" /><author><name>Michel Rasschaert</name><uri>http://www.blogger.com/profile/14015659144264739631</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_huVWUYqbpyI/SLPSkws3W-I/AAAAAAAAAd8/XdRYSRHJG9A/s1600-R/1316305413_d479d54078_s_d.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;D0YAQnY4fSp7ImA9WxNTEUo.&quot;"><id>tag:blogger.com,1999:blog-3426172790642130209.post-4315537974781068883</id><published>2009-08-13T16:46:00.003+02:00</published><updated>2009-08-13T16:52:23.835+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-08-13T16:52:23.835+02:00</app:edited><title>Reconnaissance d'un sudoku dans une photo</title><content type="html">Le développeur d'une application iPhone qui permet de photographier un puzzle sudoku dans un journal pour le résoudre sur l'iPhone (manuellement ou automatiquement) explique les techniques de traitement de l'image utilisées dans son application.&lt;br /&gt;&lt;br /&gt;C'est très intéressant pour découvrir les techniques de base de traitement de l'image et de reconnaissance de formes/caractères.&lt;br /&gt;&lt;br /&gt;Dommage qu'il ne rentre pas plus dans les détails sur son réseau neuronal pour reconnaitre les chiffres.&lt;br /&gt;&lt;a href="http://sudokugrab.blogspot.com/2009/07/how-does-it-all-work.html"&gt;&lt;br /&gt;How does it all work&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3426172790642130209-4315537974781068883?l=it-bits.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3426172790642130209&amp;postID=4315537974781068883" title="0 commentaires" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3426172790642130209/posts/default/4315537974781068883?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3426172790642130209/posts/default/4315537974781068883?v=2" /><link rel="alternate" type="text/html" href="http://it-bits.blogspot.com/2009/08/reconnaissance-dun-sudoku-dans-une.html" title="Reconnaissance d'un sudoku dans une photo" /><author><name>Michel Rasschaert</name><uri>http://www.blogger.com/profile/14015659144264739631</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_huVWUYqbpyI/SLPSkws3W-I/AAAAAAAAAd8/XdRYSRHJG9A/s1600-R/1316305413_d479d54078_s_d.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;A08NRXozfCp7ImA9WxRWGUg.&quot;"><id>tag:blogger.com,1999:blog-3426172790642130209.post-2253323185373347757</id><published>2008-10-03T18:23:00.006+02:00</published><updated>2008-11-06T09:24:54.484+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-11-06T09:24:54.484+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="excel" /><category scheme="http://www.blogger.com/atom/ns#" term="tips" /><category scheme="http://www.blogger.com/atom/ns#" term="vba" /><title>Supprimer la protection du code VBA dans Excel</title><content type="html">Tout d'abord le but de ce billet n'est pas de faire de vous un pirate. Par contre lors d'un départ précipité en vacances d'un collègue il peut être nécessaire d'accéder à du code &lt;abbr title="Visual Basic for Applications"&gt;VBA&lt;/abbr&gt; qui est protégé par mot de passe. Voici comment casser cette protection :&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Tout d'abord faites une copie de sauvegarde du document original. On ne sait jamais ce qu'il peut arriver.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Ouvrez le fichier XLS avec un éditeur hexadecimal (par exemple &lt;a href="http://www.clubic.com/telecharger-fiche10489-hex-editor.html"&gt;Hex Editor&lt;/a&gt;)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Faites un recherche sur la chaine 'DPB' et remplacer là par 'DPx'&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Sauvegardez le fichier et ré-ouvrez le dans Excel&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Excel va donner divers messages d'erreurs que vous pouvez ignorer et finira par ouvrir le fichier correctement&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Allez dans l'éditeur de code VBA (Alt+F11) et dans les propriétés du projet VBA allez sur l'onglet 'Protection'&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Changez&lt;/b&gt; alors le mot de passe par celui de votre choix. Attention il ne faut pas enlever la protection à ce stade mais uniquement positionner un mot de passe connu.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Sauvegardez et fermez le fichier Excel.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Vous pouvez maintenant le réouvrir et aller désactiver la protection en utilisant le mot de passe que vous avez saisi précédemment&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;a href="http://www.zorvek.com/excel/removing-an-excel-workbook-vba-password.htm"&gt;Source en anglais&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3426172790642130209-2253323185373347757?l=it-bits.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3426172790642130209&amp;postID=2253323185373347757" title="0 commentaires" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3426172790642130209/posts/default/2253323185373347757?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3426172790642130209/posts/default/2253323185373347757?v=2" /><link rel="alternate" type="text/html" href="http://it-bits.blogspot.com/2008/10/supprimer-la-protection-du-code-vba.html" title="Supprimer la protection du code VBA dans Excel" /><author><name>Michel Rasschaert</name><uri>http://www.blogger.com/profile/14015659144264739631</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_huVWUYqbpyI/SLPSkws3W-I/AAAAAAAAAd8/XdRYSRHJG9A/s1600-R/1316305413_d479d54078_s_d.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;AkEERHc9eCp7ImA9WxVQGE4.&quot;"><id>tag:blogger.com,1999:blog-3426172790642130209.post-5271496635181695523</id><published>2008-09-15T15:26:00.011+02:00</published><updated>2009-02-05T13:56:45.960+01:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2009-02-05T13:56:45.960+01:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="linux" /><category scheme="http://www.blogger.com/atom/ns#" term="bash" /><category scheme="http://www.blogger.com/atom/ns#" term="tips" /><category scheme="http://www.blogger.com/atom/ns#" term="putty" /><title>Problème de retour à la ligne avec Putty et Bash ?</title><content type="html">En utilisant Putty pour me connecter à un serveur Linux distant, il m'est souvent arrivé de voir mes lignes de commandes un peu longues retourner à la ligne mais sur la même ligne !&lt;br /&gt;&lt;br /&gt;En général après cela il est très difficile d'utiliser l'historique du shell pour modifier la ligne car les éditions se font par dessus du texte existant et l'on ne voit plus rien :(&lt;br /&gt;&lt;br /&gt;J'ai enfin trouvé la solution &lt;a href="http://opensolaris.org/jive/thread.jspa?threadID=69589"&gt;ici&lt;/a&gt;. Le problème est lié à l'utilisation de couleurs dans le prompt. &lt;br /&gt;&lt;br /&gt;En effet ces couleurs sont obtenus par des codes d'échappements qui mis sans précaution dans la variable &lt;code&gt;PS1&lt;/code&gt; vont interférer avec le bon fonctionnement du terminal. La solution consiste à encadrer le code d'échappement par &lt;code&gt;\[&lt;/code&gt; et &lt;code&gt;\]&lt;/code&gt;.&lt;br /&gt;&lt;script src="http://gist.github.com/10859.js"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3426172790642130209-5271496635181695523?l=it-bits.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3426172790642130209&amp;postID=5271496635181695523" title="0 commentaires" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3426172790642130209/posts/default/5271496635181695523?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3426172790642130209/posts/default/5271496635181695523?v=2" /><link rel="alternate" type="text/html" href="http://it-bits.blogspot.com/2008/09/problme-de-retour-la-ligne-avec-putty.html" title="Problème de retour à la ligne avec Putty et Bash ?" /><author><name>Michel Rasschaert</name><uri>http://www.blogger.com/profile/14015659144264739631</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_huVWUYqbpyI/SLPSkws3W-I/AAAAAAAAAd8/XdRYSRHJG9A/s1600-R/1316305413_d479d54078_s_d.jpg" /></author><thr:total>0</thr:total></entry><entry gd:etag="W/&quot;DUABRHg9cCp7ImA9WxRSEUk.&quot;"><id>tag:blogger.com,1999:blog-3426172790642130209.post-2000629628399635300</id><published>2008-09-11T17:21:00.003+02:00</published><updated>2008-09-11T17:42:35.668+02:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2008-09-11T17:42:35.668+02:00</app:edited><title>Bienvenue !</title><content type="html">Après de nombreuses tentatives infructueuses (par manque de temps mais surtout par peur de manquer de sujets) j'ai enfin décidé de commencer à alimenter ce blog.&lt;br /&gt;&lt;br /&gt;J'y parlerai des technologies que j'utilise dans un cadre professionnel (notamment Java, JavaEE, EJB3, Weblogic et Oracle) mais aussi des technologies qui m'intéressent même si je ne les utilise pas dans le cadre professionnel (pour l'instant).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3426172790642130209-2000629628399635300?l=it-bits.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel="replies" type="text/html" href="http://www.blogger.com/comment.g?blogID=3426172790642130209&amp;postID=2000629628399635300" title="0 commentaires" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/3426172790642130209/posts/default/2000629628399635300?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/3426172790642130209/posts/default/2000629628399635300?v=2" /><link rel="alternate" type="text/html" href="http://it-bits.blogspot.com/2008/09/bienvenue.html" title="Bienvenue !" /><author><name>Michel Rasschaert</name><uri>http://www.blogger.com/profile/14015659144264739631</uri><email>noreply@blogger.com</email><gd:image rel="http://schemas.google.com/g/2005#thumbnail" width="32" height="32" src="http://4.bp.blogspot.com/_huVWUYqbpyI/SLPSkws3W-I/AAAAAAAAAd8/XdRYSRHJG9A/s1600-R/1316305413_d479d54078_s_d.jpg" /></author><thr:total>0</thr:total></entry></feed>

