<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Julien Duponchelle</title>
    <link>https://julien.duponchelle.info/</link>
    <description>Recent content on Julien Duponchelle</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Mon, 25 Aug 2025 22:35:37 +0200</lastBuildDate>
    <atom:link href="https://julien.duponchelle.info/feed.xml" rel="self" type="application/xml" />
    <item>
      <title>A simple HTTPS proxy with interception in Python</title>
      <link>https://julien.duponchelle.info/python-https-proxy/</link>
      <pubDate>Mon, 25 Aug 2025 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/python-https-proxy/</guid>
      <description>&lt;p&gt;This is a followup of my previous article &lt;a href=&#34;https://julien.duponchelle.info/network/how-an-http-proxy-work/&#34;&gt;How an HTTP/HTTPS Proxy Work&lt;/a&gt; where I explained how a basic HTTP proxy works. In this article, I will explain how to implement a simple HTTPS proxy with interception in Python using asyncio and the &lt;code&gt;ssl&lt;/code&gt; module. No third-party libraries are required.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Moving my blog from Jekyll to Hugo with Claude Code</title>
      <link>https://julien.duponchelle.info/2025-08-21-moving-to-hugo/</link>
      <pubDate>Thu, 21 Aug 2025 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/2025-08-21-moving-to-hugo/</guid>
      <description>&lt;p&gt;Historically this blog started in 2003 was using &lt;a href=&#34;https://www.spip.net/&#34;&gt;SPIP&lt;/a&gt;, then I moved to Jekyll to get a more simple setup without the need for a database. Jekyll was a good choice at the time, but it has become a bit cumbersome to maintain, especially with the need to run Ruby and its dependencies. I was stuck on an old version of Jekyll and Ruby, and each time I wanted to publish a new post, I had to spend time fighting with the environment.&lt;/p&gt;&#xA;&lt;p&gt;I decided to move to Hugo, a static site generator written in Go, which is much easier to set up and maintain. The installation on Ubuntu is just a matter of running a single apt install. I was already using Hugo for some other projects with success. Like Jekyll, Hugo is a static site generator based on Markdown files.&lt;/p&gt;&#xA;&lt;p&gt;I was delaying the migration for a long time, the idea of rewriting my theme, migrating all my posts, and making sure everything worked was daunting.  I had even tried once before, only to realize it was far more work than I imagined. I finally decided to use &lt;a href=&#34;https://claude.ai&#34;&gt;Claude Code&lt;/a&gt; to help me with the migration.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Streamlining School Menu Extraction with Mistral&#39;s Latest OCR Technology</title>
      <link>https://julien.duponchelle.info/ai/Mistral-OCR/</link>
      <pubDate>Sat, 22 Mar 2025 00:00:00 +0100</pubDate>
      <guid>https://julien.duponchelle.info/ai/Mistral-OCR/</guid>
      <description>&lt;p&gt;With the recent announcement of &lt;a href=&#34;https://mistral.ai/news/mistral-ocr&#34;&gt;Mistral OCR&lt;/a&gt;, an old idea of using code to extract my son&amp;rsquo;s school menu has been revived.&lt;/p&gt;&#xA;&lt;p&gt;The menu looks like this:&#xA;&lt;img src=&#34;https://julien.duponchelle.info/assets/images/ai-menu/kb-menu.png&#34; alt=&#34;School Menu&#34;&gt;&lt;/p&gt;&#xA;&lt;p&gt;The goal is to extract the starter, main course, dessert, and snack for each day.&lt;/p&gt;&#xA;&lt;p&gt;Manually extracting this information can be challenging because the document is designed to be visually appealing for humans, not machines. However, with Mistral&amp;rsquo;s new API, this task can now be accomplished with just a few lines of code.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Colvert</title>
      <link>https://julien.duponchelle.info/projects/Colvert/</link>
      <pubDate>Wed, 01 Jan 2025 00:00:00 +0100</pubDate>
      <guid>https://julien.duponchelle.info/projects/Colvert/</guid>
      <description>&lt;p&gt;In my free time, I&amp;rsquo;m working on a toy project named: Colvert. It&amp;rsquo;s allowed me to test some ideas and play with technology I&amp;rsquo;m interested (Python, DuckDB, HTMX). But more importantly, it&amp;rsquo;s software I&amp;rsquo;m using for my personal needs.&lt;/p&gt;&#xA;&lt;p&gt;It&amp;rsquo;s fast UX that allows exploring large CSV/Parquet files using SQL. It&amp;rsquo;s refreshed as you type and get a graphic with one click. It&amp;rsquo;s much faster than a spreadsheet and as a developer I feel SQL more comfortable.&lt;/p&gt;&#xA;&lt;p&gt;Their is a toy LLM integration for text to SQL. It&amp;rsquo;s domain I want to explore more this year.&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://julien.duponchelle.info/assets/images/colvert/2025-01-15-20-54-32.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Use Common Crawl to access web data</title>
      <link>https://julien.duponchelle.info/scrapping/Common-Crawl/</link>
      <pubDate>Sun, 10 Mar 2024 00:00:00 +0100</pubDate>
      <guid>https://julien.duponchelle.info/scrapping/Common-Crawl/</guid>
      <description>&lt;p&gt;Common Crawl is a non-profit that freely provides petabytes of web data, making it a goldmine for AI and data projects. Instead of crawling the web yourself, you can tap into their regularly updated archives hosted on AWS.&lt;/p&gt;&#xA;&lt;p&gt;This guide shows you how to:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Access and query the dataset via HTTP, S3, or AWS Athena&lt;/li&gt;&#xA;&lt;li&gt;Use the Common Crawl Index API to locate specific pages&lt;/li&gt;&#xA;&lt;li&gt;Efficiently extract only the data you need without downloading terabytes&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;</description>
    </item>
    <item>
      <title>Use a proxy with Waydroid</title>
      <link>https://julien.duponchelle.info/android/Use-Proxy-With-Waydroid/</link>
      <pubDate>Tue, 09 Jan 2024 00:00:00 +0100</pubDate>
      <guid>https://julien.duponchelle.info/android/Use-Proxy-With-Waydroid/</guid>
      <description>&lt;p&gt;Waydroid is a project that allows you to run Android applications on a Linux distribution. It&amp;rsquo;s a fork of the project Anbox-Android-in-a-Box. Android applications are run in a container and do not have the overhead of emulators.&lt;/p&gt;&#xA;&lt;p&gt;This article will explain how to use a proxy with Waydroid and intercept the traffic using a proxy. This can be useful to reverse engineer an API or for security testing.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How an HTTP/HTTPS proxy work</title>
      <link>https://julien.duponchelle.info/network/How-an-HTTP-proxy-work/</link>
      <pubDate>Fri, 13 Oct 2023 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/network/How-an-HTTP-proxy-work/</guid>
      <description>&lt;p&gt;The goal of this article is to explain how a minimal HTTP/HTTPS proxy&#xA;work.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Oreille</title>
      <link>https://julien.duponchelle.info/python/Oreille/</link>
      <pubDate>Fri, 13 Oct 2023 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/python/Oreille/</guid>
      <description>&lt;p&gt;A small week end project: Oreille is a wrapper on OpenAPI Whisper API. It provides support for long audio files.&lt;/p&gt;&#xA;&lt;p&gt;OpenAPI Whisper support only files that are less than 25 MB. Oreille will break the audio file into chunks of 25 MB&amp;rsquo;s or less. &lt;a href=&#34;https://platform.openai.com/docs/guides/speech-to-text/longer-inputs&#34;&gt;https://platform.openai.com/docs/guides/speech-to-text/longer-inputs&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;Oreille will also compute the correct timing of the subtitle when merging the output of Whisper. So once you export the subtitle the timestamp of the subtitle will be right.&lt;/p&gt;&#xA;&lt;p&gt;You can open and save WAV files with pure python. For opening and saving non-wav files – like mp3 – you&amp;rsquo;ll need ffmpeg or libav.&lt;/p&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://github.com/julien-duponchelle/oreille&#34;&gt;View project on Github&lt;/a&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>JSONApiDoc</title>
      <link>https://julien.duponchelle.info/python/jsonapidoc/</link>
      <pubDate>Sat, 02 Jun 2018 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/python/jsonapidoc/</guid>
      <description>JSON Api Doc une petite bibliothèque Open Source que j’ai publiée.&#xA;En manipulant des API en JSON API une chose m’a beaucoup gêné. L’utilisation des included pour éviter de dupliquer les données rend la lecture très difficile par un humain.&#xA;Cette bibliothèque utilisable dans un programme Python ou en cli permet tout simplement de résoudre les included et de renvoyer un objet plus simple à lire et à manipuler par un humain.</description>
    </item>
    <item>
      <title>Detect Python code duplicate</title>
      <link>https://julien.duponchelle.info/python/detect-python-code-duplicate/</link>
      <pubDate>Sun, 18 Dec 2016 00:00:00 +0100</pubDate>
      <guid>https://julien.duponchelle.info/python/detect-python-code-duplicate/</guid>
      <description>You can detect Python code duplicate with Pylint&#xA;pylint --disable=all --enable=duplicate-code src/ No config file found, using default configuration ************* Module gns3server.compute.dynamips.nodes.ethernet_switch R: 1, 0: Similar lines in 2 files ==gns3server.compute.dynamips.nodes.ethernet_hub:101 ==gns3server.compute.dynamips.nodes.ethernet_switch:136 @property def mappings(self): &amp;#34;&amp;#34;&amp;#34; Returns port mappings :returns: mappings list &amp;#34;&amp;#34;&amp;#34; return self._mappings @asyncio.coroutine def delete(self): return (yield from self.close()) @asyncio.coroutine def close(self): &amp;#34;&amp;#34;&amp;#34; Deletes this hub. &amp;#34;&amp;#34;&amp;#34; (duplicate-code) R: 1, 0: Similar lines in 2 files ==gns3server.compute.dynamips.nodes.ethernet_hub:66 ==gns3server.</description>
    </item>
    <item>
      <title>Un système d&#39;exploitation souverain mais pourquoi?</title>
      <link>https://julien.duponchelle.info/politique/un-os-souverain-mais-pourquoi/</link>
      <pubDate>Sun, 24 Jan 2016 00:00:00 +0100</pubDate>
      <guid>https://julien.duponchelle.info/politique/un-os-souverain-mais-pourquoi/</guid>
      <description>La discussion sur le système d&amp;rsquo;exploitation souverain est devenue une blague sur internet tellement cette proposition parait absurde. Mais ce qui n&amp;rsquo;était au début qu&amp;rsquo;un amendement a était adopté par les députés. La blague pourrait au final coûter au citoyen. Même si elle part probablement d&amp;rsquo;un bon sentiment.&#xA;C&amp;rsquo;est quoi un système d&amp;rsquo;exploitation? Le système d&amp;rsquo;exploitation c&amp;rsquo;est grosso modo la couche logicielle entre le matériel et vos applications. C&amp;rsquo;est donc indispensable et incontournable.</description>
    </item>
    <item>
      <title>Why SourceForge should not die today</title>
      <link>https://julien.duponchelle.info/development/why-sourceforge-should-not-die-today/</link>
      <pubDate>Sun, 19 Jul 2015 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/development/why-sourceforge-should-not-die-today/</guid>
      <description>With the recent downtime of SourceForge we can read comment like:&#xA;Sourceforge should die Someone still use sourceforge? Sourceforge is a place with only malware All active projects are already on Github Nobody will notice if Sourceforge disapear It&amp;rsquo;s wrong. If sourceforge disapear the transition will be annoying.&#xA;Sourceforge exist since a long time and even if we don&amp;rsquo;t know a lot of project still use it especially for the download mirror service.</description>
    </item>
    <item>
      <title>Reverse on OSX</title>
      <link>https://julien.duponchelle.info/development/reverse-on-osx/</link>
      <pubDate>Mon, 11 May 2015 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/development/reverse-on-osx/</guid>
      <description>This articles is a simple collection of programm I use for understanding how a third party programm interact with the system.&#xA;List symbols of a binary nm -g /bin/ls U __DefaultRuneLocale U ___assert_rtn U ___bzero U ___error U ___maskrune U ___snprintf_chk U ___stack_chk_fail U ___stack_chk_guard # Show shared libraries used by a programm&#xA;otool -L /bin/ls /bin/ls: /usr/lib/libutil.dylib (compatibility version 1.0.0, current version 1.0.0) /usr/lib/libncurses.5.4.dylib (compatibility version 5.4.0, current version 5.</description>
    </item>
    <item>
      <title>Migration from PyQT4 to PyQT5 at GNS3</title>
      <link>https://julien.duponchelle.info/python/migration-from-pyqt4-to-pyqt5/</link>
      <pubDate>Tue, 28 Apr 2015 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/python/migration-from-pyqt4-to-pyqt5/</guid>
      <description>The current GNS3 GUI interface use PyQT4. In order to support the retina display we choose to move to PyQT5.&#xA;The move was not too complicated with the help of a small script.&#xA;You can see the complete list of PyQT4 / PyQT5 differences here: http://pyqt.sourceforge.net/Docs/PyQt5/pyqt4_differences.html&#xA;Actually most of recent distributions support PyQT5:&#xA;Debian Jessie Ubuntu 14.04 and later Arch linux Gentoo Fedora 21 and later In all our code we already not directly include the PyQT4 module but our own qt module responsible of all the imports this save us the need to patch every files for changing the module.</description>
    </item>
    <item>
      <title>Lettre à mon Député</title>
      <link>https://julien.duponchelle.info/lettre-%C3%A0-mon-d%C3%A9put%C3%A9/</link>
      <pubDate>Thu, 23 Apr 2015 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/lettre-%C3%A0-mon-d%C3%A9put%C3%A9/</guid>
      <description>Monsieur le Député,&#xA;Suite à la lecture de votre article sur le projet de loi sur le renseignement: http://www.jeanluclaurent.fr/Liberticide_a423.html&#xA;Je tenais à vous faire part de mes inquiétudes concernant ce texte et de mes désaccords.&#xA;En premier lieu, vous indiquez que vous ne légiférez pas dans l’urgence. Cette affirmation est fausse. En effet, le Gouvernement utilise la procédure accélérée réduisant la possibilité pour vous d’effectuer votre travail de parlementaire dans de bonnes conditions, en particulier sur un texte aussi technique.</description>
    </item>
    <item>
      <title>Développer pour le Jumping Sumo de Parrot sous Mac</title>
      <link>https://julien.duponchelle.info/robot/developper-pour-jumping-sumo-parrot/</link>
      <pubDate>Wed, 25 Feb 2015 00:00:00 +0100</pubDate>
      <guid>https://julien.duponchelle.info/robot/developper-pour-jumping-sumo-parrot/</guid>
      <description>Le Jumping Sumo de Parrot est un petit robot qui roule et peut sauter jusquà 80 cm de haut. Il est aussi équipé d&amp;rsquo;une Webcam.&#xA;![Jumping Sumo]({{ site.url }}/images/parrot/sumo.jpg)&#xA;Voir sur amazon (lien d&amp;rsquo;affiliation): Parrot MiniDrone Jumping Sumo Noir&#xA;J&amp;rsquo;en ai reçu un en décembre et après avoir un peu joué avec l&amp;rsquo;appli android avec j&amp;rsquo;ai décidé de jouer avec le SDK fournis par Parrot.&#xA;Le SDK est en C, ce qui le rend assez facilement portable.</description>
    </item>
    <item>
      <title>Asyncio blocking code</title>
      <link>https://julien.duponchelle.info/python/Blocking-code-with-asyncio/</link>
      <pubDate>Mon, 26 Jan 2015 00:00:00 +0100</pubDate>
      <guid>https://julien.duponchelle.info/python/Blocking-code-with-asyncio/</guid>
      <description>Asyncio is greats piece of software. But all Python code is not compatible. In the following example we will see how to run blocking code from your asyncio code.&#xA;We will by a simple asyncio application:&#xA;import asyncio import time @asyncio.coroutine def clock(): while True: print(&amp;#34;Current time from asynchronous code: {}&amp;#34;.format(int(time.time()))) yield from asyncio.sleep(1) def main(): loop = asyncio.get_event_loop() asyncio.async(clock()) loop.run_forever() if __name__ == &amp;#39;__main__&amp;#39;: main() The output is:&#xA;Current time from asynchronous code: 1422265105 Current time from asynchronous code: 1422265106 And add blocking code:</description>
    </item>
    <item>
      <title>PEP 8 Git pre commit hook</title>
      <link>https://julien.duponchelle.info/python/PEP8-Pre-Commit-Hook/</link>
      <pubDate>Mon, 26 Jan 2015 00:00:00 +0100</pubDate>
      <guid>https://julien.duponchelle.info/python/PEP8-Pre-Commit-Hook/</guid>
      <description>This pre commit hook will check the PEP8 syntax of your Python files and ask you if you want to continue the commit process.&#xA;In your project directory create a file: .git/hooks/pre-commit and add the execution permission on it.&#xA;#!/bin/bash echo &amp;#34;Pre-commit started&amp;#34; echo &amp;#34;PEP 8 check&amp;#34; git diff --cached --name-only | grep .py | xargs pep8 if [ $? == 0 ] then exit 0 fi # Allows us to read user input below, assigns stdin to keyboard exec &amp;lt; /dev/tty echo &amp;#34;Do you want to ignore warning?</description>
    </item>
    <item>
      <title>Premier jour avec GO</title>
      <link>https://julien.duponchelle.info/premier-jour-go/</link>
      <pubDate>Sat, 31 May 2014 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/premier-jour-go/</guid>
      <description>Afin d&amp;rsquo;améliorer ma culture de développeur, j&amp;rsquo;ai décidé d&amp;rsquo;apprendre le GO, qu&amp;rsquo;on voit de plus en plus pour des backend demandant de la performance.&#xA;Pour comprendre mon avis, il faut savoir que j&amp;rsquo;ai un profil de développeur backend pour des startups. Je code en Ruby (y compris avec EventMachine) au travail depuis plusieurs années, dans mes loisirs je fais du Python. J&amp;rsquo;ai pas mal joué avec Node.js y a un an, mais je n&amp;rsquo;étais totalement satisfait par l&amp;rsquo;aspect déploiement et la stabilité.</description>
    </item>
    <item>
      <title>Nouveau blog</title>
      <link>https://julien.duponchelle.info/blog/nouveau-blog/</link>
      <pubDate>Sat, 10 May 2014 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/blog/nouveau-blog/</guid>
      <description>Voilà j&amp;rsquo;ai enfin pris le temps de troquer mon vieux blog sous SPIP avec un nouveau sous Jekyll. C&amp;rsquo;est l&amp;rsquo;occasion d&amp;rsquo;un gros redesign.&#xA;On oublie donc le vieux squelette: Pour un thème dérivé du thème HMFAYSAL OMEGA avec un look plus moderne. Et a moi le plaisir de blogguer en statique.&#xA;J&amp;rsquo;ai surement cassé plein de truc au passage lors de la migration et je vais réparer au et à mesure.</description>
    </item>
    <item>
      <title>Cassandra MariaDB Virtual Box images</title>
      <link>https://julien.duponchelle.info/cassandra/Cassandra-MariaDB-Virtual-Box-images/</link>
      <pubDate>Sat, 06 Oct 2012 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/cassandra/Cassandra-MariaDB-Virtual-Box-images/</guid>
      <description>I made a Virtual Machine images for testing Cassandra integration in MariaDB. This Virtual machine is based on Ubuntu 12.04 with Datastax Cassandra 1.1 version and prebuilt version of MariaDB 5.5.27 + Cassandra from here.&#xA;You can get it by using Vagrant.&#xA;After that run this commands:&#xA;vagrant init cassandramariadb &amp;#34;http://noplay.net/~noplay/cassandramariadb.box&amp;#34; vagrant up vagrant ssh After that:&#xA;For loading the sample data:&#xA;vagrant@mariadb-cassandra:~$ cat create_keyspace.cql |cqlsh vagrant@mariadb-cassandra:~$ cat create_database.sql |mysql -uroot Show the data in MySQL:</description>
    </item>
    <item>
      <title>Trouver la sitemap d&#39;un site</title>
      <link>https://julien.duponchelle.info/d%C3%A9veloppement/Trouver-la-sitemap-d-un-site/</link>
      <pubDate>Sun, 25 Sep 2011 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/d%C3%A9veloppement/Trouver-la-sitemap-d-un-site/</guid>
      <description>Lorsqu&amp;rsquo;on veut indexer un site il peut être utile de partir de la sitemap du site qui est justement faite pour cela.&#xA;Tout d&amp;rsquo;abord vous pouvez regarder dans le fichier robots.txt si il y a une section sitemap:&#xA;Sitemap: http://example.com/sitemap.xml Si la sitemap n&amp;rsquo;est pas référencé il vous reste une chance. Il est possible que le webmaster ai soumis la sitemap à google. Vous pouvez le savoir en tapant cette requête:</description>
    </item>
    <item>
      <title>Intercepter les touches de volumes						 </title>
      <link>https://julien.duponchelle.info/android/Intercepter-les-touches-de-volumes/</link>
      <pubDate>Wed, 01 Dec 2010 00:00:00 +0100</pubDate>
      <guid>https://julien.duponchelle.info/android/Intercepter-les-touches-de-volumes/</guid>
      <description>Si vous souhaitez changer le comportement des touches de volumes de votre téléphone android. Vous pouvez implémenter les méthodes onKeyDown et onKeyUp dans votre activité.&#xA;Il faut surcharger les deux méthodes. onKeyDown empêchera le changement de volume et onKeyUp empêchera les sons de notifications de changement du volume.&#xA;Le return true dans ces deux méthodes permet de dire que vous avez intercepté l&amp;rsquo;événement.&#xA;@Override public boolean onKeyDown(int keyCode, KeyEvent event) { if (keyCode == KeyEvent.</description>
    </item>
    <item>
      <title>Détecter si une application android tourne dans l&#39;émulateur</title>
      <link>https://julien.duponchelle.info/android/Detecter-si-une-application-android-tourne-dans-l-emulateur/</link>
      <pubDate>Sun, 28 Nov 2010 00:00:00 +0100</pubDate>
      <guid>https://julien.duponchelle.info/android/Detecter-si-une-application-android-tourne-dans-l-emulateur/</guid>
      <description>Parfois, il est nécessaire de détecter si on se trouve dans l&amp;rsquo;émulateur. Cela permet par exemple de contourner les limitations réseau de l&amp;rsquo;émulateur.&#xA;Vous pouvez faire cela à l&amp;rsquo;aide du code suivant:&#xA;if (&amp;#34;sdk&amp;#34;.equals(android.os.Build.PRODUCT)) { //Dans l&amp;#39;émulateur } </description>
    </item>
    <item>
      <title>Mystère</title>
      <link>https://julien.duponchelle.info/android/Mystere/</link>
      <pubDate>Tue, 31 Aug 2010 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/android/Mystere/</guid>
      <description>Voici ma première application publiée sur l&amp;rsquo;android market. C&amp;rsquo;est une base d&amp;rsquo;énigmes à résoudre depuis votre téléphone rangé par difficultés.&#xA;Ce n&amp;rsquo;est pour le moment qu&amp;rsquo;une version de démo. Le plus important maintenant c&amp;rsquo;est d&amp;rsquo;étoffer la base d&amp;rsquo;énigmes.</description>
    </item>
    <item>
      <title>GCC savoir si on est inclus par de l&#39;ASM</title>
      <link>https://julien.duponchelle.info/d%C3%A9veloppement/GCC-savoir-si-on-est-inclus-par-de-l-ASM/</link>
      <pubDate>Tue, 27 Jul 2010 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/d%C3%A9veloppement/GCC-savoir-si-on-est-inclus-par-de-l-ASM/</guid>
      <description>Récemment j&amp;rsquo;ai travaillé sur un projet où j&amp;rsquo;avais un fichier h inclus par de l&amp;rsquo;asm ou du C. Je ne voulais pas que certaines partie du .h soit inclus uniquement dans le cas où l&amp;rsquo;on est dans pas dans le ASM. On peut faire cela très simplement avec le préprocesseur:&#xA;#ifndef __ASSEMBLER__ MON CODE #endif /* __ASSEMBLER__ */ </description>
    </item>
    <item>
      <title>Voir ce que fait ld-linux.so</title>
      <link>https://julien.duponchelle.info/d%C3%A9veloppement/Voir-ce-que-fait-ld-linux-so/</link>
      <pubDate>Thu, 15 Jul 2010 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/d%C3%A9veloppement/Voir-ce-que-fait-ld-linux-so/</guid>
      <description>Si vous souhaitez savoir ce que fait ld-linux.so vous utiliser la variable d&amp;rsquo;environnement LD_DEBUG.&#xA;Vous pouvez la mettre à help pour connaitre toute les options possible.&#xA;Une option que que j&amp;rsquo;utilise est libs qui permet de voir où sont cherchés les différentes libs.</description>
    </item>
    <item>
      <title>Android ne reconstruire qu&#39;une partie du framework</title>
      <link>https://julien.duponchelle.info/android/Android-ne-reconstruire-qu-une-partie-du-framework/</link>
      <pubDate>Wed, 14 Jul 2010 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/android/Android-ne-reconstruire-qu-une-partie-du-framework/</guid>
      <description>Si vous souhaitez ne recompiler qu&amp;rsquo;une partie du framework android vous pouvez utiliser la commande mmm.&#xA;Par exemple pour ne recompiler que la calculatrice:&#xA;source build/envsetup.sh mmm packages/apps/Calculator/ </description>
    </item>
    <item>
      <title>Savoir quelle DLL sont chargées par un programme</title>
      <link>https://julien.duponchelle.info/windows/Savoir-quelle-DLL-sont-chargees-par-un-programme/</link>
      <pubDate>Tue, 20 Apr 2010 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/windows/Savoir-quelle-DLL-sont-chargees-par-un-programme/</guid>
      <description>Il est parfois nécessaire de connaître la liste des DLL utilisés par un programme . Il existe plusieurs méthodes pour le savoir. Cette méthode à l&amp;rsquo;avantage de ne pas demander l&amp;rsquo;installation de logiciels extérieurs.&#xA;Il suffit de lancer cmd.exe.&#xA;On utilise ensuite la commande: bash tasklist Cette commande vous permet de lister les processus qui tournent actuellement. On peut ainsi repérer le nom du processus qui nous intéresse.&#xA;On va ensuite afficher la liste des Dlls liées au programme via cette commande: bash tasklist /m /fi &amp;quot;imagename eq PROGRAMME&amp;quot; L&amp;rsquo;option /m nous donne la liste des modules.</description>
    </item>
    <item>
      <title>Changer de version de SDK android dans Eclipse </title>
      <link>https://julien.duponchelle.info/android/Changer-de-version-de-SDK-android-dans-Eclipse/</link>
      <pubDate>Mon, 19 Apr 2010 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/android/Changer-de-version-de-SDK-android-dans-Eclipse/</guid>
      <description>Généralement quand on débute avec android on commence à développer avec la dernière version du SDK. Malheureusement lorsque l&amp;rsquo;on veut publier son application on s&amp;rsquo;aperçoit que le marché est resté sur les anciennes versions.&#xA;Par exemple au jour d&amp;rsquo;aujourd&amp;rsquo;hui il y a encore 38% du marché sous android 1.5. Il ne faut donc pas négliger ces utilisateurs: http://developer.android.com/resources/dashboard/platform-versions.html&#xA;#Installer le SDK Via la commande android vous pouvez gérer les versions de SDK installé et installable.</description>
    </item>
    <item>
      <title>Afficher du debug sous Android</title>
      <link>https://julien.duponchelle.info/android/Afficher-du-debug-sous-Android/</link>
      <pubDate>Fri, 16 Apr 2010 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/android/Afficher-du-debug-sous-Android/</guid>
      <description>Habituellement quand on fait du java on utilise system.out.println pour afficher notre debug sur la console. Sous Android cela n&amp;rsquo;est pas possible.&#xA;Le système qui le remplace est l&amp;rsquo;API android.util.Log.&#xA;Cette API vous permet d&amp;rsquo;envoyer des messages avec différent niveau de visibilité:&#xA;VERBOSE DEBUG INFO WARN ERROR #Utilisation de l&amp;rsquo;API La première chose à faire est de charger le code nécessaire à l&amp;rsquo;API.&#xA;Vous pouvez ensuite envoyer votre message.&#xA;Log.v(&amp;#34;ListLevels&amp;#34;, &amp;#34;create&amp;#34;); Le premier argument est le TAG qui permet de savoir qui est l&amp;rsquo;émetteur.</description>
    </item>
    <item>
      <title>Les variables spéciales en shell</title>
      <link>https://julien.duponchelle.info/unix/Les-variables-speciales-en-shell/</link>
      <pubDate>Mon, 14 Dec 2009 00:00:00 +0100</pubDate>
      <guid>https://julien.duponchelle.info/unix/Les-variables-speciales-en-shell/</guid>
      <description>#$# $# Contient le nombre d&amp;rsquo;arguments passe a votre script&#xA;#$* $* Contient la liste des paramètres passée au script&#xA;#$@ Comme $* mais il prend en compte les espaces, on récupère donc les arguments sous forme de tableau.&#xA;Par exemple pour ce code:&#xA;for var in &amp;#34;$*&amp;#34; do echo $var; done test.sh &amp;#34;toto tata&amp;#34; tutu Donnera:&#xA;toto tata tutu Alors que pour ce code:&#xA;for var in &amp;#34;$@&amp;#34; do echo $var; done test.</description>
    </item>
    <item>
      <title>Lire les IPTC en Python</title>
      <link>https://julien.duponchelle.info/python/Lire-les-IPTC-en-Python/</link>
      <pubDate>Tue, 10 Nov 2009 00:00:00 +0100</pubDate>
      <guid>https://julien.duponchelle.info/python/Lire-les-IPTC-en-Python/</guid>
      <description>Pour récupérer les IPTC en Python vous avez plusieurs choix dont PIL.&#xA;Le support des IPTC de PIL étant incomplet je me suis rabattu sur le module IPTCInfo.&#xA;Voici un exemple d&amp;rsquo;utilisation:&#xA;from iptcinfo import IPTCInfo import sys info = IPTCInfo(&amp;#39;test.jpg&amp;#39;) # Affiche la liste des mots clef print info.keywords </description>
    </item>
    <item>
      <title>GetText</title>
      <link>https://julien.duponchelle.info/php/GetText/</link>
      <pubDate>Tue, 05 May 2009 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/php/GetText/</guid>
      <description>La traduction d&amp;rsquo;une application est un vrais problème car il faut une méthode qui rajoute peu de travail au développeur et qui permettent une traduction facile.&#xA;On peut bien sur bricoler un système personelle pour gérer ce problème mais il faudra aussi dévelloper les outils annexe permettant de maintenir à jours les différentes traduction&#xA;GetText est un outils très utilisé dans le monde de l&amp;rsquo;open source et disponible pour de nombreux languages.</description>
    </item>
    <item>
      <title>iWork.com corruption</title>
      <link>https://julien.duponchelle.info/mac/iWork-com-corruption/</link>
      <pubDate>Thu, 08 Jan 2009 00:00:00 +0100</pubDate>
      <guid>https://julien.duponchelle.info/mac/iWork-com-corruption/</guid>
      <description>J&amp;rsquo;ai pas joué longtemps et il est déjà cassé.&#xA;&amp;lt;169|center&amp;gt;</description>
    </item>
    <item>
      <title>Annuler une revision</title>
      <link>https://julien.duponchelle.info/subversion/Annuler-une-revision/</link>
      <pubDate>Sat, 29 Nov 2008 00:00:00 +0100</pubDate>
      <guid>https://julien.duponchelle.info/subversion/Annuler-une-revision/</guid>
      <description>Dans subversion pour annuler une modification en ligne de commande.&#xA;Ce placer dans le répertoire.&#xA;A l&amp;rsquo;aide de la commande svn info récupérez l&amp;rsquo;URL du dépots.&#xA;Chemin :&#xA;noplay# svn info Chemin: . URL : http://svn.noplay.net/ Racine du depot : svn://svn.noplay.net UUID du depot : 9e0b0c50-2be5-40e4-8cd1-2e3fc7b79647 Revision : 42 Type de noeud : repertoire Tache programme : normale Auteur de la derniere modification : noplay Revision de la derniere modification : 42 Date de la derniere modification: 2008-07-18 21:09:59 +0200 (ven 18 jui 2008 A l&amp;rsquo;aide de la commande svn log récupérez la revision que vous souhaitez annuler:</description>
    </item>
    <item>
      <title>Pourquoi il ne faut pas utiliser ?&gt;</title>
      <link>https://julien.duponchelle.info/php/Pourquoi-il-ne-faut-pas-utiliser/</link>
      <pubDate>Tue, 07 Oct 2008 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/php/Pourquoi-il-ne-faut-pas-utiliser/</guid>
      <description>La plupart des codes PHP ressemblent à cela:&#xA;&amp;lt;?php echo &amp;#34;Hello&amp;#34;; ?&amp;gt; Cela marche très bien. Le problème c&amp;rsquo;est que si vous laissez des espaces après le tag fermant il seront aussi envoyé aux navigateurs. Quel est le soucis me direz vous?&#xA;#Le problème Imaginons que vous vouliez générer un fichier binaire comme par exemple une image, les espaces supplémentaires risque de corrompre le fichier.&#xA;Autres problèmes plus courant c&amp;rsquo;est dans le cadre de l&amp;rsquo;utilisation de session.</description>
    </item>
    <item>
      <title>The Gimp 2.6</title>
      <link>https://julien.duponchelle.info/the-gimp/The-Gimp-2-6/</link>
      <pubDate>Wed, 01 Oct 2008 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/the-gimp/The-Gimp-2-6/</guid>
      <description>La version 2.6 de The Gimp est disponible.&#xA;Le changement qui m&amp;rsquo;a sauté immédiatement aux yeux c&amp;rsquo;est qu&amp;rsquo;il n&amp;rsquo;y a plus de menu dans la boite à outils et lors du lancement on voit une fenêtre image vide.&#xA;&amp;lt;168|center&amp;gt;&#xA;La fenêtre d&amp;rsquo;image devient donc la principale fenêtre de l&amp;rsquo;applications et les autres fenêtres des fenêtres utilitaire. Cela n&amp;rsquo;a l&amp;rsquo;air de rien, mais ces modifications devraient permettre aux Windows manager de mieux gérer les fenêtres de The Gimp.</description>
    </item>
    <item>
      <title>Détecter si on est dans une iframe</title>
      <link>https://julien.duponchelle.info/javascript/Detecter-si-on-est-dans-une-iframe/</link>
      <pubDate>Fri, 05 Sep 2008 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/javascript/Detecter-si-on-est-dans-une-iframe/</guid>
      <description>Parfois il peut être utile de détecter si notre Javascript est lancé dans une iframe.&#xA;Le code suivant affiche une boite d&amp;rsquo;alerte si on est dans une iframe.&#xA;&amp;lt;script language=&amp;#34;JavaScript&amp;#34;&amp;gt; &amp;lt;!-- if (top.frames.length!=0) * alert(&amp;#39;Dans une iframe&amp;#39;); * // --&amp;gt; &amp;lt;/script&amp;gt; </description>
    </item>
    <item>
      <title>Voir les fichiers qui vont être modifiés par Subversion</title>
      <link>https://julien.duponchelle.info/subversion/Voir-les-fichiers-qui-vont-etre-modifies-par-Subversion/</link>
      <pubDate>Wed, 14 May 2008 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/subversion/Voir-les-fichiers-qui-vont-etre-modifies-par-Subversion/</guid>
      <description>Parfois avant d&amp;rsquo;appliquer une mise à jour il est important de vérifier quels sont les fichiers qui seront modifiés. Cela est important par exemple lorsque vous utilisez Subversion pour déployer du code en production et que la mise à jour est sensé simplement modifier le logo du site.&#xA;Pour afficher les fichiers qui vont être modifiés on va utiliser la même commande que pour afficher les fichiers modifiés localement: svn status accompagné de l&amp;rsquo;option &amp;ndash;show-updates.</description>
    </item>
    <item>
      <title>Des dents blanches avec The Gimp.</title>
      <link>https://julien.duponchelle.info/the-gimp/Des-dents-blanches-avec-The-Gimp/</link>
      <pubDate>Tue, 29 Apr 2008 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/the-gimp/Des-dents-blanches-avec-The-Gimp/</guid>
      <description>Nous allons apprendre à appliquer du Free Dent sur une photo. Cette retouche ne prend qu&amp;rsquo;une ou deux minute et est à la portée de n&amp;rsquo;importe qui.&#xA;Tout d&amp;rsquo;abord ouvrez la photo à retoucher dans The Gimp. Pour ce tutorial j&amp;rsquo;ai choisis une photo de moi pour ne froiser personnes. Comme je me brosse les dents tous les jours ma dentition est presque parfaite, mais étant une star on va m&amp;rsquo;ajouter un sourire de star ;)</description>
    </item>
    <item>
      <title>Ajouter des routes au chargement d&#39;une interface réseau</title>
      <link>https://julien.duponchelle.info/ubuntu/Ajouter-des-routes-au-chargement-d-une-interface-reseau/</link>
      <pubDate>Tue, 22 Apr 2008 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/ubuntu/Ajouter-des-routes-au-chargement-d-une-interface-reseau/</guid>
      <description>Sous Debian ou Ubuntu si vous désirez ajouter automatiquement des routes lorsque une interface réseau devient active vous pouvez utiliser les la règle post-up du fichier /etc/network/interfaces.&#xA;Celle-ci permet éxécuter une commande après qu&amp;rsquo;une interface soit passée active.&#xA;allow-hotplug eth1 iface eth1 inet dhcp post-up route add -net 42.42.42.0 netmask 255.255.255.0 gw 192.168.1.1 down route del -net 42.42.42.0 netmask 255.255.255.0 gw 192.168.1.1 Pour plus d&amp;rsquo;informations: bashman interfaces</description>
    </item>
    <item>
      <title>Changer de VM java sous Ubuntu</title>
      <link>https://julien.duponchelle.info/ubuntu/Changer-de-VM-java-sous-Ubuntu/</link>
      <pubDate>Tue, 15 Apr 2008 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/ubuntu/Changer-de-VM-java-sous-Ubuntu/</guid>
      <description>Par défaut Ubuntu est livré avec une VM java libre. Cela peut parfois poser des problèmes pour faire fonctionner certaines applications. Ou si tout simplement vous voulez tester votre code dans un environment dans les même conditions que sous les autres OS.&#xA;Pour installer la VM de SUN:&#xA;noplay@pegase$ sudo aptitude install sun-java6-bin Afin que la commande java utilise la VM de votre choix:&#xA;noplay@pegase$ sudo update-alternatives --config java Il y a 3 alternatives fournissant « java ».</description>
    </item>
    <item>
      <title>Les extensions Firefox pour le EEE</title>
      <link>https://julien.duponchelle.info/eee-pc/Les-extensions-Firefox-pour-le-EEE/</link>
      <pubDate>Tue, 25 Mar 2008 00:00:00 +0100</pubDate>
      <guid>https://julien.duponchelle.info/eee-pc/Les-extensions-Firefox-pour-le-EEE/</guid>
      <description>L&amp;rsquo;un des points fort de Firefox est son système d&amp;rsquo;extensions. Pour améliorer mon expérience utilisateur de Firefox j&amp;rsquo;ai sélectionné quelque extensions. Ces extensions répondent à deux besoin amenées par les caractéristiques particulière du EEE: optimiser l&amp;rsquo;utilisation de la bande passante utiliser au maximum la place disponible sur l&amp;rsquo;écran&#xA;#Flashblock &amp;lt;146|left&amp;gt; Flashblock est une extension qui remplacera les animations flash par un bouton. Cela évitera de consommer de la bande passante à charger une animation qui pique les yeux alors que vous ne vouliez que l&amp;rsquo;horaire du train.</description>
    </item>
    <item>
      <title>Premières impressions sur le EEE</title>
      <link>https://julien.duponchelle.info/eee-pc/Premieres-impressions-sur-le-EEE/</link>
      <pubDate>Tue, 18 Mar 2008 00:00:00 +0100</pubDate>
      <guid>https://julien.duponchelle.info/eee-pc/Premieres-impressions-sur-le-EEE/</guid>
      <description>J&amp;rsquo;ai craqué pour le dernier gadget à la mode dans la communauté du libre l&amp;rsquo;asus EEE avec la clef 3G de SFR.&#xA;&amp;lt;143|center&amp;gt;&#xA;#Le EEE pour quels usages? Pourquoi m&amp;rsquo;acheter un EEE PC: avoir un portable léger quand je suis d&amp;rsquo;astreinte, suffisant pour faire du SSH et taper quelque commandes lire et répondre à mes mails de partout lire l&amp;rsquo;actualité sur le web écrire des articles pour mon blog&#xA;#Le hardware L&amp;rsquo;écran est vraiment petit la première fois.</description>
    </item>
    <item>
      <title>Fail2ban</title>
      <link>https://julien.duponchelle.info/ubuntu/Fail2ban/</link>
      <pubDate>Tue, 11 Mar 2008 00:00:00 +0100</pubDate>
      <guid>https://julien.duponchelle.info/ubuntu/Fail2ban/</guid>
      <description>Dans un monde parfait les seuls échec d&amp;rsquo;authentification serait ceux de vos utilisateurs lorsqu&amp;rsquo;il tapent avec leur gros doigts sur le clavier. Malheureusement on est loin d&amp;rsquo;être sur l&amp;rsquo;ile aux enfants et si votre serveur est exposé aux grand internet vous allez subir des attaques en brute force quotidennement.&#xA;En plus de poser un problème de sécurité cela pollue vos logs et peut géner les utilisateurs légitime.&#xA;Fail2ban est un outils écrit en Python qui va analyser les fichiers de logs pour bannir les IP qui tenteraient de faire du brute force sur votre serveur.</description>
    </item>
    <item>
      <title>Formation MySQL DBA</title>
      <link>https://julien.duponchelle.info/mysql/Formation-MySQL-DBA/</link>
      <pubDate>Sat, 01 Mar 2008 00:00:00 +0100</pubDate>
      <guid>https://julien.duponchelle.info/mysql/Formation-MySQL-DBA/</guid>
      <description>Cette semaine j&amp;rsquo;ai suivi pendant 4 jours la formation MySQL 5.1 DBA dispensé par Pierre Dumont de la société Anaska.&#xA;Le but de cette formation est de préparé à la certification MySQL 5 Administrator (CMDBA).&#xA;Lors de l&amp;rsquo;inscription à la formation j&amp;rsquo;ai reçu un épais manuel conçu spécialement pour la formation, un bloc note et un stylo MySQL. Le manuel est très bien foutu et se lit très bien.&#xA;&amp;lt;142|center&amp;gt;</description>
    </item>
    <item>
      <title>Réplication de dépots Subversion avec Svnsync</title>
      <link>https://julien.duponchelle.info/subversion/Replication-de-depots-Subversion-avec-Svnsync/</link>
      <pubDate>Sat, 01 Mar 2008 00:00:00 +0100</pubDate>
      <guid>https://julien.duponchelle.info/subversion/Replication-de-depots-Subversion-avec-Svnsync/</guid>
      <description>Sauvegarder ses sources dans Subversion c&amp;rsquo;est bien mais si le serveur de source crache vous allez perdre tous l&amp;rsquo;historique. Mais depuis la version 1.4 de Subversion grâce à la commande svnsync on peut répliquer un dépot.&#xA;#Initialisation de la réplication&#xA;Sur la machine qui jouera le rôle d&amp;rsquo;esclave on va créer un nouveau dépot: svnadmin create backupnoplay Dans le répertoire backupnoplay/hooks on va créer deux hooks qui autoriseront uniquement l&amp;rsquo;utilisateur syncuser à réaliser les backup: -** Le fichier pre-revprop-change contiendra:</description>
    </item>
    <item>
      <title>Créer une icône pour l&#39;écran d&#39;accueil de l&#39;iPhone</title>
      <link>https://julien.duponchelle.info/iphone/Creer-une-icone-pour-l-ecran-d-accueil-de-l-iPhone/</link>
      <pubDate>Sat, 19 Jan 2008 00:00:00 +0100</pubDate>
      <guid>https://julien.duponchelle.info/iphone/Creer-une-icone-pour-l-ecran-d-accueil-de-l-iPhone/</guid>
      <description>Avec le firmware 1.1.3 les utilisateurs peuvent créer un lien vers un site web directement sur l&amp;rsquo;écran d&amp;rsquo;accueil de l&amp;rsquo;iPhone.&#xA;&amp;lt;emb141|center&amp;gt;&#xA;Par défaut l&amp;rsquo;Iphone met une capture d&amp;rsquo;écran de la page, ce qui est très moche (je me demande pourquoi apple utilise pas le fichier favicon.ico si il n&amp;rsquo;y a pas d&amp;rsquo;icône spécial iPhone).&#xA;&amp;lt;138|center&amp;gt;&#xA;C&amp;rsquo;est donc au webmaster de créer une icône adapté pour son site web.&#xA;#Créer l&amp;rsquo;icône Il faut une icone de 57x57 pixels au format PNG (apparament cela marche aussi pour le JPEG et le GIF).</description>
    </item>
    <item>
      <title>Vagalume</title>
      <link>https://julien.duponchelle.info/maemo/Vagalume/</link>
      <pubDate>Tue, 15 Jan 2008 00:00:00 +0100</pubDate>
      <guid>https://julien.duponchelle.info/maemo/Vagalume/</guid>
      <description>J&amp;rsquo;ai longtemps cherché un client last.fm pour les tablettes nokia. Et mes voeux sont enfin exhausés grâce à Vagalume.&#xA;&amp;lt;131|center&amp;gt;&#xA;Pour moi il s&amp;rsquo;agit d&amp;rsquo;une killer feature sur le N800, en effet j&amp;rsquo;adore le principe de découverte de musique de last.fm. Ainsi n&amp;rsquo;importe où je dispose du Wifi (par exemple mon jardin) je peut écouter un choix varié de musique sans m&amp;rsquo;encombrer avec mon PC portable.&#xA;https://garage.maemo.org/projects/vagalume</description>
    </item>
    <item>
      <title>Maemo 4.0</title>
      <link>https://julien.duponchelle.info/maemo/Maemo-4-0/</link>
      <pubDate>Tue, 08 Jan 2008 00:00:00 +0100</pubDate>
      <guid>https://julien.duponchelle.info/maemo/Maemo-4-0/</guid>
      <description>Je suis enfin passé à Maemo 4.0 et mes premières impressions sont excellentes. Ce qu’on peut lire sur de nombreux blog est vrais cette mise à jour est indispensable. En effet la tablette parait vraiment plus rapide.&#xA;L&amp;rsquo;interface général a subit un petit lifting avec de la transparence sous le menu latéral.&#xA;&amp;lt;127|center&amp;gt;&#xA;Effet iphone, la navigation avec les doigts est encore plus simple qu&amp;rsquo;auparavent. La détection de l&amp;rsquo;utilisation du doigts ou du stylet a était abandonnée au profit de gros menu en permanence.</description>
    </item>
    <item>
      <title>KDE 4.0 sous le soleil</title>
      <link>https://julien.duponchelle.info/fonds-d%C3%A9cran/KDE-4-0-sous-le-soleil/</link>
      <pubDate>Sun, 30 Dec 2007 00:00:00 +0100</pubDate>
      <guid>https://julien.duponchelle.info/fonds-d%C3%A9cran/KDE-4-0-sous-le-soleil/</guid>
      <description>En cette période de grisaille un fond d&amp;rsquo;écran que j&amp;rsquo;ai réalisé pour illuminer la prochaine sortie de KDE 4.0.&#xA;&amp;lt;126|center&amp;gt;</description>
    </item>
    <item>
      <title>PEAR et les proxy</title>
      <link>https://julien.duponchelle.info/php/PEAR-et-les-proxy/</link>
      <pubDate>Sat, 08 Dec 2007 00:00:00 +0100</pubDate>
      <guid>https://julien.duponchelle.info/php/PEAR-et-les-proxy/</guid>
      <description>On me demande souvent comment configurer les proxy pour PEAR.&#xA;Cela se fait très simplement avec la commande pear config-set&#xA;pear config-set http_proxy &amp;#34;http://LOGIN:MOTDEPASSE@SERVEUR:PORT&amp;#34; </description>
    </item>
    <item>
      <title>IMaemo</title>
      <link>https://julien.duponchelle.info/maemo/IMaemo/</link>
      <pubDate>Tue, 04 Dec 2007 00:00:00 +0100</pubDate>
      <guid>https://julien.duponchelle.info/maemo/IMaemo/</guid>
      <description>Ces derniers temps pour briller en société il faut avoir un Iphone. Une plateforme totalement fermée&amp;hellip; Comme je le disais dans un précédent article (article254) l&amp;rsquo;une des forces du libre c’est sa capacité de réaction.&#xA;Un développeur c&amp;rsquo;est donc amusé à récrire le lanceur d&amp;rsquo;application de l&amp;rsquo;iphone pour les tablettes internet de Nokia qui tournent sous linux.&#xA;&amp;lt;122|center&amp;gt;&#xA;Ce n&amp;rsquo;est pas parfait mais l&amp;rsquo;illusion est là et ce nouveau lanceur d&amp;rsquo;application est à mon gout plus pratique que celui de Nokia (les boutons sont plus gros et ne sont pas situés dans des sous menus).</description>
    </item>
    <item>
      <title>PHPUnit 3.2</title>
      <link>https://julien.duponchelle.info/php/PHPUnit-3-2/</link>
      <pubDate>Mon, 19 Nov 2007 00:00:00 +0100</pubDate>
      <guid>https://julien.duponchelle.info/php/PHPUnit-3-2/</guid>
      <description>Sebastian Bergmann vient de publier PHPUnit 3.2. Cette nouvelle version de l&amp;rsquo;outil de test unitaire le plus utilisé dans le monde PHP apporte essentiellement des outils d&amp;rsquo;analyse de code. Les développeurs ont désormais à leur disposition des calculs de métrique de code, la détection des copié collé et la détection de certaines erreurs.de conception du code (par exemple afficher une erreur si une classe possède trop de méthode public). L&amp;rsquo;intégration avec Selenium RC à elle aussi subit un lifting.</description>
    </item>
    <item>
      <title>Heureux papa</title>
      <link>https://julien.duponchelle.info/php/Heureux-papa/</link>
      <pubDate>Tue, 06 Nov 2007 00:00:00 +0100</pubDate>
      <guid>https://julien.duponchelle.info/php/Heureux-papa/</guid>
      <description>Je suis l&amp;rsquo;heureux papa depuis quelque jours d&amp;rsquo;un éléphant PHP. Il se porte bien et apprécie beaucoup la compagnie des étudiants (qui après deux semaine intensive de PHP ont parfois des envies de meurtre vis à vis de ce pauvre éléphant).&#xA;&amp;lt;116|center&amp;gt;&#xA;&amp;lt;119|center&amp;gt;&#xA;Par contre il est un peu polisson et n&amp;rsquo;a pas put s&amp;rsquo;empêcher de propager sa belle couleur bleu partout. &amp;lt;117|center&amp;gt;&#xA;Je tiens à remercier Damien de Nexen Service et Vincent Pontier pour ce beau cadeau à la communauté.</description>
    </item>
    <item>
      <title>Visites public</title>
      <link>https://julien.duponchelle.info/spip/Visites-public/</link>
      <pubDate>Thu, 04 Oct 2007 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/spip/Visites-public/</guid>
      <description>#Description Ce plugin ajoute une nouvelle boucle: VISITES. Cette boucle vous permettra d&amp;rsquo;afficher les visites par jours sur le site public. Ces statistiques sont les mêmes que celle que vous retrouvez dans l&amp;rsquo;espace privée sur le graphique.&#xA;#Installation Ce plugin s&amp;rsquo;installe comme tous les plugins reportez vous à la documentation sur spip.net: http://www.spip.net/fr_article3396.html&#xA;#Utilisation La nouvelle boucle VISITES propose deux balises:&#xA;#DATE: la date des statistiques #VISITES: le nombre de visiteurs ce jour là Ce code va afficher les visiteurs pour les 7 derniers jours.</description>
    </item>
    <item>
      <title>GNS3</title>
      <link>https://julien.duponchelle.info/r%C3%A9seau/GNS3/</link>
      <pubDate>Tue, 02 Oct 2007 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/r%C3%A9seau/GNS3/</guid>
      <description>GNS 3 est un simulateur de réseau Open Source. Il permet de dessiner la topologie d&amp;rsquo;un réseau puis de tester sa configuration. En effet il fait appel au projet Dynamips qui permet de lancer des images IOS (l&amp;rsquo;OS des routeurs CISCO) dans un emulateur et d&amp;rsquo;interagir avec comme avec un vrais routeur.&#xA;&amp;lt;113|center&amp;gt;&#xA;Vous pouvez donc sur votre PC tester en toute sécurité la mise en place d&amp;rsquo;un réseau constitué de différents routeurs CISCO.</description>
    </item>
    <item>
      <title>USVN 0.6.4</title>
      <link>https://julien.duponchelle.info/usvn/USVN-0-6-4/</link>
      <pubDate>Fri, 28 Sep 2007 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/usvn/USVN-0-6-4/</guid>
      <description>Je travaille depuis plusieurs mois sur une interface de configuration pour Subversion coté serveur. Le but étant de pouvoir configurer finement le serveur Subversion sans connaissances particulière.&#xA;&amp;lt;111|center&amp;gt;&#xA;Grâce à USVN vous pouvez gérer les droits d&amp;rsquo;accès des utilisateurs dans vos repository en quelque clics.&#xA;Aujourd&amp;rsquo;hui nous sortons une release 0.6.4 qui corrige quelque bugs et améliore un peu l&amp;rsquo;ergonomie.&#xA;#La magie du logiciel libre Ce qui me fait très plaisir avec cette version c&amp;rsquo;est le nombre de contribution extérieur que l&amp;rsquo;on reçoit.</description>
    </item>
    <item>
      <title>XFCE sur maemo</title>
      <link>https://julien.duponchelle.info/maemo/XFCE-sur-maemo/</link>
      <pubDate>Wed, 12 Sep 2007 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/maemo/XFCE-sur-maemo/</guid>
      <description>Après KDE c&amp;rsquo;est XFCE qui bénéficie d&amp;rsquo;un portage vers les tablettes internet de Nokia. Ce portage necessite comme KDE une MMC vide qui sera formater avec le nouveau système.&#xA;&amp;lt;105|center&amp;gt;&#xA;Cela fait donc 3 environnements de bureau qui sont aujourd&amp;rsquo;hui portés sur les n800 et n770:&#xA;XFCE KDE E17 Pendant ce temps là les utilisateurs d&amp;rsquo;IPhone s&amp;rsquo;extasie sur la sortie d&amp;rsquo;un programme pour le desimlocker (http://www.clubic.com/actualite-79647-iunlock-deblocage-logiciel-iphone-gratuit.html)&amp;hellip;&#xA;http://geekpenguin.blogspot.com/2007/09/xfce-on-it.html</description>
    </item>
    <item>
      <title>KDE sur maemo</title>
      <link>https://julien.duponchelle.info/maemo/KDE-sur-maemo/</link>
      <pubDate>Tue, 11 Sep 2007 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/maemo/KDE-sur-maemo/</guid>
      <description>Contre toute attente un fou (ou un génie) est parvenu à porter KDE sur les tablettes internet de Nokia. Même si actuellement la version proposé est plus une démonstration qu&amp;rsquo;une version destiné à être utilisé l&amp;rsquo;exploit mérite d&amp;rsquo;être souligné.&#xA;&amp;lt;104|center&amp;gt;&#xA;L&amp;rsquo;annonce sur le forum internet table talk</description>
    </item>
    <item>
      <title>T_PAAMAYIM_NEKUDOTAYIM</title>
      <link>https://julien.duponchelle.info/php/T_PAAMAYIM_NEKUDOTAYIM/</link>
      <pubDate>Thu, 30 Aug 2007 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/php/T_PAAMAYIM_NEKUDOTAYIM/</guid>
      <description>Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM in test.php on line 2 La première fois que PHP affiche cette erreur on reste quelque secondes à regarder fixement l&amp;rsquo;écran. Il s&amp;rsquo;agit en réalité du nom du token PHP ::, il est aussi appelé T_DOUBLE_COLON.&#xA;Ce code par exemple provoque l&amp;rsquo;affichage de cette erreur:&#xA;&amp;lt;?php echo ::tutu; Pourquoi un nom aussi bizarre? Les développeurs de Zend qui travaillaient sur le Zend Engine de PHP 3 étaient israéliens, ils ont utilisés l&amp;rsquo;hébreu pour désigner ce token.</description>
    </item>
    <item>
      <title>Archéologie PHP: old_function</title>
      <link>https://julien.duponchelle.info/php/Archeologie-PHP-old_function/</link>
      <pubDate>Mon, 20 Aug 2007 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/php/Archeologie-PHP-old_function/</guid>
      <description>Saviez vous qu&amp;rsquo;il est possible de déclarer des fonctions en PHP avec old_function à la place de function? Cela pour simplifier la vie aux convertisseurs de code PHP/FI vers PHP3.&#xA;Ainsi ce code PHP:&#xA;function test($a, $b) { } Peut s&amp;rsquo;écrire:&#xA;old_function test $a, $b(); http://fr2.php.net/manual/fr/migration.old-function.php</description>
    </item>
    <item>
      <title>Elephpants PHP</title>
      <link>https://julien.duponchelle.info/php/Elephpants-PHP/</link>
      <pubDate>Fri, 17 Aug 2007 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/php/Elephpants-PHP/</guid>
      <description>Damien Seguy de nexen.net et Vincent Pontier (l&amp;rsquo;auteur de l&amp;rsquo;éléphant PHP) nous préparent une petite peluche PHP toute mignonne.&#xA;&amp;lt;102|center&amp;gt;&#xA;J&amp;rsquo;attend de voir le prix mais je me laisserais bien tenter.&#xA;http://www.nexen.net/articles/dossier/17425-elephpants_php_:_ils_sont_deux.php</description>
    </item>
    <item>
      <title>Intégration de PHPUnit dans Zend Studio</title>
      <link>https://julien.duponchelle.info/php/Integration-de-PHPUnit-dans-Zend-Studio/</link>
      <pubDate>Tue, 14 Aug 2007 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/php/Integration-de-PHPUnit-dans-Zend-Studio/</guid>
      <description>Sebastian Bergmann l&amp;rsquo;auteur de PHPUnit a posté des screenshoots de l&amp;rsquo;intégration de la suite de test unitaire PHPUnit dans la prochaine version de Zend Studio qui sera batis au dessus d&amp;rsquo;Eclipse.&#xA;http://www.phpunit.de/wiki/ZendStudio</description>
    </item>
    <item>
      <title>Lancement de Galaxie PHP</title>
      <link>https://julien.duponchelle.info/php/Lancement-de-Galaxie-PHP/</link>
      <pubDate>Tue, 14 Aug 2007 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/php/Lancement-de-Galaxie-PHP/</guid>
      <description>Tout comme planet-libre, Galaxie PHP est un planète pour PHP, c&amp;rsquo;est-à-dire un site qui agrège en un point toute l’actualité francophone sur PHP.&#xA;J&amp;rsquo;ai décidé de lancer ce site suite à l&amp;rsquo;ajout de mon blog à [planet-libre-&amp;gt;http://www.planet-libre.org/] (au passage bravo à tous les bloggeurs pour la qualités des articles publiés) et à ma lecture de nombreux planet anglophone ([Planet PHP-&amp;gt;http://www.planet-php.net/], Planet KDE&amp;hellip;). J&amp;rsquo;ai donc eu envie de monter un planet francophone pour PHP et ainsi fournir une dose de drogue en plus pour les accros comme moi aux flux RSS.</description>
    </item>
    <item>
      <title>Webkit sur maemo</title>
      <link>https://julien.duponchelle.info/maemo/Webkit-sur-maemo/</link>
      <pubDate>Mon, 06 Aug 2007 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/maemo/Webkit-sur-maemo/</guid>
      <description>La tablette internet de nokia mérite bien son nom, après le portage de Mozilla c’est Webkit qui pointe le bout de son nez.&#xA;Webkit est le fork fait par Apple de KHTML (le moteur de rendu fait par KDE pour Konqueror), il a pour réputation d’être à la fois lèger et performant. C’est d’ailleurs la base de Safari que l’on retrouve sur l’IPhone.&#xA;Actuellement il y a deux portage en cours.</description>
    </item>
    <item>
      <title>L&#39;IPhone sur maemo</title>
      <link>https://julien.duponchelle.info/maemo/L-IPhone-sur-maemo/</link>
      <pubDate>Thu, 02 Aug 2007 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/maemo/L-IPhone-sur-maemo/</guid>
      <description>Il faut reconnaître que Apple est passé maître dans l&amp;rsquo;art de faire des belles interfaces ergonomiques et innovantes. Heureusement l&amp;rsquo;une des forces du libre c&amp;rsquo;est sa capacité de réactions et des développeurs on déjà portés certaines des fonctions de l&amp;rsquo;iPhone sur les nokia n770 et n800.&#xA;#Le défilement dans les listes de l&amp;rsquo;IPhone C&amp;rsquo;est certainement la meilleur idée en terme d&amp;rsquo;interface de l&amp;rsquo;iphone. En effet scroller sur un PC nous parait une chose très simple maintenant que toutes les souris possèdent une molette et tous les touchpads une zone dédié au défilement.</description>
    </item>
    <item>
      <title>GoPHP5</title>
      <link>https://julien.duponchelle.info/php/GoPHP5/</link>
      <pubDate>Tue, 31 Jul 2007 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/php/GoPHP5/</guid>
      <description>GoPHP5 est une initiative qui vise à pousser l&amp;rsquo;adoption des versions récentes de PHP. Cette action est soutenue par des projets très populaires comme Phpmyadmin, Drupal, Gallery, PHPUnit&amp;hellip;&#xA;En effet aujourd&amp;rsquo;hui beaucoup de développeurs sont obligés d&amp;rsquo;écrire du code PHP4 à cause d&amp;rsquo;hébergeurs refusant de migrer vers PHP5. Cela est pénalisant car le support objet de PHP4 souffre de sérieuse lacunes et donc le code est de moins bonne qualité et plus dur à maintenir.</description>
    </item>
    <item>
      <title>Mozilla sur N800</title>
      <link>https://julien.duponchelle.info/maemo/Mozilla-sur-N800/</link>
      <pubDate>Sat, 21 Jul 2007 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/maemo/Mozilla-sur-N800/</guid>
      <description>C&amp;rsquo;est noël avant l&amp;rsquo;heure pour les possesseurs de N800. En effet après une mise à jour du firmware qui a apportée flash 9, skype et le support des SD de 8 GO, voilà un remplaçant à la vieille version d&amp;rsquo;Opera fournis par Nokia. En effet c&amp;rsquo;est un portage du gecko 1.9 (firefox 3.0) parfaitement intégré à l&amp;rsquo;interface. La finition est bluffante en effet c&amp;rsquo;est totalement transparent puisque mozilla vient juste remplacer le moteur de rendu du navigateur de la tablette (on peut switcher en un clique de moteur pour revenir à celui d&amp;rsquo;Opera).</description>
    </item>
    <item>
      <title>Encoder des vidéos pour le n800</title>
      <link>https://julien.duponchelle.info/maemo/Encoder-des-videos-pour-le-n800/</link>
      <pubDate>Thu, 19 Jul 2007 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/maemo/Encoder-des-videos-pour-le-n800/</guid>
      <description>Régulièrement j&amp;rsquo;utilise le nokia n800 pour regarder des films dans le train. L&amp;rsquo;écran est parfaitement clair et les vidéos sont fluides, j&amp;rsquo;arrive même à regarder des séries en VO sous titrés sans aucune difficultés.&#xA;Pour visionner les films le lecteur mplayer remplace avantageusement le lecteur de Nokia. En effet mplayer supporte plus de format de vidéo et gère les sous titre.&#xA;Vous pouvez télécharger mplayer pour maemo sur : http://mplayer.garage.maemo.org/</description>
    </item>
    <item>
      <title> Détecter comment PHP est lancé</title>
      <link>https://julien.duponchelle.info/php/-Detecter-comment-PHP-est-lance/</link>
      <pubDate>Mon, 04 Jun 2007 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/php/-Detecter-comment-PHP-est-lance/</guid>
      <description>Il est parfois intéressant de savoir comment a été lance PHP (module apache, cgi, cli)&#xA;Cela peut se faire très simplement à l&amp;rsquo;aide de la fonction php_sapi_name.&#xA;Par exemple pour vérifier que php est lancée en ligne de commande :&#xA;if (php_sapi_name() != &amp;#34;cli&amp;#34;) { echo &amp;#34;Ligne de commande&amp;#34;; } La documentation de php_sapi_name </description>
    </item>
    <item>
      <title>USVN</title>
      <link>https://julien.duponchelle.info/usvn/USVN/</link>
      <pubDate>Wed, 30 May 2007 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/usvn/USVN/</guid>
      <description>Userfriendly SVN est une interface web permettant la configuration de dépôts Subversion. Cette interface permet de facilement créer de nouveaux projets sans le client en ligne de commande et donc avoir un accès privilégié sur le serveur. USVN se chargera ensuite de gérer la liste des utilisateurs autorisés à récupérer votre code source. Cela permet de déléguer l&amp;rsquo;administration de vos dépôts Subversion.&#xA;Lors de son installation USVN vous donne un bloc de configuration à mettre dans la configuration de votre apache et après vous n&amp;rsquo;aurez plus jamais besoin de passer en root pour gérer vos dépôts subversion.</description>
    </item>
    <item>
      <title>Svn external</title>
      <link>https://julien.duponchelle.info/subversion/Svn-external/</link>
      <pubDate>Wed, 11 Apr 2007 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/subversion/Svn-external/</guid>
      <description>Lorsque l&amp;rsquo;on développe on peut avoir besoin de libs externe. Et cela devenir rapidement un calvaire pour être sur que tous les développeurs utilisent la même version.&#xA;Une solution pourrait être de copier la lib dans votre dépôts subversion. Mais c&amp;rsquo;est moche à chaque release vous devez supprimer les anciens fichiers, mettre les nouveau&amp;hellip; Et en plus cela va encombrer votre SVN.&#xA;Un autre problème c&amp;rsquo;est que pouvez travailler dans une société qui écrit son propre framework qui a son dépôt SVN.</description>
    </item>
    <item>
      <title>Des statistiques pour Subversion</title>
      <link>https://julien.duponchelle.info/subversion/Des-statistiques-pour-Subversion/</link>
      <pubDate>Tue, 10 Apr 2007 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/subversion/Des-statistiques-pour-Subversion/</guid>
      <description>Récemment j&amp;rsquo;ai chercher à extraire différente statistiques sur l&amp;rsquo;utilisation qui est faite de SVN dans un projets et je suis tomber sur StatsSVN.&#xA;Il s&amp;rsquo;agit d&amp;rsquo;un programme en java qui à partir de votre dépôt subversion peut extraire un grand nombre de statistiques comme:&#xA;nombres de ligne de code dans le projet nombre de ligne écrite par chaque développeurs l&amp;rsquo;évolution de la taille moyenne des fichiers l&amp;rsquo;évolution du nombre de fichiers quels sont les plus gros fichiers quels sont les fichiers les plus modifier &amp;hellip; La meilleur façon de se rendre compte c&amp;rsquo;est encore d&amp;rsquo;aller voir [http://statsvn.</description>
    </item>
    <item>
      <title>Bonne pratique d&#39;utilisation de Subversion</title>
      <link>https://julien.duponchelle.info/subversion/Bonne-pratique-d-utilisation-de-Subversion/</link>
      <pubDate>Tue, 13 Feb 2007 00:00:00 +0100</pubDate>
      <guid>https://julien.duponchelle.info/subversion/Bonne-pratique-d-utilisation-de-Subversion/</guid>
      <description>Ceci est un ensemble de bonne pratique à suivre lorsque l&amp;rsquo;on utilise subversion. Ces recommandations sont issues de mon expérience dans l&amp;rsquo;utilisation de subversion dans des projets aussi bien de petite que de grande taille.&#xA;#Testez avant de commiter Règle élémentaire tester que le code marche avant de faire un commit pour éviter de créer des problèmes aux autres développeurs. Si vous avez des tests unitaire vérifiez qu&amp;rsquo;il passe toujours. Ne commitez jamais un code qui ne marche pas et qui pourrait gêner un autre développeur.</description>
    </item>
    <item>
      <title>Canon EOS 400D sous Ubuntu edgy</title>
      <link>https://julien.duponchelle.info/ubuntu/Canon-EOS-400D-sous-Ubuntu-edgy/</link>
      <pubDate>Tue, 13 Feb 2007 00:00:00 +0100</pubDate>
      <guid>https://julien.duponchelle.info/ubuntu/Canon-EOS-400D-sous-Ubuntu-edgy/</guid>
      <description>A noel j&amp;rsquo;ai reçu un nouveau jouet, le reflex EOS 400D (Rebel XTi en amérique du nord) de CANON. Laissons les qualités technique de la bête au spécialistes, pour nous intérésser à son support sous Ubuntu Edgy.&#xA;Pour accéder à vos photos il faut installer gphoto. Malheureusement la version fournis avec Edgy ne contient pas le support du 400D, rassurez vous c&amp;rsquo;est très simple à ajouter.&#xA;Commencez par installer gphoto:</description>
    </item>
    <item>
      <title>Supprimer les pages d&#39;un pdf sous linux</title>
      <link>https://julien.duponchelle.info/ubuntu/Supprimer-les-pages-d-un-pdf-sous-linux/</link>
      <pubDate>Tue, 13 Feb 2007 00:00:00 +0100</pubDate>
      <guid>https://julien.duponchelle.info/ubuntu/Supprimer-les-pages-d-un-pdf-sous-linux/</guid>
      <description>Récemment j&amp;rsquo;ai du imprimer un gros pdf. Le problème c&amp;rsquo;est que la moitié des pages était inutile. J&amp;rsquo;ai donc chercher une solution pour supprimer les pages d&amp;rsquo;un pdf sous mon OS préféré.&#xA;Après un échec avec Kword j&amp;rsquo;ai trouvé cette article qui parle de pdftk qui est un outil en ligne de commande pour manipuler des pdf.&#xA;L&amp;rsquo;installation sous ubuntu est comme toujours très simple:&#xA;sudo apt-get install pdftk Cet outil peut donc supprimer les pages d&amp;rsquo;un pdf, il suffit pour cela de lui donner les intervalles de page à conserver:</description>
    </item>
    <item>
      <title>La dernière version de PHP sous Ubuntu</title>
      <link>https://julien.duponchelle.info/ubuntu/La-derniere-version-de-PHP-sous-Ubuntu/</link>
      <pubDate>Mon, 01 Jan 2007 00:00:00 +0100</pubDate>
      <guid>https://julien.duponchelle.info/ubuntu/La-derniere-version-de-PHP-sous-Ubuntu/</guid>
      <description>Sous ubuntu les paquets sont mis à jour que tous les 6 mois, cela peut vous gêner si vous souhaitez utiliser les dernières innovations de PHP. Par exemple sur edgy PHP est en version 5.1 alors qu&amp;rsquo;une version 5.2 qui apporte des nouvelles fonctionnalités comme les filter est disponible.&#xA;Heureusement il existe le dépôt dotdeb qui package en .deb les dernière version de PHP et MySQL.&#xA;Pour l&amp;rsquo;utiliser c&amp;rsquo;est très simple ajouter à votre /etc/apt/source.</description>
    </item>
    <item>
      <title>Tester l&#39;existence d&#39;une variable en Python</title>
      <link>https://julien.duponchelle.info/python/Tester-l-existence-d-une-variable-en-Python/</link>
      <pubDate>Thu, 28 Dec 2006 00:00:00 +0100</pubDate>
      <guid>https://julien.duponchelle.info/python/Tester-l-existence-d-une-variable-en-Python/</guid>
      <description>Lorsque l&amp;rsquo;on débarque de langage plus permissif que Python comme PHP ou Perl on est surpris lorsqu&amp;rsquo;en essayant de tester l&amp;rsquo;existence d&amp;rsquo;une variable avec un simple if le programme s&amp;rsquo;arrete.&#xA;if toto: print toto Traceback (most recent call last): File &amp;#34;./test.py&amp;#34;, line 4, in ? if toto: NameError: name &amp;#39;toto&amp;#39; is not defined En Python on part du principe qu&amp;rsquo;il est plus facile de demander pardon que de d&amp;rsquo;obtenir la permission.</description>
    </item>
    <item>
      <title>Fond d&#39;écran chateau</title>
      <link>https://julien.duponchelle.info/fonds-d%C3%A9cran/Fond-d-ecran-chateau/</link>
      <pubDate>Sat, 25 Nov 2006 00:00:00 +0100</pubDate>
      <guid>https://julien.duponchelle.info/fonds-d%C3%A9cran/Fond-d-ecran-chateau/</guid>
      <description></description>
    </item>
    <item>
      <title>Vérification de syntaxe lors d&#39;un commit SVN</title>
      <link>https://julien.duponchelle.info/php/Verification-de-syntaxe-lors-d-un-commit-SVN/</link>
      <pubDate>Wed, 08 Nov 2006 00:00:00 +0100</pubDate>
      <guid>https://julien.duponchelle.info/php/Verification-de-syntaxe-lors-d-un-commit-SVN/</guid>
      <description>Lorsque l&amp;rsquo;on travaille en équipe avec subversion le commit d&amp;rsquo;un fichier PHP syntaxiquement incorrect ne devrait jamais arriver, mais pourtant une erreur est vite arrivée. C&amp;rsquo;est pour cela, que j&amp;rsquo;ai configuré svn pour qu&amp;rsquo;il refuse les commit de fichier PHP avec des erreurs de syntaxe.&#xA;Pour cela on va utiliser l&amp;rsquo;option -l de PHP qui permet de vérifier la syntaxe.&#xA;Subversion possède un système de hook permettant de se brancher à diverses étapes d&amp;rsquo;une opération.</description>
    </item>
    <item>
      <title>Installation de Phing sous Windows</title>
      <link>https://julien.duponchelle.info/php/Installation-de-Phing-sous-Windows/</link>
      <pubDate>Sun, 22 Oct 2006 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/php/Installation-de-Phing-sous-Windows/</guid>
      <description>Phing est un équivalent à make pour PHP il permet de créer facilement des scripts pour lancer phpDocumentor, PhpUnit&amp;hellip; Le but de cet article est d&amp;rsquo;expliquer comment l&amp;rsquo;installer sous Windows. Le serveur PHP installé sur ma machine est un WAMP.&#xA;#Installation de PEAR Commencez par lancer cmd et tapez pear.&#xA;Si vous obtenez ce message:&#xA;&amp;#39;pear&amp;#39; n&amp;#39;est pas reconnu en tant que commande interne ou externe, un programme exécutable ou un fichier de commandes.</description>
    </item>
    <item>
      <title>Installer PHPUnit 3.0 via PEAR</title>
      <link>https://julien.duponchelle.info/php/Installer-PHPUnit-3-0-via-PEAR/</link>
      <pubDate>Sun, 17 Sep 2006 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/php/Installer-PHPUnit-3-0-via-PEAR/</guid>
      <description>La première chose à faire est de désintaller les ancienne versions:&#xA;pear uninstall phpunit2 pear uninstall phpunit Ensuite on ajoute le channel officiel de PHPUnit:&#xA;pear channel-discover pear.phpunit.de Puis on installe PHPUnit 3.0:&#xA;pear install --alldeps phpunit/PHPUnit Attention dans les dépendances PHP 5.1.4 est requis. Vous pouvez forcer l&amp;rsquo;installation (à vos risques et périls):&#xA;pear install --alldeps --ignore-errors phpunit/PHPUnit </description>
    </item>
    <item>
      <title>Fond d&#39;écran train</title>
      <link>https://julien.duponchelle.info/fonds-d%C3%A9cran/Fond-d-ecran-train/</link>
      <pubDate>Sat, 05 Aug 2006 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/fonds-d%C3%A9cran/Fond-d-ecran-train/</guid>
      <description></description>
    </item>
    <item>
      <title>Traduction du Zend Framework</title>
      <link>https://julien.duponchelle.info/php/Traduction-du-Zend-Framework/</link>
      <pubDate>Tue, 11 Apr 2006 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/php/Traduction-du-Zend-Framework/</guid>
      <description>Désormais la traduction du manuel du Zend Framework auquel j&amp;rsquo;ai participé est disponible sur le site officiel du framework: http://framework.zend.com/manual/fr/index.html</description>
    </item>
    <item>
      <title>Traduction de la doc du module Zend_Pdf</title>
      <link>https://julien.duponchelle.info/php/Traduction-de-la-doc-du-module-Zend_Pdf/</link>
      <pubDate>Sat, 18 Mar 2006 00:00:00 +0100</pubDate>
      <guid>https://julien.duponchelle.info/php/Traduction-de-la-doc-du-module-Zend_Pdf/</guid>
      <description>J&amp;rsquo;ai traduit la partie de la documentation du Zend_Framework version 0.1.2 concernant le module Zend_Pdf. Ce travail sera intégré au reste de la traduction en français.&#xA;http://duponchelle.info/julien/zendfw/zend.pdf.html</description>
    </item>
    <item>
      <title>Carry</title>
      <link>https://julien.duponchelle.info/fonds-d%C3%A9cran/Carry/</link>
      <pubDate>Fri, 18 Nov 2005 00:00:00 +0100</pubDate>
      <guid>https://julien.duponchelle.info/fonds-d%C3%A9cran/Carry/</guid>
      <description></description>
    </item>
    <item>
      <title>Intercepter le signal die</title>
      <link>https://julien.duponchelle.info/perl/Intercepter-le-signal-die/</link>
      <pubDate>Sat, 25 Jun 2005 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/perl/Intercepter-le-signal-die/</guid>
      <description>Le problème lorsque l&amp;rsquo;on développe du PERL sous Windows c&amp;rsquo;est que lors d&amp;rsquo;un die la console se referme. On peut bien sur lancer PERL via la console mais on n&amp;rsquo;y pense pas toujours.&#xA;C&amp;rsquo;est pour cela que j&amp;rsquo;ai décidé d&amp;rsquo;intercepter le signal die de PERL pour que lorsqu&amp;rsquo;une erreur intervient, le script attende que j&amp;rsquo;appuie sur une touche pour continuer.&#xA;Le code est très simple :&#xA;if ($^O eq &amp;#34;MSWin32&amp;#34;) { $SIG{__DIE__* = \&amp;amp;win_die; } Tous d&amp;rsquo;abord nous commençons par tester si on est sous Windows (sous Unix je lance forcement mon script dans une console).</description>
    </item>
    <item>
      <title>Bonnes pratiques de développement en PHP</title>
      <link>https://julien.duponchelle.info/php/Bonnes-pratiques-de-developpement-en-PHP/</link>
      <pubDate>Sat, 30 Apr 2005 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/php/Bonnes-pratiques-de-developpement-en-PHP/</guid>
      <description>Le but de cet article est de lister un certains nombre de points important auxquels il faut songer lors du développement en PHP. PHP est tellement simple à apprendre que la majorité des développeurs sont autodidactes et ont parfois pris de (très) mauvaises habitudes.&#xA;#Activez toutes les erreurs Lors de la phase de développement il est préférable d&amp;rsquo;activer tous les warnings : cela vous permettra notamment de connaître les variables non déclarées (ca simplifera le développement).</description>
    </item>
    <item>
      <title>Les fonctions en script shell</title>
      <link>https://julien.duponchelle.info/unix/Les-fonctions-en-script-shell/</link>
      <pubDate>Sun, 09 Jan 2005 00:00:00 +0100</pubDate>
      <guid>https://julien.duponchelle.info/unix/Les-fonctions-en-script-shell/</guid>
      <description>Pour creer une fonction il suffit de mettre le nom de la fonction suivi de () puis le code de la fonction.&#xA;mafonction() * code de la fonction * L&amp;rsquo;appel à la fonction dans le code se fera en tapant:&#xA;mafonction argument1 argument2 #Les arguments La gestion des arguments se fait comme pour les arguments passe au script shell : on retrouve les parametres de notre fonction dans les variables $1, 2&amp;hellip;</description>
    </item>
    <item>
      <title>Programmation shell avancée (If, While et For)</title>
      <link>https://julien.duponchelle.info/unix/Programmation-shell-avancee-If-While-et-For/</link>
      <pubDate>Sun, 09 Jan 2005 00:00:00 +0100</pubDate>
      <guid>https://julien.duponchelle.info/unix/Programmation-shell-avancee-If-While-et-For/</guid>
      <description>#IF La builtin if permet de tester la reussite d&amp;rsquo;une commande. Apres le if vous devez mettre un then, puis un fi a la fin de votre bloc. else permet d&amp;rsquo;utiliser un bloc alternatif au bloc then.&#xA;Mais un exemple est beaucoup plus clair :&#xA;#!/bin/sh if cat noplay.txt then echo Le cat du fichier noplay.txt a reussi elif cat test.txt then echo Le cat du fichier noplay.txt n a pas reussi mais le cat de test.</description>
    </item>
    <item>
      <title>Pipes et redirections</title>
      <link>https://julien.duponchelle.info/unix/Pipes-et-redirections/</link>
      <pubDate>Wed, 07 Apr 2004 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/unix/Pipes-et-redirections/</guid>
      <description>Les pipes et les redirections sont des «commandes» très utiles à connaître lorsque l&amp;rsquo;on utilise un système UNIX. En effet ces «commandes» permettent par exemple de rediriger ce qu&amp;rsquo;affiche un programme à l&amp;rsquo;ecran vers un autre programme.&#xA;Il existe 4 redirections et un pipe dans les shells Unix.&#xA;#Rappel sur les sortie et entree standard&#xA;L&amp;rsquo;entrée standard est le clavier, ce que tape l&amp;rsquo;utilisateur. La sortie standard est l&amp;rsquo;ecran. La sortie d&amp;rsquo;erreur est l&amp;rsquo;ecran aussi mais est independante de la sortie standard.</description>
    </item>
    <item>
      <title>Cable réseau</title>
      <link>https://julien.duponchelle.info/r%C3%A9seau/Cable-reseau/</link>
      <pubDate>Sat, 20 Mar 2004 00:00:00 +0100</pubDate>
      <guid>https://julien.duponchelle.info/r%C3%A9seau/Cable-reseau/</guid>
      <description>A une époque, on utilisait du câble coaxial appelée BNC mais ce système avait un très gros défaut: les ordinateurs formaient une chaîne, si un maillon de la chaîne lâchait le réseau tombait. Mais aujourd&amp;rsquo;hui le câble le plus utilisée est le câble UTP avec des connecteurs RJ-45 (les alternatives sont rares et chères).&#xA;Il faut savoir que lorsqu&amp;rsquo;une entreprise fait son câblage elle le fait pour 10 à 15 ans donc le RJ-45 a encore de beaux jours devant lui.</description>
    </item>
    <item>
      <title>Dia</title>
      <link>https://julien.duponchelle.info/r%C3%A9seau/Dia/</link>
      <pubDate>Thu, 11 Mar 2004 00:00:00 +0100</pubDate>
      <guid>https://julien.duponchelle.info/r%C3%A9seau/Dia/</guid>
      <description>Dia est un programme Open-Source disponible sous windows et linux. Dia est un editeur de diagramme, c&amp;rsquo;est à dire qu&amp;rsquo;il vous permettra par exemple de faire les plans d&amp;rsquo;un reseau, un schemas electrique&amp;hellip;&#xA;Voici un exemple de schéma réaliser avec Dia:&#xA;&amp;lt;45|center&amp;gt;&#xA;En conclusion un programme à essayer absolument.</description>
    </item>
    <item>
      <title>Configurer son IP sous Windows</title>
      <link>https://julien.duponchelle.info/r%C3%A9seau/Configurer-son-IP-sous-Windows/</link>
      <pubDate>Thu, 12 Feb 2004 00:00:00 +0100</pubDate>
      <guid>https://julien.duponchelle.info/r%C3%A9seau/Configurer-son-IP-sous-Windows/</guid>
      <description>Il est souvent utile de pouvoir s&amp;rsquo;attribuer une IP fixe sur le réseau pour diverse raison (poste ayant la connections internet, hébergeant les partie&amp;hellip;).&#xA;#S&amp;rsquo;attribuer une IP fixe sous Windows XP&#xA;Faites Démarrer/paramètre/Panneau de configuration/. Cliquez sur Connexions réseau. Ensuite allez dans les propriétés de votre connexion au réseau. Cette fenêtre devrez s&amp;rsquo;afficher: &amp;lt;42|center&amp;gt;&#xA;Sélectionnez Protocole Internet TCP/IP et clique sur Propriétés. Vous verrez ensuite ceci:&#xA;&amp;lt;41|center&amp;gt;&#xA;Cliquez sur Utiliser l&amp;rsquo;adresse IP suivante Dans le champ Adresse IP mettez l&amp;rsquo;adresse IP que vous désirez utiliser Dans le champ Masque de sous réseau laissez la valeur par défaut Dans le champ Passerelle par défaut mettez l&amp;rsquo;adresse IP de l&amp;rsquo;ordinateur où se trouve la connections Internet (laissez vide si vous n&amp;rsquo;en avez pas besoin) Puis remplissez les champs DNS [[Le DNS est le serveur de nom c&amp;rsquo;est lui qui permet à votre ordinateur de savoir que www.</description>
    </item>
    <item>
      <title>Gérer l&#39;erreur 404</title>
      <link>https://julien.duponchelle.info/spip/Gerer-l-erreur-404/</link>
      <pubDate>Sat, 07 Feb 2004 00:00:00 +0100</pubDate>
      <guid>https://julien.duponchelle.info/spip/Gerer-l-erreur-404/</guid>
      <description>Je vais vous expliquer en quelque ligne comment avec Apache on peut gérer la page qui sera affiché en cas d&amp;rsquo;erreur 404. Afin d&amp;rsquo;éviter aux visiteur un message incompréhensible en anglais on va lui afficher en cas d&amp;rsquo;erreur un article.&#xA;Vous pouvez voir une démo ici.&#xA;Il suffit de créer un fichier .htaccess à la racine de votre site et d&amp;rsquo;y placer cette ligne:&#xA;ErrorDocument 404 /article.php3?id_article=145 Maintenant lorsque votre visiteur tentera d&amp;rsquo;accéder à une page qui n&amp;rsquo;existe pas il arrivera sur l&amp;rsquo;article 145.</description>
    </item>
    <item>
      <title>QuadGuard</title>
      <link>https://julien.duponchelle.info/projets/QuadGuard/</link>
      <pubDate>Sun, 01 Feb 2004 00:00:00 +0100</pubDate>
      <guid>https://julien.duponchelle.info/projets/QuadGuard/</guid>
      <description>QuadGuard est un anti-cheat réservé au réseau de lan QUAD&#xA;#Présentation du programme Cette anti-cheat est composé d&amp;rsquo;un client et d&amp;rsquo;un serveur. La partie serveur est composé de deux morceau, une base de donnée et un plugin AMX.&#xA;Une interface web permet aux admin de visualiser les logs en temps réel de n&amp;rsquo;importe quelle PC de la lan.&#xA;Coté client un programme surveille le PC du joueur et installe automatiquement le GUI de la lan.</description>
    </item>
    <item>
      <title>PyRcon</title>
      <link>https://julien.duponchelle.info/projets/PyRcon/</link>
      <pubDate>Wed, 03 Sep 2003 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/projets/PyRcon/</guid>
      <description>That&amp;rsquo;s an Half-life rcon console write in python under GPL liscence.&#xA;This script could work under linux and windows&#xA;For install python go to http://www.python.org&#xA;Download PyRcon: https://sourceforge.net/project/showfiles.php?group_id=79306&amp;amp;package_id=105591</description>
    </item>
    <item>
      <title>Admin SideBar</title>
      <link>https://julien.duponchelle.info/spip/Admin-SideBar/</link>
      <pubDate>Thu, 24 Jul 2003 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/spip/Admin-SideBar/</guid>
      <description>J&amp;rsquo;ai écrit ce petit script afin de ne plus avoir à toujours me connecter à l&amp;rsquo;interface d&amp;rsquo;administration de mon site pour vérifié si il y a de nouvelles bréves, articles ,site web et forums en attente de validation.&#xA;Ce script affiche dans la sidebar de mozilla (ou de netscape). Dans votre sidebar vous obtiendrez la liste des bréves, articles, site web et forums en attente avec un lien vers l&amp;rsquo;interface d&amp;rsquo;admin.</description>
    </item>
    <item>
      <title>Noplay&#39;s logtools</title>
      <link>https://julien.duponchelle.info/projets/Noplay-s-logtools/</link>
      <pubDate>Thu, 03 Jul 2003 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/projets/Noplay-s-logtools/</guid>
      <description>Mettez les logs dans le répertoire logs et lancez un script&#xA;ATTENTION vous devez installer python pour que ces scripts fonctionnent (http://www.python.org)&#xA;Tous ces scripts sont sous licence GPL&#xA;#say Ce script analyse vos logs et écrit tous les say (mais pas les team_say) dans say.txt&#xA;#rcon_cleaner Ce script remplace dans tous vos logs et votre mot de passe rcon par ***********&#xA;#wonid Ce script analyse vos logs et écrit toutes les wonid et le nom correspondant dans wonid.</description>
    </item>
    <item>
      <title>Noplay&#39;s logtools</title>
      <link>https://julien.duponchelle.info/projets/Noplay-s-logtools/</link>
      <pubDate>Wed, 02 Jul 2003 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/projets/Noplay-s-logtools/</guid>
      <description>Some python scripts for manipulate Half-life logs. Remove rcon password, extract wonid, say&amp;hellip;&#xA;#Setup&#xA;Place logs into logs directory and run a script&#xA;WARNING you need install python for this scripts works (http://www.python.org)&#xA;All this scripts are under GPL licence and created by Noplay&#xA;#say This script analyzes your logs and writes all the says (but not team_say) in say.txt&#xA;#rcon_cleaner This script replace in all your logs your rcon password with *********</description>
    </item>
    <item>
      <title>BBcode -&gt; Spip</title>
      <link>https://julien.duponchelle.info/spip/BBcode-Spip/</link>
      <pubDate>Sun, 29 Jun 2003 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/spip/BBcode-Spip/</guid>
      <description>Ce convertisseur a était écrit pour les besoin de Battle Factory&#xA;Vous pouvez l&amp;rsquo;utiliser online à cette adresse: http://noplay.net/~noplay/bbspip.php&#xA;ou utiliser cette fonction dans vos scripts:&#xA;// Thanks to LAURENT STEPHANE (sl@adequates.com) function spip($str) * $str = stripslashes($str); $str = eregi_replace(&amp;#34;\\[url=([^\\[]*)\\]([^\\[]*)\\[/url\\]&amp;#34;,&amp;#34;[\\2\](\\1)&amp;#34;,$str); $str = eregi_replace(&amp;#34;\\[email=([^\\[]*)\\]([^\\[]*)\\[/email\\]&amp;#34;,&amp;#34;[\\2\](\\1)&amp;#34;,$str); $str = str_replace(&amp;#34;[b]&amp;#34;,&amp;#34;\{\{&amp;#34;,$str); $str = str_replace(&amp;#34;[/b]&amp;#34;,&amp;#34;\}\}&amp;#34;,$str); $str = str_replace(&amp;#34;[i]&amp;#34;,&amp;#34;{&amp;#34;,$str); $str = str_replace(&amp;#34;[/i]&amp;#34;,&amp;#34;}&amp;#34;,$str); $str = str_replace(&amp;#34;[center]&amp;#34;,&amp;#34;**&amp;#34;,$str); $str = str_replace(&amp;#34;[/center]&amp;#34;,&amp;#34;**&amp;#34;,$str); $str = str_replace(&amp;#34;[url]&amp;#34;,&amp;#34;&amp;#34;,$str);&#x9;$str = str_replace(&amp;#34;[/url&amp;#34;,&amp;#34;]&amp;#34;,$str);&#x9;$str = str_replace(&amp;#34;[img]&amp;#34;,&amp;#34;&amp;#34;,$str);&#x9;$str = str_replace(&amp;#34;[/img&amp;#34;,&amp;#34;]&amp;#34;,$str);&#x9;$str = str_replace(&amp;#34;[code]&amp;#34;,&amp;#34;```bash&amp;#34;,$str);&#x9;$str = str_replace(&amp;#34;[/code]&amp;#34;,&amp;#34;```&amp;#34;,$str); return $str; } </description>
    </item>
    <item>
      <title>Ecrire un script shell</title>
      <link>https://julien.duponchelle.info/unix/Ecrire-un-script-shell/</link>
      <pubDate>Wed, 18 Jun 2003 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/unix/Ecrire-un-script-shell/</guid>
      <description>Le shell est un véritable langage de programmation. Il permet grâce à des scripts de faire de nombreuses manipulations bien sympathiques.&#xA;Un script shell permet d&amp;rsquo;executer une série de commandes Linux, tout en y insérant des structures de contôle (IF par exemple), des boucles (FOR, WHILE, &amp;hellip;) et donc des variables.&#xA;#Les bases&#xA;Tout script sh doit commencer obligatoirement par cette ligne : _ bash#!/bin/sh _ Cela permet d&amp;rsquo;indiquer qu&amp;rsquo;il faut utiliser sh (donc shell) pour interpreter le script.</description>
    </item>
    <item>
      <title>Adminmod FR 2.50.26</title>
      <link>https://julien.duponchelle.info/projets/Adminmod-FR-2-50-26/</link>
      <pubDate>Sun, 25 May 2003 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/projets/Adminmod-FR-2-50-26/</guid>
      <description></description>
    </item>
    <item>
      <title>VoteMapCycle</title>
      <link>https://julien.duponchelle.info/projets/VoteMapCycle/</link>
      <pubDate>Mon, 05 May 2003 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/projets/VoteMapCycle/</guid>
      <description>With this php script your visitor can vote for the mapcycle of your server.&#xA;It&amp;rsquo;s works for:&#xA;half-life quake3 battlefield 1942 You can downlad an alpha from&#xA;http://sourceforge.net/project/showfiles.php?group_id=72939&#xA;For the moment we have not make documentation</description>
    </item>
    <item>
      <title>Pyrcon</title>
      <link>https://julien.duponchelle.info/projets/Pyrcon/</link>
      <pubDate>Thu, 01 May 2003 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/projets/Pyrcon/</guid>
      <description>L&amp;rsquo;avantage de ce script est qu&amp;rsquo;il est multi-plateforme puisque écrit en python ; il permet de mieux comprendre le protocole de HL.&#xA;Pour l&amp;rsquo;utiliser vous devez installer python et éditer la configuration de votre serveur dans la source.&#xA;https://sourceforge.net/project/showfiles.php?group_id=79306&amp;amp;package_id=105591</description>
    </item>
    <item>
      <title>Installer une carte reseau</title>
      <link>https://julien.duponchelle.info/r%C3%A9seau/Installer-une-carte-reseau/</link>
      <pubDate>Tue, 15 Apr 2003 00:00:00 +0200</pubDate>
      <guid>https://julien.duponchelle.info/r%C3%A9seau/Installer-une-carte-reseau/</guid>
      <description>Cette article s&amp;rsquo;adresse au personnes n&amp;rsquo;ayant jamais ouvert un PC.&#xA;#Quelle carte acheter? &amp;lt;20|left&amp;gt; Une carte reseau 10 mbit/100 mbit ne coute pas bien cher (300 fr) et c&amp;rsquo;est ce qu&amp;rsquo;il vous faudra pour jouer dans de bonne condition lors d&amp;rsquo;une lan. Posseder une prise BNC peut être un plus mais ce n&amp;rsquo;est pas très important puisque le BNC ce fait de plus en plus rare.&#xA;#Le déballage Vous remarquerez que la carte se trouve dans un sachet à bande noire, ce sachet est là pour éviter l&amp;rsquo;électricité statique, pour le moment laissez la carte dedans bien à l&amp;rsquo;abris.</description>
    </item>
    <item>
      <title>Connaitre son adresse MAC</title>
      <link>https://julien.duponchelle.info/r%C3%A9seau/Connaitre-son-adresse-MAC/</link>
      <pubDate>Fri, 14 Mar 2003 00:00:00 +0100</pubDate>
      <guid>https://julien.duponchelle.info/r%C3%A9seau/Connaitre-son-adresse-MAC/</guid>
      <description>Connaître son adresse MAC peut-être très utile puisque cette adresse est censée être unique. Elle peut par exemple servir à s&amp;rsquo;identifier auprès d&amp;rsquo;un DHCP.&#xA;Cette adresse est enregistrée dans le chip de la carte réseau directement. Il existe des utilitaires pour modifier son adresse MAC, pour éviter (ou créer =) d&amp;rsquo;éventuels confilts. En théorie chaque carte réseau à une adresse qui est unique, celle ci est fixé en usine.&#xA;Une adresse MAC se présente sous cette forme: 00:e0:7d:a5:65:16</description>
    </item>
    <item>
      <title>The Gimp</title>
      <link>https://julien.duponchelle.info/the-gimp/The-Gimp/</link>
      <pubDate>Tue, 04 Mar 2003 00:00:00 +0100</pubDate>
      <guid>https://julien.duponchelle.info/the-gimp/The-Gimp/</guid>
      <description>The Gnu Image Manipulation Program&#xA;Pourquoi parler d&amp;rsquo;un logiciel de dessin sur un site dédié à l&amp;rsquo;administration de serveurs de jeux ??? Tout simplement parce que l&amp;rsquo;on a toujours besoin de dessiner un logo, retoucher une image&amp;hellip; Généralement on me demande le crack de photoshop ou celui de paint shop pro (hum hum)&amp;hellip;&#xA;Tous d&amp;rsquo;abord, il n&amp;rsquo;y a pas de magie, un logiciel de dessin 2D qu&amp;rsquo;il soit performant ou non ne changera pas le talent de l&amp;rsquo;utilisateur (pendant longtemps un ami a fait de superbes images avec paint, véridique !</description>
    </item>
    <item>
      <title>AMD Level</title>
      <link>https://julien.duponchelle.info/projets/AMD-Level/</link>
      <pubDate>Thu, 13 Feb 2003 00:00:00 +0100</pubDate>
      <guid>https://julien.duponchelle.info/projets/AMD-Level/</guid>
      <description>C&amp;rsquo;est un petit utilitaire que j&amp;rsquo;ai écrit pour calculer les niveaux d&amp;rsquo;accès à adminmod. Ce projet ne subira plus aucune modification.&#xA;&amp;lt;14|center&amp;gt;</description>
    </item>
    <item>
      <title>Sommaire de l&#39;article</title>
      <link>https://julien.duponchelle.info/spip/Sommaire-de-l-article/</link>
      <pubDate>Sat, 08 Feb 2003 00:00:00 +0100</pubDate>
      <guid>https://julien.duponchelle.info/spip/Sommaire-de-l-article/</guid>
      <description>Cette modification permet d&amp;rsquo;afficher le sommaire de son article généré dynamiquement à partir du texte de l&amp;rsquo;article. Vous pouvez naviguer dans l&amp;rsquo;article en cliquant sur les titres du sommaires.&#xA;Démo&#xA;Tous ce qui ce trouve entre bash# et est considéré comme un titre à ajouter au sommaire de l&amp;rsquo;article.&#xA;#Installation&#xA;dans mes_fonctions.php3 ajoutez le contenu de sommaire.txt&#xA;et dans votre squellete vous ajoutez:&#xA;bash[(#TEXTE*|sommaire_article|propre)] pour afficher le sommaire de l&amp;rsquo;articl bash[(#TEXTE*|sommaire_ancre|propre)] pour afficher l&amp;rsquo;article.</description>
    </item>
    <item>
      <title>Monter un reseau a 3 PC et plus</title>
      <link>https://julien.duponchelle.info/r%C3%A9seau/Monter-un-reseau-a-3-PC-et-plus/</link>
      <pubDate>Sun, 02 Feb 2003 00:00:00 +0100</pubDate>
      <guid>https://julien.duponchelle.info/r%C3%A9seau/Monter-un-reseau-a-3-PC-et-plus/</guid>
      <description>Avec 2 PC branchés en réseau, vous avez déja bien rigolé et maintenant vous avez trouvez un pote de plus pour votre mini lan. On va monter un reseau en RJ45 avec une carte réseau par PC, c&amp;rsquo;est le système le plus courant.&#xA;#Ce qu&amp;rsquo;il vous faut&#xA;1 carte réseau 10/100 mbit avec un port RJ45 un câble RJ-45 droit (Attention, pas de câble croisé contrairement au réseau à 2 PC) un Hub ou un Switch #Hub ou Switch Tout d&amp;rsquo;abord nous parlons d&amp;rsquo;un Hub RJ45 et pas USB.</description>
    </item>
    <item>
      <title>Monter un reseau de 2 PC</title>
      <link>https://julien.duponchelle.info/r%C3%A9seau/Monter-un-reseau-de-2-PC/</link>
      <pubDate>Sun, 02 Feb 2003 00:00:00 +0100</pubDate>
      <guid>https://julien.duponchelle.info/r%C3%A9seau/Monter-un-reseau-de-2-PC/</guid>
      <description>Monter un tel réseau est très aisé.&#xA;&amp;lt; _Un cable RJ 45_5|left&amp;gt;Pour un réseau RJ-45, il vous faut :&#xA;2 PC =) 2 cartes réseaux RJ-45 un câble RJ-45 croisé (attention, pas de câble droit) Il faut installer les cartes réseau dans un emplacement PCI (emplacement blanc). Ensuite, on relie les 2 PC avec le câble, puis on installe les drivers de la carte (Windows le fait tout seul dans 99% des cas).</description>
    </item>
    <item>
      <title>Catégorie hidden</title>
      <link>https://julien.duponchelle.info/spip/Categorie-hidden/</link>
      <pubDate>Sat, 01 Feb 2003 00:00:00 +0100</pubDate>
      <guid>https://julien.duponchelle.info/spip/Categorie-hidden/</guid>
      <description>Pour commencer créez une catégorie qui a pour titre hidden dans l&amp;rsquo;interface d&amp;rsquo;administration.&#xA;Ensuite éditez le fichier inc-calcul-squel.php3 (on modifie le moteur de spip donc attention en cas de mise à jour)&#xA;Recherchez&#xA;switch($type) { Recherchez la ligne: $req_where[] = &amp;ldquo;$table.statut=&amp;lsquo;publie&amp;rsquo;&amp;rdquo;;*&#xA;et remplacez là (3 fois) par: $req_where[] = &amp;ldquo;$table.statut=&amp;lsquo;publie&amp;rsquo; and $table.titre!=&amp;lsquo;hidden&amp;rsquo;&amp;rdquo;;&#xA;En faite on remplace pour les articles, les bréves et les rubriques.&#xA;Voilà en principe sa marche la catégorie hidden n&amp;rsquo;est plus listé dans la boucle rubrique.</description>
    </item>
    <item>
      <title>Proposer une news</title>
      <link>https://julien.duponchelle.info/spip/Proposer-une-news/</link>
      <pubDate>Sat, 01 Feb 2003 00:00:00 +0100</pubDate>
      <guid>https://julien.duponchelle.info/spip/Proposer-une-news/</guid>
      <description>Cette modification permet à vos visiteurs de proposer une news. Elle est très simple à installer.&#xA;#Installation&#xA;téléchargez l&amp;rsquo;archive propose_news.zip modifiez les deux squellettes pour qu&amp;rsquo;ils correspondent au design de votre site uploadez les fichiers à la racine de votre site depuis une page de votre site faite un raccourci vers propose_new.php3 Et voilà :)&#xA;Vous pouvez voir ce script en fonctionnement sur mon site, mais ne proposez pas de news s&amp;rsquo;il vous plait.</description>
    </item>
    <item>
      <title>Avoir une pseudo IP fixe sous windows et linux</title>
      <link>https://julien.duponchelle.info/r%C3%A9seau/Avoir-une-pseudo-IP-fixe-sous-windows-et-linux/</link>
      <pubDate>Sun, 05 Jan 2003 00:00:00 +0100</pubDate>
      <guid>https://julien.duponchelle.info/r%C3%A9seau/Avoir-une-pseudo-IP-fixe-sous-windows-et-linux/</guid>
      <description>Lorsque que l&amp;rsquo;on a un abonnment classique chez un fournisseur d&amp;rsquo;accés, l&amp;rsquo; IP change régulièrement. De plus il est difficile de se souvenir de son IP.&#xA;Il existe des sites web qui permettent, via un utilitaire, d&amp;rsquo;associer un nom de domaine à votre IP. www.dyndns.org permet cela.&#xA;Par exemple noplay-ip.dyndns.org pointera toujours vers l&amp;rsquo;ip de notre cher Noplay à condition d&amp;rsquo;avoir utilisé l&amp;rsquo;utilitaire qui signale la nouvelle IP à dyndns.</description>
    </item>
    <item>
      <title>Julien Duponchelle</title>
      <link>https://julien.duponchelle.info/en/about/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://julien.duponchelle.info/en/about/</guid>
      <description>&amp;quot; Science is what we understand well enough to explain to a computer. Art is everything else we do.&amp;quot; Donald Knuth&#xA;About Me I am French engineer working for startups and tech companies living in Paris graduated from EPITECH in 2008. I&amp;rsquo;m a proud dad of a little boy.&#xA;I am involved in the Open Source community with a number of patches to other projects and a few projects of my own.</description>
    </item>
  </channel>
</rss>
