<?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>Blog Objet Direct &#187; Yves Amsellem</title>
	<atom:link href="http://blog.objetdirect.com/author/yamsellem/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.objetdirect.com</link>
	<description>Génie logiciel objet</description>
	<lastBuildDate>Fri, 03 Feb 2012 11:54:00 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Applications REST sur le Google App Engine</title>
		<link>http://blog.objetdirect.com/divers/technique-ressources-rest-app-engine</link>
		<comments>http://blog.objetdirect.com/divers/technique-ressources-rest-app-engine#comments</comments>
		<pubDate>Sat, 29 May 2010 09:48:17 +0000</pubDate>
		<dc:creator>Yves Amsellem</dc:creator>
				<category><![CDATA[Divers]]></category>
		<category><![CDATA[Outillage]]></category>
		<category><![CDATA[Google App Engine]]></category>
		<category><![CDATA[REST]]></category>

		<guid isPermaLink="false">http://blog.objetdirect.com/?p=2001</guid>
		<description><![CDATA[Bien que très complet, l&#8217;App Engine de Google n&#8217;intègre pas la gestion des ressources REST. Voici comment la lui ajouter :

Télécharger la dernière version de jersey ou l&#8217;intégrer à maven ;
Ajouter les JAR suivants dans le répertoire /war/WEB-INF/lib :

asm-xxx.jar
jackson-core-asl-xxx.jar
jersey-client-xxx-ea-SNAPSHOT.jar
jersey-core-xxx-ea-SNAPSHOT.jar
jersey-json-xxx-ea-SNAPSHOT.jar
jersey-server-xxx-ea-SNAPSHOT.jar
jettison-xxx.jar
jsr311-api-xxx.jar

Modifier le web.xml comme suit :

&#60;servlet&#62;
	&#60;servlet-name&#62;Objet Direct Web Application&#60;/servlet-name&#62;
	&#60;servlet-class&#62;com.sun.jersey.spi.container.servlet.ServletContainer&#60;/servlet-class&#62;
	&#60;init-param&#62;
		&#60;param-name&#62;com.sun.jersey.config.property.packages&#60;/param-name&#62;
		&#60;param-value&#62;com.objetdirect&#60;/param-value&#62;
	&#60;/init-param&#62;
	&#60;load-on-startup&#62;1&#60;/load-on-startup&#62;
&#60;/servlet&#62;
&#60;servlet-mapping&#62;
	&#60;servlet-name&#62;Jersey Web Application&#60;/servlet-name&#62;
	&#60;url-pattern&#62;/resources/*&#60;/url-pattern&#62;
&#60;/servlet-mapping&#62;

Générer l&#8217;objet xml réponse (à partir d&#8217;un [...]]]></description>
			<content:encoded><![CDATA[<p>Bien que très complet, l&#8217;App Engine de Google n&#8217;intègre pas la gestion des ressources REST. Voici comment la lui ajouter :</p>
<ol>
<li><a href="http://download.java.net/maven/2/com/sun/jersey/jersey-archive" target="_blank">Télécharger</a> la dernière version de jersey ou l&#8217;intégrer à maven ;</li>
<li>Ajouter les JAR suivants dans le répertoire /war/WEB-INF/lib :</li>
<pre class="brush: plain; gutter: false;">
asm-xxx.jar
jackson-core-asl-xxx.jar
jersey-client-xxx-ea-SNAPSHOT.jar
jersey-core-xxx-ea-SNAPSHOT.jar
jersey-json-xxx-ea-SNAPSHOT.jar
jersey-server-xxx-ea-SNAPSHOT.jar
jettison-xxx.jar
jsr311-api-xxx.jar
</pre>
<li>Modifier le web.xml comme suit :</li>
<pre class="brush: xml;">
&lt;servlet&gt;
	&lt;servlet-name&gt;Objet Direct Web Application&lt;/servlet-name&gt;
	&lt;servlet-class&gt;com.sun.jersey.spi.container.servlet.ServletContainer&lt;/servlet-class&gt;
	&lt;init-param&gt;
		&lt;param-name&gt;com.sun.jersey.config.property.packages&lt;/param-name&gt;
		&lt;param-value&gt;com.objetdirect&lt;/param-value&gt;
	&lt;/init-param&gt;
	&lt;load-on-startup&gt;1&lt;/load-on-startup&gt;
&lt;/servlet&gt;
&lt;servlet-mapping&gt;
	&lt;servlet-name&gt;Jersey Web Application&lt;/servlet-name&gt;
	&lt;url-pattern&gt;/resources/*&lt;/url-pattern&gt;
&lt;/servlet-mapping&gt;
</pre>
<li>Générer l&#8217;objet xml réponse (à partir d&#8217;un xsd à l&#8217;aide de <a href="https://jaxb-workshop.dev.java.net/plugins/eclipse/xjc-plugin.html" target="_blank">xjc</a> par exemple) :</li>
<pre class="brush: xml;">
&lt;xsd:schema xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;&gt;
	&lt;xsd:element name=&quot;weather&quot;&gt;
		&lt;xsd:complexType&gt;
			&lt;xsd:attribute name=&quot;type&quot; type=&quot;xsd:string&quot;/&gt;
		&lt;/xsd:complexType&gt;
	&lt;/xsd:element&gt;
&lt;/xsd:schema&gt;
</pre>
<li>Annoter les classes ressources :</li>
<pre class="brush: java;">
package com.objetdirect;

@Path(&quot;/weather&quot;)
public class ObjetDirectResource {

	@GET
	@Path(&quot;/{city: [A-Z][a-z]+}&quot;)
	@Produces(MediaType.APPLICATION_XML)
	public Response getCityWeather(@PathParam(&quot;city&quot;) String cityName) {
		Weather weather = new Weather();
		weather.setType(&quot;Very clever on &quot; + cityName);

		ResponseBuilder responseBuilder;
		responseBuilder = Response.status(Status.OK);
		responseBuilder = responseBuilder.type(MediaType.APPLICATION_XML);
		responseBuilder = responseBuilder.entity(weather);
		Response response =  responseBuilder.build();
		return response;
	}
}
</pre>
<li>Démarrer le serveur et accéder à la resource <strong>localhost:8888/resources/weather/Paris</strong></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://blog.objetdirect.com/divers/technique-ressources-rest-app-engine/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introduction à la programmation sur iPhone</title>
		<link>http://blog.objetdirect.com/divers/introduction-a-la-programmation-sur-iphone</link>
		<comments>http://blog.objetdirect.com/divers/introduction-a-la-programmation-sur-iphone#comments</comments>
		<pubDate>Wed, 10 Mar 2010 18:15:10 +0000</pubDate>
		<dc:creator>Yves Amsellem</dc:creator>
				<category><![CDATA[Actualités]]></category>
		<category><![CDATA[Divers]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Outillage]]></category>
		<category><![CDATA[Cocoa Touch]]></category>
		<category><![CDATA[Interface Builder]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Objective-C]]></category>
		<category><![CDATA[xCode]]></category>

		<guid isPermaLink="false">http://blog.objetdirect.com/?p=1689</guid>
		<description><![CDATA[
Introduction à la programmation sur iPhone
Partie 1. Langage, interface &#38; contrôles standards
Avec l&#8217;App Store, première boutique d&#8217;applications tierces sur mobile, l&#8217;iPhone d&#8217;Apple a donné un joli coup de pied dans la fourmilière de la mobilité. Bien que faisant partie du paysage depuis 2 ans et 100000 applications, son retentissement ne semble pas vouloir s&#8217;estomper.
Cela est du, [...]]]></description>
			<content:encoded><![CDATA[<h3><img class="aligncenter size-full wp-image-1715" src="http://blog.objetdirect.com/wordpress/wp-content/uploads/2010/03/intro-iphone-everything1.jpg" alt="intro-iphone-everything" width="735" height="302" /></h3>
<h3>Introduction à la programmation sur iPhone</h3>
<h3>Partie 1<span style="font-weight: normal;">. Langage, interface &amp; contrôles standards</span></h3>
<p>Avec l&#8217;App Store, première boutique d&#8217;applications tierces sur mobile, l&#8217;iPhone d&#8217;Apple a donné un joli coup de pied dans la fourmilière de la mobilité. Bien que faisant partie du paysage depuis 2 ans et 100000 applications, son retentissement ne semble pas vouloir s&#8217;estomper.</p>
<p>Cela est du, en partie, à la pertinence des choix techniques et des outils &#8211; <strong>Objective-C</strong> et <strong>Cocoa Touch</strong> &#8211; retenus pour son développement. Conscients de l&#8217;impact avec lequel il a durablement changé la donne, nous consacrerons ici une série d&#8217;articles techniques permettant de s&#8217;y acclimater progressivement.</p>
<p>Le premier article sur le sujet &#8211; <span style="color: #999999;">Partie 1. Langage, interface &amp; contrôles standards</span> &#8211; est disponible sur <a href="http://wiki.objetdirect.com/wiki/index.php?title=%E2%80%8EIntroduction_%C3%A0_la_programmation_sur_iPhone_-_Partie_1" target="_blank">le wiki</a> et <a href="http://blog.objetdirect.com/wordpress/wp-content/uploads/2010/03/Introduction-à-la-programmation-sur-iPhone.pdf" target="_blank">en pdf</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.objetdirect.com/divers/introduction-a-la-programmation-sur-iphone/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

