<?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:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Les news d&amp;#39;Aspectize</title><link>http://aspectize.com/blogs/corp/default.aspx</link><description /><dc:language>en</dc:language><generator>CommunityServer 2007.1 (Build: 20917.1142)</generator><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/Aspectize" /><feedburner:info uri="aspectize" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>Aspectize</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item><title>Webcast Azure et Ajax autrement</title><link>http://feedproxy.google.com/~r/Aspectize/~3/Zs9dbiksb8I/webcast-azure-et-ajax-autrement.aspx</link><pubDate>Sat, 17 Dec 2011 15:54:00 GMT</pubDate><guid isPermaLink="false">3d57e66d-6e97-4fde-a1fe-09655b785c0e:1412</guid><dc:creator>Nico</dc:creator><slash:comments>3</slash:comments><wfw:commentRss>http://aspectize.com/blogs/corp/rsscomments.aspx?PostID=1412</wfw:commentRss><comments>http://aspectize.com/blogs/corp/archive/2011/12/17/webcast-azure-et-ajax-autrement.aspx#comments</comments><description>&lt;p&gt;L’équipe de Visual Studio (Benoit Launay, responsable des outils chez Microsoft DPE) nous a invité à faire un WebCast sur notre technologie, fortement intégrée a Visual Studio.&lt;/p&gt;  &lt;p&gt;J’ai donc choisi de présenter notre approche et d’illustrer comment nous travaillons pour réaliser des applications métiers. Vous me pardonnerez les quelques problèmes de son, mon pc n’est pas dans une forme olympique, et les animations des slides qui n’ont pas fonctionné non plus.&lt;/p&gt;  &lt;p&gt;J’ai essayé de balayer l’approche en restant pragmatique, étant entendu que le délai est court, pour expliquer tout ce que notre technologie permet de faire et les bénéfices apportés. Ce que vous voyez ici en démo, est encore une démo sur Adventure Works; et oui, on ne se réinvente pas, c’est pratique d’avoir un schéma métier tout fait, et cela montre que le travail est rigoureusement le même que l’on travaille avec des nouveaux schémas ou avec des bases existantes. Enfin, presque une base existante, car l’ensemble des données a été migré de SQL Server dans Azure Storage, ce qui est une innovation en soit.&lt;/p&gt;  &lt;p&gt;L’autre innovation majeure est que les applications qui sont développées sont nativement ajax et déjà compatibles avec la technologie HTML5, qui est une révolution du Web à venir. Aucun effort de développement particulier n’est à fournir pour avoir cette fluidité totale, c’est nativement built-in dans les applications.&lt;/p&gt;  &lt;p&gt;J’ai également montré rapidement quelques exemples d’applications que nous avons réalisées. Notre solution est complètement opérationnelle et nous sommes capables de faire des applications métiers avec une agilité et une qualité qui n’ont pas d’équivalent sur le marché aujourdhui.&lt;/p&gt;  &lt;p&gt;On a, en revanche, des progrès à faire en terme de communication. C’est ce que nous essayons de faire ici, notamment vis à vis des développeurs. Nous réfléchissons à quels sont les profils qui seront enthousiastes à notre approche, l’idée étant que la motivation doit être essentiellement fonctionnelle et non technique. La question de trouver les profils early adopter parmi les développeurs est loin d’être évidente, nous y travaillons, et même s’il y a déjà quelques équipes opérationnelles chez quelques clients.&lt;/p&gt;  &lt;p&gt;S’il y a un message que j’ai envie de faire passer, c’est que je crois (les entrepreneurs ont quelques convictions étranges parfois...) que nous allons changer la façon de travailler pour une grosse partie des développeurs d’applications métiers web et mobile avec Visual Studio et Azure. Et comme ça va commencer par un petit nombre, vous êtes les bienvenus pour commencer à comprendre comment le faire, et si ça vous intéresse, de nous communiquer votre enthousiasme pour en être les prochains acteurs. &lt;/p&gt;  &lt;p&gt;Merci encore à Benoit et à Marine pour leur accueil.&lt;/p&gt;  &lt;p&gt;Le WebCast est disponible ici: &lt;a href="https://msevents.microsoft.com/CUI/EventDetail.aspx?culture=fr-FR&amp;amp;EventID=1032499925&amp;amp;CountryCode=FR"&gt;https://msevents.microsoft.com/CUI/EventDetail.aspx?culture=fr-FR&amp;amp;EventID=1032499925&amp;amp;CountryCode=FR&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Comme j’avais refait la même vidéo de mon côté, pour palier aux problèmes de son éventuels, je la met en ligne également (il s’agit exactement la même présentation):&lt;/p&gt; 

&lt;object width="560" height="349"&gt;&lt;embed src="http://www.youtube.com/embed/CqUDxekXaHs" width="560" height="349"&gt;&lt;/embed&gt;&lt;/object&gt;


