<?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>creo ignem</title>
	<atom:link href="http://www.creo-ignem.fr/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.creo-ignem.fr</link>
	<description></description>
	<lastBuildDate>Fri, 08 Apr 2011 13:43:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>Les bonnes questions &#224; se poser avant de passer &#224; Azure</title>
		<link>http://www.creo-ignem.fr/2011/04/les-bonnes-questions-se-poser-avant-de-passer-azure/</link>
		<comments>http://www.creo-ignem.fr/2011/04/les-bonnes-questions-se-poser-avant-de-passer-azure/#comments</comments>
		<pubDate>Fri, 08 Apr 2011 13:43:25 +0000</pubDate>
		<dc:creator>michael</dc:creator>
				<category><![CDATA[Windows Azure]]></category>

		<guid isPermaLink="false">http://www.creo-ignem.fr/2011/04/les-bonnes-questions-se-poser-avant-de-passer-azure/</guid>
		<description><![CDATA[
<script language="Javascript">
	DD_roundies.addRule('div.arrondi', '15px');
	
	jQuery(document).ready(function($){
		$("#envoyer").click(function() {
			valid = true;
			var tab_error = new Array();var message_error_web='';var message_error_mail='';var haut_mess_form = true;message_error_coche='';message_error_question='';message_error_captcha='';if($("#nom_input").val() == "") {
						$("#nom_input").css("background-color","#");
						$("#span_nom").css("color","#");$("#nom_input").next().text("");tab_error[0] = "votre nom"; 
						valid = false;
					} else {
						$("#nom_input").css("background-color","");
						$("#span_nom").css("color","");
						$("#nom_input").next().text("");
						tab_error[0] = "";
					}tab_error[1] = ""; if($("#mail_input").val() == "") {
				$("#mail_input").css("background-color","#");
				$("#span_mail").css("color","#");$("#mail_input").next().text("");tab_error[2] = "votre e-mail";
				valid = false;
			} else if(!$("#mail_input").val().match(/^([a-z0-9_]|\-|\.)+@(([a-z0-9_]|\-)+\.)+[a-z]{2,7}$/)){
				$("#mail_input").css("background-color","#");
				$("#span_mail").css("color","#");$("#mail_input").next().text("");message_error_mail = "L'email entré n'est pas valide";
				tab_error[2] = "";
				valid = false;
			} else {
				$("#mail_input").css("background-color","");
				$("#span_mail").css("color","");
				$("#mail_input").next().text("");
				tab_error[2] = "";
				message_error_mail = "";
			}tab_error[3] = "";if($("#objet_input").val() == "") {
				$("#objet_input").css("background-color","#");
				$("#span_objet").css("color","#");$("#objet_input").next().text("");tab_error[4] = "Objet";
				valid = false;
			} else {
				$("#objet_input").css("background-color","");
				$("#span_objet").css("color","");
				$("#objet_input").next().text("");
				tab_error[4] = "";
			}if($("#message_input").val() == "") {
				$("#message_input").css("background-color","#");
				$("#span_message").css("color","#");$("#message_input").next().text("");tab_error[5] = "Message<br/>";
				valid = false;
			} else {
				$("#message_input").css("background-color","");
				$("#span_message").css("color","");
				$("#message_input").next().text("");
				tab_error[5] = "";
			}haut_mess_form = false;			if(valid == false) {
				$("#formulaire_contact").animate({ backgroundColor: "#" }, 100);
				
				var message = "Veuillez renseigner le(s) champs: ";
				for (var i=0; i < tab_error.length; ++i) {
					if(tab_error[i] != "") {
						message += tab_error[i]+", ";
					}
				}
				
				message = message.substring(0, message.length-2);
				
				var espace_coche = "";
				if(message_error_mail != "") {
					message += message_error_mail;
					espace_coche = "<br/>";
				}
				
				if(message_error_coche != "") {
					message += espace_coche+message_error_coche;
				}
				
				if(message_error_question != "") {
					message += espace_coche+message_error_question;
				}
				
				if(message_error_captcha != "") {
					message += espace_coche+message_error_captcha;
				}
				
				if(message_error_web != "" && message_error_mail != "") {
					message += "<br/>"+message_error_web;
				} else {
					message += message_error_web;
				}
				
				if(haut_mess_form == true) {
					$("#message_error").css("display","block");
					$("#message_error").html(message);
				}
			}
			
			$("#formulaire_contact").animate({ backgroundColor: "#" }, 800);
			return valid;
		});
	});
	</script>

<style type="text/css">
	<!--
	#style_cispm fieldset {
		background-color: transparent;
		margin: 0;
		padding: 5px;
	}
	
	#style_cispm {
		margin:0;
		padding:0;
		font-family: 	}
	
	#style_cispm table td, table th {
		border-right:0px;
		padding:0;
		text-align:left;
	}
	
	.input_cispm {
		margin:0;
		height: 18px;
		padding: 2px;
	}

	#style_cispm input, textarea, select {
		margin:0;
		padding:0;
	}
	
	#style_cispm table tr:hover td {
		margin: 0;
		padding: 0;
	}
	
	#formulaire_contact{
		margin:auto;
		border-radius:1em;
		-moz-border-radius:1em;
		-webkit-border-radius:1em;
		padding-bottom: 8px;
	}

	#formulaire_contact fieldset{
		border:none;
	}
	
	#formulaire_contact legend{
		margin-top:0.3em;
		font-weight:bold;
		padding-top: 15px;
		padding-left: 15px;
		padding-bottom: 15px;
		text-align: left;
	}
	
	#formulaire_contact label{
		width:200px;
		text-align:right;
	}
	
	#formulaire_contact input, form select, form textarea{
		margin-left:0.5em;
	}
	
	#formulaire_contact button{
		position:relative;
		left:160px;
	}
	
	#formulaire_contact span{
		display:block;
		text-align:right;
		background-color: transparent;
		padding: 0;
		background: url("");
		margin: 0;
	}
	
	#form_tableau {
		border:none;
		margin:0;
		background-color:transparent;
	}
	
	#form_td {
		border:none;
		background-color:transparent;
		vertical-align: top;
		padding-top: 3px;
	}
	
	.error-message {
		color: red;
		padding-left: 10px;
		padding-top:0;
		margin:0;
		margin-bottom: 10px;
	}
	
	#message_error {
		background-color:#d58b8d;
		border:1px solid #d2484b;
		-moz-border-radius-bottomleft:3px;
		-moz-border-radius-bottomright:3px;
		-moz-border-radius-topleft:3px;
		-moz-border-radius-topright:3px;
		margin:5px 15px 2px;
		padding:0.3em 0.6em;
		display: none;
		margin-bottom:10px;
	}
	
	#envoyer {
		margin-top:-20px;
	}
	-->
</style>

L’équipe MSDN/Partenaires vient de publier un article très complet sur les raisons qui pourraient pousser (ou non) à utiliser Azure, à lire absolument si vous réfléchissez à faire le grand saut : http://blogs.msdn.com/b/editeurs_de_logiciels/archive/2011/04/08/les-bonnes-questions-224-se-poser-avant-de-se-lancer-sur-windows-azure-partie-1.aspx?utm_source=twitterfeed&#38;utm_medium=twitter]]></description>
			<content:encoded><![CDATA[
<script language="Javascript">
	DD_roundies.addRule('div.arrondi', '15px');
	
	jQuery(document).ready(function($){
		$("#envoyer").click(function() {
			valid = true;
			var tab_error = new Array();var message_error_web='';var message_error_mail='';var haut_mess_form = true;message_error_coche='';message_error_question='';message_error_captcha='';if($("#nom_input").val() == "") {
						$("#nom_input").css("background-color","#");
						$("#span_nom").css("color","#");$("#nom_input").next().text("");tab_error[0] = "votre nom"; 
						valid = false;
					} else {
						$("#nom_input").css("background-color","");
						$("#span_nom").css("color","");
						$("#nom_input").next().text("");
						tab_error[0] = "";
					}tab_error[1] = ""; if($("#mail_input").val() == "") {
				$("#mail_input").css("background-color","#");
				$("#span_mail").css("color","#");$("#mail_input").next().text("");tab_error[2] = "votre e-mail";
				valid = false;
			} else if(!$("#mail_input").val().match(/^([a-z0-9_]|\-|\.)+@(([a-z0-9_]|\-)+\.)+[a-z]{2,7}$/)){
				$("#mail_input").css("background-color","#");
				$("#span_mail").css("color","#");$("#mail_input").next().text("");message_error_mail = "L'email entré n'est pas valide";
				tab_error[2] = "";
				valid = false;
			} else {
				$("#mail_input").css("background-color","");
				$("#span_mail").css("color","");
				$("#mail_input").next().text("");
				tab_error[2] = "";
				message_error_mail = "";
			}tab_error[3] = "";if($("#objet_input").val() == "") {
				$("#objet_input").css("background-color","#");
				$("#span_objet").css("color","#");$("#objet_input").next().text("");tab_error[4] = "Objet";
				valid = false;
			} else {
				$("#objet_input").css("background-color","");
				$("#span_objet").css("color","");
				$("#objet_input").next().text("");
				tab_error[4] = "";
			}if($("#message_input").val() == "") {
				$("#message_input").css("background-color","#");
				$("#span_message").css("color","#");$("#message_input").next().text("");tab_error[5] = "Message<br/>";
				valid = false;
			} else {
				$("#message_input").css("background-color","");
				$("#span_message").css("color","");
				$("#message_input").next().text("");
				tab_error[5] = "";
			}haut_mess_form = false;			if(valid == false) {
				$("#formulaire_contact").animate({ backgroundColor: "#" }, 100);
				
				var message = "Veuillez renseigner le(s) champs: ";
				for (var i=0; i < tab_error.length; ++i) {
					if(tab_error[i] != "") {
						message += tab_error[i]+", ";
					}
				}
				
				message = message.substring(0, message.length-2);
				
				var espace_coche = "";
				if(message_error_mail != "") {
					message += message_error_mail;
					espace_coche = "<br/>";
				}
				
				if(message_error_coche != "") {
					message += espace_coche+message_error_coche;
				}
				
				if(message_error_question != "") {
					message += espace_coche+message_error_question;
				}
				
				if(message_error_captcha != "") {
					message += espace_coche+message_error_captcha;
				}
				
				if(message_error_web != "" && message_error_mail != "") {
					message += "<br/>"+message_error_web;
				} else {
					message += message_error_web;
				}
				
				if(haut_mess_form == true) {
					$("#message_error").css("display","block");
					$("#message_error").html(message);
				}
			}
			
			$("#formulaire_contact").animate({ backgroundColor: "#" }, 800);
			return valid;
		});
	});
	</script>

<style type="text/css">
	<!--
	#style_cispm fieldset {
		background-color: transparent;
		margin: 0;
		padding: 5px;
	}
	
	#style_cispm {
		margin:0;
		padding:0;
		font-family: 	}
	
	#style_cispm table td, table th {
		border-right:0px;
		padding:0;
		text-align:left;
	}
	
	.input_cispm {
		margin:0;
		height: 18px;
		padding: 2px;
	}

	#style_cispm input, textarea, select {
		margin:0;
		padding:0;
	}
	
	#style_cispm table tr:hover td {
		margin: 0;
		padding: 0;
	}
	
	#formulaire_contact{
		margin:auto;
		border-radius:1em;
		-moz-border-radius:1em;
		-webkit-border-radius:1em;
		padding-bottom: 8px;
	}

	#formulaire_contact fieldset{
		border:none;
	}
	
	#formulaire_contact legend{
		margin-top:0.3em;
		font-weight:bold;
		padding-top: 15px;
		padding-left: 15px;
		padding-bottom: 15px;
		text-align: left;
	}
	
	#formulaire_contact label{
		width:200px;
		text-align:right;
	}
	
	#formulaire_contact input, form select, form textarea{
		margin-left:0.5em;
	}
	
	#formulaire_contact button{
		position:relative;
		left:160px;
	}
	
	#formulaire_contact span{
		display:block;
		text-align:right;
		background-color: transparent;
		padding: 0;
		background: url("");
		margin: 0;
	}
	
	#form_tableau {
		border:none;
		margin:0;
		background-color:transparent;
	}
	
	#form_td {
		border:none;
		background-color:transparent;
		vertical-align: top;
		padding-top: 3px;
	}
	
	.error-message {
		color: red;
		padding-left: 10px;
		padding-top:0;
		margin:0;
		margin-bottom: 10px;
	}
	
	#message_error {
		background-color:#d58b8d;
		border:1px solid #d2484b;
		-moz-border-radius-bottomleft:3px;
		-moz-border-radius-bottomright:3px;
		-moz-border-radius-topleft:3px;
		-moz-border-radius-topright:3px;
		margin:5px 15px 2px;
		padding:0.3em 0.6em;
		display: none;
		margin-bottom:10px;
	}
	
	#envoyer {
		margin-top:-20px;
	}
	-->
</style>

