<?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>JeBulle.Net &#187; Développement</title>
	<atom:link href="http://jebulle.net/category/developpement-php/feed" rel="self" type="application/rss+xml" />
	<link>http://jebulle.net</link>
	<description>Bullons ensemble</description>
	<lastBuildDate>Tue, 18 Oct 2011 18:46:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<meta name="generator" content="WordPress" />
		<item>
		<title>Qu&#8217;est-ce que REST ?</title>
		<link>http://jebulle.net/quest-ce-que-rest</link>
		<comments>http://jebulle.net/quest-ce-que-rest#comments</comments>
		<pubDate>Wed, 15 Jun 2011 12:04:42 +0000</pubDate>
		<dc:creator>SamRay1024</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[Lectures]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[REST]]></category>

		<guid isPermaLink="false">http://jebulle.net/?p=542</guid>
		<description><![CDATA[→ À lire sur le blog de Gerald Pourquoi ce lien ? Parce que ce premier article d&#8217;une série de 3, dont deux à paraître prochainement, expose enfin de façon claire et concise ce qu&#8217;est l&#8217;architecture REST. En espérant que la suite nous emmène vers un cas pratique !]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.croes.org/gerald/blog/qu-est-ce-que-rest/447/">→ À lire sur le blog de Gerald</a></p>
<p><span id="more-542"></span>Pourquoi ce lien ? Parce que ce premier article d&#8217;une série de 3, dont deux à paraître prochainement, expose enfin de façon claire et concise ce qu&#8217;est l&#8217;architecture REST. En espérant que la suite nous emmène vers un cas pratique !</p>
]]></content:encoded>
			<wfw:commentRss>http://jebulle.net/quest-ce-que-rest/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ba4ever.com</title>
		<link>http://jebulle.net/ba4ever-com</link>
		<comments>http://jebulle.net/ba4ever-com#comments</comments>
		<pubDate>Tue, 18 Jan 2011 21:27:51 +0000</pubDate>
		<dc:creator>SamRay1024</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[Vidéos]]></category>
		<category><![CDATA[ba4ever]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[HTML5]]></category>

		<guid isPermaLink="false">http://jebulle.net/?p=523</guid>
		<description><![CDATA[Envie de bandes annonces ? Le site http://ba4ever.com est pour vous !]]></description>
			<content:encoded><![CDATA[<p>Pour entamer cette nouvelle année 2011, je vous présente mon dernier projet : <a title="rien que des bandes annonces" href="http://ba4ever.com">ba4ever.com</a> ! <strong>Une visionneuse de bandes annonces</strong>.</p>
<p>Il y a de cela une bonne dizaine d&#8217;années, je découvrais le Web. À l&#8217;époque, l&#8217;espace disque coutaît horriblement cher et la réalisation de ce genre de site n&#8217;était pas à la porté du premier venu. Cette dernière décennie aura vu pas mal d&#8217;avancées technologiques assez incroyables ; dont les sites de partages tels <a title="YouTube" href="http://youtube.com">YouTube</a>, <a title="DailyMotion" href="http://dailymotion.fr">DailyMotion</a> et j&#8217;en passe. Du coup, plus besoin de disposer d&#8217;un hébergement à rallonge pour mettre des vidéos sur un site, les grands ténors sont là pour ça ! C&#8217;est ainsi qu&#8217;il y a 2/3 mois, j&#8217;ai décidé de monter le site désormais à la disposition de tous.</p>
<p>Mes objectifs sont les suivants :</p>
<ul>
<li>proposer un<strong> accès direct et ergonomique</strong> à la matière première que sont les <strong>bandes annonces</strong> et ainsi les mettre en valeur,</li>
<li>utiliser les <strong>dernières technologies Web</strong> et ne pas restreindre l&#8217;interface à cause des navigateurs trop anciens (suivez mon regard&#8230; <img src='http://jebulle.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> ),</li>
<li>et enfin, c&#8217;est aussi le défi de lancer un nouveau projet et de le porter aussi loin que possible.</li>
</ul>
<p>En bon geek (on ne se refait pas&#8230;), je ne vous cache pas que j&#8217;avais aussi envie de me faire plaisir avec <strong>HTML5</strong> et <strong>CSS3</strong> ! Et de ce côté là, je suis servi <img src='http://jebulle.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> .</p>
<p>J&#8217;espère avant tout que le site trouvera son public ! N&#8217;hésitez pas à en parler autour de vous : <a title="Visitez ba4ever.com" href="http://ba4ever.com">http://ba4ever.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jebulle.net/ba4ever-com/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPhone dév. web : astuces HTML et CSS</title>
		<link>http://jebulle.net/iphone-dev-web-astuces-html-et-css</link>
		<comments>http://jebulle.net/iphone-dev-web-astuces-html-et-css#comments</comments>
		<pubDate>Mon, 08 Nov 2010 15:09:27 +0000</pubDate>
		<dc:creator>SamRay1024</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://jebulle.net/?p=502</guid>
		<description><![CDATA[Quelques astuces à connaître pour réaliser une interface web pour iPhone.]]></description>
			<content:encoded><![CDATA[<p>En ce moment, je suis sur du développement web dédié aux <strong>iPhone</strong>. C&#8217;est plutôt sympathique et tellement plus simple de n&#8217;avoir à gérer qu&#8217;un seul navigateur ! Qui plus est, <strong>Safari </strong>est truffé de petites améliorations qui permettent de rendre une interface web agréable à utiliser.</p>
<p>Je profite donc de ce billet pour vous livrer pêle-mêle une petite série de trucs et astuces qui je l&#8217;espère <del>vous rendront la vie plus belle</del> vous seront utiles.<br />
<span id="more-502"></span></p>
<h3>Empêcher la mise à l&#8217;échelle automatique du texte</h3>
<p>Lorsque vous basculez votre précieux entre les modes <strong>portraits </strong>et <strong>paysage</strong>, les textes changent de taille. C&#8217;est un comportement automatique de <strong>Safari </strong>qui m&#8217;a prodigieusement énervé ne sachant comment le contourner. Pour l&#8217;empêcher, ajouter l&#8217;attribut <strong>CSS</strong> suivant à votre sélecteur du <strong>body </strong>:</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">body <span style="color: #00AA00;">&#123;</span>
	-webkit-text-size-adjust<span style="color: #00AA00;">:</span> <span style="color: #993333;">none</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></div></div>

<h3>Masquer la barre d&#8217;adresse automatiquement</h3>
<p>Pour ce faire, il est nécessaire d&#8217;exécuter un peu de javascript.</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&nbsp;</pre></div></div>

<p><strong>Attention !</strong> Ce comportement <strong>ne fonctionne pas pour les pages dont la hauteur est inférieure à la zone client</strong>. Logique, il n&#8217;y a pas de hauteur suffisante pour appliquer un défilement. <strong> Solution :</strong> appliquer un <strong>min-height</strong> à <strong>416px</strong> = 356px (hauteur de la zone client en mode portrait) + 60px (hauteur de la barre d&#8217;adresse).</p>
<h3>Appliquer une ellipse en fin de texte</h3>
<p>L&#8217;effet de texte qui fait rêver tous les développeurs de sites normaux, l&#8217;<strong>ellipse</strong> de texte qui tronque automatiquement la fin lorsque la longueur dépasse le conteneur et ajoute &#8216;&#8230;&#8217; à la place :</p>

<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">h1 <span style="color: #00AA00;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">overflow</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">hidden</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* Si vous omettez cette définition, l'effet ne fonctionnera pas ! */</span>
	text-<span style="color: #000000; font-weight: bold;">overflow</span><span style="color: #00AA00;">:</span> ellipsis<span style="color: #00AA00;">;</span>
	<span style="color: #000000; font-weight: bold;">white-space</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">nowrap</span><span style="color: #00AA00;">;</span> <span style="color: #808080; font-style: italic;">/* idem overflow */</span>
<span style="color: #00AA00;">&#125;</span></pre></div></div>

<h3>Placer un texte par défaut auto-effaçable dans un champ de saisie</h3>
<p>On voit très souvent ce genre de chose dans les applications natives : un champs de saisie contient un texte gris clair qui s&#8217;efface dès que l&#8217;on active le champ. Sous <strong>Safari</strong>, cette fonctionnalité est disponible sans effort !</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;input name=&quot;mon_champ&quot; type=&quot;text&quot; /&gt;</pre></div></div>

<h3>Désactiver la majuscule automatique des mots</h3>
<p>Lorsque vous tapez avec le clavier sur un <strong>iPhone</strong>, et que l&#8217;option &laquo;&nbsp;<strong>Majuscules auto</strong>.&nbsp;&raquo; est activée dans la configuration générale de votre <strong>iPhone</strong>, pour tout nouveau mot, le clavier active la <strong>majuscule pour la première lettre</strong>. C&#8217;est très pratique dans certains cas, embarrassant dans d&#8217;autres. Il est possible de désactiver ce comportement au cas par cas avec un petit attribut :</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;input name=&quot;mon_champ&quot; type=&quot;text&quot; /&gt;</pre></div></div>

<h3>Désactiver la correction automatique</h3>
<p>Même solution que précédemment avec l&#8217;attribut &laquo;&nbsp;autocorrect&nbsp;&raquo;.</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;input name=&quot;mon_champ&quot; type=&quot;text&quot; /&gt;</pre></div></div>

<h3>Utilisez les types de champs de saisie avancés</h3>
<p>Le <strong>clavier</strong> de l&#8217;<strong>iPhone</strong> peut s&#8217;adapter au contenu à saisir dans un champ. Pour ce faire il suffit de définir le type de champ, autre que &laquo;&nbsp;text&nbsp;&raquo;. La liste des types supportés est la suivante :</p>
<ul>
<li><code>text </code> : active le clavier standard,</li>
<li><code>email</code> : active le clavier dédié au courriels,</li>
<li><code>url</code> : active le clavier adapté aux URL,</li>
<li><code>tel</code> : active le clavier téléphonique,</li>
<li><code>search</code> : le clavier proposera le bouton &laquo;&nbsp;Rechercher&nbsp;&raquo; bleu,</li>
<li><code>pattern="[0-9]*"</code> : en combinant cet attribut à un type &laquo;&nbsp;text&nbsp;&raquo; ou &laquo;&nbsp;number&nbsp;&raquo;, le clavier numérique est activé,</li>
</ul>
<p><em>Plus de détails sur les formulaires HTML5 : http://diveintohtml5.org/forms.html.</em></p>
<h3>Créer un lien vers un numéro de téléphone</h3>
<p>Rien de plus simple :</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;a href=&quot;tel:0123456789&quot;&gt;Appeler&lt;/a&gt;</pre></div></div>

<p>Voilà pour ce billet. Certaines de ces astuces sont des capacités HTML5 et CSS3 et peuvent être appliquées à d&#8217;autres navigateurs, mais ce n&#8217;est pas le sujet ici. Je vous laisse découvrir tout cela !</p>
]]></content:encoded>
			<wfw:commentRss>http://jebulle.net/iphone-dev-web-astuces-html-et-css/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTML5, images, border-radius et rognage</title>
		<link>http://jebulle.net/html5-images-border-radius-et-rognage</link>
		<comments>http://jebulle.net/html5-images-border-radius-et-rognage#comments</comments>
		<pubDate>Wed, 08 Sep 2010 12:22:54 +0000</pubDate>
		<dc:creator>SamRay1024</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[sémantique]]></category>

		<guid isPermaLink="false">http://jebulle.net/?p=479</guid>
		<description><![CDATA[Le nouveau couple HTML5 / CSS3 apporte, au moins sur le papier, bon nombre de nouveautés attendues par les développeurs. Malheureusement, tout n'est pas rose : voyons le cas des bordures arrondies appliquées aux images.]]></description>
			<content:encoded><![CDATA[<p>Je suis en train de me familiariser avec <strong>HTML5 </strong>et <strong>CSS3</strong>. C&#8217;est assez plaisant, et permet d&#8217;atteindre les résultats de présentations recherchés en un rien de temps, comparativement aux efforts que l&#8217;on doit fournir dans certains cas en CSS2. La sémantique est plus poussée, plus appropriée ; cela demande une adaptation pour bien saisir le sens de chacune des nouvelles balises, mais au final, la structure logique obtenue est plutôt sympathique !</p>
<p>Passé les plaisirs de la découverte, quand on commence à approfondir, on s&#8217;aperçoit vite de certaines limites et du chemin encore long à parcourir avant une adoption uniforme et cohérente des nouvelles normes par les navigateurs&#8230; et, bien entendu, par la pénétration des dernières versions des butineurs chez le plus grand nombre.</p>
<p><span id="more-479"></span></p>
<p>Le problème que j&#8217;évoque ici concerne la propriété <strong>border-radius</strong> appliquée à une balise <strong>&lt;img /&gt;</strong>. Je développais sous Chrome (donc via le moteur de rendu Webkit &#8211; résultats identiques avec Safari) et tout se passait bien. En allant voir ce qui se passait sous Firefox, j&#8217;ai eu la surprise de découvrir que la bordure arrondie ne s&#8217;appliquait pas aux images.</p>
<p>J&#8217;ai le code suivant :</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;figure&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">a</span> <span style="color: #000066;">title</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;...&quot;</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;...&quot;</span>&gt;</span>
		<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">img</span> <span style="color: #000066;">title</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;...&quot;</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;...&quot;</span> <span style="color: #000066;">alt</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;...&quot;</span> <span style="color: #66cc66;">/</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">a</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span>figure&gt;</span></pre></td></tr></table></div>

<p>Si l&#8217;on applique une <strong>bordure arrondie</strong> à la <strong>figure</strong>, aucun problème ; que l&#8217;on soit avec<strong> Webkit</strong> ou <strong>Gecko</strong>, le rendu est le même. En revanche, sous <strong>Gecko</strong>, la <strong>bordure arrondie appliquée à l&#8217;image ne fonctionne pas</strong>. Du coup les images restent rectangulaires. C&#8217;est un problème connu&#8230; qui aura peut être son correctif dans Firefox 4.</p>
<p>Il y a bien une solution simple à mettre en oeuvre : ne pas mettre de balise <strong>img</strong> et utiliser l&#8217;image en tant qu&#8217;image de fond du lien de la figure via la directive <strong>background-image</strong> de CSS.</p>
<p>L&#8217;inconvénient ? Si votre figure est un élément décoratif de votre charte graphique, aucun problème tout est fait depuis la feuille de styles. Mais si votre figure est un élément de donnée (provenant de la base de données par exemple), que vous ne connaissez pas à l&#8217;avance, il devient nécessaire d&#8217;ajouter l&#8217;attribut <strong>style</strong> à votre lien dynamiquement construit dans votre boucle de génération du code HTML. Vous perdez alors un peu de sémantique puisque l&#8217;image n&#8217;est plus reconnu en tant que contenu propre mais en tant que simple élément décoratif. Je modère la perte avec &laquo;&nbsp;un peu&nbsp;&raquo; car grâce à <strong>HTML5</strong>, la balise <strong>figure</strong> est toujours là et représente toujours une image. Avant <strong>HTML5</strong>, cela aurait été une simple <strong>division</strong>, sans aucune sémantique. Tout n&#8217;est pas perdu <img src='http://jebulle.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> .</p>
]]></content:encoded>
			<wfw:commentRss>http://jebulle.net/html5-images-border-radius-et-rognage/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Un logiciel pour Albulle</title>
		<link>http://jebulle.net/un-logiciel-pour-albulle</link>
		<comments>http://jebulle.net/un-logiciel-pour-albulle#comments</comments>
		<pubDate>Tue, 15 Jun 2010 21:48:00 +0000</pubDate>
		<dc:creator>SamRay1024</dc:creator>
				<category><![CDATA[Albulle]]></category>

		<guid isPermaLink="false">http://jebulle.net/?p=474</guid>
		<description><![CDATA[Un outil qui, j'espère, saura se rendre indispensable pour tout utilisateur d'Albulle !]]></description>
			<content:encoded><![CDATA[<p>Voir un projet fonctionner et être utilisé est une grande satisfaction. Voir un projet, mené par quelqu&#8217;un d&#8217;autre, venir se greffer directement sur le premier projet, c&#8217;est terriblement gratifiant !</p>
<p>C&#8217;est le cas d&#8217;un nouveau logiciel, qui en est à son balbutiement : <a title="Dépôt d'ImageResizer for Albulle" href="http://imageresizer4albulle.codeplex.com/"><strong>ImageResizer for Albulle</strong></a>. Son auteur m&#8217;a contacté dernièrement pour me faire part de son travail et je dois dire que j&#8217;étais sacrément surpris ! Heureux et surpris. Il y aura très bientôt une belle application qui vous permettra de sélectionner des photos, de choisir un profil de redimensionnement, de choisir un dossier destination et d&#8217;envoyer le tout par <strong>FTP </strong>directement sur votre serveur ! Tout ce que vous faisiez manuellement avec plusieurs outils pourra être fait le plus simplement du monde depuis une seule interface. Le maillon manquant pour que la publication de vos photos soit la plus aisée possible&#8230; Merci ! Qui plus est, l&#8217;application gère automatiquement l&#8217;envoi des photos originales (selon votre configuration, le soft sachant lire ce que vous paramétrez dans <strong>config.php</strong>) et la génération des miniatures ! Comme ça, <a title="Site d'Albulle" href="http://albulle.jebulle.net">Albulle </a>n&#8217;aura plus qu&#8217;à afficher les galeries.</p>
<p>L&#8217;application que j&#8217;ai pu tester fonctionne déjà très bien, à ceci prêt que la copie des photos ne fonctionne pas encore par <strong>FTP</strong>, mais le travail est en cours et cela sera bientôt possible.</p>
<p>Pour ne rien gâcher, le projet est ouvert, disponible sur <a title="Dépôt d'ImageResizer for Albulle" href="http://imageresizer4albulle.codeplex.com/">CodePlex</a>. Il est développé en <strong>C#</strong>, pour la plate-forme <strong>Windows</strong>.</p>
<p>Longue vie à <strong><a title="Dépôt d'ImageResizer for Albulle" href="http://imageresizer4albulle.codeplex.com/"><strong>ImageResizer for  Albulle</strong></a></strong> et un <strong>grand merci</strong> à son auteur d&#8217;investir de son temps pour contribuer à l&#8217;amélioration de l&#8217;expérience utilisateur de cette chère galerie !</p>
<p>Stay tuned, d&#8217;autres infos certainement très bientôt.</p>
<p><em>Note : pour pouvoir utiliser l&#8217;application, vous devrez installer au préalable le <a title="Télécharger le Microsoft Framework .NET" href="http://msdn.microsoft.com/fr-fr/netframework/aa569263.aspx">Microsoft Framework .NET</a>, dans sa version <strong>3.5 au minimum</strong>.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://jebulle.net/un-logiciel-pour-albulle/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Albulle 1.2.1, version de maintenance</title>
		<link>http://jebulle.net/albulle-1-2-1-version-de-maintenance</link>
		<comments>http://jebulle.net/albulle-1-2-1-version-de-maintenance#comments</comments>
		<pubDate>Tue, 25 May 2010 21:11:34 +0000</pubDate>
		<dc:creator>SamRay1024</dc:creator>
				<category><![CDATA[Albulle]]></category>
		<category><![CDATA[Développement]]></category>

		<guid isPermaLink="false">http://jebulle.net/?p=468</guid>
		<description><![CDATA[Quelques corrections de la version 1.2, notamment pour pouvoir être installée chez Free, et pour combler quelques lacunes du nouveau moteur de rendu.]]></description>
			<content:encoded><![CDATA[<p><a title="Commentaire de Florent" href="http://jebulle.net/462-albulle-1-2-disponible.html/comment-page-1#comment-3116">Florent</a> me l&#8217;a signalé peu après la sortie de la version 1.2 (merci !), <a title="Site d'Albulle" href="http://albulle.jebulle.net">Albulle</a> ne fonctionnait plus chez <a title="Hébergement gratuit chez Free.fr" href="http://free.fr">Free</a>. En voulant aller trop vite, on en oublie les choses essentielles <img src='http://jebulle.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> .</p>
<p><a title="PHP" href="http://fr.php.net">PHP5</a> étant devenue ma version de référence pour le développement, j&#8217;en avais complètement oublié qu&#8217;<strong>Albulle</strong>, jusqu&#8217;à la version 1.1.1, était encore compatible <strong>PHP4</strong>. Or chez <strong>Free</strong>, c&#8217;est toujours la version 4 de <strong>PHP</strong> qui est active par défaut. Qui plus est, l&#8217;intégration de <strong>JbLib</strong> qui utilise la fonction <a title="Manuel de la fonction glob" href="http://fr.php.net/manual/fr/function.glob.php">glob()</a>, empêche <strong>Albulle</strong> de tourner correctement car la fonction renvoie toujours faux chez l&#8217;hébergeur.</p>
<p>D&#8217;où cette version 1.2.1. Vous trouverez la marche à suivre pour installer <strong>Albulle</strong> chez <strong>Free</strong> dans le dossier <strong>extras/</strong> de l&#8217;archive. En plus de cela, le nouveau moteur de rendu a été corrigé : il manquait la gestion du mode intégration à un site et le thème par défaut n&#8217;était pas complet.</p>
<p>Cette <a title="Télécharger Albulle" href="http://jebulle.net/download.php?fichier=albulle">version 1.2.1</a> devrait donc correspondre à ce qu&#8217;aurait du être la version 1.2&#8230;si tout avait été testé plus en profondeur.</p>
<p>Bonne installation à tous ! Et pour tout problème, n&#8217;hésitez pas à me contacter.</p>
<p><a title="Site d'Albulle" href="http://albulle.jebulle.net">Site d&#8217;Albulle »</a><br />
<a title="Télécharger la dernière version d'Albulle" href="http://jebulle.net/download.php?fichier=albulle">Télécharger Albulle »</a></p>
]]></content:encoded>
			<wfw:commentRss>http://jebulle.net/albulle-1-2-1-version-de-maintenance/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Albulle 1.2 disponible</title>
		<link>http://jebulle.net/albulle-1-2-disponible</link>
		<comments>http://jebulle.net/albulle-1-2-disponible#comments</comments>
		<pubDate>Sun, 09 May 2010 21:37:48 +0000</pubDate>
		<dc:creator>SamRay1024</dc:creator>
				<category><![CDATA[Albulle]]></category>

		<guid isPermaLink="false">http://jebulle.net/?p=462</guid>
		<description><![CDATA[Après 5 années d'existence, Albulle 1.2 voit le jour !]]></description>
			<content:encoded><![CDATA[<p><strong>5 ans !</strong> 5 années que le projet existe et qu&#8217;il mène sa petite vie. Pour l&#8217;occasion, <strong>Albulle 1.2</strong> apporte son lot de nouveautés :</p>
<ol>
<li><strong>Nouveau moteur de rendu</strong> (<em>JbParser</em>) : changement non visible mais ô combien important pour les <strong>thèmes</strong>, <a title="Site d'Albulle" href="http://albulle.jebulle.net">Albulle </a>se dote d&#8217;un vrai petit moteur de templates. Rien à voir avec un <a title="Smarty : Template Engine" href="http://www.smarty.net/">Smarty</a>, juste un p&#8217;tit moteur sans prétention qui remplit sa tâche à merveille pour les besoins d&#8217;<strong>Albulle</strong>. Sorte de résurgence du vieillissant moteur de la <strong>PHPLIB</strong>, inspirée de <a title="Jelix, Framework PHP" href="http://jelix.org/">Jelix</a> mixée avec une sauce maison ! Je détaillerai toutes ses fonctionnalités au travers d&#8217;une future documentation complète.</li>
<li>Le <strong>tri par date de prise de vue</strong> est désormais possible ! Fini de renommer ses photos pour les trier, vous envoyez le dossier, et Albulle se charge de mettre vos JPEG dans l&#8217;ordre chronologique !</li>
<li><strong>Lecture de la </strong><strong>légende IPTC des images JPEG</strong> supportée via une nouvelle pseudo-variable<strong> {$legende}</strong> (vous noterez la nouvelle syntaxe des pseudos-variables au passage). Si vous utilisez le logiciel <strong>Picasa</strong>, la légende est le texte que vous pouvez saisir sous la photo lorsque vous êtes en visualisation.</li>
<li>J&#8217;ai très légèrement <strong>modifié le logo</strong>, pour que le &laquo;&nbsp;A&nbsp;&raquo; ressemble plus à la lettre qu&#8217;à un champignon&#8230;</li>
<li>Et bien sûr quelques corrections et pas mal de réécritures et nettoyages de code pour cette version.</li>
</ol>
<p><a title="Documentations de JeBulle.Net" href="http://doc.jebulle.net">La documentation d&#8217;Albulle</a> n&#8217;est pas à jour et les autres thèmes ne sont pas prêts pour cette version 1.2. J&#8217;essaie autant que faire se peut d&#8217;actualiser tout cela au plus vite&#8230; Mais vous connaissez la maison, ça viendra&#8230;quand je pourrai trouver le temps !</p>
<p>Pour <a title="Site d'Albulle" href="http://albulle.jebulle.net/">télécharger Albulle</a>, c&#8217;est comme d&#8217;habitude !</p>
<p><strong>Merci à tous les fidèles qui utilisent Albulle et qui suivent le projet, de près ou de loin !</strong></p>
<p><em>PS : pour les curieux qui iront jeter un œil dans le code source, vous verrez un nouveau dossier &laquo;&nbsp;jblib&nbsp;&raquo; dans lequel se trouve la classe JbParser, le nouveau moteur de rendu. La JbLib sera un nouveau projet, qui sera lancé&#8230;(vous connaissez la musique <img src='http://jebulle.net/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> ) et qui regroupera un ensemble de classes qui constitueront une sorte de kit de démarrage de développement. Cette librairie est déjà équipée de quelques classes, mais comme tout est à l&#8217;état de chantier, j&#8217;attends de bien standardiser toutes ces classes avant de les publier !</em></p>
]]></content:encoded>
			<wfw:commentRss>http://jebulle.net/albulle-1-2-disponible/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Albulle 1.2, en cours de cuisson</title>
		<link>http://jebulle.net/albulle-1-2-en-cours-de-cuisson</link>
		<comments>http://jebulle.net/albulle-1-2-en-cours-de-cuisson#comments</comments>
		<pubDate>Thu, 29 Apr 2010 21:48:14 +0000</pubDate>
		<dc:creator>SamRay1024</dc:creator>
				<category><![CDATA[Albulle]]></category>
		<category><![CDATA[Développement]]></category>

		<guid isPermaLink="false">http://jebulle.net/?p=459</guid>
		<description><![CDATA[La nouvelle mouture d'Albulle est disponible en avant première depuis le dépôt SVN (à des fins de tests uniquement).]]></description>
			<content:encoded><![CDATA[<p>Je viens d&#8217;aller faire un tour dans les archives du blog, la version 1.1 date de novembre 2008&#8230;Voilà qui commence à remonter ! J&#8217;étais jeune marié et la tête plein de projets.</p>
<p>De ces projets, deux ont vu le jour. Nous avons investi dans l&#8217;immobilier et, le plus magique des deux, nous avons conçu une merveille : un joli petit garçon qui a deux mois depuis peu !</p>
<p>Tout cela pour vous dire que je n&#8217;en oublie pas pour autant les autres projets et qu&#8217;<a title="Albulle, galerie photos" href="http://albulle.jebulle.net"><strong>Albulle</strong></a> va bientôt revenir dans une nouvelle version. La principale nouveauté est le <strong>changement intégral du moteur de rendu</strong> qui utilise une classe de mon cru que j&#8217;ai dans les cartons depuis un moment. <strong>Albulle 1.2</strong> est, à l&#8217;heure actuelle, pleinement fonctionnelle. Il me reste un bogue à vérifier (<a title="FS#5" href="http://dev.jebulle.net/index.php?do=details&amp;task_id=5">FS#5</a>) et la réalisation des tests de l&#8217;ensemble avant de pouvoir livrer la nouvelle mouture.</p>
<p>En attendant, vous pouvez tester cette version en la récupérant depuis le dépôt <a title="Dépôt SVN d'Albulle" href="http://albulle.googlecode.com">SVN</a> ; il est à jour !</p>
]]></content:encoded>
			<wfw:commentRss>http://jebulle.net/albulle-1-2-en-cours-de-cuisson/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Trad : Du code propre avec les micro-plugins jQuery</title>
		<link>http://jebulle.net/trad-du-code-propre-avec-les-micro-plugins-jquery</link>
		<comments>http://jebulle.net/trad-du-code-propre-avec-les-micro-plugins-jquery#comments</comments>
		<pubDate>Thu, 03 Dec 2009 18:10:56 +0000</pubDate>
		<dc:creator>SamRay1024</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[Traductions]]></category>

		<guid isPermaLink="false">http://jebulle.net/?p=435</guid>
		<description><![CDATA[Rendez vos programmes javascripts plus claires et plus maintenables en utilisant un gabarit de développement uniformisé.]]></description>
			<content:encoded><![CDATA[<blockquote><p>Cet article est la traduction d&#8217;un <a title="Du code plus propre grâce aux micro-plugins jQuery" href="http://www.thegarvin.com/2009/10/28/clearer-code-with-jquery-micro-plugins.html">article publié sur le blog de Jim GARVIN</a>.</p></blockquote>
<p>Beaucoup de programmes <strong>javascripts</strong> nécessitent l&#8217;exécution de code dès lors que le chargement d&#8217;une page est arrivé à terme. <a title="Librairie Javascript jQuery" href="http://jquery.com/">jQuery</a> rend facile le branchement à cet événement et beaucoup de développeurs l&#8217;utilise comme tel :</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code"><pre class="php" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span>ready<span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #666666; font-style: italic;">// code du programme... tout est là</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">var</span> term <span style="color: #339933;">=</span> searchParameter<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>term<span style="color: #009900;">&#41;</span> $<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;#search_form input[type=text]&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span>val<span style="color: #009900;">&#40;</span>term<span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span>addClass<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;focus&quot;</span><span style="color: #009900;">&#41;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">// .. 200 lignes plus loin ...</span>
	<span style="color: #666666; font-style: italic;">// ah, voici le code que vous devez modifier</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>Ce type de code est très certainement suffisant pour de <strong>petites applications</strong>, mais dès lors que vous avez quelques centaines de lignes de code qui grouillent, il est fort probable que vous commenciez à souffrir pour travailler. Vous pouvez essayer de ponctuer le code de commentaires &#8211; nous savons tous que ce n&#8217;est pas idéal &#8211; ou encore découper le code en plusieurs appels de <em>$document.ready()</em>, les uns après les autres. Pas très propre&#8230;</p>
<p>Une façon d&#8217;obtenir un plus haut-niveau de compréhension de votre code consiste à sortir les sections sans rapport dans leurs propres fonctions pour ensuite les appeler depuis la fonction d&#8217;initialisation :</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
</pre></td><td class="code"><pre class="php" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span>ready<span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	initializeSearchForm<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	initializeRowPointer<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	initializeThumbnailSizeSlider<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	initializeQueueStatuses<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #666666; font-style: italic;">// et cetera ...</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> initializeSearchForm<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">var</span> term <span style="color: #339933;">=</span> searchParameter<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>term<span style="color: #009900;">&#41;</span> $<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;#search_form input[type=text]&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span>val<span style="color: #009900;">&#40;</span>term<span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span>addClass<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;focus&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// et toutes les autres fonctions ...</span></pre></td></tr></table></div>

<p>Désormais, nous avons une <strong>vue d&#8217;ensemble claire</strong> de ce qui se passe au chargement de la page et nous pouvons <strong>aisément accéder</strong> à telle ou telle fonction pour voir son fonctionnement et lui apporter des modifications. C&#8217;est mieux, et c&#8217;est comme celà que je procède depuis longtemps, mais en utilisant le patron de conception de <a href="http://ryan.mcgeary.org/">Ryan McGeary</a>, nous pouvons rendre ce code encore plus révélateur de ce qu&#8217;il fait et améliorer sa maintenabilité en embraçant le style <a title="Librairie Javascript jQuery" href="http://jquery.com/">jQuery</a>.</p>
<h3>Transformation en micro-plugin</h3>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
</pre></td><td class="code"><pre class="php" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span>ready<span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;#search input[type=text]&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span>searchForm<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;#orders&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span>selectableRows<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;#slider&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span>thumbnailSizeSlider<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;td.picture img&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	$<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;#queue_statuses .status&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span>queueStatus<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #666666; font-style: italic;">// et cetera...</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// micro-plugin</span>
$<span style="color: #339933;">.</span>fn<span style="color: #339933;">.</span>searchForm <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">var</span> term <span style="color: #339933;">=</span> searchParameter<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span>term<span style="color: #009900;">&#41;</span> this<span style="color: #339933;">.</span>val<span style="color: #009900;">&#40;</span>term<span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span>addClass<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;focus&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">return</span> this<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// et tous les autres micro-plugins...</span></pre></td></tr></table></div>

<p>En réécrivant nos fonctions en tant que <strong>plugins <a title="Librairie Javascript jQuery" href="http://jquery.com/">jQuery</a></strong>, nous bénéficions de nombreux avantages par rapport à la première approche :</p>
<ul>
<li>Nous déplaçons le sélecteur dans la section d&#8217;initialisation où nous pouvons<strong> facilement le retrouvez et le modifier</strong>. Cela nous donne une <strong>meilleure vision</strong> de ce que le code fait, tout cela sans effort.</li>
<li>C&#8217;est un <strong>plugin </strong><strong>jQuery</strong> ! N&#8217;importe quel autre développeur habitué à <strong>jQuery</strong> et ne connaissant pas votre code, pourra immédiatement l&#8217;appréhender et se l&#8217;approprier,</li>
<li>C&#8217;est un <strong>plugin jQuery</strong> ! C&#8217;est facilement <strong>réutilisable</strong>, même si ce n&#8217;est pour l&#8217;instant pas l&#8217;objectif.</li>
</ul>
<p>Si vous n&#8217;aviez jamais écrit de <strong>plugin jQuery </strong>auparavant, ceci devrait vous convaincre de la <strong>simplicité d&#8217;implémentation</strong>. Il n&#8217;est pas nécessaire de comprendre tous les méandres d&#8217;un framework. Vous adjoignez simplement une fonction à <em>jQuery.fn</em> et accédez à l&#8217;objet courant grâce à <em>this. </em>C&#8217;est la <strong>simplicité du système de plugins jQuery</strong> qui rend les <strong>micro-plugins</strong> possibles.</p>
<h3>Quelle est cette pitrerie !? Un plugin, tout simplement !</h3>
<p>Faisons tout de même bien la <strong>distinction </strong>entre un <strong>plugin</strong> et un <strong>micro-plugin</strong>. La différence réside principalement dans l&#8217;<strong>intention de l&#8217;auteur</strong> qui rédige le code. Généralement, les <strong>plugins jQuery </strong>sont écrits prioritairement pour être <strong>réutilisables et partageables</strong>. À l&#8217;inverse, les <strong>micro-plugins</strong> sont créés pour rendre le code local d&#8217;une application <strong>plus clair</strong> et plus facilement <strong>maintenable</strong>, sans intention de partage et/ou de réutilisation.</p>
<p>Ainsi, si vous réutilisez un micro-plugin dans un autre projet, et que ce plugin devient un outil souvent utile, pourquoi pas ne pas le documenter, le partager et le considérer comme plugin à part entière !</p>
<p><em>Note du traducteur : une erreur de traduction, une approximation disgracieuse, une suggestion, &#8230;, utilisez les commentaires pour me soumettre votre proposition et ainsi améliorer cette traduction ! Merci !</em></p>
<p><em> Note bis : les emphases sont de mon fait.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://jebulle.net/trad-du-code-propre-avec-les-micro-plugins-jquery/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Un serpent nommé Python</title>
		<link>http://jebulle.net/un-serpent-nomme-python</link>
		<comments>http://jebulle.net/un-serpent-nomme-python#comments</comments>
		<pubDate>Wed, 04 Nov 2009 18:30:46 +0000</pubDate>
		<dc:creator>SamRay1024</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[langage]]></category>
		<category><![CDATA[multi-plateformes]]></category>
		<category><![CDATA[poo]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://jebulle.net/?p=420</guid>
		<description><![CDATA[Tergiversations d'un développeur en mal de nouveauté et de découverte.]]></description>
			<content:encoded><![CDATA[<p>Et si je me mettais à <a title="Python, langage de programmation" href="http://python.org">Python</a> ?</p>
<p>Cela fait un moment maintenant que je cherche un langage de programmation sur lequel me fixer qui me permettrait de développer des applications multi-plateformes. Il y a bien <a title="MonoDevelop" href="http://monodevelop.com/">Mono</a>, adaptation de <strong>.NET</strong> pour Linux, <a title="Qu'est-ce que Java ?" href="http://java.com/fr/about/">Java</a>, ou encore descendre à un plus bas niveau avec <strong>C/C++</strong>. Il est aussi possible de passer par des outils comme <a title="Lazarus, le Delphi libre" href="http://www.lazarus.freepascal.org/">Lazarus</a>, réplique de <strong>Delphi</strong>, qui pourrait fortement me tenter, vu que j&#8217;ai déjà une connaissance de <strong>Delphi</strong>.</p>
<p>Oui mais, finalement, il n&#8217;y a rien qui me convainc réellement&#8230;</p>
<p>Et puis, je suis tombé sur un article (je ne sais plus lequel malheureusement&#8230;) qui décrivait un peu ce qu&#8217;était <a title="Python, langage de programmation" href="http://python.org">Python</a>. Même si je connaissais au moins de nom le langage, je n&#8217;y avais jamais apporté plus d&#8217;attention que cela&#8230;Erreur !</p>
<p>Langage fortement typé, dynamique et orienté objet grâce auquel il est possible d&#8217;écrire des scripts simples pour <strong>Linux</strong> comme construire des <strong>applications lourdes</strong> avec une interface graphique ainsi que de créer des <strong>sites Internet</strong> ! Que demande le peuple ? Un langage réunissant les deux domaines qui font tourner le monde&#8230;de l&#8217;informatique. Un langage à apprendre plutôt que deux, et vous développez à loisir du <strong>client lourd aussi bien que du client léger</strong>. Et du client lourd, <strong>multi-plateforme </strong>! En ce début de 21ème siècle il me semble important de ne plus se cantonner à <strong>Windows</strong> mais bien de travailler dans une logique d&#8217;ouverture et d&#8217;élargissement.</p>
<p>Et d&#8217;ailleurs, j&#8217;ai déjà commencé mon auto-formation en attaquant la lecture du livre de <a href="http://www.swaroopch.com/about/">Swaroop C H</a>, &laquo;&nbsp;<em>A byte of Python</em>&laquo;&nbsp;, <a title="Plongez au coeur de Python" href="http://linuxfr.org/redirect/64180.html">traduit dernièrement en français</a>.</p>
<p>Affaire à suivre&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://jebulle.net/un-serpent-nomme-python/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