&lt;img src="http://aspectize.com/aggbug.aspx?PostID=1412" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Aspectize?a=Zs9dbiksb8I:kTrDFePSSfs:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Aspectize?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Aspectize?a=Zs9dbiksb8I:kTrDFePSSfs:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Aspectize?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Aspectize/~4/Zs9dbiksb8I" height="1" width="1"/&gt;</description><feedburner:origLink>http://aspectize.com/blogs/corp/archive/2011/12/17/webcast-azure-et-ajax-autrement.aspx</feedburner:origLink></item><item><title>Retour sur le Lean Startup Day</title><link>http://feedproxy.google.com/~r/Aspectize/~3/Q8sNUtTVL1I/retour-sur-le-lean-startup.aspx</link><pubDate>Mon, 06 Jun 2011 08:56:37 GMT</pubDate><guid isPermaLink="false">3d57e66d-6e97-4fde-a1fe-09655b785c0e:1410</guid><dc:creator>Nico</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://aspectize.com/blogs/corp/rsscomments.aspx?PostID=1410</wfw:commentRss><comments>http://aspectize.com/blogs/corp/archive/2011/06/06/retour-sur-le-lean-startup.aspx#comments</comments><description>&lt;p&gt;Le 20 mai dernier, nous avons participé à la journée BizSpark sur le Lean Startup, l’occasion pour nous de présenter 2 sessions sur le sujet.&lt;/p&gt;  &lt;p&gt;Plus de 200 participants, des rencontres, des échanges constructifs sur le sujet.&lt;/p&gt;  &lt;p&gt;Les slides de nos sessions sont &lt;a title="Le développeur est un créateur de valeur" href="http://www.slideshare.net/slideshareFredy/le-dveloppeur-est-un-crateur-de-valeur" target="_blank"&gt;ici&lt;/a&gt; et &lt;a title="De l&amp;#39;idée au produit, un MVP en 3 jours" href="http://www.slideshare.net/aspectize/leanstartup-delideeauproduit" target="_blank"&gt;ici&lt;/a&gt;, et il y a un bon compte-rendu de la journée chez PIA &lt;a title="Journée BizSpark – Lean Startup" href="http://blog.piaction.com/2011/05/journee-bizspark-lean-startup/" target="_blank"&gt;ici&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Pour revenir à nos sessions, voici les messages que l’on souhaite faire passer.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Quelle place le développeur occupe-t-il dans la création de valeurs ?&lt;/strong&gt;&lt;/p&gt;  &lt;object width="560" height="349"&gt;&lt;embed src="http://www.youtube.com/v/9Z6EXY93ivc?version=3&amp;amp;hl=en_US" width="560" height="349"&gt;&lt;/embed&gt;&lt;/object&gt;  &lt;p&gt;Le développeur a le rôle fondamental d’orchestrer l’information entre l’utilisateur et la machine.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Il doit analyser la situation, comprendre les besoins et les manques. &lt;/li&gt;    &lt;li&gt;Il doit concevoir les données, les traitements, les échanges, l’expérience utilisateur, l’ergonomie. &lt;/li&gt;    &lt;li&gt;Il doit penser à la sécurité, les performances, la montée en charge. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Doit-il pour autant écrire du code pour faire tout cela ? Le code est fragile, source de bugs, de rigidité, difficile à faire évoluer.&lt;/p&gt;  &lt;p&gt;Notre vision est que le développeur doit être plus proche de la création de valeurs qu’il ne l’est aujourd’***. C’est le sens de l’histoire, de ne plus passer son temps à s’occuper des détails techniques:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Il y a 20 ans, il était nécessaire d’écrire du code pour gérer finement la place des octets sur le disque. &lt;/li&gt;    &lt;li&gt;Il y a 10 ans, le développeur devait faire attention à gérer correctement la mémoire, et à bien désallouer toutes les ressources qu’il avait allouées précédemment. &lt;/li&gt;    &lt;li&gt;Aujourd’***, on ne s’occupe plus de savoir où sont les machines physiques, ni le lieu de stockage. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Et on prétend même qu’on n’a plus besoin d’écrire la moindre ligne de code spécifique pour afficher/transporter/stocker des données métiers.&lt;/p&gt;  &lt;p&gt;Et pour être efficace dans ces taches, on a besoin d’outils.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;De même que l’on a besoin d’un compilateur pour traduire le code écrit en ce que comprend la machine. &lt;/li&gt;    &lt;li&gt;De même que l’on a besoin d’un Garbage Collector, pour gérer la mémoire comme il faut sans que l’on ne s’occupe de rien. &lt;/li&gt;    &lt;li&gt;De même que l’on a besoin d’une base de données, pour stocker les données sur le disque. &lt;/li&gt;    &lt;li&gt;On a besoin d’outils pour piloter la machine dans l’affichage, le transport, la communication, et nous sommes un de ceux-là. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Certains développeurs nous reprochent d’éliminer une partie de leur travail; oui, nous éliminons la partie stupide, répétitive, sans valeur, que la machine peut très bien faire toute seule. A condition toutefois de lui décrire ce qu’elle doit faire; c’est là où le développeur a sa valeur ajoutée. Avec sa capacité d’analyse, il peut décrire correctement à la machine ce qu’elle doit faire pour rendre le service à l’utilisateur. &lt;/p&gt;  &lt;p&gt;Mais ce n’est pas un travail d’écriture de code, c’est un travail de description:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;c’est beaucoup plus facile à faire, cela demande moins d’efforts et moins de connaissances techniques. &lt;/li&gt;    &lt;li&gt;c’est beaucoup plus rapide à faire, cela demande beaucoup moins de temps. &lt;/li&gt;    &lt;li&gt;on fait moins d’erreurs, le résultat est beaucoup plus solide. &lt;/li&gt;    &lt;li&gt;et surtout, on peut modifier, effacer, recommencer, comme on le souhaite, sans remettre en cause l’existant, sans remettre en cause des journées de travail. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Et si la machine sait le faire, sans qu’un être humain ait besoin d’écrire du code, c’est que ce travail de codage n’a pas de valeur pour le produit, c’est du gâchis de temps, d’argent, d’énergie.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Un MVP en 3 jours, c’est possible !&lt;/strong&gt;&lt;/p&gt;  &lt;object width="560" height="349"&gt;&lt;embed src="http://www.youtube.com/v/fTP0fi69Jhw?version=3&amp;amp;hl=en_US" width="560" height="349"&gt;&lt;/embed&gt;&lt;/object&gt;  &lt;p&gt;Avec PIA, nous souhaitons montrer qu’un MVP est faisable avec un investissement minimum, dans l’esprit du Lean Startup.&lt;/p&gt;  &lt;p&gt;Pour cela, il est préférable d’avoir une méthode et des outils.&lt;/p&gt;  &lt;p&gt;Pour la méthode, PIA sait très bien le faire, et l’a très bien expliqué et montré:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Donner du sens au produit, fédérer autour de l’usage. &lt;/li&gt;    &lt;li&gt;Cibler les utilisateurs, définir les profils, les attentes de l’innovation. &lt;/li&gt;    &lt;li&gt;Définir le contenu, l’architecture de l’information. &lt;/li&gt;    &lt;li&gt;Réaliser un prototype papier. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;A partir du prototype papier, on est en mesure d’implémenter très rapidement. C’est là que notre outil entre en jeu:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Décrire un premier modèle simple avec les données de l’application; le vocabulaire est le même que celui employé par le fonctionnel. &lt;/li&gt;    &lt;li&gt;Décrire les écrans; ce travail est facile, parce que le prototype papier nous dit exactement ce que l’on doit faire. &lt;/li&gt;    &lt;li&gt;Décrire le chargement; j’écris volontairement décrire et pas écrire, car il s’agit bien d’un travail descriptif, plus que du codage technique. Je ne sais pas où sont mes données, dans une base, dans un fichier, dans Azure Storage. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Enfin, déployer cette première version dans Azure, 3 clics de souris, 1 minute de travail.&lt;/p&gt;  &lt;p&gt;En quelques heures, on a un premier jet qui fonctionne, que l’utilisateur peut utiliser et critiquer.&lt;/p&gt;  &lt;p&gt;Et puisque la question a été posée, l’exemple montré sur scène représente 1/2 journée de travail pour le 1er jet, et 2h pour le 2ème; j’ai fait sur scène les modifications de développement, et il y a un travail d’intégration du design visuel, à réaliser avec une feuille de styles CSS.&lt;/p&gt;  &lt;p&gt;En conclusion, pour revenir à l’esprit du Lean Startup, je dirais qu’on a essayé de montrer que le développeur peut et doit se rapprocher de l’utilisateur, éviter de se perdre dans des considérations techniques, qu’il faut pour cela des outils, et que l’approche est la suivante:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;L’utilisateur est au coeur du processus. &lt;/li&gt;    &lt;li&gt;On travaille en cycle court, très court, quelques heures suffisent pour réaliser des choses visibles et utilisables. &lt;/li&gt;    &lt;li&gt;L’application est toujours en état de marche, cela réduit les risques. &lt;/li&gt;    &lt;li&gt;Il est possible de changer les plans, le pivot est facile. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Nous aurons l’occasion d’y revenir avec des exemples concrets de réalisations.&lt;/p&gt;&lt;img src="http://aspectize.com/aggbug.aspx?PostID=1410" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Aspectize?a=Q8sNUtTVL1I:RU7ipPofa5U:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Aspectize?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Aspectize?a=Q8sNUtTVL1I:RU7ipPofa5U:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Aspectize?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Aspectize/~4/Q8sNUtTVL1I" height="1" width="1"/&gt;</description><category domain="http://aspectize.com/blogs/corp/archive/tags/Approche/default.aspx">Approche</category><category domain="http://aspectize.com/blogs/corp/archive/tags/videos/default.aspx">videos</category><category domain="http://aspectize.com/blogs/corp/archive/tags/Startup/default.aspx">Startup</category><category domain="http://aspectize.com/blogs/corp/archive/tags/Microsoft/default.aspx">Microsoft</category><category domain="http://aspectize.com/blogs/corp/archive/tags/Azure/default.aspx">Azure</category><category domain="http://aspectize.com/blogs/corp/archive/tags/Agilit_26002300_233_3B00_/default.aspx">Agilit&amp;#233;</category><category domain="http://aspectize.com/blogs/corp/archive/tags/Innovation/default.aspx">Innovation</category><feedburner:origLink>http://aspectize.com/blogs/corp/archive/2011/06/06/retour-sur-le-lean-startup.aspx</feedburner:origLink></item><item><title>Minimum Viable Product</title><link>http://feedproxy.google.com/~r/Aspectize/~3/uf3_4JDup9g/minimum-viable-product.aspx</link><pubDate>Mon, 28 Mar 2011 13:16:25 GMT</pubDate><guid isPermaLink="false">3d57e66d-6e97-4fde-a1fe-09655b785c0e:1408</guid><dc:creator>Nico</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://aspectize.com/blogs/corp/rsscomments.aspx?PostID=1408</wfw:commentRss><comments>http://aspectize.com/blogs/corp/archive/2011/03/28/minimum-viable-product.aspx#comments</comments><description>&lt;p&gt;En développement logiciel, le Minimum Viable Product (MVP) est la stratégie qui consiste à construire un produit qui a le minimum de fonctionnalités pour être déployé et exploité par les utilisateurs cibles.&lt;/p&gt;  &lt;p&gt;Cette démarche, initiée par les &lt;a href="http://www.startuplessonslearned.com/" target="_blank"&gt;gourous du Lean Startup&lt;/a&gt;, est généralement conseillée et appliquée à des startups qui ont vocation à développer des produits innovants. L’idée est simple:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Aller vite dans la mise en oeuvre pour avoir un produit opérationnel rapidement, avant de ne plus avoir de ressources. &lt;/li&gt;    &lt;li&gt;Aller à l’essentiel, en privilégiant d’abord les fonctionnalités qui ont le plus de valeur, et ne pas se disperser dans des fonctionnalités inutiles. &lt;/li&gt;    &lt;li&gt;Recueillir un feedback de la part des premiers utilisateurs pour savoir si on est sur la bonne voie et compléter ensuite le produit de façon incrémentale. &lt;/li&gt;    &lt;li&gt;Converger vers le produit qui recueillera les feedbacks positifs, vers le produit pour lesquels un utilisateur est prêt à payer. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Dans les projets, on avait l’habitude de faire une maquette ou un prototype pour valider ce à quoi devait ressembler une application; mais on jetait systématiquement la maquette à la poubelle, parce qu’elle n’était souvent pas faite dans les règles de l’art. &lt;/p&gt;  &lt;p&gt;Avec le MVP, on est bien dans une considération de produit testable, mais pas jetable. Le premier jet est un produit qui rend une partie du service. Le feedback de l’utilisateur potentiel a beaucoup de valeur à ce stade, car il valide ou non l’idée du produit.&lt;/p&gt;  &lt;p&gt;Cette démarche est bien adaptée à une logique de Startup, qui a besoin d’aller vite, avant de plus avoir de ressources, et de ne pas faire de dépenses inutiles. Comme souvent les Startup visent les early adopter, qui sont, en règle général, plus indulgent sur la complétude des produits, ce n’est pas grave de proposer un produit incomplet. Ce qui est important, c’est de montrer les fonctionnalités de base, et d’avoir un retour avant d’aller plus loin. Notre imagination nous pousse souvent à penser à beaucoup de fonctionnalités, alors que la mise en oeuvre révèle que cette imagination ne correspond pas toujours à quelque chose de valable. Le feedback utilisateur est là pour guider l’évolution du produit, pas à pas, vers quelque chose qui a une vraie valeur pour l’utilisateur.&lt;/p&gt;  &lt;p&gt;Ce n’est pas tout à fait la même chose qu’une Beta, et ce sera souvent bien plus minimal que ce que vous pouvez imaginer pour votre produit. La version Beta est déjà le résultat d’un processus abouti, qui est en phase de consolidation. Le MVP se construit au fur et à mesure, avec les early adopters; on va d’abord rechercher l’expérience utilisateur pour construire le produit.&lt;/p&gt;  &lt;p&gt;Cette idée peut aussi s’appliquer dans le contexte d’un projet d’entreprise plus mature. Après tout, &lt;a href="http://frenchweb.fr/jacques-antoine-granjon-vente-privee-com/" target="_blank"&gt;certaines sociétés&lt;/a&gt; ont la volonté de continuer à fonctionner avec un esprit de Startup, et l’idée de faire converger un produit au fur et à mesure des besoins, est aussi au coeur de l’agilité. Un product owner doit penser à un MVP dans son cycle de développement. Ne pas gaspiller des ressources pour développer des fonctionnalités inutiles&amp;#160; - le fameux YAGNI - est au coeur du Lean et une préoccupation des agilistes.&lt;/p&gt;  &lt;p&gt;Cette démarche nécessite de pouvoir mettre en oeuvre rapidement une idée, d’avoir un résultat visible tout de suite, pour construire petit à petit à partir du résultat. Elle est possible si vous pouvez mettre en production tôt, et si vous savez travailler en cycles courts pour mettre en production souvent. &lt;/p&gt;  &lt;p&gt;Et c’est exactement comme cela que nous travaillons, et que nous pratiquons l’agilité; on fait pousser les applications par l’usage. Et c’est possible, parce que l’on écrit très peu de code; tout simplement parce plus vous êtes léger, plus vous êtes facile à bouger.&lt;/p&gt;&lt;img src="http://aspectize.com/aggbug.aspx?PostID=1408" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Aspectize?a=uf3_4JDup9g:exD1E0YofBc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Aspectize?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Aspectize?a=uf3_4JDup9g:exD1E0YofBc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Aspectize?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Aspectize/~4/uf3_4JDup9g" height="1" width="1"/&gt;</description><feedburner:origLink>http://aspectize.com/blogs/corp/archive/2011/03/28/minimum-viable-product.aspx</feedburner:origLink></item><item><title>KB Crawl et Aspectize: histoire d’un projet agile</title><link>http://feedproxy.google.com/~r/Aspectize/~3/GQSswrKWims/conf-233-rence-kb-crawl-et-aspectize.aspx</link><pubDate>Fri, 18 Mar 2011 07:50:35 GMT</pubDate><guid isPermaLink="false">3d57e66d-6e97-4fde-a1fe-09655b785c0e:1407</guid><dc:creator>Nico</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://aspectize.com/blogs/corp/rsscomments.aspx?PostID=1407</wfw:commentRss><comments>http://aspectize.com/blogs/corp/archive/2011/03/18/conf-233-rence-kb-crawl-et-aspectize.aspx#comments</comments><description>&lt;h5&gt;&lt;a href="http://aspectize.com/blogs/corp/KBCrawlSAS_7D9B9A89.jpg"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="KBCrawlSAS" border="0" alt="KBCrawlSAS" src="http://aspectize.com/blogs/corp/KBCrawlSAS_thumb_0A957A9B.jpg" width="154" height="109" /&gt;&lt;/a&gt; &lt;/h5&gt;  &lt;p&gt;Il y a quelques mois, nous avons rencontré la société KBCrawl, éditeur d’une solution de veille. &lt;/p&gt;  &lt;p&gt;Pour ceux qui ne savent pas ce qu’est un projet de veille, cela consiste à collecter des informations jugées stratégiques par l’entreprise sur les différents canaux d’informations Internet (blogs, réseaux sociaux, sites, flux de news, …). Le process de veille se déroule traditionnellement en 2 étapes: la collecte d’informations, et l’exploitation. Pour la collecte, on utilise un moteur, qui va surveiller les différentes sources d’informations choisies par les veilleurs de l’entreprise, et remonter les informations pertinentes. C’est là tout le savoir-faire de KBCrawl, éditeur spécialisé sur ce métier. L’exploitation, cela consiste à mettre à disposition cette information aux différents utilisateurs; toute l’information n’a pas la même valeur pour tout le monde. Il faut donc qualifier, classer, répertorier, indexer, organiser, modifier cette information, pour que chacun, en fonction de son profil, sa fonction, ses centres d’intérêt, trouve l’information pertinente. Pour cela, un portail Intranet, de type CMS, convient bien à ce genre d’usage. C’est ce que propose également KBCrawl dans son offre avec un portail basé sur une solution open source.&lt;/p&gt;  &lt;p&gt;Sauf que, un des clients de KBCrawl, ne veut pas de la solution open source, et souhaite une solution sur-mesure. Que faire, quand les délais sont serrés, et qu’il y a un vrai projet de développement à réaliser ? C’est là où la complémentarité avec Aspectize s’est parfaitement trouvé. N’ayant pas le temps de former l’équipe de KBCrawl, nous décidons conjointement de réaliser le projet nous-mêmes.&lt;/p&gt;  &lt;p&gt;L’expression de besoin est très sommaire, exprimée par 15 slides, tout ce qu’on adore. A partir de là, nous allons construire au fil de l’eau la solution, avec des cycles extrêmement courts, un feedback permanent du client, qui a parfaitement jouer le jeu, et une réactivité très forte de notre part. Et tout cela est possible, parce que nous écrivons très peu de code. &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Ecrire peu de code permet d’être réactif.&lt;/li&gt;    &lt;li&gt;Etre réactif permet de livrer en continu.&lt;/li&gt;    &lt;li&gt;Livrer en continu permet d’avoir du feedback.&lt;/li&gt;    &lt;li&gt;Avoir du feedback permet de mieux cibler les besoins des utilisateurs.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Au total, on a réalisé une application spécifique en un temps record, et surtout avec un minimum de code, et c’est vraiment cela qui permet d’être agile. Et au passage, on s’est intégré au moteur Exalead, le moteur d’indexation choisi pour la solution, ainsi qu’au système d’authentification du client. &lt;/p&gt;  &lt;p&gt;En général, lorsque l’on montre l’application, et que l’on explique ce qu’on a fait, nos interlocuteurs sont assez impressionnés.&lt;/p&gt;  &lt;p&gt;Alors, si vous aussi vous souhaitez en savoir plus, venez assister à la conférence que nous co-animons avec KBCrawl le &lt;strong&gt;Mardi 5 Avril à 9h30&lt;/strong&gt;, au &lt;strong&gt;CNIT de La Defense&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;C’est gratuit, vous pouvez vous inscrire &lt;a title="Inscription Conférence KBCrawl Aspectize" href="http://kbcrawl.com/index.php/fr/component/quickform/quickmain/4.html" target="_blank"&gt;ici&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://aspectize.com/aggbug.aspx?PostID=1407" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Aspectize?a=GQSswrKWims:vrGq-woIu50:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Aspectize?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Aspectize?a=GQSswrKWims:vrGq-woIu50:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Aspectize?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Aspectize/~4/GQSswrKWims" height="1" width="1"/&gt;</description><category domain="http://aspectize.com/blogs/corp/archive/tags/Approche/default.aspx">Approche</category><category domain="http://aspectize.com/blogs/corp/archive/tags/Web/default.aspx">Web</category><category domain="http://aspectize.com/blogs/corp/archive/tags/Marketing/default.aspx">Marketing</category><category domain="http://aspectize.com/blogs/corp/archive/tags/Agilit_26002300_233_3B00_/default.aspx">Agilit&amp;#233;</category><category domain="http://aspectize.com/blogs/corp/archive/tags/Innovation/default.aspx">Innovation</category><feedburner:origLink>http://aspectize.com/blogs/corp/archive/2011/03/18/conf-233-rence-kb-crawl-et-aspectize.aspx</feedburner:origLink></item><item><title>De l’importance du langage en informatique</title><link>http://feedproxy.google.com/~r/Aspectize/~3/PscUnpsderY/de-l-importance-du-langage-en-informatique.aspx</link><pubDate>Thu, 10 Mar 2011 00:35:00 GMT</pubDate><guid isPermaLink="false">3d57e66d-6e97-4fde-a1fe-09655b785c0e:1406</guid><dc:creator>Fredy</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://aspectize.com/blogs/corp/rsscomments.aspx?PostID=1406</wfw:commentRss><comments>http://aspectize.com/blogs/corp/archive/2011/03/09/de-l-importance-du-langage-en-informatique.aspx#comments</comments><description>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Une petite discussion à la soirée bière – très sympathique – d’Alt.net de mardi, nous a menés des propriétés automatiques du C# 3.0 à &lt;a href="http://fr.wikipedia.org/wiki/Science" target="_blank"&gt;qu’est-ce que la science&lt;/a&gt; puis à &lt;a href="http://fr.wikipedia.org/wiki/Analyse_non_standard" target="_blank"&gt;l’analyse non standard&lt;/a&gt;… mais je m’égare.&lt;/p&gt;  &lt;p&gt;Revenons au C# et à l’objet de la discussion : y a-t-il une caractéristique d’un langage qui a de l’importance ? C.-à-d. une caractéristique qui permettrait d’être meilleur informaticien, d’écrire un meilleur code, un code qui dénoue le problème métier plus efficacement, avec moins de bugs et plus de souplesse ?&lt;/p&gt;  &lt;p&gt;Personnellement je pense que &lt;strong&gt;non&lt;/strong&gt; ! Et, dans la limite des langages que j’ai pratiqués, mon argument est le suivant : de l’assembleur au JavaScript en passant par le Fortran et le C, sans oublier le C++, le C# ainsi que VB6, VB.net et VBS, bien que je trouve que l’un se démarque, et c’est le JavaScript, &lt;strong&gt;ils se ressemblent tous&lt;/strong&gt; : des « si », des « tant que », des variables et des valeurs, des points virgules et des accolades, du « case sensitif » ou pas… bref &lt;strong&gt;ils se différencient sur des détails&lt;/strong&gt; alors que le problème est ailleurs. Qu’en pensez-vous ?&lt;/p&gt;&lt;img src="http://aspectize.com/aggbug.aspx?PostID=1406" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Aspectize?a=PscUnpsderY:kZ1A9QsIzzA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Aspectize?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Aspectize?a=PscUnpsderY:kZ1A9QsIzzA:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Aspectize?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Aspectize/~4/PscUnpsderY" height="1" width="1"/&gt;</description><category domain="http://aspectize.com/blogs/corp/archive/tags/Langage/default.aspx">Langage</category><feedburner:origLink>http://aspectize.com/blogs/corp/archive/2011/03/09/de-l-importance-du-langage-en-informatique.aspx</feedburner:origLink></item><item><title>Aspectize est présent aux TechDays</title><link>http://feedproxy.google.com/~r/Aspectize/~3/xrgvuZjgR58/aspectize-est-pr-233-sent-aux-techdays.aspx</link><pubDate>Mon, 07 Feb 2011 07:53:25 GMT</pubDate><guid isPermaLink="false">3d57e66d-6e97-4fde-a1fe-09655b785c0e:1405</guid><dc:creator>Nico</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://aspectize.com/blogs/corp/rsscomments.aspx?PostID=1405</wfw:commentRss><comments>http://aspectize.com/blogs/corp/archive/2011/02/07/aspectize-est-pr-233-sent-aux-techdays.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://aspectize.com/blogs/corp/MicrosoftTechDays2011_72EA860E.jpg"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="Microsoft TechDays 2011" border="0" alt="Microsoft TechDays 2011" src="http://aspectize.com/blogs/corp/MicrosoftTechDays2011_thumb_37B6AA43.jpg" width="244" height="150" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Aspectize est présent aux &lt;a title="Microsoft TechDays" href="http://www.microsoft.com/france/mstechdays/" target="_blank"&gt;TechDays&lt;/a&gt; sur le stand de Bizspark.&lt;/p&gt;  &lt;p&gt;Venez nous rendre visite sur le stand C02, nous aurons l’occasion de faire des démonstrations agiles, et notamment sur la plate-forme Azure.&lt;/p&gt;  &lt;p&gt;Vous avez des interrogations pour migrer vers Azure ? Venez voir comment &lt;strong&gt;assurer&lt;/strong&gt; &lt;strong&gt;la&lt;/strong&gt; &lt;strong&gt;totale réversibilité des applications&lt;/strong&gt; entre un environnement OnPremises et la plate-forme Azure, afin de vous laisser la liberté de passer d’un monde à l’autre et inversement.&lt;/p&gt;  &lt;p&gt;Vous avez des réticences parce que la plate-forme Azure constitue un nouvel environnement qu’il faut apprendre ? Venez voir comment &lt;strong&gt;réduire&lt;/strong&gt; &lt;strong&gt;la courbe d’apprentissage&lt;/strong&gt; en permettant à vos développeurs de construire vos applications sans effort particulier pour la plate-forme Azure.&lt;/p&gt;  &lt;p&gt;Vous avez des hésitations sur le meilleur choix de gestion de données dans Azure ? Venez voir comment &lt;strong&gt;gérer&lt;/strong&gt; &lt;strong&gt;les données de façon complètement transparente&lt;/strong&gt;, entre SQL Server, SQL Azure et Azure Storage, afin de vous permettre une cohabitation sereine entre ces différents systèmes, et de bénéficier du meilleur prix.&lt;/p&gt;  &lt;p&gt;Vous avez des doutes sur la capacité de la plate-forme à vous permettre d’être agiles ? Venez voir comment &lt;strong&gt;déployer&lt;/strong&gt; &lt;strong&gt;instantanément une application dans Azure&lt;/strong&gt;, comment &lt;strong&gt;gérer facilement les différentes versions&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;Ou bien vous en avez tout simplement assez des projets qui coutent trop cher, et qui ne sont jamais livrés à dans les délais prévus ? Venez voir comment&lt;strong&gt; mettre à disposition une application dès le premier jour du projet&lt;/strong&gt;, et &lt;strong&gt;diminuer de façon drastique les couts de développement&lt;/strong&gt;.&lt;/p&gt;  &lt;p&gt;Bref, si êtes curieux de découvrir une solution innovante pour faire des applications .Net Azure plus facilement, vous êtes les bienvenus.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://aspectize.com/blogs/corp/windows_azure_logo_041621CE.jpg"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="windows_azure_logo" border="0" alt="windows_azure_logo" src="http://aspectize.com/blogs/corp/windows_azure_logo_thumb_7C1E7F6B.jpg" width="244" height="49" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://aspectize.com/aggbug.aspx?PostID=1405" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Aspectize?a=xrgvuZjgR58:bGzz_7mofEE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Aspectize?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Aspectize?a=xrgvuZjgR58:bGzz_7mofEE:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Aspectize?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Aspectize/~4/xrgvuZjgR58" height="1" width="1"/&gt;</description><category domain="http://aspectize.com/blogs/corp/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://aspectize.com/blogs/corp/archive/tags/Approche/default.aspx">Approche</category><category domain="http://aspectize.com/blogs/corp/archive/tags/Azure/default.aspx">Azure</category><category domain="http://aspectize.com/blogs/corp/archive/tags/Agilit_26002300_233_3B00_/default.aspx">Agilit&amp;#233;</category><category domain="http://aspectize.com/blogs/corp/archive/tags/Innovation/default.aspx">Innovation</category><feedburner:origLink>http://aspectize.com/blogs/corp/archive/2011/02/07/aspectize-est-pr-233-sent-aux-techdays.aspx</feedburner:origLink></item><item><title>Aspectize est lauréat de Scientipole Initiative</title><link>http://feedproxy.google.com/~r/Aspectize/~3/7IXt89GYMC4/aspectize-est-laur-233-at-de-scientipole-initiative.aspx</link><pubDate>Fri, 14 Jan 2011 08:33:38 GMT</pubDate><guid isPermaLink="false">3d57e66d-6e97-4fde-a1fe-09655b785c0e:1403</guid><dc:creator>Nico</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://aspectize.com/blogs/corp/rsscomments.aspx?PostID=1403</wfw:commentRss><comments>http://aspectize.com/blogs/corp/archive/2011/01/14/aspectize-est-laur-233-at-de-scientipole-initiative.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://www.scientipole-initiative.org/" target="_blank"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="scientipole-initiative.org_" border="0" alt="scientipole-initiative.org_" src="http://aspectize.com/blogs/corp/scientipoleinitiative.org__543EF1FB.png" width="223" height="127" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.scientipole-initiative.org/" target="_blank"&gt;Scientipole Initiative&lt;/a&gt; est un organisme de soutien des entreprises innovantes. Le soutien se matéralise sous plusieurs formes:    &lt;br /&gt;- Financière, avec des prêts d’honneur aux entrepreneurs    &lt;br /&gt;- Conseil, avec des missions d’accompagnement sur des problèmatiques juridiques, financières, commerciales, marketing...&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;Après une expertise menée par un expert qui étudie le business plan de l’entreprise, une commission d’une dizaine d’experts a validé l&amp;#39;attribution d’un prêt d’honneur aux fondateurs de la société.&lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;Nous sommes ravis de cette décision, qui, au delà des aspects purement financiers qui font toujours du bien, nous permet également d’intégrer un réseau d’experts et d’entreprises innovantes, et d’obtenir ainsi une nouvelle marque de confiance sur notre développement.&lt;/p&gt;&lt;img src="http://aspectize.com/aggbug.aspx?PostID=1403" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Aspectize?a=7IXt89GYMC4:gVm1zlaWKL8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Aspectize?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Aspectize?a=7IXt89GYMC4:gVm1zlaWKL8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Aspectize?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Aspectize/~4/7IXt89GYMC4" height="1" width="1"/&gt;</description><category domain="http://aspectize.com/blogs/corp/archive/tags/Entreprise/default.aspx">Entreprise</category><category domain="http://aspectize.com/blogs/corp/archive/tags/Startup/default.aspx">Startup</category><category domain="http://aspectize.com/blogs/corp/archive/tags/Innovation/default.aspx">Innovation</category><feedburner:origLink>http://aspectize.com/blogs/corp/archive/2011/01/14/aspectize-est-laur-233-at-de-scientipole-initiative.aspx</feedburner:origLink></item><item><title>Architecture en tant que service</title><link>http://feedproxy.google.com/~r/Aspectize/~3/6ILr91rVfRc/architecture-en-tant-que-service.aspx</link><pubDate>Mon, 03 Jan 2011 00:54:00 GMT</pubDate><guid isPermaLink="false">3d57e66d-6e97-4fde-a1fe-09655b785c0e:1400</guid><dc:creator>Fredy</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://aspectize.com/blogs/corp/rsscomments.aspx?PostID=1400</wfw:commentRss><comments>http://aspectize.com/blogs/corp/archive/2011/01/02/architecture-en-tant-que-service.aspx#comments</comments><description>&lt;p&gt;Dans le précédent &lt;a href="http://aspectize.com/blogs/corp/archive/2010/12/23/architecture-et-complexit-233-c-233-r-233-moniale-quand-l-une-manque-l-autre-cro-238-t.aspx"&gt;billet&lt;/a&gt;, nous avons introduit la notion de &lt;i&gt;complexité cérémoniale&lt;/i&gt; en la définissant comme une complexité inutile qui naît de l’amalgame incontrôlé entre code technique et code métier. Cette fois nous allons voir comment l’approche &lt;i&gt;Architecture en tant que service &lt;/i&gt;nous aide à éliminer cette &lt;i&gt;complexité cérémoniale&lt;/i&gt; du système d’information.&lt;/p&gt;  &lt;h3&gt;Architecture en tant que service&lt;/h3&gt;  &lt;p&gt;Un système d’information est composé de divers aspects techniques et métier : données, traitements, interfaces utilisateur, stockage, communication, robustesse, performance…&lt;/p&gt;  &lt;p&gt;Deux facteurs sont à l’origine de la croissance explosive de la complexité dans les systèmes d’information : d’abord les dépendances entre technique et métier ainsi que les dépendances à l’intérieur des aspects métier. Ensuite la quantité de code et d’artifices techniques qui sont introduits pour essayer de maîtriser ces dépendances.&lt;/p&gt;  &lt;p&gt;Aujourd’&amp;#104;&amp;#117;&amp;#105;, on ne peut que constater l’échec récurrent des outils, des infrastructures, des &lt;i&gt;design pattern&lt;/i&gt; et des méthodologies mises en œuvre pour maîtriser cette croissance incontrôlée de complexité. Ils échouent car ils introduisent du code : du code pour séparer les aspects techniques des aspects métiers, du code pour communiquer, du code pour l’accès aux données… Parfois ce code est généré automatiquement, souvent il est codé à la main, mais il est toujours fragile et source de friction, il entraîne manque de souplesse, dépassements des délais, dérives des coûts, déceptions.&lt;/p&gt;  &lt;p&gt;&lt;i&gt;L’architecture en tant que service&lt;/i&gt; (&lt;i&gt;Architecture as a service, AaaS&lt;/i&gt;) est une nouvelle approche et un ensemble d’outils, conçus pour éliminer la complexité cérémoniale, permettant souplesse et alignement des systèmes d’informations sur les besoins du métier.&lt;/p&gt;  &lt;p&gt;L’architecture en tant que service atteint ce but en réutilisant le réutilisable, à savoir le code technique ; en séparant le code technique du code spécifique métier ; en éliminant le code sans valeur ; et en imposant une structure cohérente au processus de développement. Elle peut ainsi être considérée comme la première approche systématique et &lt;i&gt;lean&lt;/i&gt; du développement logiciel.&lt;/p&gt;  &lt;p&gt;Le code technique est nécessaire pour gérer la robustesse, la souplesse, les performances, pour lire, écrire, afficher et échanger les données. Au lieu de l’écrire, &lt;i&gt;l’architecture en tant que service&lt;/i&gt; utilise un moteur technique pour traiter ces besoins invariants.&lt;/p&gt;  &lt;p&gt;Le code métier qui sert à traiter, valider et automatiser les processus métier est le &lt;b&gt;&lt;i&gt;seul&lt;/i&gt;&lt;/b&gt; code qu’on doive écrire. En revanche, l’intégration du code technique avec le code métier n’a nul besoin d’être codée et peut être obtenue par une approche bien plus souple.&lt;/p&gt;  &lt;p&gt;Contrairement aux infrastructures et approches traditionnelles qui proposent un API et qui invitent à coder, le moteur technique AaaS alimenté par la conception métier, fournit ses services de façon déclarative.&lt;/p&gt;  &lt;p&gt;Dans un prochain billet nous parlerons du rôle de la conception (des données, de l’expérience utilisateur et des communications) du point de vue AaaS.&lt;/p&gt;  &lt;p&gt;En vous souhaitant moins de code et plus de réussite pour 2011.&lt;/p&gt;&lt;img src="http://aspectize.com/aggbug.aspx?PostID=1400" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Aspectize?a=6ILr91rVfRc:2xaAwf1pbqE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Aspectize?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Aspectize?a=6ILr91rVfRc:2xaAwf1pbqE:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Aspectize?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Aspectize/~4/6ILr91rVfRc" height="1" width="1"/&gt;</description><category domain="http://aspectize.com/blogs/corp/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://aspectize.com/blogs/corp/archive/tags/Approche/default.aspx">Approche</category><category domain="http://aspectize.com/blogs/corp/archive/tags/Agilit_26002300_233_3B00_/default.aspx">Agilit&amp;#233;</category><category domain="http://aspectize.com/blogs/corp/archive/tags/AaaS/default.aspx">AaaS</category><category domain="http://aspectize.com/blogs/corp/archive/tags/PaaS/default.aspx">PaaS</category><category domain="http://aspectize.com/blogs/corp/archive/tags/SaaS/default.aspx">SaaS</category><feedburner:origLink>http://aspectize.com/blogs/corp/archive/2011/01/02/architecture-en-tant-que-service.aspx</feedburner:origLink></item><item><title>Architecture as a service</title><link>http://feedproxy.google.com/~r/Aspectize/~3/CqU2yBs-x84/architecture-as-a-service.aspx</link><pubDate>Thu, 30 Dec 2010 17:37:00 GMT</pubDate><guid isPermaLink="false">3d57e66d-6e97-4fde-a1fe-09655b785c0e:1399</guid><dc:creator>Fredy</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://aspectize.com/blogs/corp/rsscomments.aspx?PostID=1399</wfw:commentRss><comments>http://aspectize.com/blogs/corp/archive/2010/12/30/architecture-as-a-service.aspx#comments</comments><description>&lt;p&gt;In the &lt;a href="http://aspectize.com/blogs/corp/archive/2010/12/13/architecture-and-complexity.aspx"&gt;last&lt;/a&gt; post we introduced the idea of &lt;b&gt;ceremonial complexity&lt;/b&gt; by defining it as avoidable complexity that emerges essentially from uncontrolled mangling of technical code with business oriented code, this time we will briefly see how Architecture as a Service helps eliminate ceremonial complexity from an Information System.&lt;/p&gt;  &lt;h3&gt;Architecture as a service&lt;/h3&gt;  &lt;p&gt;Information systems are composed of different business oriented and technical aspects, such as Data, Code and User interaction, Storage, Communication, Robustness, Performance… &lt;/p&gt;  &lt;p&gt;Two factors are at the origin of explosive growth of complexity in information systems: first the number of dependencies between and within each of these aspects, second the amount of code and technical diversities that are introduced to handle them.&lt;/p&gt;  &lt;p&gt;Today almost all tools, frameworks, design patterns and methodologies that attempt to tackle the problem of uncontrolled growth of complexity fail. They fail, by introducing code; code for separating different technological and business related aspects, code for communication, code for data access… sometimes this code is generated, often hand coded, but always fragile and change adverse and entails lack of flexibility, missed deadlines and disappointment.&lt;/p&gt;  &lt;p&gt;Architecture as a service is a novel approach and set of tools, designed to contain software complexity and thus enables flexible alignment of the information system on business requirements.&lt;/p&gt;  &lt;p&gt;Architecture as a service meets its goal by reusing the reusable i.e. technical code, separating the separable i.e. reusable technical code from custom business oriented code and design, by eliminating valueless code, and by enforcing a consistent structure to the development process and thus can be considered as the first systematic and lean approach to software development.&lt;/p&gt;  &lt;p&gt;Technical code is required for taking care of robustness, flexibility, performance… but also for reading, writing, displaying, exchanging… data. &lt;/p&gt;  &lt;p&gt;&lt;i&gt;Architecture as a service enforces the reuse of a technical runtime for invariant technical requirements. &lt;/i&gt;&lt;/p&gt;  &lt;p&gt;Business oriented code for automating, computing or validating business related processes and data is the &lt;b&gt;&lt;i&gt;only&lt;/i&gt;&lt;/b&gt; code that should be developed. &lt;/p&gt;  &lt;p&gt;What is definitely not needed is code for integrating technical with business oriented aspects this can be handled with a more flexible approach than coding. &lt;/p&gt;  &lt;p&gt;Unlike traditional frameworks or runtimes that propose an API and hence request coding, an AaaS runtime, fueled by design, delivers its facilities through declarative binding. &lt;/p&gt;  &lt;p&gt;In our next post we will talk about the role of design (Data, Communications, UX) from an AaaS perspective, stay tuned…&lt;/p&gt;&lt;img src="http://aspectize.com/aggbug.aspx?PostID=1399" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Aspectize?a=CqU2yBs-x84:1GEeKPqaa-8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Aspectize?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Aspectize?a=CqU2yBs-x84:1GEeKPqaa-8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Aspectize?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Aspectize/~4/CqU2yBs-x84" height="1" width="1"/&gt;</description><category domain="http://aspectize.com/blogs/corp/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://aspectize.com/blogs/corp/archive/tags/Approche/default.aspx">Approche</category><category domain="http://aspectize.com/blogs/corp/archive/tags/AaaS/default.aspx">AaaS</category><feedburner:origLink>http://aspectize.com/blogs/corp/archive/2010/12/30/architecture-as-a-service.aspx</feedburner:origLink></item><item><title>Architecture et complexité cérémoniale : quand l’une manque, l’autre croît</title><link>http://feedproxy.google.com/~r/Aspectize/~3/JNAg1BH762o/architecture-et-complexit-233-c-233-r-233-moniale-quand-l-une-manque-l-autre-cro-238-t.aspx</link><pubDate>Thu, 23 Dec 2010 22:34:00 GMT</pubDate><guid isPermaLink="false">3d57e66d-6e97-4fde-a1fe-09655b785c0e:1397</guid><dc:creator>Fredy</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://aspectize.com/blogs/corp/rsscomments.aspx?PostID=1397</wfw:commentRss><comments>http://aspectize.com/blogs/corp/archive/2010/12/23/architecture-et-complexit-233-c-233-r-233-moniale-quand-l-une-manque-l-autre-cro-238-t.aspx#comments</comments><description>&lt;p&gt;La notion de &lt;i&gt;complexité&lt;/i&gt; est bien étudiée et documentée en informatique, mais ce n’est pas celle qui fait souffrir l’industrie du développement logiciel. Ainsi pour notre part, nous distinguons deux sortes de complexités : la &lt;i&gt;complexité naturelle&lt;/i&gt; et la &lt;i&gt;complexité cérémoniale&lt;/i&gt;.&lt;/p&gt;  &lt;p&gt;La complexité algorithmique et la complexité inhérente à un processus métier relèvent de la &lt;i&gt;complexité naturelle&lt;/i&gt;. La complexité naturelle se contrôle. Elle peut être documentée, maîtrisée et communiquée.&lt;/p&gt;  &lt;p&gt;La &lt;i&gt;complexité cérémoniale&lt;/i&gt;, quant à elle, s’immisce insidieusement dans le système, instruction après instruction, jour après jour. Complexité inutile, elle provient essentiellement de l’amalgame incontrôlé entre code technique et code métier, mais aussi du défaut de structure et d’uniformité dans le système.&lt;/p&gt;  &lt;p&gt;Aujourd’&amp;#104;&amp;#117;&amp;#105;, le développement des systèmes d’information est empoisonné par cette complexité cérémoniale qui cause échecs et gaspillages. Pourtant, cette complexité cérémoniale pourrait être éliminée.&lt;/p&gt;  &lt;p&gt;Autant la notion de complexité est un sujet académique bien étudié, autant la notion d’architecture en informatique est floue et s’articule différemment selon les projets informatiques. &lt;/p&gt;  &lt;p&gt;En électronique ou en ingénierie civile, l’architecture existe dans le produit, mais que ce soit un pont, un barrage ou un microprocesseur, cette architecture ne &lt;i&gt;peut pas être séparée&lt;/i&gt; du produit. On pourra toujours en extraire une vision d’ensemble décrivant ses éléments et leurs relations, il s’agira d’un plan, pas d’une des pièces du produit : la structure est inséparable de la matière.&lt;/p&gt;  &lt;p&gt;Inversement, dans le cas de l’ingénierie des systèmes d’information, le produit final étant lui-même immatériel, l’architecture peut être non seulement séparée du produit, mais si on fait abstraction des spécificités métiers, elle peut même être développée et livrée séparément : c’est l’objet de l’approche « architecture en tant que service ».&lt;/p&gt;  &lt;p&gt;En effet, les besoins techniques sont des besoins invariants et donc prévisibles. Leurs cycles de vie suivent les cycles technologiques et non métier. Tout le code dont on a besoin pour lire, écrire, distribuer, échanger et afficher des données est du code technique et peut ainsi être développé et livré séparément du code métier.&lt;/p&gt;  &lt;p&gt;Ainsi l’architecture peut être vue comme un service logiciel &lt;i&gt;en lui-même&lt;/i&gt; : un exécutable technique conçu, développé, testé et débugué, contenant du code technique invariant nécessaire pour « faire pousser » des systèmes d’information.&lt;/p&gt;  &lt;p&gt;Cette &lt;i&gt;architecture en tant que service&lt;/i&gt; (« Architecture as a service ») soustrait la &lt;i&gt;complexité cérémoniale&lt;/i&gt; du système d’information en lui imposant structure et uniformité et en éliminant le code technique fragile, sans valeur et source de friction.&lt;/p&gt;  &lt;p&gt;Dans un prochain billet nous vous présenterons plus en détail la méthode, le rôle de la conception et les outils de développement à utiliser pour éliminer la complexité cérémoniale de vos systèmes d’informations.&lt;/p&gt;&lt;img src="http://aspectize.com/aggbug.aspx?PostID=1397" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Aspectize?a=JNAg1BH762o:xOdK8eYNTQo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Aspectize?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Aspectize?a=JNAg1BH762o:xOdK8eYNTQo:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Aspectize?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Aspectize/~4/JNAg1BH762o" height="1" width="1"/&gt;</description><category domain="http://aspectize.com/blogs/corp/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://aspectize.com/blogs/corp/archive/tags/Approche/default.aspx">Approche</category><category domain="http://aspectize.com/blogs/corp/archive/tags/Ajax/default.aspx">Ajax</category><category domain="http://aspectize.com/blogs/corp/archive/tags/Azure/default.aspx">Azure</category><category domain="http://aspectize.com/blogs/corp/archive/tags/Cloud+Computing/default.aspx">Cloud Computing</category><category domain="http://aspectize.com/blogs/corp/archive/tags/Agilit_26002300_233_3B00_/default.aspx">Agilit&amp;#233;</category><category domain="http://aspectize.com/blogs/corp/archive/tags/AaaS/default.aspx">AaaS</category><category domain="http://aspectize.com/blogs/corp/archive/tags/PaaS/default.aspx">PaaS</category><category domain="http://aspectize.com/blogs/corp/archive/tags/SaaS/default.aspx">SaaS</category><feedburner:origLink>http://aspectize.com/blogs/corp/archive/2010/12/23/architecture-et-complexit-233-c-233-r-233-moniale-quand-l-une-manque-l-autre-cro-238-t.aspx</feedburner:origLink></item><item><title>Architecture and Complexity</title><link>http://feedproxy.google.com/~r/Aspectize/~3/iQHZqFhZLDE/architecture-and-complexity.aspx</link><pubDate>Tue, 14 Dec 2010 00:12:00 GMT</pubDate><guid isPermaLink="false">3d57e66d-6e97-4fde-a1fe-09655b785c0e:1395</guid><dc:creator>Fredy</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://aspectize.com/blogs/corp/rsscomments.aspx?PostID=1395</wfw:commentRss><comments>http://aspectize.com/blogs/corp/archive/2010/12/13/architecture-and-complexity.aspx#comments</comments><description>&lt;p&gt;If you search for the meaning of architecture or complexity you will come up with a large spectrum of definitions, articles and analysis… Each field or author will be likely to give a particular meaning to these words and software engineering is no exception.&lt;/p&gt;  &lt;p&gt;In the following paragraphs we will describe our standpoint on architecture and complexity in the context of engineering information systems.&lt;/p&gt;  &lt;p&gt;It’s our understanding that architecture and complexity balance each other; more architecture is less complexity and less architecture is more complexity.&lt;/p&gt;  &lt;p&gt;There are two sorts of complexity: natural complexity and ceremonial complexity.&lt;/p&gt;  &lt;p&gt;Natural complexity can be controlled; Algorithmic complexity is natural complexity; complexity that is inherent to a business process is natural complexity. Natural complexity can be documented, learned, mastered and communicated. &lt;/p&gt;  &lt;p&gt;Ceremonial complexity on the other hand is complexity that creeps into the system instruction by instruction, day after day. Ceremonial complexity - unnecessary complexity - emerges essentially from uncontrolled mangling of technical code with business oriented code, but also from lack of structure and uniformity in the system.&lt;/p&gt;  &lt;p&gt;Today the entire complexity that haunts the development of information systems and causes failure and waist is ceremonial complexity; complexity that can be eliminated, eliminated by architecture.&lt;/p&gt;  &lt;p&gt;Architecture in civil engineering or electronics is present in the manufactured product, be it a bridge, a dam or a microprocessor and cannot be produced apart… At best it can be abstracted out as a big picture of the product describing its parts and their relations thus being more of a plan than constituent of the product.&lt;/p&gt;  &lt;p&gt;Due to the abstract nature of information and software, architecture, in the context of engineering information systems, can be both a plan and a product; furthermore it can be abstracted away of all business considerations.&lt;/p&gt;  &lt;p&gt;Technical requirements are invariant, thus predictable, their life cycle follows technological life cycle. All code needed for reading, writing, dispatching, exchanging and displaying data is technical code and thus can be developed and delivered separately. &lt;/p&gt;  &lt;p&gt;Architecture, as we see it, is a software service by itself; a technical runtime designed, developed, tested and debugged, containing boiler plate technical code needed for growing information systems.&lt;/p&gt;  &lt;p&gt;Architecture as a service contains software complexity by enforcing structure and uniformity and by eliminating valueless, fragile, change adverse, technical code.&lt;/p&gt;  &lt;p&gt;In following posts we will describe the role of design and code from an AaaS perspective and show, by introducing new tools, how to use piecemeal design and development to grow your Information Systems out of applications each containing data, services and user interface elements. &lt;/p&gt;  &lt;p&gt;AaaS bridging the gap between PaaS and SaaS.&lt;/p&gt;&lt;img src="http://aspectize.com/aggbug.aspx?PostID=1395" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Aspectize?a=iQHZqFhZLDE:W88pIZFxa1g:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Aspectize?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Aspectize?a=iQHZqFhZLDE:W88pIZFxa1g:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Aspectize?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Aspectize/~4/iQHZqFhZLDE" height="1" width="1"/&gt;</description><category domain="http://aspectize.com/blogs/corp/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://aspectize.com/blogs/corp/archive/tags/Azure/default.aspx">Azure</category><category domain="http://aspectize.com/blogs/corp/archive/tags/Agilit_26002300_233_3B00_/default.aspx">Agilit&amp;#233;</category><category domain="http://aspectize.com/blogs/corp/archive/tags/AaaS/default.aspx">AaaS</category><category domain="http://aspectize.com/blogs/corp/archive/tags/PaaS/default.aspx">PaaS</category><category domain="http://aspectize.com/blogs/corp/archive/tags/SaaS/default.aspx">SaaS</category><feedburner:origLink>http://aspectize.com/blogs/corp/archive/2010/12/13/architecture-and-complexity.aspx</feedburner:origLink></item><item><title>Participation au MUG Lyon le 25 Novembre</title><link>http://feedproxy.google.com/~r/Aspectize/~3/AgwggoNHWf4/participation-au-mug-lyon-le-25-novembre.aspx</link><pubDate>Mon, 08 Nov 2010 09:31:32 GMT</pubDate><guid isPermaLink="false">3d57e66d-6e97-4fde-a1fe-09655b785c0e:1392</guid><dc:creator>Nico</dc:creator><slash:comments>1</slash:comments><wfw:commentRss>http://aspectize.com/blogs/corp/rsscomments.aspx?PostID=1392</wfw:commentRss><comments>http://aspectize.com/blogs/corp/archive/2010/11/08/participation-au-mug-lyon-le-25-novembre.aspx#comments</comments><description>&lt;p&gt;Le &lt;a href="http://www.mug-lyon.fr/"&gt;MUG Lyon&lt;/a&gt;, est une association qui a pour objectif d’animer des sessions sur les technologies Microsoft (MUG signifie Microsoft User Group). Elle a démarré l’été dernier, à l’initiative de Rémi Moriceau, un ancien de Winwise, qui s’occupe désormais de l’enseignement à Epitech Lyon.&lt;/p&gt;  &lt;p&gt;Et Remi nous propose de participer à la prochaine session, le 25 Novembre. Nous répondons avec plaisir à son invitation.&lt;/p&gt;  &lt;p&gt;La session aura lieu en 2 parties, avec le programme suivant:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;1ère partie de 19h30 à 20h30      &lt;p&gt;&lt;strong&gt;L’orienté objet : erreur historique ou voie à poursuivre ? &lt;/strong&gt;&lt;/p&gt;      &lt;ul&gt;       &lt;li&gt;Pourquoi ce titre ? &lt;/li&gt;        &lt;li&gt;Crise logiciel : mythe ou réalité ? &lt;/li&gt;        &lt;li&gt;L’orienté objet quelques définitions &lt;/li&gt;        &lt;li&gt;Du rigide au souple : une histoire accélérée de l’informatique &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;2ème partie de 20h30 à 21h30      &lt;p&gt;&lt;strong&gt;Architecture as a Service (AaaS) &lt;/strong&gt;&lt;/p&gt;      &lt;ul&gt;       &lt;li&gt;Une nouvelle approche pour le développement des SI &lt;/li&gt;        &lt;li&gt;Les différentes formes de complexités &lt;/li&gt;        &lt;li&gt;Architecture et complexité &lt;/li&gt;        &lt;li&gt;Le rôle de la conception &lt;/li&gt;        &lt;li&gt;Les différentes sortes de binding &lt;/li&gt;        &lt;li&gt;Les outils &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Toutes les informations utiles sont disponibles sur le &lt;a href="http://www.mug-lyon.fr/"&gt;site&lt;/a&gt; de l’association.&lt;/p&gt;  &lt;p&gt;Les plus perspicaces auront remarqué que cette manifestation se déroule le même jour que le &lt;a href="http://www.mdday.fr/" target="_blank"&gt;MDDay&lt;/a&gt; parisien, à laquelle nous &lt;a href="http://aspectize.com/blogs/corp/archive/2010/10/27/participation-au-mdday.aspx" target="_blank"&gt;participons&lt;/a&gt; également. Et de la même manière que nous faisons des miracles en matière de développement, nous serons bien présent aux 2 événements le même jour dans 2 villes différentes ;-)&lt;/p&gt;&lt;img src="http://aspectize.com/aggbug.aspx?PostID=1392" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Aspectize?a=AgwggoNHWf4:N4Gdgi2tsL4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Aspectize?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Aspectize?a=AgwggoNHWf4:N4Gdgi2tsL4:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Aspectize?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Aspectize/~4/AgwggoNHWf4" height="1" width="1"/&gt;</description><feedburner:origLink>http://aspectize.com/blogs/corp/archive/2010/11/08/participation-au-mug-lyon-le-25-novembre.aspx</feedburner:origLink></item><item><title>Participation au MDDay</title><link>http://feedproxy.google.com/~r/Aspectize/~3/6KQvwUs7P80/participation-au-mdday.aspx</link><pubDate>Wed, 27 Oct 2010 08:02:10 GMT</pubDate><guid isPermaLink="false">3d57e66d-6e97-4fde-a1fe-09655b785c0e:1389</guid><dc:creator>Nico</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://aspectize.com/blogs/corp/rsscomments.aspx?PostID=1389</wfw:commentRss><comments>http://aspectize.com/blogs/corp/archive/2010/10/27/participation-au-mdday.aspx#comments</comments><description>&lt;p&gt;&lt;img alt="MDDay 2009" src="http://www.mdday.fr/squelettes/images/logo_md_day.jpg" /&gt;&lt;/p&gt;  &lt;p&gt;Nous avons l&amp;#39;honneur d&amp;#39;être partenaire de la journée &lt;a href="http://www.mdday.fr" target="_blank"&gt;MDDay&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;Comme son nom l&amp;#39;indique, MDDay est une journée consacrée au Model Driven. &lt;/p&gt;  &lt;p&gt;Au &lt;a href="http://www.mdday.fr/programme.htm" target="_blank"&gt;programme&lt;/a&gt;, essentiellement des présentations autour des bonnes pratiques et des outils en vigueur. La majorité des intervenants sont des éditeurs de logiciels, et les témoignages clients sont nombreux. En tout cas, il y aura du beau monde, et surement des débats passionnants. &lt;/p&gt;  &lt;p&gt;De notre côté, nous seront présents sur le stand de Microsoft (notre présence donnera un peu plus de poids à .Net, car, même si l’évènement a lieu chez MS, la majorité des intervenants vont parler Java), et nous essaierons de montrer que le MD, ca sert surtout à éliminer du code ! il y a quelques mois, j&amp;#39;avais &lt;a href="http://aspectize.com/blogs/corp/archive/2010/01/31/model-driven-executable.aspx" target="_blank"&gt;tenté d&amp;#39;expliquer&lt;/a&gt; en quoi notre approche se rapprochait du Model Driven, surtout dans l&amp;#39;esprit du Modèle Exécutable, qui permet justement d&amp;#39;éliminer le code, au lieu de le générer, ce qui nous parait avoir beaucoup plus de valeur et faire sens en matière d’agilité.&lt;/p&gt;  &lt;p&gt;Et on va pouvoir montrer des vraies applications qui tournent, avec des vrais modèles et des morceaux de code-ni-écrit-ni-généré dedans ;-)&lt;/p&gt;  &lt;p&gt;L’évènement a lieu le Jeudi 25 Novembre, chez Microsoft, et pour s’inscrire, c’est par &lt;a href="http://register.mdday.fr/seminaire/viewRegisterForm.do" target="_blank"&gt;ici&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Notre page partenaire est &lt;a href="http://www.mdday.fr/aspectize.htm" target="_blank"&gt;là&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://aspectize.com/aggbug.aspx?PostID=1389" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Aspectize?a=6KQvwUs7P80:Xh-3WxC-G44:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Aspectize?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Aspectize?a=6KQvwUs7P80:Xh-3WxC-G44:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Aspectize?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Aspectize/~4/6KQvwUs7P80" height="1" width="1"/&gt;</description><feedburner:origLink>http://aspectize.com/blogs/corp/archive/2010/10/27/participation-au-mdday.aspx</feedburner:origLink></item><item><title>Déménagement à la Défense</title><link>http://feedproxy.google.com/~r/Aspectize/~3/50Kdoo6AhRo/d-233-m-233-nagement-224-la-d-233-fense.aspx</link><pubDate>Mon, 06 Sep 2010 08:46:07 GMT</pubDate><guid isPermaLink="false">3d57e66d-6e97-4fde-a1fe-09655b785c0e:1385</guid><dc:creator>Nico</dc:creator><slash:comments>2</slash:comments><wfw:commentRss>http://aspectize.com/blogs/corp/rsscomments.aspx?PostID=1385</wfw:commentRss><comments>http://aspectize.com/blogs/corp/archive/2010/09/06/d-233-m-233-nagement-224-la-d-233-fense.aspx#comments</comments><description>&lt;p&gt;Après une année passée chez Paris Développement, nous quittons l’incubateur pour intégrer la &lt;a href="http://www.essec.fr/lessec/essec-ventures/incubateurs/pepiniere.html" target="_blank"&gt;pépinière de l’Essec Ventures&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;Nous retenons de cette année:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;la logistique: les locaux, le mobilier, les services, c’est bête à dire, mais un fax et une photocopieuse sont toujours utiles. &lt;/li&gt;    &lt;li&gt;les animations nombreuses de l’association Paris Développement: ventes, marketing, RH, financement, networking, juridique, propriété industrielle, les sujets présentés sont nombreux et variés. Les interlocuteurs ont tous une expertise sur leur domaine, et sont aussi là pour faire du business. La formule est bonne, puisque certains sont d’ailleurs devenus nos fournisseurs. &lt;/li&gt;    &lt;li&gt;L’accompagnement: mené par les chefs de projets, un point mensuel permet de définir l’avancement sur la R&amp;amp;D, le business, le financement, et tout ce qui touche au développement de la société. C’est très enrichissant d’avoir un moment d’échange sur la stratégie, avec des personnes externes de l’entreprise, qui ont un regard différent, une expérience à partager. &lt;/li&gt;    &lt;li&gt;le réseau: c’est sans doute là, que la dimension d’incubateur est la plus importante. Intégrer un réseau, avec des connexions multiples; start-up, business angels, mentors, financiers, experts, c’est toute une communauté qui échange, et des mises en relation toujours très intéressantes. Plusieurs de nos prospects sont directement issus de ces mises en relation.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Puisque la période d’incubation est limitée à un an – nous serions bien restés, mais il faut aussi laisser la place aux autres – je ne peux qu’encourager les start-up de tout poil à postuler, vous ne serez pas déçus (à l’exception du café, seul point noir au tableau, la machine en libre service fait du mauvais café, et nous avons investi dans une machine Nespresso dès le premier jour). &lt;/p&gt;  &lt;p&gt;Et maintenant, nous changeons d’environnement.&lt;/p&gt;  &lt;p&gt;Tout d’abord le quartier; moins de textile, plus de banquiers, nous sommes en plein cœur de la Défense.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://aspectize.com/blogs/corp/EssecVenture2_6FA13EF1.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="Essec Venture 2" border="0" alt="Essec Venture 2" src="http://aspectize.com/blogs/corp/EssecVenture2_thumb_1F7BE0B3.png" width="604" height="173" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Les locaux sont tout neufs, le CNIT a refait peau neuve, et ce n’est pas désagréable de se trouver dans un lieu comme ça:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://aspectize.com/blogs/corp/EssecVenture1_78CD5465.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="Essec Venture 1" border="0" alt="Essec Venture 1" src="http://aspectize.com/blogs/corp/EssecVenture1_thumb_1AD5B02C.png" width="603" height="174" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;La proximité de l’ESSEC Business School en fait un environnement incontestablement plus orienté business.&lt;/p&gt;  &lt;p&gt;Organisés en Open Space, et non plus en bureau fermé, l’ambiance de travail sera surement différente.&lt;/p&gt;  &lt;p&gt;Enfin, le réseau, d’autres &lt;a href="http://www.essec.fr/lessec/essec-ventures/partenaires.html" target="_blank"&gt;partenaires&lt;/a&gt;, d’autres relations à découvrir.&lt;/p&gt;&lt;img src="http://aspectize.com/aggbug.aspx?PostID=1385" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Aspectize?a=50Kdoo6AhRo:JQt-Ok-XeoE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Aspectize?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Aspectize?a=50Kdoo6AhRo:JQt-Ok-XeoE:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Aspectize?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Aspectize/~4/50Kdoo6AhRo" height="1" width="1"/&gt;</description><category domain="http://aspectize.com/blogs/corp/archive/tags/Entreprise/default.aspx">Entreprise</category><category domain="http://aspectize.com/blogs/corp/archive/tags/Startup/default.aspx">Startup</category><category domain="http://aspectize.com/blogs/corp/archive/tags/P_E900_pini_E800_re/default.aspx">Pépinière</category><feedburner:origLink>http://aspectize.com/blogs/corp/archive/2010/09/06/d-233-m-233-nagement-224-la-d-233-fense.aspx</feedburner:origLink></item><item><title>Tutorial 14 – Binder une image stockée en base</title><link>http://feedproxy.google.com/~r/Aspectize/~3/mThLJUSLqXk/tutorial-14-binder-une-image-stock-233-e-en-base.aspx</link><pubDate>Tue, 31 Aug 2010 08:56:18 GMT</pubDate><guid isPermaLink="false">3d57e66d-6e97-4fde-a1fe-09655b785c0e:1384</guid><dc:creator>Nico</dc:creator><slash:comments>0</slash:comments><wfw:commentRss>http://aspectize.com/blogs/corp/rsscomments.aspx?PostID=1384</wfw:commentRss><comments>http://aspectize.com/blogs/corp/archive/2010/08/31/tutorial-14-binder-une-image-stock-233-e-en-base.aspx#comments</comments><description>&lt;h3&gt;La vidéo du Tutorial&lt;/h3&gt; &lt;object width="425" height="344"&gt;&lt;embed src="http://www.youtube.com/v/x0eU-FAG9CQ&amp;amp;hl=en&amp;amp;fs=1" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h3&gt;Design du Schéma&lt;/h3&gt;  &lt;p&gt;Nous allons ajouter les Entités qui contiennent les images des produits. Les images sont contenues dans la table ProductPhoto, qui est associée à la table Product avec la table ProductProductPhoto.&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="2"&gt;     &lt;tr&gt;       &lt;td&gt;Dans Visual Studio, ouvrez le Schéma AdventureWorks.Entities.          &lt;br /&gt;          &lt;br /&gt;Ouvrez le Server Explorer.           &lt;br /&gt;          &lt;br /&gt;Avec la touche Ctrl enfoncée, sélectionnez les 2 tables ProductPhoto et ProductProductPhoto et dropez les dans le Schéma.&lt;/td&gt;        &lt;td&gt;&lt;a href="http://aspectize.com/blogs/corp/image_0107A020.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" src="http://aspectize.com/blogs/corp/image_thumb_22A3C8F1.png" width="358" height="253" /&gt;&lt;/a&gt; &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;Une nouvelle Entité et une Relation sont créées dans le Schéma.          &lt;br /&gt;          &lt;br /&gt;Comme la table ProductProductPhoto a une ForeignKet vers la table Product, la relation est automatiquement créée avec l’Entité Product du schéma.           &lt;br /&gt;          &lt;br /&gt;La relation est une relation 0-N/0-N, mais il n’y a qu’une seule photo par Product.           &lt;br /&gt;          &lt;br /&gt;L’image du produit est dans la colonne LargePhoto, qui est de type ByteArray.           &lt;br /&gt;          &lt;br /&gt;Sauvez le Schéma.&lt;/td&gt;        &lt;td&gt;&lt;a href="http://aspectize.com/blogs/corp/image_14F10CE9.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" src="http://aspectize.com/blogs/corp/image_thumb_0ADC6BBE.png" width="620" height="468" /&gt;&lt;/a&gt; &lt;/td&gt;     &lt;/tr&gt;   &lt;/table&gt;  &lt;h3&gt;Ecriture du code de chargement de l’image&lt;/h3&gt;  &lt;p&gt;Nous allons ajouter une commande pour charger l’image à partir de la base de données.&lt;/p&gt;  &lt;table cellspacing="0" cellpadding="2"&gt;     &lt;tr&gt;       &lt;td&gt;Ouvrez le fichier ADWService.cs.          &lt;br /&gt;          &lt;br /&gt;Ajoutez une nouvelle Commande qui renvoie un Byte[] en fonction d’un identifiant de Product.&lt;/td&gt;        &lt;td&gt;         &lt;pre style="border-bottom:#cecece 1px solid;border-left:#cecece 1px solid;padding-bottom:5px;background-color:#d3d3d3;min-height:40px;padding-left:5px;width:412px;padding-right:5px;height:52px;overflow:auto;border-top:#cecece 1px solid;border-right:#cecece 1px solid;padding-top:5px;"&gt;&lt;pre style="background-color:#d3d3d3;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;font-size:12px;"&gt;&lt;span style="color:#2b91af;"&gt;Byte&lt;/span&gt;[] LoadProductPhoto(&lt;span style="color:#0000ff;"&gt;int&lt;/span&gt; productId);&lt;/pre&gt;&lt;/pre&gt;
      &lt;/td&gt;
    &lt;/tr&gt;

    &lt;tr&gt;
      &lt;td&gt;Cette Commande charge les ProductPhotos associées au productId, et renvoie le LargePhoto de la première de la liste; en fait, il n’y a qu’une photo associée par Product. 
        &lt;br /&gt;

        &lt;br /&gt;&lt;/td&gt;

      &lt;td&gt;
        &lt;pre style="border-bottom:#cecece 1px solid;border-left:#cecece 1px solid;padding-bottom:5px;background-color:#d3d3d3;min-height:40px;padding-left:5px;width:650px;padding-right:5px;overflow:auto;border-top:#cecece 1px solid;border-right:#cecece 1px solid;padding-top:5px;"&gt;&lt;pre style="background-color:#d3d3d3;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;height:16px;font-size:12px;"&gt;&lt;span style="color:#0000ff;"&gt;byte&lt;/span&gt;[] &lt;span style="color:#2b91af;"&gt;IADWService&lt;/span&gt;.LoadProductPhoto(&lt;span style="color:#0000ff;"&gt;int&lt;/span&gt; productId)