<p>L’équipe MSDN/Partenaires vient de publier un article très complet sur les raisons qui pourraient pousser (ou non) à utiliser Azure, à lire absolument si vous réfléchissez à faire le grand saut :</p>
<p><a title="http://blogs.msdn.com/b/editeurs_de_logiciels/archive/2011/04/08/les-bonnes-questions-224-se-poser-avant-de-se-lancer-sur-windows-azure-partie-1.aspx?utm_source=twitterfeed&amp;utm_medium=twitter" href="http://blogs.msdn.com/b/editeurs_de_logiciels/archive/2011/04/08/les-bonnes-questions-224-se-poser-avant-de-se-lancer-sur-windows-azure-partie-1.aspx?utm_source=twitterfeed&amp;utm_medium=twitter">http://blogs.msdn.com/b/editeurs_de_logiciels/archive/2011/04/08/les-bonnes-questions-224-se-poser-avant-de-se-lancer-sur-windows-azure-partie-1.aspx?utm_source=twitterfeed&amp;utm_medium=twitter</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.creo-ignem.fr/2011/04/les-bonnes-questions-se-poser-avant-de-passer-azure/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Architecture d&#8217;une application Azure</title>
		<link>http://www.creo-ignem.fr/2011/04/architecture-dune-application-azure/</link>
		<comments>http://www.creo-ignem.fr/2011/04/architecture-dune-application-azure/#comments</comments>
		<pubDate>Tue, 05 Apr 2011 13:07:00 +0000</pubDate>
		<dc:creator>michael</dc:creator>
				<category><![CDATA[Windows Azure]]></category>

		<guid isPermaLink="false">http://www.creo-ignem.fr/?p=128</guid>
		<description><![CDATA[
<script language="Javascript">
	DD_roundies.addRule('div.arrondi', '15px');
	
	jQuery(document).ready(function($){
		$("#envoyer").click(function() {
			valid = true;
			var tab_error = new Array();var message_error_web='';var message_error_mail='';var haut_mess_form = true;message_error_coche='';message_error_question='';message_error_captcha='';if($("#nom_input").val() == "") {
						$("#nom_input").css("background-color","#");
						$("#span_nom").css("color","#");$("#nom_input").next().text("");tab_error[0] = "votre nom"; 
						valid = false;
					} else {
						$("#nom_input").css("background-color","");
						$("#span_nom").css("color","");
						$("#nom_input").next().text("");
						tab_error[0] = "";
					}tab_error[1] = ""; if($("#mail_input").val() == "") {
				$("#mail_input").css("background-color","#");
				$("#span_mail").css("color","#");$("#mail_input").next().text("");tab_error[2] = "votre e-mail";
				valid = false;
			} else if(!$("#mail_input").val().match(/^([a-z0-9_]|\-|\.)+@(([a-z0-9_]|\-)+\.)+[a-z]{2,7}$/)){
				$("#mail_input").css("background-color","#");
				$("#span_mail").css("color","#");$("#mail_input").next().text("");message_error_mail = "L'email entré n'est pas valide";
				tab_error[2] = "";
				valid = false;
			} else {
				$("#mail_input").css("background-color","");
				$("#span_mail").css("color","");
				$("#mail_input").next().text("");
				tab_error[2] = "";
				message_error_mail = "";
			}tab_error[3] = "";if($("#objet_input").val() == "") {
				$("#objet_input").css("background-color","#");
				$("#span_objet").css("color","#");$("#objet_input").next().text("");tab_error[4] = "Objet";
				valid = false;
			} else {
				$("#objet_input").css("background-color","");
				$("#span_objet").css("color","");
				$("#objet_input").next().text("");
				tab_error[4] = "";
			}if($("#message_input").val() == "") {
				$("#message_input").css("background-color","#");
				$("#span_message").css("color","#");$("#message_input").next().text("");tab_error[5] = "Message<br/>";
				valid = false;
			} else {
				$("#message_input").css("background-color","");
				$("#span_message").css("color","");
				$("#message_input").next().text("");
				tab_error[5] = "";
			}haut_mess_form = false;			if(valid == false) {
				$("#formulaire_contact").animate({ backgroundColor: "#" }, 100);
				
				var message = "Veuillez renseigner le(s) champs: ";
				for (var i=0; i < tab_error.length; ++i) {
					if(tab_error[i] != "") {
						message += tab_error[i]+", ";
					}
				}
				
				message = message.substring(0, message.length-2);
				
				var espace_coche = "";
				if(message_error_mail != "") {
					message += message_error_mail;
					espace_coche = "<br/>";
				}
				
				if(message_error_coche != "") {
					message += espace_coche+message_error_coche;
				}
				
				if(message_error_question != "") {
					message += espace_coche+message_error_question;
				}
				
				if(message_error_captcha != "") {
					message += espace_coche+message_error_captcha;
				}
				
				if(message_error_web != "" && message_error_mail != "") {
					message += "<br/>"+message_error_web;
				} else {
					message += message_error_web;
				}
				
				if(haut_mess_form == true) {
					$("#message_error").css("display","block");
					$("#message_error").html(message);
				}
			}
			
			$("#formulaire_contact").animate({ backgroundColor: "#" }, 800);
			return valid;
		});
	});
	</script>

<style type="text/css">
	<!--
	#style_cispm fieldset {
		background-color: transparent;
		margin: 0;
		padding: 5px;
	}
	
	#style_cispm {
		margin:0;
		padding:0;
		font-family: 	}
	
	#style_cispm table td, table th {
		border-right:0px;
		padding:0;
		text-align:left;
	}
	
	.input_cispm {
		margin:0;
		height: 18px;
		padding: 2px;
	}

	#style_cispm input, textarea, select {
		margin:0;
		padding:0;
	}
	
	#style_cispm table tr:hover td {
		margin: 0;
		padding: 0;
	}
	
	#formulaire_contact{
		margin:auto;
		border-radius:1em;
		-moz-border-radius:1em;
		-webkit-border-radius:1em;
		padding-bottom: 8px;
	}

	#formulaire_contact fieldset{
		border:none;
	}
	
	#formulaire_contact legend{
		margin-top:0.3em;
		font-weight:bold;
		padding-top: 15px;
		padding-left: 15px;
		padding-bottom: 15px;
		text-align: left;
	}
	
	#formulaire_contact label{
		width:200px;
		text-align:right;
	}
	
	#formulaire_contact input, form select, form textarea{
		margin-left:0.5em;
	}
	
	#formulaire_contact button{
		position:relative;
		left:160px;
	}
	
	#formulaire_contact span{
		display:block;
		text-align:right;
		background-color: transparent;
		padding: 0;
		background: url("");
		margin: 0;
	}
	
	#form_tableau {
		border:none;
		margin:0;
		background-color:transparent;
	}
	
	#form_td {
		border:none;
		background-color:transparent;
		vertical-align: top;
		padding-top: 3px;
	}
	
	.error-message {
		color: red;
		padding-left: 10px;
		padding-top:0;
		margin:0;
		margin-bottom: 10px;
	}
	
	#message_error {
		background-color:#d58b8d;
		border:1px solid #d2484b;
		-moz-border-radius-bottomleft:3px;
		-moz-border-radius-bottomright:3px;
		-moz-border-radius-topleft:3px;
		-moz-border-radius-topright:3px;
		margin:5px 15px 2px;
		padding:0.3em 0.6em;
		display: none;
		margin-bottom:10px;
	}
	
	#envoyer {
		margin-top:-20px;
	}
	-->
</style>

Ce billet est fait partie de la série “Migrer un application vers Windows Azure”. L’une des plus grosses différences entre Azure et les modèles classiques d’hébergements, ou même d’autres hébergements “Cloud” tels qu’Amazon EC2, tient en peu de chose : il s’agit tout simplement de l’orientation application de Windows Azure. Fidèle à sa réputation de [...]]]></description>
			<content:encoded><![CDATA[
<script language="Javascript">
	DD_roundies.addRule('div.arrondi', '15px');
	
	jQuery(document).ready(function($){
		$("#envoyer").click(function() {
			valid = true;
			var tab_error = new Array();var message_error_web='';var message_error_mail='';var haut_mess_form = true;message_error_coche='';message_error_question='';message_error_captcha='';if($("#nom_input").val() == "") {
						$("#nom_input").css("background-color","#");
						$("#span_nom").css("color","#");$("#nom_input").next().text("");tab_error[0] = "votre nom"; 
						valid = false;
					} else {
						$("#nom_input").css("background-color","");
						$("#span_nom").css("color","");
						$("#nom_input").next().text("");
						tab_error[0] = "";
					}tab_error[1] = ""; if($("#mail_input").val() == "") {
				$("#mail_input").css("background-color","#");
				$("#span_mail").css("color","#");$("#mail_input").next().text("");tab_error[2] = "votre e-mail";
				valid = false;
			} else if(!$("#mail_input").val().match(/^([a-z0-9_]|\-|\.)+@(([a-z0-9_]|\-)+\.)+[a-z]{2,7}$/)){
				$("#mail_input").css("background-color","#");
				$("#span_mail").css("color","#");$("#mail_input").next().text("");message_error_mail = "L'email entré n'est pas valide";
				tab_error[2] = "";
				valid = false;
			} else {
				$("#mail_input").css("background-color","");
				$("#span_mail").css("color","");
				$("#mail_input").next().text("");
				tab_error[2] = "";
				message_error_mail = "";
			}tab_error[3] = "";if($("#objet_input").val() == "") {
				$("#objet_input").css("background-color","#");
				$("#span_objet").css("color","#");$("#objet_input").next().text("");tab_error[4] = "Objet";
				valid = false;
			} else {
				$("#objet_input").css("background-color","");
				$("#span_objet").css("color","");
				$("#objet_input").next().text("");
				tab_error[4] = "";
			}if($("#message_input").val() == "") {
				$("#message_input").css("background-color","#");
				$("#span_message").css("color","#");$("#message_input").next().text("");tab_error[5] = "Message<br/>";
				valid = false;
			} else {
				$("#message_input").css("background-color","");
				$("#span_message").css("color","");
				$("#message_input").next().text("");
				tab_error[5] = "";
			}haut_mess_form = false;			if(valid == false) {
				$("#formulaire_contact").animate({ backgroundColor: "#" }, 100);
				
				var message = "Veuillez renseigner le(s) champs: ";
				for (var i=0; i < tab_error.length; ++i) {
					if(tab_error[i] != "") {
						message += tab_error[i]+", ";
					}
				}
				
				message = message.substring(0, message.length-2);
				
				var espace_coche = "";
				if(message_error_mail != "") {
					message += message_error_mail;
					espace_coche = "<br/>";
				}
				
				if(message_error_coche != "") {
					message += espace_coche+message_error_coche;
				}
				
				if(message_error_question != "") {
					message += espace_coche+message_error_question;
				}
				
				if(message_error_captcha != "") {
					message += espace_coche+message_error_captcha;
				}
				
				if(message_error_web != "" && message_error_mail != "") {
					message += "<br/>"+message_error_web;
				} else {
					message += message_error_web;
				}
				
				if(haut_mess_form == true) {
					$("#message_error").css("display","block");
					$("#message_error").html(message);
				}
			}
			
			$("#formulaire_contact").animate({ backgroundColor: "#" }, 800);
			return valid;
		});
	});
	</script>

<style type="text/css">
	<!--
	#style_cispm fieldset {
		background-color: transparent;
		margin: 0;
		padding: 5px;
	}
	
	#style_cispm {
		margin:0;
		padding:0;
		font-family: 	}
	
	#style_cispm table td, table th {
		border-right:0px;
		padding:0;
		text-align:left;
	}
	
	.input_cispm {
		margin:0;
		height: 18px;
		padding: 2px;
	}

	#style_cispm input, textarea, select {
		margin:0;
		padding:0;
	}
	
	#style_cispm table tr:hover td {
		margin: 0;
		padding: 0;
	}
	
	#formulaire_contact{
		margin:auto;
		border-radius:1em;
		-moz-border-radius:1em;
		-webkit-border-radius:1em;
		padding-bottom: 8px;
	}

	#formulaire_contact fieldset{
		border:none;
	}
	
	#formulaire_contact legend{
		margin-top:0.3em;
		font-weight:bold;
		padding-top: 15px;
		padding-left: 15px;
		padding-bottom: 15px;
		text-align: left;
	}
	
	#formulaire_contact label{
		width:200px;
		text-align:right;
	}
	
	#formulaire_contact input, form select, form textarea{
		margin-left:0.5em;
	}
	
	#formulaire_contact button{
		position:relative;
		left:160px;
	}
	
	#formulaire_contact span{
		display:block;
		text-align:right;
		background-color: transparent;
		padding: 0;
		background: url("");
		margin: 0;
	}
	
	#form_tableau {
		border:none;
		margin:0;
		background-color:transparent;
	}
	
	#form_td {
		border:none;
		background-color:transparent;
		vertical-align: top;
		padding-top: 3px;
	}
	
	.error-message {
		color: red;
		padding-left: 10px;
		padding-top:0;
		margin:0;
		margin-bottom: 10px;
	}
	
	#message_error {
		background-color:#d58b8d;
		border:1px solid #d2484b;
		-moz-border-radius-bottomleft:3px;
		-moz-border-radius-bottomright:3px;
		-moz-border-radius-topleft:3px;
		-moz-border-radius-topright:3px;
		margin:5px 15px 2px;
		padding:0.3em 0.6em;
		display: none;
		margin-bottom:10px;
	}
	
	#envoyer {
		margin-top:-20px;
	}
	-->
</style>

