<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>episode 2</title>
	
	<link>http://blog.episode-2.com</link>
	<description>dev, tech &amp; more - par Ludovic André</description>
	<lastBuildDate>Fri, 09 Oct 2009 13:29:35 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/episode2" /><feedburner:info uri="episode2" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Les liens du vendredi!</title>
		<link>http://feedproxy.google.com/~r/episode2/~3/9CF2YjgAAsg/</link>
		<comments>http://blog.episode-2.com/2009/10/09/les-liens-du-vendredi/#comments</comments>
		<pubDate>Fri, 09 Oct 2009 07:34:24 +0000</pubDate>
		<dc:creator>bkill</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[développement]]></category>

		<guid isPermaLink="false">http://blog.episode-2.com/?p=621</guid>
		<description><![CDATA[


En attendant l&#8217;arrivée du week-end, quelques liens intéressants glanés durant la semaine:
PHP
- Fabien Potencier: Pourquoi PHP n&#8217;est pas un bon langage de templates (EDIT: il a ensuite publié un follow-up suite aux 70+ commentaires reçus sur l&#8217;article original)
- Federico Cargnelutti propose une idée de database replication adapter pour Zend Framework pour gérer les connexions à [...]]]></description>
			<content:encoded><![CDATA[<p><script type="text/javascript"><!--
google_ad_client = "pub-9929265657086306";
/* 468x60, created 12/24/08 */
google_ad_slot = "5317816517";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p><p>En attendant l&#8217;arrivée du week-end, quelques liens intéressants glanés durant la semaine:</p>
<p><strong>PHP</strong></p>
<p>- Fabien Potencier: <a href="http://fabien.potencier.org/article/34/templating-engines-in-php" target="_blank">Pourquoi PHP n&#8217;est pas un bon langage de templates</a> (EDIT: il a ensuite publié un <a href="http://fabien.potencier.org/article/35/templating-engines-in-php-follow-up" target="_blank">follow-up</a> suite aux 70+ commentaires reçus sur l&#8217;article original)<br />
- Federico Cargnelutti propose une idée de <a href="http://blog.fedecarg.com/2009/10/02/database-replication-adapter-for-zend-framework-applications/" target="_blank">database replication adapter</a> pour Zend Framework pour gérer les connexions à vos DB dans le cas de réplications single-master ou multi-master<br />
- Petite série de <a href="http://giorgiosironi.blogspot.com/2009/09/practical-testing-in-php-part-1-phpunit.html" target="_blank">7 articles d&#8217;introduction au unit testing</a>, et surtout à PHPUnit<br />
- Arrivée de l&#8217;<a href="http://devzone.zend.com/article/11024-Announcing-the-Apache-Solr-extension-in-PHP" target="_blank">extension Solr en 0.9.0</a> pour PHP<br />
- <a href="http://www.joobsbox.com/" target="_blank">Joobsbox</a>, un Job Board opensource développé avec Zend Framework, toujours intéressant de voir comment les autres s&#8217;en servent</p>
<p><strong>Android</strong></p>
<p>- Nouvelle <a href="http://android-developers.blogspot.com/2009/10/gestures-on-android-16.html" target="_blank">API de gestion des gestures</a>, dans la version 1.6 d&#8217;Android</p>
<p>Et pour le fun: <a href="http://www.labandepasdessinee.com/bpd/268-technique" target="_blank">La Bande Pas Dessinée</a>, le remède à votre productivité <img src='http://blog.episode-2.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<img src="http://feeds.feedburner.com/~r/episode2/~4/9CF2YjgAAsg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.episode-2.com/2009/10/09/les-liens-du-vendredi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.episode-2.com/2009/10/09/les-liens-du-vendredi/</feedburner:origLink></item>
		<item>
		<title>Wordpress « Missed Schedule »</title>
		<link>http://feedproxy.google.com/~r/episode2/~3/Mmdgm1lvyZ4/</link>
		<comments>http://blog.episode-2.com/2009/09/30/wordpress-missed-schedule/#comments</comments>
		<pubDate>Wed, 30 Sep 2009 08:11:21 +0000</pubDate>
		<dc:creator>bkill</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[développement]]></category>

		<guid isPermaLink="false">http://blog.episode-2.com/?p=614</guid>
		<description><![CDATA[Une solution à tenter si Wordpress vous retourne "Missed schedule" lorsque vous tentez d'utiliser la fonction de scheduling de posts.]]></description>
			<content:encoded><![CDATA[<p><script type="text/javascript"><!--
google_ad_client = "pub-9929265657086306";
/* 468x60, created 12/24/08 */
google_ad_slot = "5317816517";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p><p>Si vous avez essayé d&#8217;utiliser la fonction de <strong>scheduling de post</strong> dans Wordpress 2.8, peut-être vous êtes vous aussi heurté au seul message d&#8217;erreur de Wordpress vous signalant &laquo;&nbsp;missed schedule&nbsp;&raquo;, et du coup, pas de post publié.<br />
Après avoir fouillé leur forum, trouvé moulte utilisateurs à la recherche d&#8217;un correctif éventuel (apparemment cela fait déjà plusieurs versions que ce &laquo;&nbsp;bug&nbsp;&raquo; subsisterait), passé en revue plusieurs hacks en tout genre, je suis finalement tombé <a href="http://wordpress.org/support/topic/296236#post-1175405" target="_blank">sur un message plutôt clair</a> qui dit que le problème n&#8217;est pas du côté Wordpress, mais bien du côté serveur.</p>
<p>Pour faire court, la solution à tenter, si vous êtes victime de ce &laquo;&nbsp;Missed schedule&nbsp;&raquo;, est la suivante:<br />
editez votre fichier <strong>wp-config.php</strong>, et ajoutez-y</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #990000;">define</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;ALTERNATE_WP_CRON&quot;</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p><a href="http://wordpress.org/support/topic/296236#post-1175405" target="_blank">Le commentaire original à ce sujet est fait par Otto32 sur le forum Wordpress, </a> pour ceux qui voudraient en lire plus sur le problème.</p>
<img src="http://feeds.feedburner.com/~r/episode2/~4/Mmdgm1lvyZ4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.episode-2.com/2009/09/30/wordpress-missed-schedule/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.episode-2.com/2009/09/30/wordpress-missed-schedule/</feedburner:origLink></item>
		<item>
		<title>www.ludovicandre.com: ma carte de visite</title>
		<link>http://feedproxy.google.com/~r/episode2/~3/yBk9Rsa6YaM/</link>
		<comments>http://blog.episode-2.com/2009/09/26/www-ludovicandre-com-ma-carte-de-visite/#comments</comments>
		<pubDate>Sat, 26 Sep 2009 09:02:08 +0000</pubDate>
		<dc:creator>bkill</dc:creator>
				<category><![CDATA[Actu]]></category>
		<category><![CDATA[Divers]]></category>

		<guid isPermaLink="false">http://blog.episode-2.com/?p=603</guid>
		<description><![CDATA[
Il est tout beau, tout chaud, sorti de presse hier! J&#8217;ai enfin terminé la création www.ludovicandre.com, mon site &#171;&#160;carte de visite&#160;&#187;, histoire d&#8217;avoir un domaine dédié pour y présenter mon CV, et diverses infos à propos de ma carrière. In english cette fois, et avec un design plutôt sobre et clean, à hauteur de mes [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.ludovicandre.com"><img class="aligncenter size-full wp-image-605" title="ludovicandrecom" src="http://blog.episode-2.com/wp-content/uploads/2009/09/ludovicandrecom.jpg" alt="ludovicandrecom" width="500" height="160" /></a></p>
<p>Il est tout beau, tout chaud, sorti de presse hier! J&#8217;ai enfin terminé la création <a href="http://www.ludovicandre.com/" target="_blank">www.ludovicandre.com</a>, mon site &laquo;&nbsp;carte de visite&nbsp;&raquo;, histoire d&#8217;avoir un domaine dédié pour y présenter <a href="http://www.ludovicandre.com/resume.php">mon CV</a>, et diverses infos à propos de <a href="http://www.ludovicandre.com/who.php">ma carrière</a>. In english cette fois, et avec un design plutôt sobre et clean, à hauteur de mes compétences artistiques, parce que non, je ne suis pas graphiste <img src='http://blog.episode-2.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   Certaines petites améliorations sont déjà en cours de route, ainsi qu&#8217;une version mobile, mais autant que cette version ne traine plus dans les cartons pendant ce temps!</p>
<p>Si vous avez des commentaires ou remarques, feel free!</p>
<img src="http://feeds.feedburner.com/~r/episode2/~4/yBk9Rsa6YaM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.episode-2.com/2009/09/26/www-ludovicandre-com-ma-carte-de-visite/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.episode-2.com/2009/09/26/www-ludovicandre-com-ma-carte-de-visite/</feedburner:origLink></item>
		<item>
		<title>Retour sur la WWDC 2009!</title>
		<link>http://feedproxy.google.com/~r/episode2/~3/wv5-M7KWhHU/</link>
		<comments>http://blog.episode-2.com/2009/06/22/retour-sur-la-wwdc-2009/#comments</comments>
		<pubDate>Mon, 22 Jun 2009 20:10:42 +0000</pubDate>
		<dc:creator>bkill</dc:creator>
				<category><![CDATA[développement]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[san francisco]]></category>
		<category><![CDATA[wwdc]]></category>

		<guid isPermaLink="false">http://blog.episode-2.com/?p=561</guid>
		<description><![CDATA[Début juin 2009, j'étais à San Francisco, pour participer à la WWDC! Flashback...]]></description>
			<content:encoded><![CDATA[<p>Il y a presque deux semaines maintenant, j&#8217;étais à San Francisco histoire de me détendre, de me balader, de profiter des divers lieux touristiques, bref, j&#8217;étais en vacances&#8230; <img src='http://blog.episode-2.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Et accessoirement, j&#8217;ai assisté à la <a href="http://developer.apple.com/wwdc/" target="_blank">WWDC 09</a>, grâce à NFS, la société de consultance pour laquelle je travaille au Luxembourg.<br />
Comment c&#8217;était? Servez-vous un petit café, je vous y emmène&#8230;<br />
(et pour ceux qui préfèrent les images à la lecture, vous pouvez passer directement à la <a href="http://www.flickr.com/photos/bkill/sets/72157619774573906/" target="_blank">galerie</a>!)</p>
<p><strong>Flashback</strong>!</p>
<p><img class="aligncenter size-full wp-image-569" title="sfo_1" src="http://blog.episode-2.com/wp-content/uploads/2009/06/sfo_1.jpg" alt="sfo_1" width="400" height="178" /></p>
<p><span id="more-561"></span></p>
<p><strong>Samedi 06/06/09</strong></p>
<p>Mes bagages sont prêts, décollage de Luxembourg vers 6h30, avec une escale à Paris CDG! Vol sans encombres, assez calme, et arrivée vers 13h à l&#8217;aéroport de SFO, heure locale.  Passage obligé par les douanes US histoire d&#8217;ajouter mes empruntes et ma photo à leur collection internationale d&#8217;identités étrangères.  1h plus tard, j&#8217;emprunte le BART (un équivalent du métro) direction downtown, afin de rejoindre mon hôtel sur Geary Street.  Il est 15h lorsque je pose enfin mes bagages dans <a href="http://twitpic.com/6s3fy" target="_blank">la chambre</a>, et que je teste la connexion Wi-fi <img src='http://blog.episode-2.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   La première journée ne sera pas intense en rebondissements, je me repose jusqu&#8217;au lendemain, histoire de profiter au max du dimanche&#8230;</p>
<p><strong>Dimanche</strong></p>
<p>Après une nuit plutôt courte, et un temps d&#8217;adaptation à ce nouvel horaire GMT-8, je me lève vers 6h histoire d&#8217;aller faire mon touriste en ville, avant le premier jour de la conférence.  J&#8217;en profite également pour retirer mon badge <a href="http://www.flickr.com/photos/bkill/3628254033/in/set-72157619774573906/" target="_blank">au Moscone Center</a>, comme conseillé par de nombreux anciens de la WWDC, afin d&#8217;éviter de perdre du temps dans la file le lundi.  Il est 9h30, j&#8217;ai maintenant <a href="http://twitpic.com/6u7k6" target="_blank">mon package entre les mains</a>: un sac à dos pour portable, un t-shirt (que je ne trouve pas top, il avait l&#8217;air mieux l&#8217;année passée) présentant des icônes d&#8217;applis illustrant les caractères &laquo;&nbsp;WWDC 2009&#8243;, ainsi que le précieux à ne surtout pas perdre, <a href="http://www.flickr.com/photos/bkill/3628261501/in/set-72157619774573906/" target="_blank">mon badge</a>.<br />
Je passe ensuite en mode touriste: test du <a href="http://www.flickr.com/photos/bkill/3628265903/in/set-72157619774573906/" target="_blank">célèbre Cable Car</a> en direction de la côte, <a href="http://www.flickr.com/photos/bkill/3628269013/in/set-72157619774573906/" target="_blank">Fisherman&#8217;s Wharf</a>, <a href="http://www.flickr.com/photos/bkill/3629089782/in/set-72157619774573906/" target="_blank">Pier 39</a>, <a href="http://www.flickr.com/photos/bkill/3629097706/in/set-72157619774573906/" target="_blank">Lombard Street</a>, &#8230;  Un bon paquet de kms dans les pieds!  Il fait super beau, que demander de plus?  La ville est très agréable, les gens sont sympathiques, pas stressés, que du bonheur.</p>
<p style="text-align: center;"><strong><img class="aligncenter" title="sfo_2" src="http://blog.episode-2.com/wp-content/uploads/2009/06/sfo_2.jpg" alt="sfo_2" width="400" height="181" /></strong></p>
<p><strong>Lundi</strong></p>
<p>Premier jour de conférence, et son inévitable keynote.  Etant donné que c&#8217;est ma première participation à cet event, je décide de faire partie des crazy ones qui feront la file dès potron minet, histoire d&#8217;avoir une bonne place dans la salle de la keynote.  Je rejoins donc le Moscone vers 4h30 du matin, après un petit passage par le Starbuck&#8217;s pour le plein de caféine.  En chemin je fais déjà connaissance avec d&#8217;autres participants, avant de prendre part <a href="http://www.flickr.com/photos/bkill/3628289609/in/set-72157619774573906/" target="_blank">à la file</a> et d&#8217;apprendre que je suis déjà le 150ème <img src='http://blog.episode-2.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   Plutôt bonne ambiance devant le Moscone, le mélange de nationalités est déjà assez flagrant: US, SP, BE (yes!!), IT, &#8230; Vers 7h30, ouverture des portes du centre, on peut enfin commencer à remplir le premier étage, et surtout ne pas perdre sa place dans la file <img src='http://blog.episode-2.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   C&#8217;est un peu comme à un concert, c&#8217;est le gros rush, mieux vaut ne pas traîner en chemin.  <a href="http://www.flickr.com/photos/bkill/3629108228/in/set-72157619774573906/" target="_blank">On avance progressivement d&#8217;étage en étage</a>, tout est minutieusement organisé. A 10h, la keynote commence, j&#8217;en reviens pas, j&#8217;ai mon siège dans la salle Presidio, et je <a href="http://www.flickr.com/photos/bkill/3628297901/in/set-72157619774573906/" target="_blank">suis plutôt bien placé</a>! Amusant de constater en direct live l&#8217;engouement que peut susciter une simple annonce comme : &laquo;&nbsp;l&#8217;iPhone peut désormais enregistrer des videos!&nbsp;&raquo; ou encore &laquo;&nbsp;l&#8217;iPhone supporte maintenant l&#8217;envoi de MMS&nbsp;&raquo;&#8230; Heeeemmmm&#8230; Je regarde le calendrier sur mon Mac, oui oui nous sommes bien en 2009. <img src='http://blog.episode-2.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /><br />
Sinon, le reste de la journée &#8211; et de la semaine &#8211; est sous le couvert du NDA (et honnêtement, je me demande bien pourquoi les sessions sont si confidentielles&#8230;).<br />
Au programme (général) des sessions du jour :<br />
- <em>découverte des nouveautés de XCode 3.2</em>: compilateur clang/llvm, static analyzer, ainsi que d&#8217;autres tunings visuels et pratiques qui donnent envie! Malheureusement, XCode 3.2 n&#8217;est dispo que pour Snow Leopard <img src='http://blog.episode-2.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /><br />
- <em>présentation des dernières innovations apportées par les frameworks graphiques / medias</em>.</p>
<p>Pour les soirées de la semaine, quelques Parties sont organisées dans divers lieux de San Francisco, sympathique pour rencontrer du monde.  Je décide de passer ma première soirée à l&#8217;<em>iPhone Intelligence Party</em>, au cours de laquelle on est sensés voir des démos de nouvelles applis iPhone.  Mais bon, c&#8217;est un peu (beaucoup) bruyant dans ce bar, je pense qu&#8217;ils ont l&#8217;air d&#8217;abandonner le fait de vouloir faire des démos, après une tentative apparement infructueuse.  C&#8217;est pas grave, pendant ce temps, on boit des bières et on fait connaissances avec d&#8217;autres participants à la WWDC. Très bonne soirée!</p>
<p><img class="aligncenter size-full wp-image-574" title="sfo_3" src="http://blog.episode-2.com/wp-content/uploads/2009/06/sfo_3.jpg" alt="sfo_3" width="400" height="190" /></p>
<p><strong>Mardi</strong></p>
<p>Aujourd&#8217;hui,<br />
- découverte des <em>nouveautés apportées par Cocoa Touch dans le SDK 3.0</em><br />
- <em>créations d&#8217;applications web optimisées pour l&#8217;iPhone</em> avec customisation de Safari.  Très étonné par les possibilités offertes, on pourrait presque confondre une application native avec sa version web, au vu des composants intégrables: core location, icône sur le springboard, supression des composants visuels de Safari, gestures, &#8230; Le support de CSS 3 proposé par Safari permet également de créer des interfaces web qui en jettent, notamment via les animations.<br />
- <em>utilisation du Static Analyzer</em> afin d&#8217;améliorer une application native.  Auparavant, je me servais du static analyzer en ligne de commande, mais c&#8217;est une excellente nouvelle de voir ce produit intégré directement à l&#8217;interface de XCode.  Ceci dit, il faut installer XCode 3.2 pour en profiter, et donc Snow Leopard&#8230; Vais-je craquer et installer la developer preview que nous avons reçue en tant que participant à la WWDC?</p>
<p>Le soir, ce sont les <a href="http://developer.apple.com/ada/" target="_blank">Apple Design Awards</a>, qui récompensent quelques applis développées pour MacOS et iPhone.  Les lots sont plutôt sympathiques: MacBooks Pro, iPhones et écrans Cinema Display 24&#8243; à la clé, ainsi que le remboursement du ticket d&#8217;entrée à la WWDC.  Quelques applis plutôt chouettes ont remporté le prix, notamment Versions &#8211; client SVN pour MacOSX &#8211; et Postage pour iPhone.  <a href="http://developer.apple.com/ada/" target="_blank">Tous les résultats des awards sont disponibles ici</a>.</p>
<p>La soirée se poursuit avec l&#8217;event &laquo;&nbsp;<a href="http://www.flickr.com/photos/bkill/3629112038/in/set-72157619774573906/" target="_blank"><em>Stump the Experts</em></a>&laquo;&nbsp;: quelques experts Apple sont sur scène, et le public peut leur poser des questions (des plus farfelues en général).  Si les experts savent répondre, un point pour eux, sinon c&#8217;est pour le public.  Une soirée sous le signe de la mauvaise foi et de la tricherie donc <img src='http://blog.episode-2.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />   Ah et un autre concours pour le public présent à cette soirée: reconnaître 9 chansons diffusées avant la session&#8230; Shazaam powered <img src='http://blog.episode-2.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> .  La présentation est plutôt sympa, les animateurs drôles, mais y&#8217;a quelques délires que je n&#8217;ai pas compris, ma trop récente activité dans le monde à la pomme doit certainement jouer.  Une question dont je me souviens, à destination des experts (pour info, le cube en métal que reçoivent les gagnants aux Design Awards peut s&#8217;illuminer lorsqu&#8217;on le touche): &laquo;&nbsp;<em>Les batteries de l&#8217;Apple Design Award sont-elles remplaçables par l&#8217;utilisateur?</em>&laquo;&nbsp;&#8230;</p>
<p><strong>Mercredi</strong></p>
<p>Une session intéressante pour commencer la journée: le <em>Peer-to-Peer via GameKit </em>(l&#8217;OS 3.0 est sorti là, on peut citer des noms? <img src='http://blog.episode-2.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> ).  Fonctionnalité très pratique pour développer des jeux multi-joueurs via bluetooth par exemple.  GameKit intègre également le transport de la voix.<br />
On continue dans l&#8217;intéressant avec une autre nouveauté de l&#8217;OS 3.0: <em>les achats sur le store, à l&#8217;intérieur d&#8217;une application (In-App Purchases).</em> Le workflow de cette fonctionnalité est bien pensé, mais quelques lacunes se présentent dès que l&#8217;on creuse un peu.  Le principal problème est qu&#8217;une application gratuite doit rester gratuite, il est donc impossible de vendre du contenu additif à celle-ci.  Le second soucis est le micro-payement: Apple prélevant 30% sur chaque transaction, effectuer des ventes à des prix inférieurs à 1 EUR force le créateur à augmenter les prix de son contenu additif, et peut devenir, dès lors, moins compétitif.<br />
L&#8217;après-midi, on reprend avec du lourd, avec une session sur la <em>maîtrise des scroll views sur l&#8217;iPhone</em>.  Les infos défilent, mieux vaut ne pas essayer de prendre note pour suivre <img src='http://blog.episode-2.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   Ceci dit, il est très intéressant de voir les possibilités offertes par les scroll views, au delà de leur usage de base.<br />
On enchaîne avec une partie plus orientée Web: <em>le playback de media via les tags HTML5</em> dédiés (audio, video).  Ayant déjà utilisé ces tags, je m&#8217;attends à découvrir quelque chose d&#8217;inédit, mais je quitte la session en cours: la majeure partie de celle-ci consiste en du copier/coller de code javascript pour mettre en place un player&#8230; Bof.  J&#8217;en profite pour aller faire un tour <a href="http://twitpic.com/6z5e8" target="_blank">aux labs</a>, harponner un ingé Apple et lui poser deux ou trois questions.</p>
<p>Le soir se déroule l&#8217;<em>iPhone Launch Party</em> à laquelle participent pas mal de développeurs, mais c&#8217;est déjà trop tard pour s&#8217;inscrire&#8230; On peut toujours faire la file devant l&#8217;entrée, et attendre qu&#8217;une place se libère à l&#8217;intérieur, mais la file est déjà importante. A la place, je me rends à la WWDC Tweetup, qui ne casse pas des briques.  Après l&#8217;une ou l&#8217;autre bière avec Mark (auteur de l&#8217;application iBacon!), on décide de repasser devant l&#8217;entrée du Cartoon Art Museum où se déroule l&#8217;iPhone Launch Party, pour voir s&#8217;il y a moyen de rentrer.  Juste devant la porte, surprise: un certain <a href="http://twitpic.com/73nif" target="_blank">Steve Wozniak</a>&#8230; Mais c&#8217;est toujours la file, pas envie d&#8217;attendre, je rentre à l&#8217;hôtel.</p>
<p><strong>Jeudi</strong></p>
<p>Pour les sessions du jour:<br />
- on commence par du très tactile: <em>Processing multi-touch events</em>.  Gestion des évenements lors des touches sur l&#8217;écran, &#8230;<br />
- ensuite, <em>utilisation de Core Location</em>, localisation et utilisation de la boussole présente dans le nouvel iPhone 3GS.<br />
- comment bien <em>structurer une application iPhone</em> (modèle MVC, etc)<br />
- et enfin une session que je classerais dans trucs et astuces sur les View Controllers.  Une session sensée être d&#8217;un niveau &laquo;&nbsp;expert&nbsp;&raquo;, un peu exagéré à mon goût.</p>
<p>Le soir, c&#8217;est le classique <em>Beer Bash</em>, event organisé cette fois par Apple, aux <a href="http://maps.google.be/maps?f=q&amp;source=s_q&amp;hl=fr&amp;geocode=&amp;q=750+Folsom+Street+San+Francisco,+CA+94107,+United+States&amp;sll=37.785334,-122.402501&amp;sspn=0.018451,0.04549&amp;ie=UTF8&amp;ll=37.784096,-122.400184&amp;spn=0.009225,0.022745&amp;z=16&amp;iwloc=r0" target="_blank">Yerba Buena Gardens</a>.  Au programme, bouffe et boissons (bières, vins, &#8230;) à volonté, et <a href="http://twitpic.com/766rb" target="_blank"><em>Cake</em> en live</a>.  Bonne performance du groupe, mais dommage, cette soirée se termine assez tôt.</p>
<p><img class="aligncenter size-full wp-image-579" title="sfo_6" src="http://blog.episode-2.com/wp-content/uploads/2009/06/sfo_6.jpg" alt="sfo_6" width="400" height="190" /></p>
<p><strong>Vendredi</strong></p>
<p>Et on entame la dernière journée de conférence de la semaine.  Un programme plutôt léger aujourd&#8217;hui, les sessions se terminent à 15h30. Ceci dit, la journée commence un peu trop violemment avec une session sur le performance tuning avec Shark.  C&#8217;est un poil hardcore par moments, et la présentation donne malheureusement envie de dormir&#8230;  On enchaîne avec l&#8217;internationalisation d&#8217;applications pour Mac &amp; iPhone, toujours le même sentiment d&#8217;endormissement&#8230; Serait-ce à cause de la veille? <img src='http://blog.episode-2.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   Ayant déjà expérimenté cet aspect de la création d&#8217;applis, rien de bien nouveau durant cette session.<br />
Pendant le temps de midi, c&#8217;est Neil Young, créateur de la société ngmoco qui monte sur scène, pour nous raconter comment il a décidé de mettre en place sa société, et à quel point c&#8217;est un succès pour eux actuellement.  Leurs jeux sont téléchargés par millions.  Ce Neil Young a l&#8217;air vraiment doué en comm, sa session est amusante et donne envie d&#8217;être écoutée.<br />
La dernière session de la WWDC 09 à laquelle je participe: comment publier une application sur le store.  Bon, là, pareil, rien de bien neuf, à part peut-être les explications sur la vente de contenu additif.  Une chose assez comique: pratiquement toutes les sessions de la semaine se sont terminées par une séance de Q&amp;A&#8230; sauf celle-ci, malgré la queue de gens qui se formait déjà derrière les micros.  La session terminée, ils ont directement passé le slide &laquo;&nbsp;Thank you&nbsp;&raquo;, puis bye bye&#8230; Ils veulent certainement éviter les polémiques en public <img src='http://blog.episode-2.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
Voilà qui termine ma semaine à la WWDC 2009!  Je retourne à l&#8217;hôtel aussitôt histoire de reprendre mon matériel de touriste, puis j&#8217;emprunte à nouveau le Cable Car direction Fisherman&#8217;s Wharf, où je loue un vélo afin de rejoindre et <a href="http://www.flickr.com/photos/bkill/3628312271/in/set-72157619774573906/" target="_blank">traverser le Golden Gate</a>.  Impossible de venir à SFO sans au moins se rendre là bas, c&#8217;est une étape obligée de mon voyage <img src='http://blog.episode-2.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   2h de balade à vélo pour traverser ce pont mythique, malgré le temps pas au top.  On organise ensuite une petite bouffe dans un resto &laquo;&nbsp;typique&nbsp;&raquo; italo-mexicain, avec des collègues de Pragma Consult (du Luxembourg aussi), rencontrés tout à fait par hasard la veille.  La soirée se termine en leur compagnie par une petite bière dans un pub irlandais.  Je les laisse aller dormir, ils partent pour Los Angeles tôt le lendemain matin&#8230; Braaaaah.</p>
<p><strong>Samedi</strong></p>
<p>Voila, c&#8217;est terminé pour moi&#8230; Quelques emplettes avant de partir, les dernières photos, puis j&#8217;emprunte le BART pour le retour vers l&#8217;aéroport. Il est 10h30&#8230;  Embarquement à 14h45, mon avion décolle à 15h30. Arrivée à Luxembourg prévue pour le dimanche à 13h environ.  Un vol de retour plutôt mouvementé, ça bouge dans tous les sens, il ne fait visiblement pas très beau dehors!</p>
<p><strong>En conclusion</strong></p>
<p>Chapeau à Apple pour l&#8217;organisation générale de la semaine, c&#8217;était presque au top.  Je pense qu&#8217;il faut avoir une certaine habitude pour gérer une fourmillière de 5000 personnes pendant tout une semaine&#8230;  Les ravitaillements en nourriture étaient plutôt agréables, et si un coup de pompe se faisait sentir entre deux sessions, des tables étaient dressées à chaque étage pour se faire une injection de caféine avant de retourner à la suivante.  Le déjeuner était un buffet de patisseries, croissants, &#8230; tandis que le dîner était une lunch box avec crudités, sandwiches, &#8230;<br />
Les salles de conférence sont vraiment bien équipées, écran géants et le son est au top. Il faudrait juste revoir les musiques qui sont diffusées tout au long de la semaine, avant chaque session (le temps que les gens se placent) afin de les varier un peu plus&#8230; J&#8217;aimais bien Pink les premiers jours, mais vers le mecredi, ca commençait sérieusement à me gaver <img src='http://blog.episode-2.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .  La plupart des salles du Moscone sont suffisamment grandes pour accueillir assez de participants.<br />
Au niveau des Labs, il était possible d&#8217;apporter son code et de discuter de problèmes précis avec les ingénieurs Apple présents sur place.  Un petit regret à ce niveau:  beaucoup de monde était  présent à ces labs, il fallait donc pouvoir patienter avant de pouvoir parler avec quelqu&#8217;un.  Et lorsqu&#8217;enfin c&#8217;était possible, il pouvait s&#8217;avérer que l&#8217;ingénieur en question ne soit pas dans le domaine de la question&#8230; Ils étaient un peu trop spécialisés, et ce n&#8217;était malheureusement pas indiqué leur domaine de compétence principal sur leur badge.  J&#8217;aurais préféré aussi que ces labs soient des exercices dirigés pour se familiariser avec les nouveautés découvertes la veille.  C&#8217;est plutôt compliqué de découvrir des technos dans une session, et de déjà venir avec des questions précises sur du code le lendemain.<br />
Le programme des sessions était pas mal chargé, et se rendre seul là bas force obligatoirement à faire des choix dans le programme&#8230; Dur de se décider lorsqu&#8217;on vous propose 4 sessions en même temps qui ont l&#8217;air toutes intéressantes en regardant le sujet.  Bon je me suis sans doute planté une fois ou l&#8217;autre sur le réel intérêt de certaines sessions, mais l&#8217;avantage est qu&#8217;en tant que participant, l&#8217;intégralité des sessions sera disponible gratuitement sur le site d&#8217;Apple.  Tout n&#8217;est pas perdu <img src='http://blog.episode-2.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Au final, super semaine!  Une chose est sûre: cette superbe ville me reverra un jour!</p>
<p><img class="aligncenter size-full wp-image-577" title="sfo_5" src="http://blog.episode-2.com/wp-content/uploads/2009/06/sfo_51.jpg" alt="sfo_5" width="400" height="266" /></p>
<p><strong>Gallerie photos</strong></p>
<p><a class="flickr" href="http://www.flickr.com/photos/bkill/sets/72157619774573906/" target="_blank">C&#8217;est par ici</a> !</p>
<img src="http://feeds.feedburner.com/~r/episode2/~4/wv5-M7KWhHU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.episode-2.com/2009/06/22/retour-sur-la-wwdc-2009/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://blog.episode-2.com/2009/06/22/retour-sur-la-wwdc-2009/</feedburner:origLink></item>
		<item>
		<title>iPhone/iPod OS 3.0: désimlockage et jailbreak en plusieurs packages</title>
		<link>http://feedproxy.google.com/~r/episode2/~3/ThntqSxJgmE/</link>
		<comments>http://blog.episode-2.com/2009/06/19/iphoneipod-os-3-0-desimlockage-et-jailbreak-en-plusieurs-packages/#comments</comments>
		<pubDate>Fri, 19 Jun 2009 18:03:41 +0000</pubDate>
		<dc:creator>bkill</dc:creator>
				<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://blog.episode-2.com/?p=556</guid>
		<description><![CDATA[Edit du 23/06: ultrasn0w est désormais disponible au téléchargement, vous pourrez donc désimlocker votre iPhone 3G avec le firmware 3.0 installé!
Edit du 05/07: grâce à Geohot et son outil purplera1n, l&#8217;iPhone 3GS est désormais jailbreakable/activable avec l&#8217;OS 3.0! L&#8217;application est maintenant disponible pour windows (compatible vista/7), ainsi que pour mac! Tutoriel chez belgium-iphone!
Suite à l&#8217;arrivée [...]]]></description>
			<content:encoded><![CDATA[<p><span style="text-decoration: underline;"><strong>Edit du 23/06</strong></span><strong>:</strong> <em>ultrasn0w est désormais disponible au téléchargement, vous pourrez donc désimlocker votre iPhone 3G avec le firmware 3.0 installé!</em></p>
<p><span style="text-decoration: underline;"><strong>Edit du 05/07</strong></span>: grâce à <em>Geohot</em> et son outil <a href="http://purplera1n.com/" target="_blank">purplera1n</a>, l&#8217;iPhone 3GS est désormais jailbreakable/activable avec l&#8217;OS 3.0! L&#8217;application est maintenant disponible pour windows (compatible vista/7), ainsi que pour mac! Tutoriel chez <a href="http://www.belgium-iphone.com/forum/viewtopic.php?f=77&amp;t=27690" target="_blank">belgium-iphone</a>!</p>
<p>Suite à l&#8217;arrivée de l&#8217;OS 3.0 pour iPhone ce jeudi, la <a href="http://blog.iphone-dev.org" target="_blank">Devteam</a> (bien connue pour son Pwnage Tool) nous annonçait les outils utiles au désimlockage et au jailbreak de votre iPhone pour la fin de cette semaine.  Une mise à jour vient d&#8217;être postée à l&#8217;instant sur leur blog, présentant leurs avancées, résumées ici:</p>
<p>- Seule la version MacOSX du Pwnage Tool est actuellement disponible.<br />
- <strong>Si vous disposez d&#8217;un iPhone 1st gen</strong>, <strong>pas de soucis pour vous</strong>, vous pourrez utiliser le Pwnage Tool pour désimlocker/jailbreaker votre iPhone.  <strong><br />
</strong>-<strong> Le jailbreak d&#8217;un iPod Touch 1st gen fonctionnera aussi</strong>.  <strong>Pas de support </strong>encore pour les<strong> iPod touch 2nd gen</strong>.<br />
- <strong>Si vous disposez d&#8217;un iPhone 3G désimlocké</strong>, et que vous avez utilisé <strong>yellowsn0w</strong> pour le désimlockage, <span style="text-decoration: line-through;"><strong>passez votre chemin pour le moment</strong></span>.  La nouvelle manière de désimlocker votre iPhone 3G repose sur l&#8217;outil ultrasn0w,<span style="text-decoration: line-through;"> qui n&#8217;est pas encore prêt pour le moment</span>.  <span style="text-decoration: line-through;">Il sera disponible prochainement via un package Cydia.  Entre temps, si vous utilisez le Pwnage Tool, votre iPhone sera de nouveau simlocké</span>. Ultrasn0w est disponible via un package Cydia, <a href="http://blog.iphone-dev.org/post/128573459/ultras-now" target="_blank">la procédure pour l&#8217;installer est disponible ici.</a><br />
- <strong>Yellosn0w</strong>, dans son état actuel, <strong>ne permet pas le désimlock d&#8217;iPhones dont le baseband a été mis à jour avec la version 3.0 de l&#8217;OS</strong>.  Seul <strong>ultrasn0w</strong> <strong>permettra à nouveau ce désimlock</strong>.<br />
- <strong>Le Pwnage Tool ne fonctionne pas avec le nouvel iPhone 3GS</strong>. Mais</p>
<p>Donc en gros,<br />
- <span style="text-decoration: underline;">Mac + iPhone v1</span>: <span style="color: #008000;">Jailbreak + desimlock OK</span>!<br />
- <span style="text-decoration: underline;">Mac + iPod Touch v1</span>: <span style="color: #008000;">Jailbreak OK</span>!<br />
- <span style="text-decoration: underline;">Mac + iPod Touch v2</span>: <span style="color: #ff0000;">Pas de support</span> actuellement.<br />
- <span style="text-decoration: underline;">Mac + iPhone 3G sur votre opérateur officiel</span>:<span style="color: #008000;"> jailbreak OK</span>!<br />
- <span style="text-decoration: underline;">Mac + iPhone 3G désimlocké</span>: <span style="color: #008000;">jailbreak OK</span> <span style="text-decoration: line-through;">mais <span style="color: #000000;">desimlock PAS OK, <strong>attendez</strong></span></span> <span style="color: #339966;">+ desimlock OK via ultrasn0w</span>!<br />
- <span style="text-decoration: underline;">Mac + iPhone 3GS</span>: <span style="color: #ff0000;">Pwnage Tool ne fonctionne pas</span> avec ce nouvel iPhone. <span style="color: #339966;">Utilisez purplera1n de Geohot pour jailbreaker/activer votre iPhone</span>, et <span style="color: #339966;">desimlock via ultrasn0w</span>!<br />
- <span style="text-decoration: underline;">Les autres</span>: il va falloir patienter <img src='http://blog.episode-2.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Les liens pour les téléchargements du Pwnage Tool sont sur <a href="http://blog.iphone-dev.org/post/126465561/trois-drei-h-rom" target="_blank">l&#8217;article en question</a>.</p>
<img src="http://feeds.feedburner.com/~r/episode2/~4/ThntqSxJgmE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.episode-2.com/2009/06/19/iphoneipod-os-3-0-desimlockage-et-jailbreak-en-plusieurs-packages/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.episode-2.com/2009/06/19/iphoneipod-os-3-0-desimlockage-et-jailbreak-en-plusieurs-packages/</feedburner:origLink></item>
		<item>
		<title>WWDC 2009, j’y serai!</title>
		<link>http://feedproxy.google.com/~r/episode2/~3/MWnOzrPogmo/</link>
		<comments>http://blog.episode-2.com/2009/06/05/wwdc-2009-jy-serai/#comments</comments>
		<pubDate>Fri, 05 Jun 2009 13:24:18 +0000</pubDate>
		<dc:creator>bkill</dc:creator>
				<category><![CDATA[développement]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[san francisco]]></category>
		<category><![CDATA[wwdc]]></category>

		<guid isPermaLink="false">http://blog.episode-2.com/?p=549</guid>
		<description><![CDATA[La semaine prochaine, j'aurai la chance d'être à San Francisco pour l'un des évènements 'geek' annuels majeurs: la WorldWide Developers Conference!]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-551" title="Moscone Center, WWDC" src="http://blog.episode-2.com/wp-content/uploads/2009/06/wwdc-moscone.png" alt="Moscone Center, WWDC" width="500" height="156" /></p>
<p>La semaine prochaine, j&#8217;aurai la chance d&#8217;être à San Francisco pour l&#8217;un des évènements &#8216;geek&#8217; annuels majeurs: la <a href="http://developer.apple.com/wwdc/" target="_blank">WorldWide Developers Conference</a>.  Organisée par Apple au Moscone Center, cette conférence (sold-out, pour la 2ème année consécutive) regroupe quelque 5000 développeurs du monde entier, à qui seront présentés les dernières innovations made in Apple (iPhone v3?), ainsi que des sessions &amp; labs pour maîtriser les développements basés sur les technologies à la pomme.<br />
Le programme des sessions est d&#8217;ailleurs assez chargé, et c&#8217;est parfois dur de faire un choix lorsque 4 sessions se déroulent dans le même timeframe.</p>
<p>C&#8217;est donc demain matin 6h que je décolle en direction de SFO, 11h de vol depuis Paris CDG (sans compter le trajet LUX &gt; CDG), pour une arrivée prévue vers 12pm, heure locale&#8230; Le vol risque d&#8217;être long, mais j&#8217;ose espérer qu&#8217;il en vaudra la peine.  Steve Jobs ayant été apperçu sur le campus d&#8217;Apple, peut-être aurai-je l&#8217;occasion de l&#8217;apercevoir? Mais bon, rien n&#8217;est sûr de ce côté, étant donné que la Keynote sera menée par Phil Schiller cette année.  Autant vous dire que je suis impatient d&#8217;y être <img src='http://blog.episode-2.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Vous pouvez me <a href="http://www.twitter.com/bkill" target="_blank">suivre sur Twitter</a> pour les petites infos croustillantes en live (du moins, celles que j&#8217;aurai l&#8217;autorisation de diffuser, la majeure partie de la WWDC étant sous le couvert du NDA&#8230;)!  Et si vous aussi, vous y allez, n&#8217;hésitez pas à me laisser un petit message, on peut se rencontrer là bas!</p>
<p>&laquo;&nbsp;<a href="http://www.youtube.com/watch?v=TlQCuq-eezg" target="_blank"><em>If you&#8217;re going to Saaaaan Fraaaaanciscooooo&#8230;.</em></a>&nbsp;&raquo; <img src='http://blog.episode-2.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<img src="http://feeds.feedburner.com/~r/episode2/~4/MWnOzrPogmo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.episode-2.com/2009/06/05/wwdc-2009-jy-serai/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://blog.episode-2.com/2009/06/05/wwdc-2009-jy-serai/</feedburner:origLink></item>
		<item>
		<title>iPhone SDK: modifier dynamiquement la property « frame » d’une MPVolumeView</title>
		<link>http://feedproxy.google.com/~r/episode2/~3/JNc3_N3GFmw/</link>
		<comments>http://blog.episode-2.com/2009/05/15/iphone-sdk-modifier-dynamiquement-la-property-frame-dune-mpvolumeview/#comments</comments>
		<pubDate>Fri, 15 May 2009 07:16:39 +0000</pubDate>
		<dc:creator>bkill</dc:creator>
				<category><![CDATA[développement]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[mpvolumeview]]></category>
		<category><![CDATA[sdk]]></category>

		<guid isPermaLink="false">http://blog.episode-2.com/?p=536</guid>
		<description><![CDATA[Modifier dynamiquement la propriété "frame" d'une MPVolumeView après le chargement d'une vue n'aurait aucun effet?  Voila comment contourner ce soucis.]]></description>
			<content:encoded><![CDATA[<p>Dans une application en cours de développement pour l&#8217;iPhone (SDK 2.2.1), j&#8217;utilise la classe <a href="http://developer.apple.com/iphone/library/documentation/MediaPlayer/Reference/MPVolumeView_Class/Introduction/Introduction.html" target="_blank">MPVolumeView</a> pour afficher un contrôle de volume dans une vue.  Or, j&#8217;ai besoin de déplacer ce contrôle de manière dynamique dans ma vue, même après son chargement.  Cette classe héritant de <a href="http://developer.apple.com/iphone/library/documentation/UIKit/Reference/UIView_Class/UIView/UIView.html#//apple_ref/occ/instp/UIView/frame" target="_blank">UIView</a>, j&#8217;ai tenté d&#8217;utiliser la propriété <strong>frame</strong> pour repositionner mon contrôle après que la vue ait été déjà construite. Pour donner un exemple concret:</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
</pre></td><td class="code"><pre class="objc" style="font-family:monospace;"><span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span><span style="color: #a61390;">void</span><span style="color: #002200;">&#41;</span> viewDidLoad <span style="color: #002200;">&#123;</span>
	<span style="color: #11740a; font-style: italic;">//...</span>
	volumeView <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>MPVolumeView alloc<span style="color: #002200;">&#93;</span> initWithFrame<span style="color: #002200;">:</span>CGRectMake<span style="color: #002200;">&#40;</span><span style="color: #2400d9;">20</span>,<span style="color: #2400d9;">380</span>,<span style="color: #2400d9;">195</span>,<span style="color: #2400d9;">20</span><span style="color: #002200;">&#41;</span><span style="color: #002200;">&#93;</span>;
	volumeView.tag <span style="color: #002200;">=</span> <span style="color: #2400d9;">100</span>;
	<span style="color: #002200;">&#91;</span>self.view addSubview<span style="color: #002200;">:</span>volumeView<span style="color: #002200;">&#93;</span>;
	<span style="color: #002200;">&#91;</span>volumeView release<span style="color: #002200;">&#93;</span>;
	<span style="color: #11740a; font-style: italic;">//...</span>
<span style="color: #002200;">&#125;</span>
&nbsp;
<span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span><span style="color: #a61390;">void</span><span style="color: #002200;">&#41;</span> updateVolumeViewPosition <span style="color: #002200;">&#123;</span>
	MPVolumeView <span style="color: #002200;">*</span>vol <span style="color: #002200;">=</span> <span style="color: #002200;">&#40;</span>MPVolumeView <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span><span style="color: #002200;">&#91;</span>self.view viewWithTag<span style="color: #002200;">:</span><span style="color: #2400d9;">100</span><span style="color: #002200;">&#93;</span>;
	vol.frame <span style="color: #002200;">=</span> CGRectMake<span style="color: #002200;">&#40;</span><span style="color: #2400d9;">60</span>, <span style="color: #2400d9;">380</span>, <span style="color: #2400d9;">195</span>,<span style="color: #2400d9;">20</span><span style="color: #002200;">&#41;</span>; <span style="color: #11740a; font-style: italic;">// n'a aucun effet</span>
<span style="color: #002200;">&#125;</span></pre></td></tr></table></div>

<p>Il s&#8217;est avéré que changer cette propriété de ma vue MPVolumeView n&#8217;a aucun effet&#8230; Bug ? Pas bug ?</p>
<p>La solution que j&#8217;ai trouvée pour contourner ce petit soucis, est de placer ma volumeView en tant que subview d&#8217;un &laquo;&nbsp;container&nbsp;&raquo; UIView, et de changer la propriété <strong>frame</strong> de ce container.</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
15
16
</pre></td><td class="code"><pre class="objc" style="font-family:monospace;"><span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span><span style="color: #a61390;">void</span><span style="color: #002200;">&#41;</span> viewDidLoad <span style="color: #002200;">&#123;</span>
	<span style="color: #11740a; font-style: italic;">//...</span>
	volumeViewContainer <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>UIView alloc<span style="color: #002200;">&#93;</span> initWithFrame<span style="color: #002200;">:</span>CGRectMake<span style="color: #002200;">&#40;</span><span style="color: #2400d9;">20</span>,<span style="color: #2400d9;">380</span>,<span style="color: #2400d9;">195</span>,<span style="color: #2400d9;">20</span><span style="color: #002200;">&#41;</span><span style="color: #002200;">&#93;</span>;
	volumeViewContainer.tag <span style="color: #002200;">=</span> <span style="color: #2400d9;">100</span>;
	volumeView <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span>MPVolumeView alloc<span style="color: #002200;">&#93;</span> initWithFrame<span style="color: #002200;">:</span>CGRectMake<span style="color: #002200;">&#40;</span><span style="color: #2400d9;">0</span>,<span style="color: #2400d9;">0</span>,<span style="color: #2400d9;">195</span>,<span style="color: #2400d9;">20</span><span style="color: #002200;">&#41;</span><span style="color: #002200;">&#93;</span>;
	<span style="color: #002200;">&#91;</span>volumeViewContainer addSubview<span style="color: #002200;">:</span>volumeView<span style="color: #002200;">&#93;</span>;
	<span style="color: #002200;">&#91;</span>volumeView release<span style="color: #002200;">&#93;</span>;
	<span style="color: #002200;">&#91;</span>self.view addSubview<span style="color: #002200;">:</span>volumeViewContainer<span style="color: #002200;">&#93;</span>;
	<span style="color: #002200;">&#91;</span>volumeViewContainer release<span style="color: #002200;">&#93;</span>;
	<span style="color: #11740a; font-style: italic;">//...</span>
<span style="color: #002200;">&#125;</span>
&nbsp;
<span style="color: #002200;">-</span> <span style="color: #002200;">&#40;</span><span style="color: #a61390;">void</span><span style="color: #002200;">&#41;</span> updateVolumeViewPosition <span style="color: #002200;">&#123;</span>
	UIView <span style="color: #002200;">*</span>volContainer <span style="color: #002200;">=</span> <span style="color: #002200;">&#40;</span>UIView <span style="color: #002200;">*</span><span style="color: #002200;">&#41;</span><span style="color: #002200;">&#91;</span>self.view viewWithTag<span style="color: #002200;">:</span><span style="color: #2400d9;">100</span><span style="color: #002200;">&#93;</span>;
	volContainer.frame <span style="color: #002200;">=</span> CGRectMake<span style="color: #002200;">&#40;</span><span style="color: #2400d9;">60</span>, <span style="color: #2400d9;">380</span>, <span style="color: #2400d9;">195</span>,<span style="color: #2400d9;">20</span><span style="color: #002200;">&#41;</span>;
<span style="color: #002200;">&#125;</span></pre></td></tr></table></div>

<img src="http://feeds.feedburner.com/~r/episode2/~4/JNc3_N3GFmw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.episode-2.com/2009/05/15/iphone-sdk-modifier-dynamiquement-la-property-frame-dune-mpvolumeview/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.episode-2.com/2009/05/15/iphone-sdk-modifier-dynamiquement-la-property-frame-dune-mpvolumeview/</feedburner:origLink></item>
		<item>
		<title>iPhone: votre future application doit déjà être compatible avec l’OS 3.0!</title>
		<link>http://feedproxy.google.com/~r/episode2/~3/yW8my3zRDww/</link>
		<comments>http://blog.episode-2.com/2009/05/08/iphone-votre-future-application-doit-deja-etre-compatible-avec-los-30/#comments</comments>
		<pubDate>Fri, 08 May 2009 09:10:29 +0000</pubDate>
		<dc:creator>bkill</dc:creator>
				<category><![CDATA[Actu]]></category>
		<category><![CDATA[développement]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[sdk]]></category>

		<guid isPermaLink="false">http://blog.episode-2.com/?p=530</guid>
		<description><![CDATA[Testez vos applications iPhone avec la beta du firmware 3.0, sous peine de rejet de celles-ci...]]></description>
			<content:encoded><![CDATA[<p>Lu ce matin chez <a href="http://www.techcrunch.com" target="_blank">Techcrunch</a> (oui, parce que même en tant que développeur iPhone, je n&#8217;ai pas -encore?- reçu la fameuse notification de la part d&#8217;Apple dont ils parlent): dorénavant, <a href="http://www.techcrunch.com/2009/05/07/its-30-or-die-for-new-iphone-apps/" target="_blank">vos soumissions d&#8217;applications seront testées sur l&#8217;OS 3.0</a>.  Si elles ne sont pas compatibles (nous en sommes actuellement à la Beta 5 du SDK 3.0), votre application sera rejetée.  Bonne idée que de prendre les devants, mais c&#8217;est tout de même une sacrée contrainte&#8230; Cela veut dire que vous devez disposer d&#8217;un iPhone de développement, upgradé en version 3.0.  MAIS, n&#8217;upgradez pas votre seul et unique appareil de développement actuellement en 2.x, vous ne pourrez pas revenir en arrière, une fois cette beta installée&#8230;  Vous n&#8217;aurez alors plus de moyen de tester si votre application fonctionne encore en 2.x!  Ceci dit, votre application doit être compatible avec le 3.0, mais ne peut évidemment utiliser aucune des nouveautés de ce firmware!</p>
<p>Bref, il va falloir mettre la main au portefeuille pour s&#8217;assurer que votre application tourne en 2.x, et est toujours compatible avec le futur 3.x (toujours en beta, rappelons-le).  Oui parce que le simulateur est bien, mais ne dispose évidemment pas de fonctionnalités techniques identiques à l&#8217;iPhone&#8230; De plus,  j&#8217;ai également eu plusieurs cas où même son comportement logiciel n&#8217;est pas identique à l&#8217;iPhone: là où ce dernier ne m&#8217;indique aucun memory leak dans mon application, le simulateur &#8211; dont la version d&#8217;OS est la même &#8211; m&#8217;en trouve&#8230;</p>
<p>Ah, et si vous avez déjà des applications sur le store, prenez également les devants: il faudra qu&#8217;elles soient 3.0-ready le jour de la mise à disposition du firmware au grand public.  Sinon: bye bye&#8230;</p>
<p><img class="aligncenter size-full wp-image-533" title="iphones" src="http://blog.episode-2.com/wp-content/uploads/2009/05/iphones.jpg" alt="iphones" width="400" height="300" /></p>
<p style="text-align: center;"><em>Photo prise avec le G1&#8230; <img src='http://blog.episode-2.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </em></p>
<img src="http://feeds.feedburner.com/~r/episode2/~4/yW8my3zRDww" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.episode-2.com/2009/05/08/iphone-votre-future-application-doit-deja-etre-compatible-avec-los-30/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.episode-2.com/2009/05/08/iphone-votre-future-application-doit-deja-etre-compatible-avec-los-30/</feedburner:origLink></item>
		<item>
		<title>MacOSX et iPhone SDK: ralentissez votre connexion à Internet!</title>
		<link>http://feedproxy.google.com/~r/episode2/~3/Z_BCHxegzwY/</link>
		<comments>http://blog.episode-2.com/2009/04/29/macosx-et-iphone-sdk-ralentissez-votre-connexion-a-internet/#comments</comments>
		<pubDate>Wed, 29 Apr 2009 10:30:55 +0000</pubDate>
		<dc:creator>bkill</dc:creator>
				<category><![CDATA[développement]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[sdk]]></category>

		<guid isPermaLink="false">http://blog.episode-2.com/?p=516</guid>
		<description><![CDATA[Grâce à Speed Limit, ralentissez votre connexion à Internet sur des domaines précis, afin de tester plus efficacement vos développements iPhone dans le simulateur.]]></description>
			<content:encoded><![CDATA[<p>Lorsque vous testez vos développements iPhone dans le simulateur, et que ceux-ci accèdent à Internet, vous disposez en général d&#8217;une bonne connexion qui ne reflète pas forcément (voire pas du tout) les conditions dans lesquelles votre application sera utilisée (3G, Edge,&#8230;).</p>
<p>La découverte du jour, c&#8217;est <a href="http://mschrag.github.com/" target="_blank">Speed Limit</a>, proposée par <a href="http://mschrag.blogspot.com/" target="_blank">Mike Schrag</a>: après installation du package, cet ajout aux préférences systèmes de votre Mac OSX Leopard permet de forcer une limite de vitesse sur des domaines donnés, en spécifiant la vitesse à y appliquer.  Ainsi vous pourrez accéder à un domaine précis à la vitesse d&#8217;une connexion Edge, par exemple, afin d&#8217;avoir une réelle idée du comportement de votre application en connexion limitée:</p>
<p><img class="aligncenter size-full wp-image-517" title="speedlimit" src="http://blog.episode-2.com/wp-content/uploads/2009/04/speedlimit.png" alt="speedlimit" width="400" height="153" /></p>
<p>Plus pratique que de saturer votre connexion avec des downloads bittorrent pour simuler la lenteur <img src='http://blog.episode-2.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><a href="http://mschrag.github.com/" target="_blank">A télécharger ici.</a></p>
<img src="http://feeds.feedburner.com/~r/episode2/~4/Z_BCHxegzwY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.episode-2.com/2009/04/29/macosx-et-iphone-sdk-ralentissez-votre-connexion-a-internet/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://blog.episode-2.com/2009/04/29/macosx-et-iphone-sdk-ralentissez-votre-connexion-a-internet/</feedburner:origLink></item>
		<item>
		<title>Les liens intéressants du jour pour les développeurs iPhone</title>
		<link>http://feedproxy.google.com/~r/episode2/~3/7pxOFM-4K1k/</link>
		<comments>http://blog.episode-2.com/2009/04/08/les-liens-interessants-du-jour-pour-les-developpeurs-iphone/#comments</comments>
		<pubDate>Wed, 08 Apr 2009 16:22:46 +0000</pubDate>
		<dc:creator>bkill</dc:creator>
				<category><![CDATA[développement]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[sdk]]></category>
		<category><![CDATA[xcode]]></category>

		<guid isPermaLink="false">http://blog.episode-2.com/?p=493</guid>
		<description><![CDATA[- Mobile Orchard nous propose une cheatsheet contenant pas moins de 34 macros utilisables dans XCode, dont vous vous servirez sans aucun doute dès que vous connaîtrez leur existence    Les macros sont des raccourcis pour des bouts de code utilisés fréquemment, comme les import, les boucles, &#8230;
Pour se servir d&#8217;une macro, très simple: [...]]]></description>
			<content:encoded><![CDATA[<p>- <a href="http://www.mobileorchard.com" target="_blank">Mobile Orchard</a> nous propose <a href="http://www.mobileorchard.com/xcode-objective-c-macros-cheatsheet-for-iphone-programmers/" target="_blank">une cheatsheet contenant pas moins de 34 macros utilisables dans XCode</a>, dont vous vous servirez sans aucun doute dès que vous connaîtrez leur existence <img src='http://blog.episode-2.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   Les macros sont des raccourcis pour des bouts de code utilisés fréquemment, comme les import, les boucles, &#8230;</p>
<p>Pour se servir d&#8217;une macro, très simple: tapez simplement son nom dans votre code, appuyez sur <em>escape</em>, et choisissez la valeur apparaissant dans la listbox.  Exemple ci-dessous avec la macro <strong>pims</strong> qui facilite l&#8217;insertion du code pour un <strong>#import &lt;&gt;</strong> (système).</p>
<p><a href="http://blog.episode-2.com/wp-content/uploads/2009/04/xcode_macros.png"><img class="aligncenter size-full wp-image-499" title="xcode_macros" src="http://blog.episode-2.com/wp-content/uploads/2009/04/xcode_macros.gif" alt="xcode_macros" width="306" height="198" /><br />
</a></p>
<p>Pratique!</p>
<p>- <a href="http://www.chaosinmotion.com/index.jsp" target="_blank">William Woody</a> a codé un système de <a href="http://fr.wikipedia.org/wiki/Cover_Flow" target="_blank">coverflow</a> agissant comme celui présent notamment dans l&#8217;application iPod. <a href="http://www.chaosinmotion.com/flowcover.m" target="_blank">Son code est open source</a>! Thanks William!</p>
<p><img class="aligncenter size-full wp-image-496" title="flowcover" src="http://blog.episode-2.com/wp-content/uploads/2009/04/flowcover.png" alt="flowcover" width="350" height="182" /></p>
<img src="http://feeds.feedburner.com/~r/episode2/~4/7pxOFM-4K1k" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://blog.episode-2.com/2009/04/08/les-liens-interessants-du-jour-pour-les-developpeurs-iphone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://blog.episode-2.com/2009/04/08/les-liens-interessants-du-jour-pour-les-developpeurs-iphone/</feedburner:origLink></item>
	</channel>
</rss>