&lt;/pre&gt;&lt;pre style="background-color:#d3d3d3;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;height:16px;font-size:12px;"&gt;{
&lt;/pre&gt;&lt;pre style="background-color:#d3d3d3;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;height:16px;font-size:12px;"&gt;    &lt;span style="color:#2b91af;"&gt;IDataManager&lt;/span&gt; dm = &lt;span style="color:#2b91af;"&gt;EntityManager&lt;/span&gt;.FromDataBaseService(&amp;quot;&lt;span style="color:#8b0000;"&gt;DataAccessAdventureWorks&lt;/span&gt;&amp;quot;);
&lt;/pre&gt;&lt;pre style="background-color:#d3d3d3;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;height:16px;font-size:12px;"&gt;&lt;/pre&gt;&lt;pre style="background-color:#d3d3d3;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;height:20px;font-size:12px;"&gt;    &lt;span style="color:#2b91af;"&gt;List&lt;/span&gt;&amp;lt;&lt;span style="color:#2b91af;"&gt;ProductPhoto&lt;/span&gt;&amp;gt; productPhotos = dm.GetAssociated&amp;lt;&lt;span style="color:#2b91af;"&gt;ProductPhoto&lt;/span&gt;, &lt;span style="color:#2b91af;"&gt;ProductProductPhoto&lt;/span&gt;&amp;gt;(productId);
&lt;/pre&gt;&lt;pre style="background-color:#d3d3d3;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;height:16px;font-size:12px;"&gt;&lt;/pre&gt;&lt;pre style="background-color:#d3d3d3;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;height:16px;font-size:12px;"&gt;    &lt;span style="color:#0000ff;"&gt;if&lt;/span&gt; (productPhotos.Count &amp;gt; 0)
&lt;/pre&gt;&lt;pre style="background-color:#d3d3d3;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;height:16px;font-size:12px;"&gt;    {
&lt;/pre&gt;&lt;pre style="background-color:#d3d3d3;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;height:16px;font-size:12px;"&gt;        &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; productPhotos[0].LargePhoto;
&lt;/pre&gt;&lt;pre style="background-color:#d3d3d3;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;height:16px;font-size:12px;"&gt;    }
&lt;/pre&gt;&lt;pre style="background-color:#d3d3d3;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;height:16px;font-size:12px;"&gt;&lt;/pre&gt;&lt;pre style="background-color:#d3d3d3;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;height:19px;font-size:12px;"&gt;    &lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Byte&lt;/span&gt;[0];
&lt;/pre&gt;&lt;pre style="background-color:#d3d3d3;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;height:16px;font-size:12px;"&gt;}
&lt;/pre&gt;&lt;pre style="background-color:#d3d3d3;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;height:16px;font-size:12px;"&gt;&lt;/pre&gt;&lt;/pre&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/table&gt;