<p>Ce billet est fait partie de la série “<a href="http://www.creo-ignem.fr/services/migrer-une-application-vers-azure/">Migrer un application vers Windows Azure</a>”.</p>
<p><img style="margin: 0px 0px 10px;" src="http://www.creo-ignem.fr/wp-content/uploads/2011/02/logo_windows_azure1.jpg" alt="" /></p>
<p><strong>L’une des plus grosses différences entre Azure et les modèles classiques d’hébergements</strong>, ou même d’autres hébergements “Cloud” tels qu’Amazon EC2, tient en peu de chose : il s’agit tout simplement de <strong>l’orientation <em>application </em>de Windows Azure</strong>. Fidèle à sa réputation de developper-friendliness, Microsoft ne propose pas un environnement où vous louez des serveurs et où vous devez vous débrouiller pour y faire tourner vos programmes : <strong>vous louez </strong>en fait <strong>un environne-ment pour votre application et la puissance de calcul qui lui est nécessaire</strong>.Si le résultat est finalement le même : avoir votre application qui tourne sur des serveurs, la façon de procéder sera quelque peu différente.</p>
<p><span id="more-128"></span></p>
<h2>Architecture d’une application</h2>
<p><strong>Une application pour Azure est composée</strong>, comme toutes les autres applications, <strong>d’un  ou plusieurs module(s)</strong> – le terme Azuréen est “<strong>rôle</strong>” – qui s’occupe(nt) d’effectuer un service. On peut prendre l’exemple d’un site de réservation de chambres d’hôtels, composé d’un front-office permettant au client de chercher un hôtel et de passer sa commande et d’un ensemble de traitements batch qui traitent les réservations, envoient les mails de confirmation, etc.</p>
<p>Si vous réalisez ce site en architecture classique, vous obtiendrez probablement le schéma d&#8217;architecture suivant :</p>
<p><img style="background-image: none; margin: 0px 0px 10px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="schema-sans-azure" src="http://www.creo-ignem.fr/wp-content/uploads/2011/04/schema-sans-azure.jpg" border="0" alt="schema-sans-azure" width="535" height="400" /></p>
<p>Nous avons, volontairement, mis de coté l&#8217;option &laquo;&nbsp;tout sur le même serveur&nbsp;&raquo; : si votre service est suffisamment petit pour correspondre à ce type d&#8217;architecture, vous ne serez probablement pas intéressé par Azure.</p>
<p>Sur Azure, pas de révolution, on retrouve quasiment la même chose :</p>
<p><img style="background-image: none; margin: 0px 0px 10px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="schema-avec-azure" src="http://www.creo-ignem.fr/wp-content/uploads/2011/04/schema-avec-azure.jpg" border="0" alt="schema-avec-azure" width="535" height="400" /></p>
<p>Les choses deviennent plus intéressantes si votre site devient important en terme de fréquentation ou de volume d&#8217;information. Vous serez alors amené à <strong>mettre en place plusieurs serveurs avec des syst</strong><strong>è</strong><strong>mes de r</strong><strong>é</strong><strong>partition de charge et des copies de sauvegardes synchronisées pour fournir la tolérance aux pannes</strong>. Le schéma se complexifie pas mal en mode &laquo;&nbsp;classique&nbsp;&raquo; :</p>
<p><img style="background-image: none; margin: 0px 0px 10px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="schema-sans-azure-charge" src="http://www.creo-ignem.fr/wp-content/uploads/2011/04/schema-sans-azure-charge.jpg" border="0" alt="schema-sans-azure-charge" width="535" height="400" /></p>
<p>Du cote <strong>Azure</strong>, par contre, <strong>ces services sont fournis par la plateforme</strong>, vous n&#8217;aurez donc pas les gérer. Mettre en place plus de puissance de calcul se résume à demander plus d&#8217;instances du rôle concerné (via le portail d&#8217;administration ou un fichier de configuration) à la plateforme : Azure se charge automatiquement du LoadBalancing et du FailOver. Le schéma reste donc le même :</p>
<p><img style="background-image: none; margin: 0px 0px 10px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border: 0px;" title="schema-avec-azure-charge" src="http://www.creo-ignem.fr/wp-content/uploads/2011/04/schema-avec-azure-charge.jpg" border="0" alt="schema-avec-azure-charge" width="535" height="400" /></p>
<h2>Les différents rôles disponibles</h2>
<p>Lorsque vous développez une application Azure, vous pouvez utiliser une combinaison de trois types de rôle :</p>
<ul>
<li>Les <strong>web-roles</strong> correspondent aux applications web, tournant sous IIS. Il peut aussi bien s’agir de véritables sites que d’applications proposant des web services.</li>
<li>Les <strong>worker-roles</strong> sont simplement un environnement dans lequel est exécuté votre code, sans l’intervention d’IIS ou de tout autre serveur externe. On pourrait résumer en disant qu’il s’agit d’un environnement faisant tourner un exécutable.</li>
<li>Et finalement les <strong>VM-roles</strong> permettent de faire tourner votre propre machine virtuel dans Azure.</li>
</ul>
<p>Pour <strong>chacun de ces rôles, vous pourrez déterminer</strong> (et modifier dynamiquement) la<strong> puissance de calcul</strong> disponible mais il est important de noter que <strong>chaque rôle correspond</strong> à au moins une instance, et donc <strong>à une facturation du temps d’exécution</strong>. Si vous avez plusieurs sites (par exemple un site “front-office” pour le public et un “back-office” pour les administrateurs) ou plusieurs “services applicatifs”, il vous faudra déterminer s’il vaut mieux séparer ces derniers en rôles distincts pour améliorer la flexibilité ou au contraire les regrouper pour minimiser les couts.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.creo-ignem.fr/2011/04/architecture-dune-application-azure/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WebDeploy et Azure</title>
		<link>http://www.creo-ignem.fr/2011/03/webdeploy-et-azure/</link>
		<comments>http://www.creo-ignem.fr/2011/03/webdeploy-et-azure/#comments</comments>
		<pubDate>Wed, 09 Mar 2011 09:15:00 +0000</pubDate>
		<dc:creator>michael</dc:creator>
				<category><![CDATA[Windows Azure]]></category>

		<guid isPermaLink="false">http://www.creo-ignem.fr/?p=138</guid>
		<description><![CDATA[
<script language="Javascript">
	DD_roundies.addRule('div.arrondi', '15px');
	
	jQuery(document).ready(function($){
		$("#envoyer").click(function() {
			valid = true;
			var tab_error = new Array();var message_error_web='';var message_error_mail='';var haut_mess_form = true;message_error_coche='';message_error_question='';message_error_captcha='';if($("#nom_input").val() == "") {
						$("#nom_input").css("background-color","#");
						$("#span_nom").css("color","#");$("#nom_input").next().text("");tab_error[0] = "votre nom"; 
						valid = false;
					} else {
						$("#nom_input").css("background-color","");
						$("#span_nom").css("color","");
						$("#nom_input").next().text("");
						tab_error[0] = "";
					}tab_error[1] = ""; if($("#mail_input").val() == "") {
				$("#mail_input").css("background-color","#");
				$("#span_mail").css("color","#");$("#mail_input").next().text("");tab_error[2] = "votre e-mail";
				valid = false;
			} else if(!$("#mail_input").val().match(/^([a-z0-9_]|\-|\.)+@(([a-z0-9_]|\-)+\.)+[a-z]{2,7}$/)){
				$("#mail_input").css("background-color","#");
				$("#span_mail").css("color","#");$("#mail_input").next().text("");message_error_mail = "L'email entré n'est pas valide";
				tab_error[2] = "";
				valid = false;
			} else {
				$("#mail_input").css("background-color","");
				$("#span_mail").css("color","");
				$("#mail_input").next().text("");
				tab_error[2] = "";
				message_error_mail = "";
			}tab_error[3] = "";if($("#objet_input").val() == "") {
				$("#objet_input").css("background-color","#");
				$("#span_objet").css("color","#");$("#objet_input").next().text("");tab_error[4] = "Objet";
				valid = false;
			} else {
				$("#objet_input").css("background-color","");
				$("#span_objet").css("color","");
				$("#objet_input").next().text("");
				tab_error[4] = "";
			}if($("#message_input").val() == "") {
				$("#message_input").css("background-color","#");
				$("#span_message").css("color","#");$("#message_input").next().text("");tab_error[5] = "Message<br/>";
				valid = false;
			} else {
				$("#message_input").css("background-color","");
				$("#span_message").css("color","");
				$("#message_input").next().text("");
				tab_error[5] = "";
			}haut_mess_form = false;			if(valid == false) {
				$("#formulaire_contact").animate({ backgroundColor: "#" }, 100);
				
				var message = "Veuillez renseigner le(s) champs: ";
				for (var i=0; i < tab_error.length; ++i) {
					if(tab_error[i] != "") {
						message += tab_error[i]+", ";
					}
				}
				
				message = message.substring(0, message.length-2);
				
				var espace_coche = "";
				if(message_error_mail != "") {
					message += message_error_mail;
					espace_coche = "<br/>";
				}
				
				if(message_error_coche != "") {
					message += espace_coche+message_error_coche;
				}
				
				if(message_error_question != "") {
					message += espace_coche+message_error_question;
				}
				
				if(message_error_captcha != "") {
					message += espace_coche+message_error_captcha;
				}
				
				if(message_error_web != "" && message_error_mail != "") {
					message += "<br/>"+message_error_web;
				} else {
					message += message_error_web;
				}
				
				if(haut_mess_form == true) {
					$("#message_error").css("display","block");
					$("#message_error").html(message);
				}
			}
			
			$("#formulaire_contact").animate({ backgroundColor: "#" }, 800);
			return valid;
		});
	});
	</script>

<style type="text/css">
	<!--
	#style_cispm fieldset {
		background-color: transparent;
		margin: 0;
		padding: 5px;
	}
	
	#style_cispm {
		margin:0;
		padding:0;
		font-family: 	}
	
	#style_cispm table td, table th {
		border-right:0px;
		padding:0;
		text-align:left;
	}
	
	.input_cispm {
		margin:0;
		height: 18px;
		padding: 2px;
	}

	#style_cispm input, textarea, select {
		margin:0;
		padding:0;
	}
	
	#style_cispm table tr:hover td {
		margin: 0;
		padding: 0;
	}
	
	#formulaire_contact{
		margin:auto;
		border-radius:1em;
		-moz-border-radius:1em;
		-webkit-border-radius:1em;
		padding-bottom: 8px;
	}

	#formulaire_contact fieldset{
		border:none;
	}
	
	#formulaire_contact legend{
		margin-top:0.3em;
		font-weight:bold;
		padding-top: 15px;
		padding-left: 15px;
		padding-bottom: 15px;
		text-align: left;
	}
	
	#formulaire_contact label{
		width:200px;
		text-align:right;
	}
	
	#formulaire_contact input, form select, form textarea{
		margin-left:0.5em;
	}
	
	#formulaire_contact button{
		position:relative;
		left:160px;
	}
	
	#formulaire_contact span{
		display:block;
		text-align:right;
		background-color: transparent;
		padding: 0;
		background: url("");
		margin: 0;
	}
	
	#form_tableau {
		border:none;
		margin:0;
		background-color:transparent;
	}
	
	#form_td {
		border:none;
		background-color:transparent;
		vertical-align: top;
		padding-top: 3px;
	}
	
	.error-message {
		color: red;
		padding-left: 10px;
		padding-top:0;
		margin:0;
		margin-bottom: 10px;
	}
	
	#message_error {
		background-color:#d58b8d;
		border:1px solid #d2484b;
		-moz-border-radius-bottomleft:3px;
		-moz-border-radius-bottomright:3px;
		-moz-border-radius-topleft:3px;
		-moz-border-radius-topright:3px;
		margin:5px 15px 2px;
		padding:0.3em 0.6em;
		display: none;
		margin-bottom:10px;
	}
	
	#envoyer {
		margin-top:-20px;
	}
	-->
</style>

