<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Julien Pecqueur &#187; C / C++</title>
	<atom:link href="http://www.julienpecqueur.com/wordpress/category/code/c-c/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.julienpecqueur.com/wordpress</link>
	<description>Unix, code &#38; web from Picardie!</description>
	<lastBuildDate>Thu, 02 Sep 2010 10:42:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Qfacture – point sur l&#8217;avancement</title>
		<link>http://www.julienpecqueur.com/wordpress/2010/08/qfacture-%e2%80%93-point-sur-lavancement/</link>
		<comments>http://www.julienpecqueur.com/wordpress/2010/08/qfacture-%e2%80%93-point-sur-lavancement/#comments</comments>
		<pubDate>Thu, 19 Aug 2010 20:28:15 +0000</pubDate>
		<dc:creator>Julien</dc:creator>
				<category><![CDATA[Archlinux]]></category>
		<category><![CDATA[C / C++]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Qfacture]]></category>

		<guid isPermaLink="false">http://www.julienpecqueur.com/wordpress/?p=744</guid>
		<description><![CDATA[Un petit trou ce soir dans l&#8217;emploi du temps chargé : j&#8217;en ai profité pour finaliser l&#8217;onglet Paramètres (gestion logo utilisateur) et pour implémenter la création d&#8217;un nouveau client. Ce weekend j&#8217;essaie de terminer l&#8217;onglet client! Le code est dispo &#8230; <a href="http://www.julienpecqueur.com/wordpress/2010/08/qfacture-%e2%80%93-point-sur-lavancement/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://www.julienpecqueur.com/wordpress/wp-content/uploads/2010/08/qfact.png"><img class="size-full wp-image-745 aligncenter" title="Qfacture - PyGitWeb" src="http://www.julienpecqueur.com/wordpress/wp-content/uploads/2010/08/qfact.png" alt="Qfacture - PyGitWeb" width="646" height="668" /></a></p>
<p style="text-align: left;">Un petit trou ce soir dans l&#8217;emploi du temps chargé : j&#8217;en ai profité pour finaliser l&#8217;onglet Paramètres (gestion logo utilisateur) et pour implémenter la création d&#8217;un nouveau client.</p>
<p style="text-align: left;">Ce weekend j&#8217;essaie de terminer l&#8217;onglet client!</p>
<p style="text-align: left;">Le code est dispo sur le dépôt Git suivant :</p>
<pre>git clone <a href="http://78.232.69.135/dev/qfacture/.git/" target="_blank">http://78.232.69.135/dev/qfacture/.git/</a></pre>
<p style="text-align: left;">PS: Pour l&#8217;instant je code à l&#8217;arrache(TM) pour terminer rapidement le prototype car j&#8217;ai besoin d&#8217;une version &#8220;utilisable&#8221; pour début septembre. Une bonne relecture de code sera nécessaire pour nettoyer le code (et corriger les erreurs de code du débutant en C++/Qt4 que je suis)! Avis aux amateurs&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.julienpecqueur.com/wordpress/2010/08/qfacture-%e2%80%93-point-sur-lavancement/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Qfacture &#8211; point sur l&#8217;avancement</title>
		<link>http://www.julienpecqueur.com/wordpress/2010/08/qfacture-point-sur-lavancement/</link>
		<comments>http://www.julienpecqueur.com/wordpress/2010/08/qfacture-point-sur-lavancement/#comments</comments>
		<pubDate>Sat, 07 Aug 2010 18:04:52 +0000</pubDate>
		<dc:creator>Julien</dc:creator>
				<category><![CDATA[Archlinux]]></category>
		<category><![CDATA[C / C++]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Qfacture]]></category>

		<guid isPermaLink="false">http://www.julienpecqueur.com/wordpress/?p=718</guid>
		<description><![CDATA[Comme promis, voici un petit point sur l&#8217;avancement de Qfacture&#8230; Premier point : le nom du projet. J&#8217;avais nommé le projet Kfacture mais après réflexion il me semble que Qfacture soit plus approprié puisque ce projet n&#8217;est pas lié à Kde &#8230; <a href="http://www.julienpecqueur.com/wordpress/2010/08/qfacture-point-sur-lavancement/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Comme promis, voici un petit point sur l&#8217;avancement de Qfacture&#8230;</p>
<p>Premier point : le nom du projet. J&#8217;avais nommé le projet Kfacture mais après réflexion il me semble que <strong>Qfacture</strong> soit plus approprié puisque ce projet n&#8217;est pas lié à Kde (Ex: Kdevelop != Qdevelop).</p>
<p>Pour le projet, j&#8217;ai choisi d&#8217;utiliser l&#8217;IDE <a title="http://biord-software.org/fr/qdevelop/" href="http://biord-software.org/fr/qdevelop/" target="_blank">Qdevelop</a> pour sa simplicité et son intégration avec Designer.</p>
<p>Contrairement à ce que j&#8217;avais prévu, j&#8217;ai pu travailler un petit peu sur le projet cette semaine. J&#8217;ai réalisé l&#8217;onglet &#8220;Paramètres&#8221; qui permet de se connecter a MySQL et de renseigner les informations sur l&#8217;utilisateur (sauf pour le logo il faut que je finalise le code).</p>
<p><strong>Lancement de l&#8217;application :</strong></p>
<p style="text-align: left;"><a href="http://www.julienpecqueur.com/wordpress/wp-content/uploads/2010/08/qfacture-1.png"><img class="aligncenter size-full wp-image-720" title="Qfacture - Connexion MySQL" src="http://www.julienpecqueur.com/wordpress/wp-content/uploads/2010/08/qfacture-1_small.png" alt="Qfacture - Connexion MySQL" width="480" height="362" /></a>Les paramètres MySQL : server, port, user et database sont pré-remplis. Il suffit de taper son mot de passe MySQL et de clicker sur &#8220;Connecter&#8221;.</p>
<p style="text-align: left;"><strong>Modification information utilisateur :</strong></p>
<p><a href="http://www.julienpecqueur.com/wordpress/wp-content/uploads/2010/08/qfacture-2.png"><img class="aligncenter size-full wp-image-722" title="Qfacture - Info utilisateur" src="http://www.julienpecqueur.com/wordpress/wp-content/uploads/2010/08/qfacture-2_small.png" alt="Qfacture - Info utilisateur" /></a>Une fois connecté, les champs de l&#8217;utilisateurs sont remplis avec les infos stockés dans la base MySQL.</p>
<p><a href="http://www.julienpecqueur.com/wordpress/wp-content/uploads/2010/08/qfacture-3.png"><img class="aligncenter size-full wp-image-725" title="Qfacture - Utilisateur enregistrer" src="http://www.julienpecqueur.com/wordpress/wp-content/uploads/2010/08/qfacture-3_small.png" alt="Qfacture - Utilisateur enregistrer" /></a>Après modification, il suffit de cliquer sur &#8220;Enregistrer les paramètres utilisateur&#8221; pour que les modifications soient stockées dans MySQL.</p>
<p>Stay tuned for next episode.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.julienpecqueur.com/wordpress/2010/08/qfacture-point-sur-lavancement/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Sondage: Sqlite3 ou MySQL pour Kfacture?</title>
		<link>http://www.julienpecqueur.com/wordpress/2010/08/sondage-sqlite3-ou-mysql-pour-kfacture/</link>
		<comments>http://www.julienpecqueur.com/wordpress/2010/08/sondage-sqlite3-ou-mysql-pour-kfacture/#comments</comments>
		<pubDate>Thu, 05 Aug 2010 12:33:15 +0000</pubDate>
		<dc:creator>Julien</dc:creator>
				<category><![CDATA[Archlinux]]></category>
		<category><![CDATA[C / C++]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Projets]]></category>
		<category><![CDATA[Qfacture]]></category>

		<guid isPermaLink="false">http://www.julienpecqueur.com/wordpress/?p=715</guid>
		<description><![CDATA[Je n&#8217;ai toujours pas décidé quel moyen de stockage des données alternatif j&#8217;allais utiliser pour Kfacture&#8230; Deux solutions évidentes s&#8217;offrent à moi : Sqlite3 ou MySQL. Sqlite3 est une base SQL contenue dans un fichier en local. Elle est utilisable &#8230; <a href="http://www.julienpecqueur.com/wordpress/2010/08/sondage-sqlite3-ou-mysql-pour-kfacture/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Je n&#8217;ai toujours pas décidé quel moyen de stockage des données alternatif j&#8217;allais utiliser pour Kfacture&#8230;</p>
<p><strong>Deux solutions évidentes s&#8217;offrent à moi : Sqlite3 ou MySQL.</strong></p>
<p>Sqlite3 est une base SQL contenue dans un fichier en local. Elle est utilisable via une invite de commande ou une librairie en C. Son principal avantage est qu&#8217;il n&#8217;y a pas besoin d&#8217;installer un service et cela rendrait l&#8217;installation de Kfacture très simple pour l&#8217;utilisateur final. Cependant, comme ces informations sont stockées en local (dans le répertoire /home/user), en cas de crash du poste de travail, il y a un risque de perdre ses données si l&#8217;on a pas effectué une copie du fichier de travail auparavant&#8230;</p>
<p>MySQL est un serveur de base de donnée qui peut être installé sur le poste de travail ou sur un serveur extérieur. Dans ce cas, on peut avoir accès aux données de Kfacture depuis plusieurs postes de travail voir même à travers internet (si toutefois on à accès au serveur depuis le net ce qui pose des problèmes de sécurité). En cas de crash du poste de travail, les données ne sont pas affectée puisqu&#8217;elles se trouvent sur le serveur! Par contre, pour l&#8217;utilisateur final, l&#8217;installation est plus complexe puisqu&#8217;il faut installer la base MySQL (sur le poste ou sur le serveur)&#8230;</p>
<p><strong>Quelle solution vous parait le mieux? J&#8217;ai ma petite idée mais il est toujours bon d&#8217;avoir plusieurs avis!</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.julienpecqueur.com/wordpress/2010/08/sondage-sqlite3-ou-mysql-pour-kfacture/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Kfacture, la relève de Kinvoice est assurée!</title>
		<link>http://www.julienpecqueur.com/wordpress/2010/07/kfacture-la-releve-de-kinvoice-est-assuree/</link>
		<comments>http://www.julienpecqueur.com/wordpress/2010/07/kfacture-la-releve-de-kinvoice-est-assuree/#comments</comments>
		<pubDate>Thu, 29 Jul 2010 21:17:26 +0000</pubDate>
		<dc:creator>Julien</dc:creator>
				<category><![CDATA[Archlinux]]></category>
		<category><![CDATA[C / C++]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Kinvoice]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Qfacture]]></category>

		<guid isPermaLink="false">http://www.julienpecqueur.com/wordpress/?p=704</guid>
		<description><![CDATA[J&#8217;ai récemment contribué à Kinvoice&#8230; C&#8217;est un très bon logiciel de facturation KISS. Cependant, pour le passer sous Qt4 et utiliser un système de stockage plus performant (sqlite3 ou connexion à une base MySQL &#8211; je n&#8217;ai pas encore décidé) il y &#8230; <a href="http://www.julienpecqueur.com/wordpress/2010/07/kfacture-la-releve-de-kinvoice-est-assuree/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>J&#8217;ai récemment contribué à Kinvoice&#8230; C&#8217;est un très bon logiciel de facturation KISS.</p>
<p>Cependant, pour le passer sous Qt4 et utiliser un système de stockage plus performant (sqlite3 ou connexion à une base MySQL &#8211; je n&#8217;ai pas encore décidé) il y a énormément de boulot! Comme le code est un peu crade j&#8217;ai préféré partir sur des bases saines et réécrire complément une nouvelle application : Kfacture.</p>
<p>Je vais garder la même philosophie que Kinvoice : faire uniquement des factures mais le faire bien &#8211; on est proche de la philosophie UNIX <img src='http://www.julienpecqueur.com/wordpress/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  &#8211; mais en repensant certaines fonctionnalités.</p>
<p>C&#8217;est un boulot qui va me prendre quelques semaines (d&#8217;autant plus que les 2 prochaines semaines je ne pourrai pas travailler dessus pour des raisons professionnelles) mais je ferai ici des compte-rendus d&#8217;avancement!</p>
<p>À bientôt!</p>
<p>PS: l&#8217;onglet &#8220;entreprise&#8221; contenant les informations administratives de l&#8217;utilisateur est réalisé :p</p>
]]></content:encoded>
			<wfw:commentRss>http://www.julienpecqueur.com/wordpress/2010/07/kfacture-la-releve-de-kinvoice-est-assuree/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Kinvoice 0.3 is out !</title>
		<link>http://www.julienpecqueur.com/wordpress/2010/07/kinvoice-0-3-is-out/</link>
		<comments>http://www.julienpecqueur.com/wordpress/2010/07/kinvoice-0-3-is-out/#comments</comments>
		<pubDate>Tue, 27 Jul 2010 20:52:46 +0000</pubDate>
		<dc:creator>Julien</dc:creator>
				<category><![CDATA[Archlinux]]></category>
		<category><![CDATA[C / C++]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Kinvoice]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://www.julienpecqueur.com/wordpress/?p=691</guid>
		<description><![CDATA[Comme promis, je release la version 0.3 de Kinvoice pour les Auto-Entrepreneurs! Pour la télécharger : kinvoice_AE-0.3.tar.gz. Les ajouts par rapport à la version 0.2 de Daniel (http://tootai.net) : Ajout d&#8217;un onglet Reporting qui permet de calculer le chiffre d&#8217;affaires &#8230; <a href="http://www.julienpecqueur.com/wordpress/2010/07/kinvoice-0-3-is-out/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><strong>Comme promis, je release la version 0.3 de Kinvoice pour les Auto-Entrepreneurs!</strong></p>
<p><a href="http://www.julienpecqueur.com/wordpress/wp-content/uploads/2010/07/k.png"><img class="aligncenter size-full wp-image-692" title="Kinvoice 0.3 Auto-Entrepreneurs" src="http://www.julienpecqueur.com/wordpress/wp-content/uploads/2010/07/k.png" alt="Kinvoice 0.3 Auto-Entrepreneurs" /></a></p>
<p>Pour la télécharger : <a href="http://julienpecqueur.com/pkgs/kinvoice_AE-0.3.tar.gz">kinvoice_AE-0.3.tar.gz</a>.</p>
<p>Les ajouts par rapport à la version 0.2 de Daniel (<a title="Tootai.net" href="http://tootai.net" target="_blank">http://tootai.net</a>) :</p>
<ul>
<li>Ajout d&#8217;un onglet Reporting qui permet de calculer le chiffre d&#8217;affaires mensuel (pratique pour faire sa déclaration),</li>
<li>Le code est passé en UTF-8 (possibilité de faire traduire l&#8217;application dans d&#8217;autres langues),</li>
<li>Petites modifications visant à améliorer l&#8217;ergonomie (alimentation des champs Quantité à 1 par défaut, nom de la facture imprimée alimenté, etc.),</li>
<li>Mise à jour du template de la facture/devis (alignement, polices uniformisées, suppression des arrondis sur les cadres).</li>
</ul>
<p><strong>Le futur?</strong></p>
<p>Pour la prochaine version, je vais la recoder entièrement en utilisant Qt4 pour que les utilisateurs de Mac OSX puisse l&#8217;utiliser. Je pense aussi changer le mode de stockage des données (sqlite?) car le format actuel binaire ne me plait pas trop&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.julienpecqueur.com/wordpress/2010/07/kinvoice-0-3-is-out/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kinvoice &#8211; implémentation reporting</title>
		<link>http://www.julienpecqueur.com/wordpress/2010/07/kinvoice-implementation-reporting/</link>
		<comments>http://www.julienpecqueur.com/wordpress/2010/07/kinvoice-implementation-reporting/#comments</comments>
		<pubDate>Mon, 26 Jul 2010 10:07:39 +0000</pubDate>
		<dc:creator>Julien</dc:creator>
				<category><![CDATA[Archlinux]]></category>
		<category><![CDATA[C / C++]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Kinvoice]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Projets]]></category>

		<guid isPermaLink="false">http://www.julienpecqueur.com/wordpress/?p=674</guid>
		<description><![CDATA[Comme annoncé précédemment, j&#8217;ai implémenté un onglet reporting dans Kinvoice. Les Auto-Entrepreneurs sont tenus de déclarer leur Chiffre d&#8217;Affaires mensuellement ou trimestriellement selon le mode d&#8217;imposition choisit. C&#8217;est pourquoi j&#8217;ai implémenté un reporting mensuel. Il suffit de saisir l&#8217;année de calcul &#8230; <a href="http://www.julienpecqueur.com/wordpress/2010/07/kinvoice-implementation-reporting/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-675" title="Kinvoice - Reporting" src="http://www.julienpecqueur.com/wordpress/wp-content/uploads/2010/07/kinvoice_reporting_small.png" alt="Kinvoice - Reporting" /></p>
<p>Comme annoncé précédemment, j&#8217;ai implémenté un onglet reporting dans Kinvoice.</p>
<p>Les Auto-Entrepreneurs sont tenus de déclarer leur Chiffre d&#8217;Affaires mensuellement ou trimestriellement selon le mode d&#8217;imposition choisit. C&#8217;est pourquoi j&#8217;ai implémenté un reporting mensuel.</p>
<p>Il suffit de saisir l&#8217;année de calcul dans la box en haut à droite (par défaut elle est alimentée avec l&#8217;année en cours) pour que le tableau soit alimenté avec les cumuls mensuels HT et TTC (pour les AE, HT = TTC).</p>
<p><a href="http://www.julienpecqueur.com/wordpress/wp-content/uploads/2010/07/kinvoice_reporting.png"><img class="aligncenter size-full wp-image-675" title="Kinvoice - Reporting" src="http://www.julienpecqueur.com/wordpress/wp-content/uploads/2010/07/kinvoice_reporting_small.png" alt="Kinvoice - Reporting" /></a>En cas d&#8217;erreur de saisie, un message d&#8217;avertissement est affiché et la box est alimentée avec l&#8217;année en cours.</p>
<p><a href="http://www.julienpecqueur.com/wordpress/wp-content/uploads/2010/07/kinvoice_erreur.png"><img class="aligncenter size-full wp-image-678" title="Kinvoice - Erreur" src="http://www.julienpecqueur.com/wordpress/wp-content/uploads/2010/07/kinvoice_erreur_small.png" alt="Kinvoice - Erreur" /></a><strong>Il me reste à nettoyer tout le code et les formulaires puis je releaserai la version 0.3 de Kinvoice!</strong></p>
<p>~ Stay tuned for next episode&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.julienpecqueur.com/wordpress/2010/07/kinvoice-implementation-reporting/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kinvoice, la facturation simple&#8230;</title>
		<link>http://www.julienpecqueur.com/wordpress/2010/07/kinvoice-la-facturation-simple/</link>
		<comments>http://www.julienpecqueur.com/wordpress/2010/07/kinvoice-la-facturation-simple/#comments</comments>
		<pubDate>Sat, 24 Jul 2010 13:02:32 +0000</pubDate>
		<dc:creator>Julien</dc:creator>
				<category><![CDATA[Archlinux]]></category>
		<category><![CDATA[C / C++]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Kinvoice]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Projets]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.julienpecqueur.com/wordpress/?p=660</guid>
		<description><![CDATA[Aujourd&#8217;hui il y a de plus en plus d&#8217;auto-entrepreneurs&#8230; Lorsque l&#8217;on est auto-entrepreneur (AE), on a l&#8217;obligation de faire des devis et des factures. Certaines sociétés ont donc créé des logiciels de facturation propriétaires destinés aux AE mais le prix &#8230; <a href="http://www.julienpecqueur.com/wordpress/2010/07/kinvoice-la-facturation-simple/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div id="attachment_663" class="wp-caption aligncenter" style="width: 490px"><img class="size-full wp-image-663" title="Kinvoice-0.3" src="http://www.julienpecqueur.com/wordpress/wp-content/uploads/2010/07/kinvoice-0.3_small.png" alt="Kinvoice-0.3 : Création d'une facture" width="480" height="360" /><p class="wp-caption-text">Kinvoice-0.3</p></div>
<p>Aujourd&#8217;hui il y a de plus en plus d&#8217;auto-entrepreneurs&#8230;</p>
<p>Lorsque l&#8217;on est auto-entrepreneur (AE), on a l&#8217;obligation de faire des devis et des factures. Certaines sociétés ont donc créé des logiciels de facturation propriétaires destinés aux AE mais le prix de ces logiciels est exorbitant!</p>
<p>Je recherchais un logiciel simple et permettant de faire des factures très rapidement (gestion des produits/prestations, gestion des clients). Après avoir essayer plusieurs logiciels OpenSource : <a title="http://www.laurux.fr/" href="http://www.laurux.fr/" target="_blank">Laurux</a>, <a title="http://www.dolibarr.fr/" href="http://www.dolibarr.fr/" target="_blank">Dolibarr</a>, etc. je me suis rendu compte qu&#8217;ils étaient très puissants mais trop lourd à utiliser pour de la simple facturation.</p>
<p>Je suis tombé par hasard sur un petit logiciel répondant complètement à mes attentes : <a title="http://www.hexysoft.fr/kinvoice/" href="http://www.hexysoft.fr/kinvoice/" target="_blank">Kinvoice</a>!</p>
<p>C&#8217;est un logiciel codé en C++/Qt3 qui stocke ses données dans un fichier au format binaire. Pour les sauvegardes rien de plus simple : il suffit de copier le fichier de travail sur un disque externe ou sur un emplacement réseau.</p>
<p>En approfondissant mes recherches, j&#8217;ai trouvé une version modifiée pour les Auto-entrepreneurs (TVA = 0% + mentions légales sur la facture) ici : <a title="http://www.tootai.net/downloads/kinvoice.tar.gz" rel="nofollow" href="http://www.tootai.net/downloads/kinvoice.tar.gz" target="_blank">http://www.tootai.net</a>.</p>
<p>Le point fort des logiciels OpenSource c&#8217;est l&#8217;adaptabilité. J&#8217;ai commencé à modifier la version 0.2 de Kinvoice pour qu&#8217;il réponde à mes attentes :</p>
<ul>
<li>Alimentation par défaut du champ Quantité à 1 lors de la création de la facture,</li>
<li>Alimentation du titre du document avec le type de document et le numéro lors de l&#8217;impression pour que Cups me nomme mes Pdfs sous la forme &#8220;FACTURE_201007221.pdf&#8221; par exemple,</li>
<li>Correction de fautes d&#8217;orthographe.</li>
</ul>
<p>Il me reste encore une chose à faire : la création d&#8217;une page de reporting mensuelle (pour déclarer ses revenus).</p>
<p>Quelques shots (cliquez sur l&#8217;image pour l&#8217;agrandir) :</p>
<div id="attachment_663" class="wp-caption aligncenter" style="width: 490px"><a href="http://www.julienpecqueur.com/wordpress/wp-content/uploads/2010/07/kinvoice-0.3.png"><img class="size-full wp-image-663" title="Kinvoice-0.3" src="http://www.julienpecqueur.com/wordpress/wp-content/uploads/2010/07/kinvoice-0.3_small.png" alt="Kinvoice-0.3 : Création d'une facture" width="480" height="360" /></a><p class="wp-caption-text">Kinvoice-0.3 : Création d&#39;une facture</p></div>
<p><a href="http://www.julienpecqueur.com/wordpress/wp-content/uploads/2010/07/facture.png"><img class="aligncenter size-full wp-image-665" title="Facture (PDF)" src="http://www.julienpecqueur.com/wordpress/wp-content/uploads/2010/07/facture_small.png" alt="Facture (PDF)" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.julienpecqueur.com/wordpress/2010/07/kinvoice-la-facturation-simple/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Avoir un sys-tray dans DWM !</title>
		<link>http://www.julienpecqueur.com/wordpress/2010/01/avoir-un-sys-tray-dans-dwm/</link>
		<comments>http://www.julienpecqueur.com/wordpress/2010/01/avoir-un-sys-tray-dans-dwm/#comments</comments>
		<pubDate>Mon, 04 Jan 2010 20:27:08 +0000</pubDate>
		<dc:creator>Julien</dc:creator>
				<category><![CDATA[Archlinux]]></category>
		<category><![CDATA[C / C++]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[DWM]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[MSI Wind U100 & U100x]]></category>
		<category><![CDATA[Shuttle X27D]]></category>

		<guid isPermaLink="false">http://www.julienpecqueur.com/wordpress/?p=568</guid>
		<description><![CDATA[J&#8217;ai enfin trouvé une solution pour avoir un sys-tray (la zone qui contient toutes les icônes des applications en arrière plan dans la statusbar)! Suite à la discussion que j&#8217;ai lancé hier sur la mailing list de suckless, j&#8217;ai essayé plein de &#8230; <a href="http://www.julienpecqueur.com/wordpress/2010/01/avoir-un-sys-tray-dans-dwm/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>J&#8217;ai enfin trouvé une solution pour avoir un sys-tray (la zone qui contient toutes les icônes des applications en arrière plan dans la statusbar)!</p>
<div id="attachment_570" class="wp-caption aligncenter" style="width: 440px"><a href="http://www.julienpecqueur.com/wordpress/wp-content/uploads/2010/01/scrot_2010-01-04_20-40_1024x600.png"><img class="size-full wp-image-570" title="fbpanel-dwm dans DWM :)" src="http://www.julienpecqueur.com/wordpress/wp-content/uploads/2010/01/scrot_2010-01-04_20-40_1024x600_small.png" alt="fbpanel-dwm dans DWM :)" width="430" height="213" /></a><p class="wp-caption-text">fbpanel-dwm dans DWM <img src='http://www.julienpecqueur.com/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p></div>
<p>Suite à la discussion que j&#8217;ai lancé hier sur la mailing list de suckless, j&#8217;ai essayé plein de solutions sans succès jusqu&#8217;à ce que Anders envoie sa propre solution que je vais vous présenter ici.</p>
<h2><span style="color: #ff0000;">Installer fbpanel-dwm (ancienne méthode &#8211; obsolète)</span></h2>
<p>Anders m&#8217;a expliqué comment modifier fbpanel pour l&#8217;adapter à notre utilisation. J&#8217;ai donc créé ma propre version de fbpanel nommée fbpanel-dwm qui est disponible ici : <a title="http://depot.julienpecqueur.com/fbpanel-dwm.tar.gz" href="http://depot.julienpecqueur.com/fbpanel-dwm.tar.gz" target="_blank">archive tar.gz</a>.</p>
<p>Si vous avez déjà une version de fbpanel installée, il faut la désinstaller avant!</p>
<p>Décompressez l&#8217;archive et installez fbpanel-dwm suivant la méthode classique :</p>
<pre>cd fbpanel-dwm
./configure
sudo make install</pre>
<p>Ensuite, créez le répertoire .fbpanel dans votre répertoire utilisateur :</p>
<pre>mkdir ~/.fbpanel</pre>
<p>Et copiez ce fichier dedans :</p>
<p><a title="http://depot.julienpecqueur.com/default" href="http://depot.julienpecqueur.com/default" target="_blank">Fichier de configuration de fbpanel-dwm</a>.</p>
<h2><span style="color: #008000;">Installer fbpanel-dwm (nouvelle méthode!)</span></h2>
<p>J&#8217;ai créé un PKGBUILD dans AUR pour fbpanel-dwm. Il suffit de l&#8217;installer avec yaourt :</p>
<pre>yaourt -S fbpanel-dwm</pre>
<p>Puis pour le configurer, on peut utiliser l&#8217;interface graphique :</p>
<pre>fbpanel -C</pre>
<p>Et ainsi supprimer tous les plugins inutiles et configurer la position sur l&#8217;écran, la couleur, etc&#8230;</p>
<div id="attachment_633" class="wp-caption aligncenter" style="width: 410px"><a href="http://www.julienpecqueur.com/wordpress/wp-content/uploads/2010/01/fbpanel2.png"><img class="size-full wp-image-633" title="fbpanel -C" src="http://www.julienpecqueur.com/wordpress/wp-content/uploads/2010/01/fbpanel2.png" alt="fbpanel -C" width="400" height="549" /></a><p class="wp-caption-text">fbpanel -C</p></div>
<p>Sur cet onglet, il faut setter les paramètres de position, taille et couleur.</p>
<div id="attachment_634" class="wp-caption aligncenter" style="width: 410px"><a href="http://www.julienpecqueur.com/wordpress/wp-content/uploads/2010/01/fbpanel.png"><img class="size-full wp-image-634" title="fbpanel -C (suite)" src="http://www.julienpecqueur.com/wordpress/wp-content/uploads/2010/01/fbpanel.png" alt="fbpanel -C (suite)" width="400" height="549" /></a><p class="wp-caption-text">fbpanel -C (suite)</p></div>
<p>Sur cet onglet on garde uniquement les plugins utiles pour un systray (Menu n&#8217;est pas essentiel mais peut être utile&#8230;).</p>
<h2>Modification du fichier ~/.xinitrc</h2>
<p>﻿﻿Vous pouvez télécharger mon fichier <a title="http://depot.julienpecqueur.com/.xinitrc" href="http://depot.julienpecqueur.com/.xinitrc" target="_blank">.xinitrc</a> ou alors modifier le votre de cette façon (lancement de fbpanel-dwm en vert et les clients du tray en rouge) :</p>
<pre>while true
do
xsetroot -name "`date +'%d/%m/%Y %k:%M'`"
sleep 1
done &amp;
xcompmgr -c -C &amp;
conky &amp;
<span style="color: #008000;">sleep 5 &amp;&amp; fbpanel &amp;
<span style="color: #ff0000;">gmixer -d &amp;
batterymon &amp;
wicd-client &amp;
sonata --hidden &amp;</span></span>
feh --bg-scale ~/.background.png &amp;
exec ck-launch-session /usr/local/bin/dwm</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.julienpecqueur.com/wordpress/2010/01/avoir-un-sys-tray-dans-dwm/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Surf : Implémentation marque-pages</title>
		<link>http://www.julienpecqueur.com/wordpress/2009/10/surf-implementation-marque-pages/</link>
		<comments>http://www.julienpecqueur.com/wordpress/2009/10/surf-implementation-marque-pages/#comments</comments>
		<pubDate>Tue, 06 Oct 2009 19:52:23 +0000</pubDate>
		<dc:creator>Julien</dc:creator>
				<category><![CDATA[Archlinux]]></category>
		<category><![CDATA[C / C++]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[DWM]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[surf]]></category>

		<guid isPermaLink="false">http://www.julienpecqueur.com/wordpress/?p=433</guid>
		<description><![CDATA[J&#8217;ai enfin pris le temps de terminer l&#8217;implémentation de la gestion des marque-pages dans Surf (le navigateur internet de suckless.org)! Le résultat, deux raccourcis pour vous simplifier la vie : CTRL + B pour afficher la liste des marque-pages, CTRL &#8230; <a href="http://www.julienpecqueur.com/wordpress/2009/10/surf-implementation-marque-pages/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>J&#8217;ai enfin pris le temps de terminer l&#8217;implémentation de la gestion des marque-pages dans Surf (le navigateur internet de <a title="SuckLess.org" href="http://suckless.org" target="_blank">suckless.org</a>)! Le résultat, deux raccourcis pour vous simplifier la vie :</p>
<ul>
<li>CTRL + B pour afficher la liste des marque-pages,</li>
<li>CTRL + A pour ajouter la page courante aux marque-pages.</li>
</ul>
<p>Pour que vous puissiez profiter de cette fonctionnalité, il faut que vous ayez dmenu (<a title="suckless" href="http://suckless.org" target="_blank">suckless.org</a>) installé sur votre machine.</p>
<p>Ensuite vous pouvez télécharger ma version modifiée de surf sur mon dépôt HG :</p>
<pre>$ hg clone http://server.julienpecqueur.com/code/surf/</pre>
<p>Cette commande va vous créer un répertoire nommé &#8220;surf&#8221; et vous copier mon dépôt à l&#8217;intérieur. Si vous rencontrez un problème avec l&#8217;url (j&#8217;ai un petit soucis de redirection avec mon dns) laissez moi un message ici.</p>
<p>Déplacez vous dans le répertoire &#8220;surf&#8221; et lancez un make :</p>
<pre>$ make</pre>
<p>Si vous n&#8217;avez pas d&#8217;erreurs, vous pouvez installer la bête :</p>
<pre>$ sudo make install</pre>
<p>Ou si vous vous prenez pour superman (&#8220;saymal !&#8221;) :</p>
<pre># make install</pre>
<p>Initialisez la liste des marques pages :</p>
<pre>$ touch ~/.surf/bookmarks</pre>
<p>Enfin vous pouvez lancer surf en tapant :</p>
<pre>$ surf -u http://julienpecqueur.com</pre>
<p>Une fois la page chargée, vous pouvez l&#8217;ajouter aux marque-pages en appuyant sur <strong>CTRL + a</strong>.</p>
<p>Si vous voulez plus d&#8217;aide sur surf :</p>
<pre>surf -h</pre>
<pre>man surf</pre>
<p>PS: Merci Tuxce pour le segfault <img src='http://www.julienpecqueur.com/wordpress/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.julienpecqueur.com/wordpress/2009/10/surf-implementation-marque-pages/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Patch for Surf released : surf_bookmarks_v0.1</title>
		<link>http://www.julienpecqueur.com/wordpress/2009/08/patch-for-surf-released-surf_bookmarks_v0-1/</link>
		<comments>http://www.julienpecqueur.com/wordpress/2009/08/patch-for-surf-released-surf_bookmarks_v0-1/#comments</comments>
		<pubDate>Wed, 26 Aug 2009 20:26:56 +0000</pubDate>
		<dc:creator>Julien</dc:creator>
				<category><![CDATA[Archlinux]]></category>
		<category><![CDATA[C / C++]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[surf]]></category>

		<guid isPermaLink="false">http://www.julienpecqueur.com/wordpress/?p=408</guid>
		<description><![CDATA[Suite aux différents scripts que j&#8217;ai réalisé pour surf ces derniers temps, je me suis dit que ce serait mieux d&#8217;intégrer les améliorations directement dans le code de surf plutôt que par une pléthore de scripts autour&#8230; D&#8217;ou le premier &#8230; <a href="http://www.julienpecqueur.com/wordpress/2009/08/patch-for-surf-released-surf_bookmarks_v0-1/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Suite aux différents scripts que j&#8217;ai réalisé pour surf ces derniers temps, je me suis dit que ce serait mieux d&#8217;intégrer les améliorations directement dans le code de surf plutôt que par une pléthore de scripts autour&#8230;</p>
<p>D&#8217;ou le premier patch <a title="surf_bookmarks_v0.1.patch" href="http://depot.julienpecqueur.com/surf_bookmarks_v0.1.patch" target="_blank">surf_bookmarks_v0.1.patch</a>. Il implémente une fonction loadbookmarks(1) qui va lire le fichier contenant les urls (bookmarks) et affiche la liste dans dmenu. Puis il charge l&#8217;url sélectionnée.</p>
<p>Le raccourci clavier est <strong>Ctrl + m</strong>.</p>
<p>Bon pour l&#8217;instant le code est encore &#8220;ugly&#8221; et il me reste à implémenter l&#8217;ajout des bookmarks via un autre raccourci&#8230;</p>
<pre>diff -r 7786b245532f surf.c
--- a/surf.c    Fri Jun 12 13:41:09 2009 +0100
+++ b/surf.c    Wed Aug 26 21:55:25 2009 +0200
<span style="color: #ff0000;">@@ -15,6 +15,7 @@</span>
#include &lt;stdio.h&gt;
#include &lt;webkit/webkit.h&gt;
#include &lt;glib/gstdio.h&gt;
<span style="color: #008000;">+#include &lt;glib/gfileutils.h&gt;</span></pre>
<pre>#define LENGTH(x) (sizeof x / sizeof x[0])</pre>
<pre><span style="color: #ff0000;">@@ -35,6 +36,8 @@</span>
gboolean ignore_once = FALSE;
extern char *optarg;
extern int optind;
<span style="color: #008000;">+gchar *bookmarks;
+static gchar *DMENU = "/usr/bin/dmenu -fn -*-*-medium-*-*-*-14-*-*-*-*-*-*-*";</span></pre>
<pre>static void cleanup(void);
static void destroyclient(Client *c);
<span style="color: #ff0000;">@@ -51,6 +54,7 @@</span>
static void loadstart(WebKitWebView *view, WebKitWebFrame *f, Client *c);
static void loadfile(Client *c, const gchar *f);
static void loaduri(Client *c, const gchar *uri);
<span style="color: #008000;">+static void loadbookmark(Client *c);</span>
static Client *newclient();
static WebKitWebView *newwindow(WebKitWebView  *v, WebKitWebFrame *f, Client *c);
static void pasteurl(GtkClipboard *clipboard, const gchar *text, gpointer d);
<span style="color: #ff0000;">@@ -214,6 +218,9 @@</span>
case GDK_g:
showurl(c);
return TRUE;
<span style="color: #008000;">+        case GDK_m:
+                loadbookmark(c);
+            return TRUE;</span>
case GDK_slash:
showsearch(c);
return TRUE;
<span style="color: #ff0000;">@@ -320,6 +327,40 @@</span>
g_free(u);
}</pre>
<pre><span style="color: #008000;">+void
+loadbookmark(Client *c) {
+  gchar *bookmarks_list, *dmenu_out, *title, *command;
+  if (g_file_test(bookmarks, G_FILE_TEST_IS_REGULAR))
+    {
+      /* Read bookmarks file */
+      title = g_strdup("Loading bookmarks...");
+      updatetitle(c, title);
+      if (g_file_get_contents(bookmarks, &amp;bookmarks_list, NULL, NULL))
+    {
+      /* Call dmenu */
+      command = g_strconcat("/bin/sh -c 'cat ", bookmarks, " | ", DMENU, "'", NULL);
+      if(g_spawn_command_line_sync(command, &amp;dmenu_out, NULL, NULL, NULL))
+        {
+          loaduri(c, dmenu_out);
+        }
+      else
+        {
+          printf("Error: please check if dmenu is correctly installed.");
+          return;
+        }
+    }
+    }
+  else
+    {
+      printf("I can't find the bookmarks file: %s\n", bookmarks);
+      return;
+    }
+  g_free(bookmarks_list);
+  g_free(dmenu_out);
+  g_free(command);
+  g_free(title);
+}
+</span>
Client *
newclient(void) {
Client *c;
<span style="color: #ff0000;">@@ -550,6 +591,10 @@</span>
filename = g_build_filename(home, ".surf", "cookies", NULL);
cookiejar = soup_cookie_jar_text_new(filename, FALSE);
soup_session_add_feature(s, SOUP_SESSION_FEATURE(cookiejar));
<span style="color: #008000;">+
+    /* bookmarks file */
+    bookmarks = g_build_filename(home, ".surf", "bookmarks", NULL);
+</span></pre>
<pre>gtk_main();
cleanup();</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.julienpecqueur.com/wordpress/2009/08/patch-for-surf-released-surf_bookmarks_v0-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