&lt;h3&gt;Ajout du contrôle pour afficher l’image&lt;/h3&gt;

&lt;table cellspacing="0" cellpadding="2"&gt;
    &lt;tr&gt;
      &lt;td&gt;Ouvrez le fichier ADWControl.htm. 
        &lt;br /&gt;

        &lt;br /&gt;Ajoutez une ligne dans la table pour mettre un contrôle de type AspectizeImage. 

        &lt;br /&gt;

        &lt;br /&gt;Un controle AspectizeImage est un div nommé.

        &lt;br /&gt;

        &lt;br /&gt;Nommez le contrôle ProductImage. 

        &lt;br /&gt;

        &lt;br /&gt;Compilez le projet.&lt;/td&gt;

      &lt;td&gt;
        &lt;pre style="border-bottom:#cecece 1px solid;border-left:#cecece 1px solid;padding-bottom:5px;background-color:#d3d3d3;min-height:40px;padding-left:5px;width:650px;padding-right:5px;overflow:auto;border-top:#cecece 1px solid;border-right:#cecece 1px solid;padding-top:5px;"&gt;&lt;pre style="background-color:#d3d3d3;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;height:16px;font-size:12px;"&gt;&lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;tr&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color:#d3d3d3;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;height:16px;font-size:12px;"&gt;    &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;td&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;align&lt;/span&gt;=&lt;span style="color:#0000ff;"&gt;&amp;quot;right&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;style&lt;/span&gt;=&lt;span style="color:#0000ff;"&gt;&amp;quot;width:200px&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;Photo:&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;td&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color:#d3d3d3;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;height:16px;font-size:12px;"&gt;    &lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;td&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;style&lt;/span&gt;=&lt;span style="color:#0000ff;"&gt;&amp;quot;width:200px&amp;quot;&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color:#800000;"&gt;div&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;aas&lt;/span&gt;:&lt;span style="color:#ff0000;"&gt;name&lt;/span&gt;=&lt;span style="color:#0000ff;"&gt;&amp;quot;ProductImage&amp;quot;&lt;/span&gt; &lt;span style="color:#ff0000;"&gt;class&lt;/span&gt;=&lt;span style="color:#0000ff;"&gt;&amp;quot;AspectizeImage&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;div&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;td&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color:#d3d3d3;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;height:16px;font-size:12px;"&gt;&lt;span style="color:#0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color:#800000;"&gt;tr&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;&lt;pre style="background-color:#d3d3d3;margin:0em;width:100%;font-family:consolas,&amp;#39;Courier New&amp;#39;,courier,monospace;height:16px;font-size:12px;"&gt;&lt;/pre&gt;&lt;/pre&gt;
      &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/table&gt;