Cet article est (principalement) un résumé d’un billet de Ryan Dunn, datant d’il y a quelques mois. Si vous développez sur Azure, et que vous y faites tourner des WebRoles, vous avez dû vous lamenter sur la longueur des déploiements. Si cela ne pose pas vraiment de problème lors de la phase de production, il [...]]]></description>
			<content:encoded><![CDATA[
<script language="Javascript">
	DD_roundies.addRule('div.arrondi', '15px');
	
	jQuery(document).ready(function($){
		$("#envoyer").click(function() {
			valid = true;
			var tab_error = new Array();var message_error_web='';var message_error_mail='';var haut_mess_form = true;message_error_coche='';message_error_question='';message_error_captcha='';if($("#nom_input").val() == "") {
						$("#nom_input").css("background-color","#");
						$("#span_nom").css("color","#");$("#nom_input").next().text("");tab_error[0] = "votre nom"; 
						valid = false;
					} else {
						$("#nom_input").css("background-color","");
						$("#span_nom").css("color","");
						$("#nom_input").next().text("");
						tab_error[0] = "";
					}tab_error[1] = ""; if($("#mail_input").val() == "") {
				$("#mail_input").css("background-color","#");
				$("#span_mail").css("color","#");$("#mail_input").next().text("");tab_error[2] = "votre e-mail";
				valid = false;
			} else if(!$("#mail_input").val().match(/^([a-z0-9_]|\-|\.)+@(([a-z0-9_]|\-)+\.)+[a-z]{2,7}$/)){
				$("#mail_input").css("background-color","#");
				$("#span_mail").css("color","#");$("#mail_input").next().text("");message_error_mail = "L'email entré n'est pas valide";
				tab_error[2] = "";
				valid = false;
			} else {
				$("#mail_input").css("background-color","");
				$("#span_mail").css("color","");
				$("#mail_input").next().text("");
				tab_error[2] = "";
				message_error_mail = "";
			}tab_error[3] = "";if($("#objet_input").val() == "") {
				$("#objet_input").css("background-color","#");
				$("#span_objet").css("color","#");$("#objet_input").next().text("");tab_error[4] = "Objet";
				valid = false;
			} else {
				$("#objet_input").css("background-color","");
				$("#span_objet").css("color","");
				$("#objet_input").next().text("");
				tab_error[4] = "";
			}if($("#message_input").val() == "") {
				$("#message_input").css("background-color","#");
				$("#span_message").css("color","#");$("#message_input").next().text("");tab_error[5] = "Message<br/>";
				valid = false;
			} else {
				$("#message_input").css("background-color","");
				$("#span_message").css("color","");
				$("#message_input").next().text("");
				tab_error[5] = "";
			}haut_mess_form = false;			if(valid == false) {
				$("#formulaire_contact").animate({ backgroundColor: "#" }, 100);
				
				var message = "Veuillez renseigner le(s) champs: ";
				for (var i=0; i < tab_error.length; ++i) {
					if(tab_error[i] != "") {
						message += tab_error[i]+", ";
					}
				}
				
				message = message.substring(0, message.length-2);
				
				var espace_coche = "";
				if(message_error_mail != "") {
					message += message_error_mail;
					espace_coche = "<br/>";
				}
				
				if(message_error_coche != "") {
					message += espace_coche+message_error_coche;
				}
				
				if(message_error_question != "") {
					message += espace_coche+message_error_question;
				}
				
				if(message_error_captcha != "") {
					message += espace_coche+message_error_captcha;
				}
				
				if(message_error_web != "" && message_error_mail != "") {
					message += "<br/>"+message_error_web;
				} else {
					message += message_error_web;
				}
				
				if(haut_mess_form == true) {
					$("#message_error").css("display","block");
					$("#message_error").html(message);
				}
			}
			
			$("#formulaire_contact").animate({ backgroundColor: "#" }, 800);
			return valid;
		});
	});
	</script>

<style type="text/css">
	<!--
	#style_cispm fieldset {
		background-color: transparent;
		margin: 0;
		padding: 5px;
	}
	
	#style_cispm {
		margin:0;
		padding:0;
		font-family: 	}
	
	#style_cispm table td, table th {
		border-right:0px;
		padding:0;
		text-align:left;
	}
	
	.input_cispm {
		margin:0;
		height: 18px;
		padding: 2px;
	}

	#style_cispm input, textarea, select {
		margin:0;
		padding:0;
	}
	
	#style_cispm table tr:hover td {
		margin: 0;
		padding: 0;
	}
	
	#formulaire_contact{
		margin:auto;
		border-radius:1em;
		-moz-border-radius:1em;
		-webkit-border-radius:1em;
		padding-bottom: 8px;
	}

	#formulaire_contact fieldset{
		border:none;
	}
	
	#formulaire_contact legend{
		margin-top:0.3em;
		font-weight:bold;
		padding-top: 15px;
		padding-left: 15px;
		padding-bottom: 15px;
		text-align: left;
	}
	
	#formulaire_contact label{
		width:200px;
		text-align:right;
	}
	
	#formulaire_contact input, form select, form textarea{
		margin-left:0.5em;
	}
	
	#formulaire_contact button{
		position:relative;
		left:160px;
	}
	
	#formulaire_contact span{
		display:block;
		text-align:right;
		background-color: transparent;
		padding: 0;
		background: url("");
		margin: 0;
	}
	
	#form_tableau {
		border:none;
		margin:0;
		background-color:transparent;
	}
	
	#form_td {
		border:none;
		background-color:transparent;
		vertical-align: top;
		padding-top: 3px;
	}
	
	.error-message {
		color: red;
		padding-left: 10px;
		padding-top:0;
		margin:0;
		margin-bottom: 10px;
	}
	
	#message_error {
		background-color:#d58b8d;
		border:1px solid #d2484b;
		-moz-border-radius-bottomleft:3px;
		-moz-border-radius-bottomright:3px;
		-moz-border-radius-topleft:3px;
		-moz-border-radius-topright:3px;
		margin:5px 15px 2px;
		padding:0.3em 0.6em;
		display: none;
		margin-bottom:10px;
	}
	
	#envoyer {
		margin-top:-20px;
	}
	-->
</style>

<p>Cet article est (principalement) un résumé <a href="http://dunnry.com/blog/2010/12/20/UsingWebDeployWithWindowsAzure.aspx">d’un billet de Ryan Dunn</a>, datant d’il y a quelques mois.</p>
<p>Si vous développez sur Azure, et que vous y faites tourner des WebRoles, vous avez dû vous lamenter sur la longueur des déploiements. Si cela ne pose pas vraiment de problème lors de la phase de production, il arrive toujours un moment où “l’émulateur” fourni dans le SDK n’est plus suffisant et où l’on a besoin de pouvoir tester ses déve-loppements sur un véritable environnement Azure. Patienter entre 15 et 30 minutes après chaque modification pour en voir le résultat n’est pas particulièrement une bonne idée, surtout quand on est en train de finaliser une version.</p>
<p><span id="more-138"></span>
<p>Depuis la version 1.3, et l’ajout du support complet de IIS, il existe une autre solution : en utilisant le protocole WebDeploy que vous utilisez – peut-être&#160; – déjà pour vos déploiements Web habituels. Avant de vous expliquer comment faire, précisons tout de même que cela n’est prévu que pour des environnements de test, et que ce n’est absolument pas prévu pour votre version de production et que vous devrez respecter certaines conditions pour que cela fonctionne :</p>
<ul>
<li>votre rôle devra être déployé sur une seule et unique instance </li>
<li>vous devrez avoir activé l’accès à distance pour ce rôle (les identifiants du compte RemoteAccess seront utilisés par WebDeploy) </li>
</ul>
<p>&#160;</p>
<p>Une fois ces quelques limites connues, le principe est extrêmement simple, grâce à un petit <a href="http://dunnry.com/blog/2010/12/20/UsingWebDeployWithWindowsAzure.aspx">add-in réalisé par Ryan Dunn</a> :</p>
<ul>
<li>Téléchargez le <a href="http://cid-4225352e17899c6d.office.live.com/self.aspx/Public/WebDeploy.zip">fichier ZIP qu’il met à disposition sur Skydrive</a> </li>
<li>Décompressez le dans le dossier %ProgramFiles%\Windows Azure SDK\v1.3\bin\plugins\. Vous devriez déjà trouver dans ce dossier des plugins pour RemoteAccess et Diagnostics </li>
<li>Editez ensuite le fichier ServiceDefinition.csdef de votre projet Azure pour ajouter une nouvelle ligne dans la section Imports, afin qu’elle ressemble à ceci :
<pre class="csharpcode"><span class="kwrd">&lt;</span><span class="html">Imports</span><span class="kwrd">&gt;</span>
  <span class="kwrd">&lt;</span><span class="html">Import</span> <span class="attr">moduleName</span><span class="kwrd">=&quot;RemoteAccess&quot;</span> <span class="kwrd">/&gt;</span>
  <span class="kwrd">&lt;</span><span class="html">Import</span> <span class="attr">moduleName</span><span class="kwrd">=&quot;RemoteForwarder&quot;</span> <span class="kwrd">/&gt;</span>
  <span class="kwrd">&lt;</span><span class="html">Import</span> <span class="attr">moduleName</span><span class="kwrd">=&quot;WebDeploy&quot;</span> <span class="kwrd">/&gt;</span>
<span class="kwrd">&lt;/</span><span class="html">Imports</span><span class="kwrd">&gt;</span></pre>
<p>&#160;</p>
<style type="text/css">
<p>.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
</li>
<li>Déployez votre rôle comme d’habitude. </li>
</ul>
<p>&#160;</p>
<p>Une fois ces quelques étapes faites, vous devriez avoir une instance active de votre rôle et le service d’administration à distance activé sur celui-ci. Il ne reste plus qu’à s’en servir :</p>
<ul>
<li>Cliquez sur “Publier” pour le projet web concerné. Attention, ne faites pas “Publier” sur le projet Azure, mais bien sur le projet Web, sinon vous êtes repartis pour un tour de déploiement complet. </li>
<li>Dans l’écran de publication, choisissez la méthode WebDeploy, saisissez le nom DNS de votre service dans l’Url du service </li>
<li>les informations de connexion sont celles de votre utilisateur RemoteAccess </li>
<li>Cochez la case “Autoriser des certificats non approuvés” </li>
<li>pour le champ “site/application”, c’est un tout petit peu plus compliqué : il vous faudra le nom de l’instance, que vous trouverez dans le portail d’administration Azure :
<p><img style="background-image: none; border-right-width: 0px; margin: 0px auto 10px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://www.creo-ignem.fr/wp-content/uploads/2011/03/image_thumb.png" width="215" height="69" />ainsi que le nom de votre site dans cette instance, que vous trouverez dans le ServiceDefinition.csdef :</p>
<pre class="csharpcode"><span class="kwrd">&lt;</span><span class="html">Sites</span><span class="kwrd">&gt;</span>
  <span class="kwrd">&lt;</span><span class="html">Site</span><strong> <span class="attr">name</span><span class="kwrd">=&quot;<u>Web</u>&quot;</span><span class="kwrd">&gt;</span></strong>
    <span class="kwrd">&lt;</span><span class="html">Bindings</span><span class="kwrd">&gt;</span>
      <span class="kwrd">&lt;</span><span class="html">Binding</span> <span class="attr">name</span><span class="kwrd">=&quot;HttpIn&quot;</span> <span class="attr">endpointName</span><span class="kwrd">=&quot;HttpIn&quot;</span> <span class="kwrd">/&gt;</span>
    <span class="kwrd">&lt;/</span><span class="html">Bindings</span><span class="kwrd">&gt;</span>
  <span class="kwrd">&lt;/</span><span class="html">Site</span><span class="kwrd">&gt;</span>
<span class="kwrd">&lt;/</span><span class="html">Sites</span><span class="kwrd">&gt;</span></pre>
<p>&#160;</p>
<style type="text/css">
<p>.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>
<p>Il ne vous reste plus qu’a combiner les deux avec un “_” pour obtenir le nom de votre application, dans l’exemple ci-dessus nous aurions donc le nom de site/application “ECommerceSite_IN_0_Web” </p>
</li>
</ul>
<p>&#160;</p>
<p>Voila ! Avec ces quelques manipulations, vous pourrez effectuer des déploiements BEAUCOUP plus rapidement. Pour terminer, sachez aussi qu’en cas de déplacement de votre instance (par exemple en cas de maintenance du serveur physique sur lequel vous êtes hébergé), votre rôle sera, bien entendu, redéployé à partir de l’archive d’origine et que tous vos déploiements par WebDeploy seront perdus.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.creo-ignem.fr/2011/03/webdeploy-et-azure/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Digital Signage et Kinect</title>
		<link>http://www.creo-ignem.fr/2011/03/digital-signage-et-kinect/</link>
		<comments>http://www.creo-ignem.fr/2011/03/digital-signage-et-kinect/#comments</comments>
		<pubDate>Tue, 01 Mar 2011 10:33:03 +0000</pubDate>
		<dc:creator>michael</dc:creator>
				<category><![CDATA[Interface utilisateur]]></category>

		<guid isPermaLink="false">http://www.creo-ignem.fr/2011/03/digital-signage-et-kinect/</guid>
		<description><![CDATA[
<script language="Javascript">
	DD_roundies.addRule('div.arrondi', '15px');
	
	jQuery(document).ready(function($){
		$("#envoyer").click(function() {
			valid = true;
			var tab_error = new Array();var message_error_web='';var message_error_mail='';var haut_mess_form = true;message_error_coche='';message_error_question='';message_error_captcha='';if($("#nom_input").val() == "") {
						$("#nom_input").css("background-color","#");
						$("#span_nom").css("color","#");$("#nom_input").next().text("");tab_error[0] = "votre nom"; 
						valid = false;
					} else {
						$("#nom_input").css("background-color","");
						$("#span_nom").css("color","");
						$("#nom_input").next().text("");
						tab_error[0] = "";
					}tab_error[1] = ""; if($("#mail_input").val() == "") {
				$("#mail_input").css("background-color","#");
				$("#span_mail").css("color","#");$("#mail_input").next().text("");tab_error[2] = "votre e-mail";
				valid = false;
			} else if(!$("#mail_input").val().match(/^([a-z0-9_]|\-|\.)+@(([a-z0-9_]|\-)+\.)+[a-z]{2,7}$/)){
				$("#mail_input").css("background-color","#");
				$("#span_mail").css("color","#");$("#mail_input").next().text("");message_error_mail = "L'email entré n'est pas valide";
				tab_error[2] = "";
				valid = false;
			} else {
				$("#mail_input").css("background-color","");
				$("#span_mail").css("color","");
				$("#mail_input").next().text("");
				tab_error[2] = "";
				message_error_mail = "";
			}tab_error[3] = "";if($("#objet_input").val() == "") {
				$("#objet_input").css("background-color","#");
				$("#span_objet").css("color","#");$("#objet_input").next().text("");tab_error[4] = "Objet";
				valid = false;
			} else {
				$("#objet_input").css("background-color","");
				$("#span_objet").css("color","");
				$("#objet_input").next().text("");
				tab_error[4] = "";
			}if($("#message_input").val() == "") {
				$("#message_input").css("background-color","#");
				$("#span_message").css("color","#");$("#message_input").next().text("");tab_error[5] = "Message<br/>";
				valid = false;
			} else {
				$("#message_input").css("background-color","");
				$("#span_message").css("color","");
				$("#message_input").next().text("");
				tab_error[5] = "";
			}haut_mess_form = false;			if(valid == false) {
				$("#formulaire_contact").animate({ backgroundColor: "#" }, 100);
				
				var message = "Veuillez renseigner le(s) champs: ";
				for (var i=0; i < tab_error.length; ++i) {
					if(tab_error[i] != "") {
						message += tab_error[i]+", ";
					}
				}
				
				message = message.substring(0, message.length-2);
				
				var espace_coche = "";
				if(message_error_mail != "") {
					message += message_error_mail;
					espace_coche = "<br/>";
				}
				
				if(message_error_coche != "") {
					message += espace_coche+message_error_coche;
				}
				
				if(message_error_question != "") {
					message += espace_coche+message_error_question;
				}
				
				if(message_error_captcha != "") {
					message += espace_coche+message_error_captcha;
				}
				
				if(message_error_web != "" && message_error_mail != "") {
					message += "<br/>"+message_error_web;
				} else {
					message += message_error_web;
				}
				
				if(haut_mess_form == true) {
					$("#message_error").css("display","block");
					$("#message_error").html(message);
				}
			}
			
			$("#formulaire_contact").animate({ backgroundColor: "#" }, 800);
			return valid;
		});
	});
	</script>

<style type="text/css">
	<!--
	#style_cispm fieldset {
		background-color: transparent;
		margin: 0;
		padding: 5px;
	}
	
	#style_cispm {
		margin:0;
		padding:0;
		font-family: 	}
	
	#style_cispm table td, table th {
		border-right:0px;
		padding:0;
		text-align:left;
	}
	
	.input_cispm {
		margin:0;
		height: 18px;
		padding: 2px;
	}

	#style_cispm input, textarea, select {
		margin:0;
		padding:0;
	}
	
	#style_cispm table tr:hover td {
		margin: 0;
		padding: 0;
	}
	
	#formulaire_contact{
		margin:auto;
		border-radius:1em;
		-moz-border-radius:1em;
		-webkit-border-radius:1em;
		padding-bottom: 8px;
	}

	#formulaire_contact fieldset{
		border:none;
	}
	
	#formulaire_contact legend{
		margin-top:0.3em;
		font-weight:bold;
		padding-top: 15px;
		padding-left: 15px;
		padding-bottom: 15px;
		text-align: left;
	}
	
	#formulaire_contact label{
		width:200px;
		text-align:right;
	}
	
	#formulaire_contact input, form select, form textarea{
		margin-left:0.5em;
	}
	
	#formulaire_contact button{
		position:relative;
		left:160px;
	}
	
	#formulaire_contact span{
		display:block;
		text-align:right;
		background-color: transparent;
		padding: 0;
		background: url("");
		margin: 0;
	}
	
	#form_tableau {
		border:none;
		margin:0;
		background-color:transparent;
	}
	
	#form_td {
		border:none;
		background-color:transparent;
		vertical-align: top;
		padding-top: 3px;
	}
	
	.error-message {
		color: red;
		padding-left: 10px;
		padding-top:0;
		margin:0;
		margin-bottom: 10px;
	}
	
	#message_error {
		background-color:#d58b8d;
		border:1px solid #d2484b;
		-moz-border-radius-bottomleft:3px;
		-moz-border-radius-bottomright:3px;
		-moz-border-radius-topleft:3px;
		-moz-border-radius-topright:3px;
		margin:5px 15px 2px;
		padding:0.3em 0.6em;
		display: none;
		margin-bottom:10px;
	}
	
	#envoyer {
		margin-top:-20px;
	}
	-->
</style>

Puisque les vitrines interactives et le digital signage sont de plus en plus un sujet à la mode (à ce propos, ne manquez pas le blog connected-store des excellentissimes membres d’Improveeze), voici une mini-video sur une vitrine interactive piloté par Kinect :]]></description>
			<content:encoded><![CDATA[
<script language="Javascript">
	DD_roundies.addRule('div.arrondi', '15px');
	
	jQuery(document).ready(function($){
		$("#envoyer").click(function() {
			valid = true;
			var tab_error = new Array();var message_error_web='';var message_error_mail='';var haut_mess_form = true;message_error_coche='';message_error_question='';message_error_captcha='';if($("#nom_input").val() == "") {
						$("#nom_input").css("background-color","#");
						$("#span_nom").css("color","#");$("#nom_input").next().text("");tab_error[0] = "votre nom"; 
						valid = false;
					} else {
						$("#nom_input").css("background-color","");
						$("#span_nom").css("color","");
						$("#nom_input").next().text("");
						tab_error[0] = "";
					}tab_error[1] = ""; if($("#mail_input").val() == "") {
				$("#mail_input").css("background-color","#");
				$("#span_mail").css("color","#");$("#mail_input").next().text("");tab_error[2] = "votre e-mail";
				valid = false;
			} else if(!$("#mail_input").val().match(/^([a-z0-9_]|\-|\.)+@(([a-z0-9_]|\-)+\.)+[a-z]{2,7}$/)){
				$("#mail_input").css("background-color","#");
				$("#span_mail").css("color","#");$("#mail_input").next().text("");message_error_mail = "L'email entré n'est pas valide";
				tab_error[2] = "";
				valid = false;
			} else {
				$("#mail_input").css("background-color","");
				$("#span_mail").css("color","");
				$("#mail_input").next().text("");
				tab_error[2] = "";
				message_error_mail = "";
			}tab_error[3] = "";if($("#objet_input").val() == "") {
				$("#objet_input").css("background-color","#");
				$("#span_objet").css("color","#");$("#objet_input").next().text("");tab_error[4] = "Objet";
				valid = false;
			} else {
				$("#objet_input").css("background-color","");
				$("#span_objet").css("color","");
				$("#objet_input").next().text("");
				tab_error[4] = "";
			}if($("#message_input").val() == "") {
				$("#message_input").css("background-color","#");
				$("#span_message").css("color","#");$("#message_input").next().text("");tab_error[5] = "Message<br/>";
				valid = false;
			} else {
				$("#message_input").css("background-color","");
				$("#span_message").css("color","");
				$("#message_input").next().text("");
				tab_error[5] = "";
			}haut_mess_form = false;			if(valid == false) {
				$("#formulaire_contact").animate({ backgroundColor: "#" }, 100);
				
				var message = "Veuillez renseigner le(s) champs: ";
				for (var i=0; i < tab_error.length; ++i) {
					if(tab_error[i] != "") {
						message += tab_error[i]+", ";
					}
				}
				
				message = message.substring(0, message.length-2);
				
				var espace_coche = "";
				if(message_error_mail != "") {
					message += message_error_mail;
					espace_coche = "<br/>";
				}
				
				if(message_error_coche != "") {
					message += espace_coche+message_error_coche;
				}
				
				if(message_error_question != "") {
					message += espace_coche+message_error_question;
				}
				
				if(message_error_captcha != "") {
					message += espace_coche+message_error_captcha;
				}
				
				if(message_error_web != "" && message_error_mail != "") {
					message += "<br/>"+message_error_web;
				} else {
					message += message_error_web;
				}
				
				if(haut_mess_form == true) {
					$("#message_error").css("display","block");
					$("#message_error").html(message);
				}
			}
			
			$("#formulaire_contact").animate({ backgroundColor: "#" }, 800);
			return valid;
		});
	});
	</script>

<style type="text/css">
	<!--
	#style_cispm fieldset {
		background-color: transparent;
		margin: 0;
		padding: 5px;
	}
	
	#style_cispm {
		margin:0;
		padding:0;
		font-family: 	}
	
	#style_cispm table td, table th {
		border-right:0px;
		padding:0;
		text-align:left;
	}
	
	.input_cispm {
		margin:0;
		height: 18px;
		padding: 2px;
	}

	#style_cispm input, textarea, select {
		margin:0;
		padding:0;
	}
	
	#style_cispm table tr:hover td {
		margin: 0;
		padding: 0;
	}
	
	#formulaire_contact{
		margin:auto;
		border-radius:1em;
		-moz-border-radius:1em;
		-webkit-border-radius:1em;
		padding-bottom: 8px;
	}

	#formulaire_contact fieldset{
		border:none;
	}
	
	#formulaire_contact legend{
		margin-top:0.3em;
		font-weight:bold;
		padding-top: 15px;
		padding-left: 15px;
		padding-bottom: 15px;
		text-align: left;
	}
	
	#formulaire_contact label{
		width:200px;
		text-align:right;
	}
	
	#formulaire_contact input, form select, form textarea{
		margin-left:0.5em;
	}
	
	#formulaire_contact button{
		position:relative;
		left:160px;
	}
	
	#formulaire_contact span{
		display:block;
		text-align:right;
		background-color: transparent;
		padding: 0;
		background: url("");
		margin: 0;
	}
	
	#form_tableau {
		border:none;
		margin:0;
		background-color:transparent;
	}
	
	#form_td {
		border:none;
		background-color:transparent;
		vertical-align: top;
		padding-top: 3px;
	}
	
	.error-message {
		color: red;
		padding-left: 10px;
		padding-top:0;
		margin:0;
		margin-bottom: 10px;
	}
	
	#message_error {
		background-color:#d58b8d;
		border:1px solid #d2484b;
		-moz-border-radius-bottomleft:3px;
		-moz-border-radius-bottomright:3px;
		-moz-border-radius-topleft:3px;
		-moz-border-radius-topright:3px;
		margin:5px 15px 2px;
		padding:0.3em 0.6em;
		display: none;
		margin-bottom:10px;
	}
	
	#envoyer {
		margin-top:-20px;
	}
	-->
</style>

<p>Puisque les vitrines interactives et le digital signage sont de plus en plus un sujet à la mode (à ce propos, ne manquez pas le blog <a href="http://www.connected-store.com/">connected-store</a> des excellentissimes membres d’<a href="http://www.improveeze.com">Improveeze</a>), voici une mini-video sur une vitrine interactive piloté par Kinect :</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:d42d50f2-0c9a-433a-adae-e438fa5b1b3d" class="wlWriterEditableSmartContent">
<div><object width="539" height="302"><param name="movie" value="http://www.youtube.com/v/CQDHfHKfvW0?hl=en&amp;hd=1"></param><embed src="http://www.youtube.com/v/CQDHfHKfvW0?hl=en&amp;hd=1" type="application/x-shockwave-flash" width="539" height="302"></embed></object></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.creo-ignem.fr/2011/03/digital-signage-et-kinect/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Migrer une application vers azure</title>
		<link>http://www.creo-ignem.fr/2011/03/migrer-une-application-vers-azure/</link>
		<comments>http://www.creo-ignem.fr/2011/03/migrer-une-application-vers-azure/#comments</comments>
		<pubDate>Tue, 01 Mar 2011 09:57:00 +0000</pubDate>
		<dc:creator>michael</dc:creator>
				<category><![CDATA[Windows Azure]]></category>

		<guid isPermaLink="false">http://www.creo-ignem.fr/?p=7</guid>
		<description><![CDATA[
<script language="Javascript">
	DD_roundies.addRule('div.arrondi', '15px');
	
	jQuery(document).ready(function($){
		$("#envoyer").click(function() {
			valid = true;
			var tab_error = new Array();var message_error_web='';var message_error_mail='';var haut_mess_form = true;message_error_coche='';message_error_question='';message_error_captcha='';if($("#nom_input").val() == "") {
						$("#nom_input").css("background-color","#");
						$("#span_nom").css("color","#");$("#nom_input").next().text("");tab_error[0] = "votre nom"; 
						valid = false;
					} else {
						$("#nom_input").css("background-color","");
						$("#span_nom").css("color","");
						$("#nom_input").next().text("");
						tab_error[0] = "";
					}tab_error[1] = ""; if($("#mail_input").val() == "") {
				$("#mail_input").css("background-color","#");
				$("#span_mail").css("color","#");$("#mail_input").next().text("");tab_error[2] = "votre e-mail";
				valid = false;
			} else if(!$("#mail_input").val().match(/^([a-z0-9_]|\-|\.)+@(([a-z0-9_]|\-)+\.)+[a-z]{2,7}$/)){
				$("#mail_input").css("background-color","#");
				$("#span_mail").css("color","#");$("#mail_input").next().text("");message_error_mail = "L'email entré n'est pas valide";
				tab_error[2] = "";
				valid = false;
			} else {
				$("#mail_input").css("background-color","");
				$("#span_mail").css("color","");
				$("#mail_input").next().text("");
				tab_error[2] = "";
				message_error_mail = "";
			}tab_error[3] = "";if($("#objet_input").val() == "") {
				$("#objet_input").css("background-color","#");
				$("#span_objet").css("color","#");$("#objet_input").next().text("");tab_error[4] = "Objet";
				valid = false;
			} else {
				$("#objet_input").css("background-color","");
				$("#span_objet").css("color","");
				$("#objet_input").next().text("");
				tab_error[4] = "";
			}if($("#message_input").val() == "") {
				$("#message_input").css("background-color","#");
				$("#span_message").css("color","#");$("#message_input").next().text("");tab_error[5] = "Message<br/>";
				valid = false;
			} else {
				$("#message_input").css("background-color","");
				$("#span_message").css("color","");
				$("#message_input").next().text("");
				tab_error[5] = "";
			}haut_mess_form = false;			if(valid == false) {
				$("#formulaire_contact").animate({ backgroundColor: "#" }, 100);
				
				var message = "Veuillez renseigner le(s) champs: ";
				for (var i=0; i < tab_error.length; ++i) {
					if(tab_error[i] != "") {
						message += tab_error[i]+", ";
					}
				}
				
				message = message.substring(0, message.length-2);
				
				var espace_coche = "";
				if(message_error_mail != "") {
					message += message_error_mail;
					espace_coche = "<br/>";
				}
				
				if(message_error_coche != "") {
					message += espace_coche+message_error_coche;
				}
				
				if(message_error_question != "") {
					message += espace_coche+message_error_question;
				}
				
				if(message_error_captcha != "") {
					message += espace_coche+message_error_captcha;
				}
				
				if(message_error_web != "" && message_error_mail != "") {
					message += "<br/>"+message_error_web;
				} else {
					message += message_error_web;
				}
				
				if(haut_mess_form == true) {
					$("#message_error").css("display","block");
					$("#message_error").html(message);
				}
			}
			
			$("#formulaire_contact").animate({ backgroundColor: "#" }, 800);
			return valid;
		});
	});
	</script>

<style type="text/css">
	<!--
	#style_cispm fieldset {
		background-color: transparent;
		margin: 0;
		padding: 5px;
	}
	
	#style_cispm {
		margin:0;
		padding:0;
		font-family: 	}
	
	#style_cispm table td, table th {
		border-right:0px;
		padding:0;
		text-align:left;
	}
	
	.input_cispm {
		margin:0;
		height: 18px;
		padding: 2px;
	}

	#style_cispm input, textarea, select {
		margin:0;
		padding:0;
	}
	
	#style_cispm table tr:hover td {
		margin: 0;
		padding: 0;
	}
	
	#formulaire_contact{
		margin:auto;
		border-radius:1em;
		-moz-border-radius:1em;
		-webkit-border-radius:1em;
		padding-bottom: 8px;
	}

	#formulaire_contact fieldset{
		border:none;
	}
	
	#formulaire_contact legend{
		margin-top:0.3em;
		font-weight:bold;
		padding-top: 15px;
		padding-left: 15px;
		padding-bottom: 15px;
		text-align: left;
	}
	
	#formulaire_contact label{
		width:200px;
		text-align:right;
	}
	
	#formulaire_contact input, form select, form textarea{
		margin-left:0.5em;
	}
	
	#formulaire_contact button{
		position:relative;
		left:160px;
	}
	
	#formulaire_contact span{
		display:block;
		text-align:right;
		background-color: transparent;
		padding: 0;
		background: url("");
		margin: 0;
	}
	
	#form_tableau {
		border:none;
		margin:0;
		background-color:transparent;
	}
	
	#form_td {
		border:none;
		background-color:transparent;
		vertical-align: top;
		padding-top: 3px;
	}
	
	.error-message {
		color: red;
		padding-left: 10px;
		padding-top:0;
		margin:0;
		margin-bottom: 10px;
	}
	
	#message_error {
		background-color:#d58b8d;
		border:1px solid #d2484b;
		-moz-border-radius-bottomleft:3px;
		-moz-border-radius-bottomright:3px;
		-moz-border-radius-topleft:3px;
		-moz-border-radius-topright:3px;
		margin:5px 15px 2px;
		padding:0.3em 0.6em;
		display: none;
		margin-bottom:10px;
	}
	
	#envoyer {
		margin-top:-20px;
	}
	-->