&lt;h3&gt;Binding de l’image&lt;/h3&gt;

&lt;p&gt;Nous allons maintenant bindé notre contrôle. Ce binding est un peu particulier, car nous n’allons pas bindé de propriétés du controles sur les données du DataSet, mais utiliser directement le binding de la commande sur un événement du contrôle.&lt;/p&gt;

&lt;table cellspacing="0" cellpadding="2"&gt;
    &lt;tr&gt;
      &lt;td&gt;Dans BindingStudio, ouvrez la vue ADWProduct.
        &lt;br /&gt;

        &lt;br /&gt;Ajoutez un Binding sur le contrôle ADWProduct.ProductImage.&lt;/td&gt;

      &lt;td&gt;&lt;a href="http://aspectize.com/blogs/corp/image_00C7CA93.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="image" border="0" alt="image" src="http://aspectize.com/blogs/corp/image_thumb_57044F9F.png" width="479" height="312" /&gt;&lt;/a&gt; &lt;/td&gt;
    &lt;/tr&gt;

    &lt;tr&gt;
      &lt;td&gt;Ce contrôle n’a pas de propriétés bindables pour afficher l’image, mais un évènement OnNeedImage. 
        &lt;br /&gt;

        &lt;br /&gt;Cet évènement est dynamique, c’est à dire qu’il est levé lorsque le paramètre de la commande bindée change de valeur.

        &lt;br /&gt;

        &lt;br /&gt;Bindez cet événement sur notre commande serveur.

        &lt;br /&gt;

        &lt;br /&gt;Le retour de la commande n’est pas bindé dans le DataSet.&lt;/td&gt;

      &lt;td&gt;&lt;a href="http://aspectize.com/blogs/corp/image_3055C352.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="image" border="0" alt="image" src="http://aspectize.com/blogs/corp/image_thumb_5FC4321E.png" width="473" height="286" /&gt;&lt;/a&gt; &lt;/td&gt;
    &lt;/tr&gt;

    &lt;tr&gt;
      &lt;td&gt;Bindez le paramètre sur l’identifiant du product qui est sélectionné. 
        &lt;br /&gt;

        &lt;br /&gt;Sauvez la configuration.&lt;/td&gt;

      &lt;td&gt;&lt;a href="http://aspectize.com/blogs/corp/image_35948436.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="image" border="0" alt="image" src="http://aspectize.com/blogs/corp/image_thumb_67ABAEB3.png" width="511" height="263" /&gt;&lt;/a&gt; &lt;/td&gt;
    &lt;/tr&gt;
  &lt;/table&gt;