</style>

Depuis quelques temps, et en marge des développements principaux, nous procédons à la migration de notre application principale vers Windows Azure. S&#8217;il s&#8217;agit pour nos clients hébergés d&#8217;une opération transparente, le fait de ne plus avoir à gérer tout la couche système devrait être une vraie avancée pour nous ! Pour ceux d&#8217;entre vous qui [...]]]></description>
			<content:encoded><![CDATA[
<script language="Javascript">
	DD_roundies.addRule('div.arrondi', '15px');
	
	jQuery(document).ready(function($){
		$("#envoyer").click(function() {
			valid = true;
			var tab_error = new Array();var message_error_web='';var message_error_mail='';var haut_mess_form = true;message_error_coche='';message_error_question='';message_error_captcha='';if($("#nom_input").val() == "") {
						$("#nom_input").css("background-color","#");
						$("#span_nom").css("color","#");$("#nom_input").next().text("");tab_error[0] = "votre nom"; 
						valid = false;
					} else {
						$("#nom_input").css("background-color","");
						$("#span_nom").css("color","");
						$("#nom_input").next().text("");
						tab_error[0] = "";
					}tab_error[1] = ""; if($("#mail_input").val() == "") {
				$("#mail_input").css("background-color","#");
				$("#span_mail").css("color","#");$("#mail_input").next().text("");tab_error[2] = "votre e-mail";
				valid = false;
			} else if(!$("#mail_input").val().match(/^([a-z0-9_]|\-|\.)+@(([a-z0-9_]|\-)+\.)+[a-z]{2,7}$/)){
				$("#mail_input").css("background-color","#");
				$("#span_mail").css("color","#");$("#mail_input").next().text("");message_error_mail = "L'email entré n'est pas valide";
				tab_error[2] = "";
				valid = false;
			} else {
				$("#mail_input").css("background-color","");
				$("#span_mail").css("color","");
				$("#mail_input").next().text("");
				tab_error[2] = "";
				message_error_mail = "";
			}tab_error[3] = "";if($("#objet_input").val() == "") {
				$("#objet_input").css("background-color","#");
				$("#span_objet").css("color","#");$("#objet_input").next().text("");tab_error[4] = "Objet";
				valid = false;
			} else {
				$("#objet_input").css("background-color","");
				$("#span_objet").css("color","");
				$("#objet_input").next().text("");
				tab_error[4] = "";
			}if($("#message_input").val() == "") {
				$("#message_input").css("background-color","#");
				$("#span_message").css("color","#");$("#message_input").next().text("");tab_error[5] = "Message<br/>";
				valid = false;
			} else {
				$("#message_input").css("background-color","");
				$("#span_message").css("color","");
				$("#message_input").next().text("");
				tab_error[5] = "";
			}haut_mess_form = false;			if(valid == false) {
				$("#formulaire_contact").animate({ backgroundColor: "#" }, 100);
				
				var message = "Veuillez renseigner le(s) champs: ";
				for (var i=0; i < tab_error.length; ++i) {
					if(tab_error[i] != "") {
						message += tab_error[i]+", ";
					}
				}
				
				message = message.substring(0, message.length-2);
				
				var espace_coche = "";
				if(message_error_mail != "") {
					message += message_error_mail;
					espace_coche = "<br/>";
				}
				
				if(message_error_coche != "") {
					message += espace_coche+message_error_coche;
				}
				
				if(message_error_question != "") {
					message += espace_coche+message_error_question;
				}
				
				if(message_error_captcha != "") {
					message += espace_coche+message_error_captcha;
				}
				
				if(message_error_web != "" && message_error_mail != "") {
					message += "<br/>"+message_error_web;
				} else {
					message += message_error_web;
				}
				
				if(haut_mess_form == true) {
					$("#message_error").css("display","block");
					$("#message_error").html(message);
				}
			}
			
			$("#formulaire_contact").animate({ backgroundColor: "#" }, 800);
			return valid;
		});
	});
	</script>

<style type="text/css">
	<!--
	#style_cispm fieldset {
		background-color: transparent;
		margin: 0;
		padding: 5px;
	}
	
	#style_cispm {
		margin:0;
		padding:0;
		font-family: 	}
	
	#style_cispm table td, table th {
		border-right:0px;
		padding:0;
		text-align:left;
	}
	
	.input_cispm {
		margin:0;
		height: 18px;
		padding: 2px;
	}

	#style_cispm input, textarea, select {
		margin:0;
		padding:0;
	}
	
	#style_cispm table tr:hover td {
		margin: 0;
		padding: 0;
	}
	
	#formulaire_contact{
		margin:auto;
		border-radius:1em;
		-moz-border-radius:1em;
		-webkit-border-radius:1em;
		padding-bottom: 8px;
	}

	#formulaire_contact fieldset{
		border:none;
	}
	
	#formulaire_contact legend{
		margin-top:0.3em;
		font-weight:bold;
		padding-top: 15px;
		padding-left: 15px;
		padding-bottom: 15px;
		text-align: left;
	}
	
	#formulaire_contact label{
		width:200px;
		text-align:right;
	}
	
	#formulaire_contact input, form select, form textarea{
		margin-left:0.5em;
	}
	
	#formulaire_contact button{
		position:relative;
		left:160px;
	}
	
	#formulaire_contact span{
		display:block;
		text-align:right;
		background-color: transparent;
		padding: 0;
		background: url("");
		margin: 0;
	}
	
	#form_tableau {
		border:none;
		margin:0;
		background-color:transparent;
	}
	
	#form_td {
		border:none;
		background-color:transparent;
		vertical-align: top;
		padding-top: 3px;
	}
	
	.error-message {
		color: red;
		padding-left: 10px;
		padding-top:0;
		margin:0;
		margin-bottom: 10px;
	}
	
	#message_error {
		background-color:#d58b8d;
		border:1px solid #d2484b;
		-moz-border-radius-bottomleft:3px;
		-moz-border-radius-bottomright:3px;
		-moz-border-radius-topleft:3px;
		-moz-border-radius-topright:3px;
		margin:5px 15px 2px;
		padding:0.3em 0.6em;
		display: none;
		margin-bottom:10px;
	}
	
	#envoyer {
		margin-top:-20px;
	}
	-->
</style>

<p>Depuis quelques temps, et en marge des développements principaux, nous procédons à la migration de notre application principale vers Windows Azure. S&#8217;il s&#8217;agit pour nos clients hébergés d&#8217;une opération transparente, le fait de ne plus avoir à gérer tout la couche système devrait être une vraie avancée pour nous !</p>
<p><img style="background-image: none; border-right-width: 0px; margin: 0px 0px 10px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="Logo Windows Azure" border="0" alt="Logo Windows Azure" src="http://www.creo-ignem.fr/wp-content/uploads/2011/02/logo_windows_azure1.jpg" width="535" height="100" /></p>
<p>Pour ceux d&#8217;entre vous qui ne connaitraient pas encore Azure, commençons par un petit tour d&#8217;horizon de l&#8217;un des derniers ajouts à la panoplie des produits Microsoft. <strong>Windows Azure </strong>(et ses services complémentaires comme SqlAzure, AzureConnect, etc.) <strong>est un système de Platform As A Service</strong>, c&#8217;est à dire qu&#8217;il s&#8217;agit d&#8217;un environnement, hébergé dans les datacenters de Microsoft, <strong>où vous pouvez déployer des applications sans avoir à vous soucier d&#8217;administrer le ou les serveurs sur lesquels elles tourneront.</strong> Ce qui différentie Azure des solutions hébergées classiques, c&#8217;est qu&#8217;il est vraiment <strong>orienté &quot;hébergement d&#8217;applications&quot;</strong> et qu&#8217;il intègre donc, de façon totalement transparente &#8211; ou presque &#8211; des services tels que LoadBalancing, FailOver (sous conditions), ou encore un CDN.</p>
<p><span id="more-7"></span><strong>Mettre le focus sur l&#8217;application</strong>, et non sur les ressources physiques <strong>a quelque chose d&#8217;assez magique</strong> : votre service connait des périodes d&#8217;utilisation intense de façon périodique ? Aucun problème : provisionnez plus de serveurs pendant ces pointes de consommation et rendez-les quand ils ne vous servent pas ! De part son architecture totalement virtualisée et sa configuration gérée par application, <strong>les serveurs deviennent une ressource comme une autre</strong>, librement allouables ou desallouables. De la même façon, si votre &quot;petite application&quot; connait d&#8217;un seul coup un essor exceptionnel, vous pourrez facilement ajouter de nouvelles ressources pour gérer cette augmentation de trafic.
<p>En omettant volontairement Azure Marketplace, l&#8217;AppStore Azure (j&#8217;y reviendrai peut être d&#8217;ici quelques temps, lorsque nous y serons éventuellement présents), Azure se découpe en trois grandes partie :</p>
<p>- d&#8217;abord, bien évidemment, <strong>Windows Azure</strong>, dont le rôle est de vous proposer un <strong>service d&#8217;exécution</strong> de votre application dans les nuages : instances &quot;matérielles&quot;, OS et plateforme applicative et environnement de stockage. le tout est bien entendu fourni une architecture vous permettant la montée en charge</p>
<p>- <strong>SQL Azure, est le système de base de données relationnelle</strong> pour la plateforme. il est bien entendu tolérant au pannes et est de plus équipé d&#8217;un firewall qui peut le rendre accessible aussi bien à une application azure qu&#8217;à vos applications on-permise.</p>
<p>- <strong>Azure AppFabric est un ensemble de services applicatifs </strong>que vous pouvez utiliser dans vos applications et qui vous permettent, par exemple, d&#8217;établir un canal de communication vers une application se trouvant dans votre environnement privé, ou de gérer un cache de données.</p>
<p>Parlons un peu technique maintenant : Azure est un environnement Microsoft. Vous y trouverez donc les technologies habituelles : le <strong>système d&#8217;exploitation</strong> est une version probablement quelque peu personnalisée de <strong>Windows Server 2008, IIS et les technologies .net</strong> sont donc à votre disposition immédiate. Si vous êtes plutôt orientés Java ou PHP, ne partez pas tout de suite : Microsoft propose des &quot;accélérateurs&quot; vous permettant aussi de déployer vos applications.</p>
<p>Pour la partie base de données<em>,</em> <strong>Sql Azure est assez proche de celle de son parent on-permise, SqlServer</strong>. A l&#8217;exception de quelques spécificités, et d&#8217;un certain nombre de fonctions non disponibles, la très grande majorité des commandes T-SQL que vous auriez pu utiliser dans vos applications sera supportées. Il est par contre à notre que <strong>les modules complémentaires</strong> tels que SSIS, Reporting Services ou encore Analysis Services <strong>ne sont pour l&#8217;instant pas disponibles</strong>.</p>
<p>Je ne m&#8217;hasarderai pas à vous parler de la partie financière, si ce n&#8217;est pour vous dire que <strong>vous paierez véritablement que ce que vous consommerez</strong> (sans engagement, sauf offres promotionnelles), justement parce que votre facturation dépendra vraiment de vos besoins. Par contre, ne nous voilons pas la face : si <strong>le prix du service</strong> est à priori raisonnable pour y faire tourner une véritable application, il <strong>n&#8217;est pas vraiment adapté à</strong>, par exemple, <strong>l&#8217;hébergement d&#8217;un blog ou d&#8217;un site vitrine d&#8217;entreprise</strong>, à moins d’être extrêmement populaire. D&#8217;ailleurs, à quoi pourrait bien vous servir toutes les fonctionnalités de la plateforme pour ce genre de sites ? </p>
<p>Pour en savoir plus sur la plateforme Azure, je ne peux que vous conseiller d&#8217;aller faire un petit tour sur <a href="http://www.windowsazure.fr">www.windowsazure.fr</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.creo-ignem.fr/2011/03/migrer-une-application-vers-azure/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Une interface user-centric de Microsoft ?</title>
		<link>http://www.creo-ignem.fr/2011/02/une-interface-user-centric-de-microsoft/</link>
		<comments>http://www.creo-ignem.fr/2011/02/une-interface-user-centric-de-microsoft/#comments</comments>
		<pubDate>Mon, 28 Feb 2011 16:23:44 +0000</pubDate>
		<dc:creator>michael</dc:creator>
				<category><![CDATA[Interface utilisateur]]></category>

		<guid isPermaLink="false">http://www.creo-ignem.fr/?p=43</guid>
		<description><![CDATA[
<script language="Javascript">
	DD_roundies.addRule('div.arrondi', '15px');
	
	jQuery(document).ready(function($){
		$("#envoyer").click(function() {
			valid = true;
			var tab_error = new Array();var message_error_web='';var message_error_mail='';var haut_mess_form = true;message_error_coche='';message_error_question='';message_error_captcha='';if($("#nom_input").val() == "") {
						$("#nom_input").css("background-color","#");
						$("#span_nom").css("color","#");$("#nom_input").next().text("");tab_error[0] = "votre nom"; 
						valid = false;
					} else {
						$("#nom_input").css("background-color","");
						$("#span_nom").css("color","");
						$("#nom_input").next().text("");
						tab_error[0] = "";
					}tab_error[1] = ""; if($("#mail_input").val() == "") {
				$("#mail_input").css("background-color","#");
				$("#span_mail").css("color","#");$("#mail_input").next().text("");tab_error[2] = "votre e-mail";
				valid = false;
			} else if(!$("#mail_input").val().match(/^([a-z0-9_]|\-|\.)+@(([a-z0-9_]|\-)+\.)+[a-z]{2,7}$/)){
				$("#mail_input").css("background-color","#");
				$("#span_mail").css("color","#");$("#mail_input").next().text("");message_error_mail = "L'email entré n'est pas valide";
				tab_error[2] = "";
				valid = false;
			} else {
				$("#mail_input").css("background-color","");
				$("#span_mail").css("color","");
				$("#mail_input").next().text("");
				tab_error[2] = "";
				message_error_mail = "";
			}tab_error[3] = "";if($("#objet_input").val() == "") {
				$("#objet_input").css("background-color","#");
				$("#span_objet").css("color","#");$("#objet_input").next().text("");tab_error[4] = "Objet";
				valid = false;
			} else {
				$("#objet_input").css("background-color","");
				$("#span_objet").css("color","");
				$("#objet_input").next().text("");
				tab_error[4] = "";
			}if($("#message_input").val() == "") {
				$("#message_input").css("background-color","#");
				$("#span_message").css("color","#");$("#message_input").next().text("");tab_error[5] = "Message<br/>";
				valid = false;
			} else {
				$("#message_input").css("background-color","");
				$("#span_message").css("color","");
				$("#message_input").next().text("");
				tab_error[5] = "";
			}haut_mess_form = false;			if(valid == false) {
				$("#formulaire_contact").animate({ backgroundColor: "#" }, 100);
				
				var message = "Veuillez renseigner le(s) champs: ";
				for (var i=0; i < tab_error.length; ++i) {
					if(tab_error[i] != "") {
						message += tab_error[i]+", ";
					}
				}
				
				message = message.substring(0, message.length-2);
				
				var espace_coche = "";
				if(message_error_mail != "") {
					message += message_error_mail;
					espace_coche = "<br/>";
				}
				
				if(message_error_coche != "") {
					message += espace_coche+message_error_coche;
				}
				
				if(message_error_question != "") {
					message += espace_coche+message_error_question;
				}
				
				if(message_error_captcha != "") {
					message += espace_coche+message_error_captcha;
				}
				
				if(message_error_web != "" && message_error_mail != "") {
					message += "<br/>"+message_error_web;
				} else {
					message += message_error_web;
				}
				
				if(haut_mess_form == true) {
					$("#message_error").css("display","block");
					$("#message_error").html(message);
				}
			}
			
			$("#formulaire_contact").animate({ backgroundColor: "#" }, 800);
			return valid;
		});
	});
	</script>

<style type="text/css">
	<!--
	#style_cispm fieldset {
		background-color: transparent;
		margin: 0;
		padding: 5px;
	}
	
	#style_cispm {
		margin:0;
		padding:0;
		font-family: 	}
	
	#style_cispm table td, table th {
		border-right:0px;
		padding:0;
		text-align:left;
	}
	
	.input_cispm {
		margin:0;
		height: 18px;
		padding: 2px;
	}

	#style_cispm input, textarea, select {
		margin:0;
		padding:0;
	}
	
	#style_cispm table tr:hover td {
		margin: 0;
		padding: 0;
	}
	
	#formulaire_contact{
		margin:auto;
		border-radius:1em;
		-moz-border-radius:1em;
		-webkit-border-radius:1em;
		padding-bottom: 8px;
	}

	#formulaire_contact fieldset{
		border:none;
	}
	
	#formulaire_contact legend{
		margin-top:0.3em;
		font-weight:bold;
		padding-top: 15px;
		padding-left: 15px;
		padding-bottom: 15px;
		text-align: left;
	}
	
	#formulaire_contact label{
		width:200px;
		text-align:right;
	}
	
	#formulaire_contact input, form select, form textarea{
		margin-left:0.5em;
	}
	
	#formulaire_contact button{
		position:relative;
		left:160px;
	}
	
	#formulaire_contact span{
		display:block;
		text-align:right;
		background-color: transparent;
		padding: 0;
		background: url("");
		margin: 0;
	}
	
	#form_tableau {
		border:none;
		margin:0;
		background-color:transparent;
	}
	
	#form_td {
		border:none;
		background-color:transparent;
		vertical-align: top;
		padding-top: 3px;
	}
	
	.error-message {
		color: red;
		padding-left: 10px;
		padding-top:0;
		margin:0;
		margin-bottom: 10px;
	}
	
	#message_error {
		background-color:#d58b8d;
		border:1px solid #d2484b;
		-moz-border-radius-bottomleft:3px;
		-moz-border-radius-bottomright:3px;
		-moz-border-radius-topleft:3px;
		-moz-border-radius-topright:3px;
		margin:5px 15px 2px;
		padding:0.3em 0.6em;
		display: none;
		margin-bottom:10px;
	}
	
	#envoyer {
		margin-top:-20px;
	}
	-->
</style>

Petite démo assez sympa d’une interface intelligente en provenance des labos de Microsoft Research : On y retrouve une idée assez sensationnelle pour une maison intelligente : détecter ce qui devrait vous intéresser le plus et s’adapter en fonction de vos gouts / activités / rendez-vous etc. Cela devrait me donner pas mal d’idées pour [...]]]></description>
			<content:encoded><![CDATA[
<script language="Javascript">
	DD_roundies.addRule('div.arrondi', '15px');
	
	jQuery(document).ready(function($){
		$("#envoyer").click(function() {
			valid = true;
			var tab_error = new Array();var message_error_web='';var message_error_mail='';var haut_mess_form = true;message_error_coche='';message_error_question='';message_error_captcha='';if($("#nom_input").val() == "") {
						$("#nom_input").css("background-color","#");
						$("#span_nom").css("color","#");$("#nom_input").next().text("");tab_error[0] = "votre nom"; 
						valid = false;
					} else {
						$("#nom_input").css("background-color","");
						$("#span_nom").css("color","");
						$("#nom_input").next().text("");
						tab_error[0] = "";
					}tab_error[1] = ""; if($("#mail_input").val() == "") {
				$("#mail_input").css("background-color","#");
				$("#span_mail").css("color","#");$("#mail_input").next().text("");tab_error[2] = "votre e-mail";
				valid = false;
			} else if(!$("#mail_input").val().match(/^([a-z0-9_]|\-|\.)+@(([a-z0-9_]|\-)+\.)+[a-z]{2,7}$/)){
				$("#mail_input").css("background-color","#");
				$("#span_mail").css("color","#");$("#mail_input").next().text("");message_error_mail = "L'email entré n'est pas valide";
				tab_error[2] = "";
				valid = false;
			} else {
				$("#mail_input").css("background-color","");
				$("#span_mail").css("color","");
				$("#mail_input").next().text("");
				tab_error[2] = "";
				message_error_mail = "";
			}tab_error[3] = "";if($("#objet_input").val() == "") {
				$("#objet_input").css("background-color","#");
				$("#span_objet").css("color","#");$("#objet_input").next().text("");tab_error[4] = "Objet";
				valid = false;
			} else {
				$("#objet_input").css("background-color","");
				$("#span_objet").css("color","");
				$("#objet_input").next().text("");
				tab_error[4] = "";
			}if($("#message_input").val() == "") {
				$("#message_input").css("background-color","#");
				$("#span_message").css("color","#");$("#message_input").next().text("");tab_error[5] = "Message<br/>";
				valid = false;
			} else {
				$("#message_input").css("background-color","");
				$("#span_message").css("color","");
				$("#message_input").next().text("");
				tab_error[5] = "";
			}haut_mess_form = false;			if(valid == false) {
				$("#formulaire_contact").animate({ backgroundColor: "#" }, 100);
				
				var message = "Veuillez renseigner le(s) champs: ";
				for (var i=0; i < tab_error.length; ++i) {
					if(tab_error[i] != "") {
						message += tab_error[i]+", ";
					}
				}
				
				message = message.substring(0, message.length-2);
				
				var espace_coche = "";
				if(message_error_mail != "") {
					message += message_error_mail;
					espace_coche = "<br/>";
				}
				
				if(message_error_coche != "") {
					message += espace_coche+message_error_coche;
				}
				
				if(message_error_question != "") {
					message += espace_coche+message_error_question;
				}
				
				if(message_error_captcha != "") {
					message += espace_coche+message_error_captcha;
				}
				
				if(message_error_web != "" && message_error_mail != "") {
					message += "<br/>"+message_error_web;
				} else {
					message += message_error_web;
				}
				
				if(haut_mess_form == true) {
					$("#message_error").css("display","block");
					$("#message_error").html(message);
				}
			}
			
			$("#formulaire_contact").animate({ backgroundColor: "#" }, 800);
			return valid;
		});
	});
	</script>

<style type="text/css">
	<!--
	#style_cispm fieldset {
		background-color: transparent;
		margin: 0;
		padding: 5px;
	}
	
	#style_cispm {
		margin:0;
		padding:0;
		font-family: 	}
	
	#style_cispm table td, table th {
		border-right:0px;
		padding:0;
		text-align:left;
	}
	
	.input_cispm {
		margin:0;
		height: 18px;
		padding: 2px;
	}

	#style_cispm input, textarea, select {
		margin:0;
		padding:0;
	}
	
	#style_cispm table tr:hover td {
		margin: 0;
		padding: 0;
	}
	
	#formulaire_contact{
		margin:auto;
		border-radius:1em;
		-moz-border-radius:1em;
		-webkit-border-radius:1em;
		padding-bottom: 8px;
	}

	#formulaire_contact fieldset{
		border:none;
	}
	
	#formulaire_contact legend{
		margin-top:0.3em;
		font-weight:bold;
		padding-top: 15px;
		padding-left: 15px;
		padding-bottom: 15px;
		text-align: left;
	}
	
	#formulaire_contact label{
		width:200px;
		text-align:right;
	}
	
	#formulaire_contact input, form select, form textarea{
		margin-left:0.5em;
	}
	
	#formulaire_contact button{
		position:relative;
		left:160px;
	}
	
	#formulaire_contact span{
		display:block;
		text-align:right;
		background-color: transparent;
		padding: 0;
		background: url("");
		margin: 0;
	}
	
	#form_tableau {
		border:none;
		margin:0;
		background-color:transparent;
	}
	
	#form_td {
		border:none;
		background-color:transparent;
		vertical-align: top;
		padding-top: 3px;
	}
	
	.error-message {
		color: red;
		padding-left: 10px;
		padding-top:0;
		margin:0;
		margin-bottom: 10px;
	}
	
	#message_error {
		background-color:#d58b8d;
		border:1px solid #d2484b;
		-moz-border-radius-bottomleft:3px;
		-moz-border-radius-bottomright:3px;
		-moz-border-radius-topleft:3px;
		-moz-border-radius-topright:3px;
		margin:5px 15px 2px;
		padding:0.3em 0.6em;
		display: none;
		margin-bottom:10px;
	}
	
	#envoyer {
		margin-top:-20px;
	}
	-->
</style>