&lt;p&gt;Si nous lançons notre application, nous constatons bien que le controle image affiche la photo du produit.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://aspectize.com/blogs/corp/image_48A58B15.png"&gt;&lt;img style="border-bottom:0px;border-left:0px;display:inline;border-top:0px;border-right:0px;" title="image" border="0" alt="image" src="http://aspectize.com/blogs/corp/image_thumb_790BE9BE.png" width="800" height="496" /&gt;&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;A chaque sélection de produit, l’image associée est affichée.&lt;/p&gt;

&lt;p&gt;Comprenons la cinématique d’échange:&lt;/p&gt;

&lt;p&gt;- lorsque l’on sélectionne un Product, le productId prend la valeur du Product sélectionné.&lt;/p&gt;

&lt;p&gt;- l’événement dynamique est levé, car le paramètre de la commande a changé de valeur.&lt;/p&gt;

&lt;p&gt;- le contrôle Image fabrique une url avec le nom de la commande et le paramètre productId&lt;/p&gt;

&lt;p&gt;- le browser appelle l’url, dont le type de retour est un mime type image&lt;/p&gt;

&lt;p&gt;- le serveur appelle la commande avec le paramètre productId et renvoie le ByteArray qui représente l’image du produit&lt;/p&gt;

&lt;p&gt;- le browser affiche le contenu sous forme d’image&lt;/p&gt;

&lt;p&gt;Les échanges entre client et serveur sont minimes, seul le contenu de l’image est échangé, quand nécessaire.&lt;/p&gt;

&lt;p&gt;Nous avons affiché une image, sans création de fichier temporaire sur le serveur, en bindant directement un contrôle sur une commande server.&lt;/p&gt;

&lt;p&gt;La suite au prochain épisode.&lt;/p&gt;&lt;img src="http://aspectize.com/aggbug.aspx?PostID=1384" width="1" height="1"&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Aspectize?a=mThLJUSLqXk:78lI6hxnBiM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Aspectize?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Aspectize?a=mThLJUSLqXk:78lI6hxnBiM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Aspectize?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Aspectize/~4/mThLJUSLqXk" height="1" width="1"/&gt;</description><category domain="http://aspectize.com/blogs/corp/archive/tags/Tutorial/default.aspx">Tutorial</category><category domain="http://aspectize.com/blogs/corp/archive/tags/Product/default.aspx">Product</category><category domain="http://aspectize.com/blogs/corp/archive/tags/Web/default.aspx">Web</category><category domain="http://aspectize.com/blogs/corp/archive/tags/Ajax/default.aspx">Ajax</category><feedburner:origLink>http://aspectize.com/blogs/corp/archive/2010/08/31/tutorial-14-binder-une-image-stock-233-e-en-base.aspx</feedburner:origLink></item></channel></rss>