<p>Petite démo assez sympa d’une interface intelligente en provenance des labos de Microsoft Research :</p>
<p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:a8917c21-d764-43f4-b8e7-6399a0fa2434" class="wlWriterEditableSmartContent">
<div><object width="537" height="302"><param name="movie" value="http://www.youtube.com/v/MqUaxnhp7rc?hl=en&amp;hd=1"></param><embed src="http://www.youtube.com/v/MqUaxnhp7rc?hl=en&amp;hd=1" type="application/x-shockwave-flash" width="537" height="302"></embed></object></div>
</div>
<p>On y retrouve une idée assez sensationnelle pour une maison intelligente : détecter ce qui devrait vous intéresser le plus et s’adapter en fonction de vos gouts / activités / rendez-vous etc. Cela devrait me donner pas mal d’idées pour continuer ma solution domotique.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.creo-ignem.fr/2011/02/une-interface-user-centric-de-microsoft/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Template Illustrator pour Windows Phone 7</title>
		<link>http://www.creo-ignem.fr/2011/02/template-illustrator-pour-windows-phone-7/</link>
		<comments>http://www.creo-ignem.fr/2011/02/template-illustrator-pour-windows-phone-7/#comments</comments>
		<pubDate>Wed, 02 Feb 2011 15:55:00 +0000</pubDate>
		<dc:creator>michael</dc:creator>
				<category><![CDATA[Interface utilisateur]]></category>
		<category><![CDATA[Windows Phone 7]]></category>

		<guid isPermaLink="false">http://www.creo-ignem.fr/2011/02/template-illustrator-pour-windows-phone-7/</guid>
		<description><![CDATA[
<script language="Javascript">
	DD_roundies.addRule('div.arrondi', '15px');
	
	jQuery(document).ready(function($){
		$("#envoyer").click(function() {
			valid = true;
			var tab_error = new Array();var message_error_web='';var message_error_mail='';var haut_mess_form = true;message_error_coche='';message_error_question='';message_error_captcha='';if($("#nom_input").val() == "") {
						$("#nom_input").css("background-color","#");
						$("#span_nom").css("color","#");$("#nom_input").next().text("");tab_error[0] = "votre nom"; 
						valid = false;
					} else {
						$("#nom_input").css("background-color","");
						$("#span_nom").css("color","");
						$("#nom_input").next().text("");
						tab_error[0] = "";
					}tab_error[1] = ""; if($("#mail_input").val() == "") {
				$("#mail_input").css("background-color","#");
				$("#span_mail").css("color","#");$("#mail_input").next().text("");tab_error[2] = "votre e-mail";
				valid = false;
			} else if(!$("#mail_input").val().match(/^([a-z0-9_]|\-|\.)+@(([a-z0-9_]|\-)+\.)+[a-z]{2,7}$/)){
				$("#mail_input").css("background-color","#");
				$("#span_mail").css("color","#");$("#mail_input").next().text("");message_error_mail = "L'email entré n'est pas valide";
				tab_error[2] = "";
				valid = false;
			} else {
				$("#mail_input").css("background-color","");
				$("#span_mail").css("color","");
				$("#mail_input").next().text("");
				tab_error[2] = "";
				message_error_mail = "";
			}tab_error[3] = "";if($("#objet_input").val() == "") {
				$("#objet_input").css("background-color","#");
				$("#span_objet").css("color","#");$("#objet_input").next().text("");tab_error[4] = "Objet";
				valid = false;
			} else {
				$("#objet_input").css("background-color","");
				$("#span_objet").css("color","");
				$("#objet_input").next().text("");
				tab_error[4] = "";
			}if($("#message_input").val() == "") {
				$("#message_input").css("background-color","#");
				$("#span_message").css("color","#");$("#message_input").next().text("");tab_error[5] = "Message<br/>";
				valid = false;
			} else {
				$("#message_input").css("background-color","");
				$("#span_message").css("color","");
				$("#message_input").next().text("");
				tab_error[5] = "";
			}haut_mess_form = false;			if(valid == false) {
				$("#formulaire_contact").animate({ backgroundColor: "#" }, 100);
				
				var message = "Veuillez renseigner le(s) champs: ";
				for (var i=0; i < tab_error.length; ++i) {
					if(tab_error[i] != "") {
						message += tab_error[i]+", ";
					}
				}
				
				message = message.substring(0, message.length-2);
				
				var espace_coche = "";
				if(message_error_mail != "") {
					message += message_error_mail;
					espace_coche = "<br/>";
				}
				
				if(message_error_coche != "") {
					message += espace_coche+message_error_coche;
				}
				
				if(message_error_question != "") {
					message += espace_coche+message_error_question;
				}
				
				if(message_error_captcha != "") {
					message += espace_coche+message_error_captcha;
				}
				
				if(message_error_web != "" && message_error_mail != "") {
					message += "<br/>"+message_error_web;
				} else {
					message += message_error_web;
				}
				
				if(haut_mess_form == true) {
					$("#message_error").css("display","block");
					$("#message_error").html(message);
				}
			}
			
			$("#formulaire_contact").animate({ backgroundColor: "#" }, 800);
			return valid;
		});
	});
	</script>

<style type="text/css">
	<!--
	#style_cispm fieldset {
		background-color: transparent;
		margin: 0;
		padding: 5px;
	}
	
	#style_cispm {
		margin:0;
		padding:0;
		font-family: 	}
	
	#style_cispm table td, table th {
		border-right:0px;
		padding:0;
		text-align:left;
	}
	
	.input_cispm {
		margin:0;
		height: 18px;
		padding: 2px;
	}

	#style_cispm input, textarea, select {
		margin:0;
		padding:0;
	}
	
	#style_cispm table tr:hover td {
		margin: 0;
		padding: 0;
	}
	
	#formulaire_contact{
		margin:auto;
		border-radius:1em;
		-moz-border-radius:1em;
		-webkit-border-radius:1em;
		padding-bottom: 8px;
	}

	#formulaire_contact fieldset{
		border:none;
	}
	
	#formulaire_contact legend{
		margin-top:0.3em;
		font-weight:bold;
		padding-top: 15px;
		padding-left: 15px;
		padding-bottom: 15px;
		text-align: left;
	}
	
	#formulaire_contact label{
		width:200px;
		text-align:right;
	}
	
	#formulaire_contact input, form select, form textarea{
		margin-left:0.5em;
	}
	
	#formulaire_contact button{
		position:relative;
		left:160px;
	}
	
	#formulaire_contact span{
		display:block;
		text-align:right;
		background-color: transparent;
		padding: 0;
		background: url("");
		margin: 0;
	}
	
	#form_tableau {
		border:none;
		margin:0;
		background-color:transparent;
	}
	
	#form_td {
		border:none;
		background-color:transparent;
		vertical-align: top;
		padding-top: 3px;
	}
	
	.error-message {
		color: red;
		padding-left: 10px;
		padding-top:0;
		margin:0;
		margin-bottom: 10px;
	}
	
	#message_error {
		background-color:#d58b8d;
		border:1px solid #d2484b;
		-moz-border-radius-bottomleft:3px;
		-moz-border-radius-bottomright:3px;
		-moz-border-radius-topleft:3px;
		-moz-border-radius-topright:3px;
		margin:5px 15px 2px;
		padding:0.3em 0.6em;
		display: none;
		margin-bottom:10px;
	}
	
	#envoyer {
		margin-top:-20px;
	}
	-->
</style>

Bien que cela date déjà de quelques mois, les Templates Illustrator de Clarity consulting sont d’une telle utilité qu’il est impossible de ne pas en reparler ! Vous y trouverez, en plus des polices Segoe UI WP, tous les outils pour vous permettre de prototyper rapidement votre application dans Illustrator : des kits pour préparer [...]]]></description>
			<content:encoded><![CDATA[
<script language="Javascript">
	DD_roundies.addRule('div.arrondi', '15px');
	
	jQuery(document).ready(function($){
		$("#envoyer").click(function() {
			valid = true;
			var tab_error = new Array();var message_error_web='';var message_error_mail='';var haut_mess_form = true;message_error_coche='';message_error_question='';message_error_captcha='';if($("#nom_input").val() == "") {
						$("#nom_input").css("background-color","#");
						$("#span_nom").css("color","#");$("#nom_input").next().text("");tab_error[0] = "votre nom"; 
						valid = false;
					} else {
						$("#nom_input").css("background-color","");
						$("#span_nom").css("color","");
						$("#nom_input").next().text("");
						tab_error[0] = "";
					}tab_error[1] = ""; if($("#mail_input").val() == "") {
				$("#mail_input").css("background-color","#");
				$("#span_mail").css("color","#");$("#mail_input").next().text("");tab_error[2] = "votre e-mail";
				valid = false;
			} else if(!$("#mail_input").val().match(/^([a-z0-9_]|\-|\.)+@(([a-z0-9_]|\-)+\.)+[a-z]{2,7}$/)){
				$("#mail_input").css("background-color","#");
				$("#span_mail").css("color","#");$("#mail_input").next().text("");message_error_mail = "L'email entré n'est pas valide";
				tab_error[2] = "";
				valid = false;
			} else {
				$("#mail_input").css("background-color","");
				$("#span_mail").css("color","");
				$("#mail_input").next().text("");
				tab_error[2] = "";
				message_error_mail = "";
			}tab_error[3] = "";if($("#objet_input").val() == "") {
				$("#objet_input").css("background-color","#");
				$("#span_objet").css("color","#");$("#objet_input").next().text("");tab_error[4] = "Objet";
				valid = false;
			} else {
				$("#objet_input").css("background-color","");
				$("#span_objet").css("color","");
				$("#objet_input").next().text("");
				tab_error[4] = "";
			}if($("#message_input").val() == "") {
				$("#message_input").css("background-color","#");
				$("#span_message").css("color","#");$("#message_input").next().text("");tab_error[5] = "Message<br/>";
				valid = false;
			} else {
				$("#message_input").css("background-color","");
				$("#span_message").css("color","");
				$("#message_input").next().text("");
				tab_error[5] = "";
			}haut_mess_form = false;			if(valid == false) {
				$("#formulaire_contact").animate({ backgroundColor: "#" }, 100);
				
				var message = "Veuillez renseigner le(s) champs: ";
				for (var i=0; i < tab_error.length; ++i) {
					if(tab_error[i] != "") {
						message += tab_error[i]+", ";
					}
				}
				
				message = message.substring(0, message.length-2);
				
				var espace_coche = "";
				if(message_error_mail != "") {
					message += message_error_mail;
					espace_coche = "<br/>";
				}
				
				if(message_error_coche != "") {
					message += espace_coche+message_error_coche;
				}
				
				if(message_error_question != "") {
					message += espace_coche+message_error_question;
				}
				
				if(message_error_captcha != "") {
					message += espace_coche+message_error_captcha;
				}
				
				if(message_error_web != "" && message_error_mail != "") {
					message += "<br/>"+message_error_web;
				} else {
					message += message_error_web;
				}
				
				if(haut_mess_form == true) {
					$("#message_error").css("display","block");
					$("#message_error").html(message);
				}
			}
			
			$("#formulaire_contact").animate({ backgroundColor: "#" }, 800);
			return valid;
		});
	});
	</script>

<style type="text/css">
	<!--
	#style_cispm fieldset {
		background-color: transparent;
		margin: 0;
		padding: 5px;
	}
	
	#style_cispm {
		margin:0;
		padding:0;
		font-family: 	}
	
	#style_cispm table td, table th {
		border-right:0px;
		padding:0;
		text-align:left;
	}
	
	.input_cispm {
		margin:0;
		height: 18px;
		padding: 2px;
	}

	#style_cispm input, textarea, select {
		margin:0;
		padding:0;
	}
	
	#style_cispm table tr:hover td {
		margin: 0;
		padding: 0;
	}
	
	#formulaire_contact{
		margin:auto;
		border-radius:1em;
		-moz-border-radius:1em;
		-webkit-border-radius:1em;
		padding-bottom: 8px;
	}

	#formulaire_contact fieldset{
		border:none;
	}
	
	#formulaire_contact legend{
		margin-top:0.3em;
		font-weight:bold;
		padding-top: 15px;
		padding-left: 15px;
		padding-bottom: 15px;
		text-align: left;
	}
	
	#formulaire_contact label{
		width:200px;
		text-align:right;
	}
	
	#formulaire_contact input, form select, form textarea{
		margin-left:0.5em;
	}
	
	#formulaire_contact button{
		position:relative;
		left:160px;
	}
	
	#formulaire_contact span{
		display:block;
		text-align:right;
		background-color: transparent;
		padding: 0;
		background: url("");
		margin: 0;
	}
	
	#form_tableau {
		border:none;
		margin:0;
		background-color:transparent;
	}
	
	#form_td {
		border:none;
		background-color:transparent;
		vertical-align: top;
		padding-top: 3px;
	}
	
	.error-message {
		color: red;
		padding-left: 10px;
		padding-top:0;
		margin:0;
		margin-bottom: 10px;
	}
	
	#message_error {
		background-color:#d58b8d;
		border:1px solid #d2484b;
		-moz-border-radius-bottomleft:3px;
		-moz-border-radius-bottomright:3px;
		-moz-border-radius-topleft:3px;
		-moz-border-radius-topright:3px;
		margin:5px 15px 2px;
		padding:0.3em 0.6em;
		display: none;
		margin-bottom:10px;
	}
	
	#envoyer {
		margin-top:-20px;
	}
	-->
</style>

<p>Bien que cela date déjà de quelques mois, les <a href="http://blogs.claritycon.com/blog/2011/01/12/wicked-wireframes-wp7-vector-ux-kit-3/">Templates Illustrator</a> de <a href="http://www.claritycon.com/">Clarity consulting</a> sont d’une telle utilité qu’il est impossible de ne pas en reparler !</p>
<p><img style="background-image: none; margin: 0px 0px 10px; padding-left: 0px; padding-right: 0px; display: inline; padding-top: 0px; border-width: 0px;" title="illustrator-wp7" src="http://www.creo-ignem.fr/wp-content/uploads/2011/02/illustrator-wp7.jpg" border="0" alt="illustrator-wp7" width="546" height="250" /></p>
<p>Vous y trouverez, en plus des polices Segoe UI WP, tous les outils pour vous permettre de prototyper rapidement votre application dans Illustrator : des kits pour préparer vos Pivots et Panoramas, des exemples de textes formatés selon les principaux styles de la plateforme et même les icônes principaux pour vos barres.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.creo-ignem.fr/2011/02/template-illustrator-pour-windows-phone-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

