<?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>HISTOIRE 2 &#187; Développement</title>
	<atom:link href="http://www.h2-blog.com/category/technologie/developpement/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.h2-blog.com</link>
	<description>Un blog à 2 qui parle 2 tout</description>
	<lastBuildDate>Mon, 30 Jan 2012 19:32:13 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>fr</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Illustrator nervous BReaK down ou comment récupérer un fichier Illustrator contenant des polices (BRK)</title>
		<link>http://www.h2-blog.com/2009/02/24/illustrator-nervous-break-down-ou-comment-recuperer-un-fichier-illustrator-contenant-des-polices-brk/</link>
		<comments>http://www.h2-blog.com/2009/02/24/illustrator-nervous-break-down-ou-comment-recuperer-un-fichier-illustrator-contenant-des-polices-brk/#comments</comments>
		<pubDate>Tue, 24 Feb 2009 18:27:31 +0000</pubDate>
		<dc:creator>Anne-Laure</dc:creator>
				<category><![CDATA[Divers]]></category>
		<category><![CDATA[Développement]]></category>
		<category><![CDATA[graphisme]]></category>
		<category><![CDATA[illustrator]]></category>

		<guid isPermaLink="false">http://www.h2-blog.com/?p=2621</guid>
		<description><![CDATA[Pour la petite histoire, HISTOIRE 2 va se payer un lifting&#8230; bah ouais, le blog fait en 2h tout compris il y a 1 an et des brouettes n&#8217;a pas l&#8217;enveloppe qu&#8217;il mérite compte tenu de l&#8217;engouement qu&#8217;il nous cause.
Après un brainstorming de chez brainstorming, je me suis mise à la création d&#8217;un nouveau logo, [...]]]></description>
			<content:encoded><![CDATA[<p>Pour la petite histoire, <strong>HISTOIRE 2 va se payer un lifting</strong>&#8230; bah ouais, le blog fait en 2h tout compris il y a 1 an et des brouettes n&#8217;a pas l&#8217;enveloppe qu&#8217;il mérite compte tenu de l&#8217;engouement qu&#8217;il nous cause.<br />
Après un <strong>brainstorming</strong> de chez brainstorming, je me suis mise à la <strong>création d&#8217;un nouveau logo</strong>, pour un nouvel header, etc&#8230;</p>
<p><strong>J&#8217;ai bossé hier toute la soirée</strong> sur ces dits logos <strong>dans Illustrator</strong>, repris mes croquis en dessin vectoriel mais ai aussi <strong>téléchargé des polices</strong> qui m&#8217;inspiraient sur <a href="http://www.dafont.com/fr/" target="_blank">Dafont</a> pour faire des essais supplémentaires.<br />
Comme d&#8217;habitude <strong>j&#8217;ai décliné X logos</strong> sur la surface de travail, c&#8217;est à dire <strong>autour des limites de mon document</strong>, 1 seul logo à l&#8217;intérieur de ces limites pour voir comment ça rendait dans la page.<br />
<strong>Après des heures de boulot</strong> et peut-être 50 variantes sous différents axes, certaines avec texte vectorisé, d&#8217;autres non, l&#8217;heure était venue de me coucher. <strong>J&#8217;enregistre, je ferme et j&#8217;éteins l&#8217;ordi.</strong></p>
<p><strong>Ce matin</strong>, je rallume mon ordi et je double-clique sur mon fichier et <strong>BAM!</strong> :</p>
<p style="text-align: center;"><img class="size-full wp-image-2622 aligncenter" title="illegal operand illustrator" src="http://www.h2-blog.com/wp-content/uploads/2009/02/illegal_opperand_illustrator.jpg" alt="illegal operand illustrator" width="535" height="248" /></p>
<p>Hein? De quoi? <strong>Illegal operand</strong>???? Et puis je repère le nom de polices utilisées dans mon document&#8230; un problème de licence??&#8230; en tout cas le fichier s&#8217;ouvre mais vide, rien de plus exaspérant de perdre des heures de boulot AAAAAAAAaaaaaaAAaAAhhhh&#8230;j&#8217;ai tenté de changer les extensions, rien à faire&#8230; ah si 1 logo aplati dans le fichier PDF&#8230; super&#8230;</p>
<p>La bonne nouvelle c&#8217;est que <strong>j&#8217;ai réussi à récupérer mon fichier</strong>, mais <strong>après des heures</strong> de recherches et de bidouillage. Autant donc essayer d&#8217;expliquer ici, plus clairement que ce que j&#8217;ai pu trouver sur le web, comment lutter contre ce type de fichiers corrompus.<br />
<span id="more-2621"></span>
<ul>
<li>Primo : ce n&#8217;était <strong>pas un problème de licence </strong>mais quand même<strong> un problème de police<br />
</strong></li>
</ul>
<p>J&#8217;avais bien fait mon boulot, ne choisissant que des <strong>polices gratuites</strong>&#8230; donc le &laquo;&nbsp;illegal&nbsp;&raquo; ce n&#8217;était pas un signe de &laquo;&nbsp;je t&#8217;ai bloqué ton fichier parce que tu as essayé de voler&nbsp;&raquo;&#8230; bah quoi, c&#8217;eût pu non?<br />
N&#8217;empêche, il y avait toujours un &laquo;&nbsp;<strong>Offending operator</strong>&laquo;&nbsp;&#8230; et visiblement il y avait un truc à voir avec les polices&#8230;</p>
<p>Un tour <strong>dans Adobe Bridge</strong> me montre que <strong>mes créa</strong> sont toujours là (ouf!), mais <strong>disponibles qu&#8217;en aperçu</strong> (Ggrrrrrr) mais surtout je remarque que dans la liste des polices utilisées dans le fichiers, seules <strong>2 sont suivies par</strong><strong> (BRK)</strong> et c&#8217;est justement <strong>les 2 citées dans le message d&#8217;erreur</strong>.</p>
<p style="text-align: center;"><img class="size-full wp-image-2623 aligncenter" title="polices dasn Bridge" src="http://www.h2-blog.com/wp-content/uploads/2009/02/polices.jpg" alt="polices dasn Bridge" width="247" height="190" /></p>
<p>J&#8217;en conclus que ce n&#8217;est pas un hasard, et que <strong>c&#8217;est ce (BRK) qui pose problème</strong>. BRK c&#8217;est une abréviation pour BRoKen??? Broken comme &laquo;&nbsp;cassé&nbsp;&raquo;&#8230; bah non! (raté chéri mais t&#8217;étais pas loin)</p>
<ul>
<li><strong>Les polices (BRK) ne sont plus compatibles avec Illustrator et les pages web CSS </strong><strong> depuis 2002</strong></li>
</ul>
<p>Bah ouais, <strong>fallait le savoir&#8230;</strong> AVANT ça aurait été mieux, genre au moment de les utiliser ou d&#8217;enregistrer le fichier, un message du type  &laquo;&nbsp;là ça va faire foirer votre fichier, merci de me dégager cette police&nbsp;&raquo; ou encore mieux de préciser ça sur le site de polices. Sauf que <strong>c&#8217;est dit nulle part</strong>&#8230; c&#8217;pas malin!<br />
En gros, d&#8217;après <a href="http://www.aenigmafonts.com/faq.html" target="_blank">Aenigma Fonts</a>, <strong>ce sont les parenthèses du (BKR) qui posent problème</strong>. Tout ce bordel pour des parenthèses???? Bah ouais.</p>
<p>Visiblement, les polices avec (BRK) dans leur nom de fichier (<strong>attention le &laquo;&nbsp;(BRK)&nbsp;&raquo; n&#8217;est visible qu&#8217;une fois la police installée</strong>) sont de vieilles polices. Chez Aenigma Fonts, ils ont renommé tous leurs fichiers pour éviter ce genre de problème, sauf que Dafont n&#8217;y a visiblement pas pensé.<br />
Je n&#8217;ai aucune idée du<strong> rôle du</strong> <strong>BRK</strong> mais en tout cas <strong>il semble avoir de l&#8217;importance</strong> puisque <strong>les polices </strong>renommées donc <strong>récentes</strong> chez Aenigma Fonts <strong>ont</strong> perdu leurs parenthèses mais <strong>gardé leur BRK</strong>. Quand on les utilise dans Illustrator, maintenant ça marche <img src='http://www.h2-blog.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  . Mais le fichier corrompu en attendant?</p>
<ul>
<li><strong>Technique(s) pour récupérer son fichier corrompu -presque- comme si rien ne c&#8217;était passé</strong></li>
</ul>
<p>Aenigma Fonts propose <strong>une technique que j&#8217;ai essayé mais en vain</strong>&#8230; néanmoins autant en parler au cas où vous seriez plus doués que moi^^.<br />
Figurez-vous que vous pouvez <strong>ouvrir votre fichier Illustrator dans un éditeur de code</strong>&#8230; ouais c&#8217;est con mais j&#8217;aurais pas imaginé, bref&#8230; et <strong>remplacer tous les (BRK) par des BRK</strong> <strong>après avoir désinstallé les vieilles polices (BRK) et installé les BRK à la place</strong>. Après enregistrement, c&#8217;est censé remarcher, Illustrator doit pouvoir à nouveau ouvrir le fichier. Je n&#8217;y suis pas arrivée&#8230; je ne sais pas pourquoi.<br />
<strong>Cette technique aurait l&#8217;avantage de ne faire perdre aucune données</strong>&#8230; si vous y arrivez.</p>
<p>Le truc con dans mon malheur, c&#8217;est que j&#8217;avais utilisé ces 2 polices foireuses mais qu&#8217;au final je ne comptais pas m&#8217;en servir finalement, c&#8217;était moche. Conclusion, ça m&#8217;allait très bien si j&#8217;arrivais à <strong>remplacer par n&#8217;importe qu&#8217;elle police fonctionnant</strong>.<strong><br />
J&#8217;ai bidouillé dans Illustrator et j&#8217;ai réussi!</strong> Voici les étapes (en Anglais vu que je bosse sur une version anglaise de CS3, mais avec les images ça devrait aller hein) :</p>
<p>-En préambule, <strong>supprimez les polices (BRK) de votre ord</strong>i si ce n&#8217;est pas déjà fait, allez hop on désinstalle et plus vite que ça!</p>
<p>- <strong>Ouvrez Illustrator</strong>, <strong>créez un nouveau document</strong> au dimensions souhaitées, <strong>cliquez sur File</strong> puis sur <strong>Place</strong> (probablement Fichier/Importer en français), <strong>sélectionnez votre fichier Illustrator corrompu</strong>.</p>
<p style="text-align: center;"><img class="size-full wp-image-2625 aligncenter" title="1_fichier_importer" src="http://www.h2-blog.com/wp-content/uploads/2009/02/1_fichier_importer.jpg" alt="1_fichier_importer" width="330" height="558" /></p>
<p>- Dans les réglages de l&#8217;importation (tiens c&#8217;est des proprités de PDF alors que j&#8217;ouvre un AI&#8230;), <strong>choisissez</strong> <strong>Crop to Trim</strong> (ce qui permet d&#8217;avoir en plus du plan de travail, toute la surface de travail), <strong>cliquez sur OK</strong> (oui bah je précise on ne sait jamais).</p>
<p style="text-align: center;"><img class="size-full wp-image-2626 aligncenter" title="2_crop_to_trim" src="http://www.h2-blog.com/wp-content/uploads/2009/02/2_crop_to_trim.jpg" alt="2_crop_to_trim" width="292" height="314" /></p>
<p>Tadaaaaa! <strong>votre fichier apparait mais ce n&#8217;est qu&#8217;un aperçu</strong> pour le moment.</p>
<p>- Sous la barre de menu est apparue une réglette proposant différentes options concernant l&#8217;élément que vous venez d&#8217;importer dans votre document.<br />
J&#8217;ai tout essayé : Edit Original pose le même problème que si on avait bêtement ouvert le fichier, Live trace ne marche pas, mais <strong>cliquez sur Embed</strong> et là un petit message apparait. Un message d&#8217;erreur certes, mais <strong>un message d&#8217;erreur qui indique que les polices manquantes vont être remplacées par une police de substitution</strong>. ENFIN! Donc là c&#8217;est évident, c&#8217;est ce qu&#8217;on cherche depuis le début : <strong>cliquez sur OK</strong>!!!!!</p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-2627" title="3_embed" src="http://www.h2-blog.com/wp-content/uploads/2009/02/3_embed.jpg" alt="3_embed" width="573" height="89" /></p>
<p style="text-align: center;"><img class="alignnone size-full wp-image-2624" title="4_substitute_font" src="http://www.h2-blog.com/wp-content/uploads/2009/02/4_substitute_font.jpg" alt="4_substitute_font" width="406" height="282" /></p>
<p>Re Tadaaaaaa! Sauf que<strong> tous les éléments sont groupés</strong> et que<strong> la manip&#8217; Ungroup ne fonctionne pas</strong>&#8230;</p>
<p>- <em>Last but not least</em>, <strong>prenez l&#8217;outil de sélection directe</strong> (la <strong>flèche blanche</strong>), tracez un cadre pour <strong>sélectionner tous vos éléments</strong>, <strong>Coupez</strong>, <strong>Collez</strong> et voilà, <strong>tous les éléments sont indépendants</strong>. Reste à <strong>supprimer le cadre de l&#8217;import du PDF</strong>.</p>
<p>Constatez les dégats, minimisés au max : <strong>les polices posant problème ont disparu</strong> mais <strong>si vous les avez trouvé en BRK</strong> sans parenthèse, <strong>il suffit de les mettre à jour dans le fichier</strong> et en théorie vous récupérez exactement le document initial. Tiens comme la technique qui marchait pas, je suis géniale en fait ;p .</p>
<p>Ah, et <strong>enregistrez!</strong> Et même, <strong>faites une copie de sauvegarde</strong> au cas où, hein&#8230; <img src='http://www.h2-blog.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.h2-blog.com/2009/02/24/illustrator-nervous-break-down-ou-comment-recuperer-un-fichier-illustrator-contenant-des-polices-brk/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Appel d’un Webservice en .Net à l’aide de wsdl.exe</title>
		<link>http://www.h2-blog.com/2008/09/10/appel-d%e2%80%99un-webservice-en-net-a-l%e2%80%99aide-de-wsdlexe/</link>
		<comments>http://www.h2-blog.com/2008/09/10/appel-d%e2%80%99un-webservice-en-net-a-l%e2%80%99aide-de-wsdlexe/#comments</comments>
		<pubDate>Wed, 10 Sep 2008 15:51:21 +0000</pubDate>
		<dc:creator>Benjamin</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Csharp]]></category>
		<category><![CDATA[Dotnet]]></category>
		<category><![CDATA[Net]]></category>
		<category><![CDATA[Programmation]]></category>

		<guid isPermaLink="false">http://www.h2-blog.com/?p=1254</guid>
		<description><![CDATA[Dans la série des articles &#171;&#160;mémo perso&#160;&#187; (je vais finir par créer une catégorie), je vais vous expliquer comment créer une &#171;&#160;classe proxy&#160;&#187; en C# .Net qui vous permettra d’appeler un Webservice.
Pour votre culture générale, sachez qu’un Webservice est un service (jusque là on s’en doutait) qui permet d’interroger à l’aide d’une simple connexion http [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-1262" style="float:left;margin-right: 10px" title="Logo Microsoft .Net" src="http://www.h2-blog.com/wp-content/uploads/2008/09/microsoft-dotnet.png" alt="Logo Microsoft .Net" width="250" height="147" />Dans la série des articles &laquo;&nbsp;mémo perso&nbsp;&raquo; (je vais finir par créer une catégorie), je vais vous expliquer comment créer une &laquo;&nbsp;classe proxy&nbsp;&raquo; en C# .Net qui vous permettra d’appeler un Webservice.</p>
<p>Pour votre culture générale, sachez qu’un Webservice est un service (jusque là on s’en doutait) qui permet d’interroger à l’aide d’une simple connexion http un programme (ok là je vulgarise volontairement) présent sur un serveur Web distant.<br />
Un exemple : imaginez que vous avez un Webservice présent sur votre serveur Web qui vous permet d’obtenir la liste des utilisateurs enregistrés, de valider leur inscription, de supprimer un utilisateur … Imaginez que ce Webservice soit programmé dans n’importe quel langage, vous allez pouvoir développer un programme (qui ne sera pas forcément écrit dans le même langage que le Webservice) qui interrogera à distance votre Webservice, depuis votre Smartphone par exemple.</p>
<p>Si vous n’êtes pas développeur, ça n’est pas la peine de continuer la lecture de cet article, vous allez perdre votre temps.</p>
<p>Rentrons dans le vif du sujet…</p>
<p><span id="more-1254"></span><em>Pré-requis 1 :</em> Vous savez ce qu’est un Webservice<br />
<em>Pré-requis 2 :</em> Vous devez développer un client pour ce Webservice en .Net<br />
<em>Pré-requis 3 :</em> Vous avez quelques connaissances sur le développement en C# .Net</p>
<p><strong>Mon problème :</strong></p>
<p>Pour coder en .Net j’utilise SharpDevelop (#develop), qui est un environnement développement open source très similaire à Visual Studio .Net, le problème c’est que je n’arrive pas à faire fonctionner le module d’appel aux Webservices et de création de la classe proxy …<br />
En plus je suis obligé de passer par un proxy et je n’ai pas trouvé où spécifier le serveur Proxy dans Sharpdevelop…</p>
<p>Bref, voici comment générer le fichier CS de la classe proxy en mode console.</p>
<p>Ouvrez une console (Démarrer/Executer/Cmd) :</p>
<p align="center"><img class="size-full wp-image-1256" title="appel-webservice-wsdl-exe-1" src="http://www.h2-blog.com/wp-content/uploads/2008/09/appel-webservice-wsdl-exe-1.jpg" alt="appel-webservice-wsdl-exe-1" /></p>
<p>Tapez cd &laquo;&nbsp;C:\Program Files\Microsoft.NET\SDK\v2.0\Bin&nbsp;&raquo;, et là magie nous allons utiliser l’utilitaire WSDL.exe (Web Services Description Language) inclus dans le SDK .Net.<br />
N’hésitez pas à faire un petit WSDL /? pour consulter l’aide et les options de WSDL :</p>
<p align="center"><img class="size-full wp-image-1257" title="appel-webservice-wsdl-exe-2" src="http://www.h2-blog.com/wp-content/uploads/2008/09/appel-webservice-wsdl-exe-2.jpg" alt="appel-webservice-wsdl-exe-2" /></p>
<p>Et voilà les paramètres que j’utilise pour créer ma classe proxy en passant par mon serveur proxy :</p>
<p>wsdl http://www.url-du-webservice.com/WebserviceTest.asmx?WSDL /language:csharp /out:ProxyWebserviceTest.cs /proxyusername:MonLoginWindows /proxypassword:MonPasswordWindows /proxydomain:MonDomaineWindows</p>
<p align="center"><img class="size-full wp-image-1258" title="appel-webservice-wsdl-exe-3" src="http://www.h2-blog.com/wp-content/uploads/2008/09/appel-webservice-wsdl-exe-3.jpg" alt="appel-webservice-wsdl-exe-3" /></p>
<p>Vous n’avez plus qu’à importer dans votre projet .Net le fichier qui vient d’être généré dans<br />
C:\Program Files\Microsoft.NET\SDK\v2.0\Bin (dans notre exemple ProxyWebserviceTest.cs).<br />
Pour cela, clic droit sur la solution / ajouter / fichier existant.</p>
<p>Il vous faut maintenant ajouter les références System.Web et System.Web.Services.<br />
Pour cela Clic droit sur Référence / Ajouter une référence :</p>
<p align="center"><img class="size-full wp-image-1259" title="appel-webservice-wsdl-exe-4" src="http://www.h2-blog.com/wp-content/uploads/2008/09/appel-webservice-wsdl-exe-4.jpg" alt="appel-webservice-wsdl-exe-4" /></p>
<p>Ajoutez les références System.Web et System.Web.Services :</p>
<p align="center"><img class="size-full wp-image-1260" title="appel-webservice-wsdl-exe-5" src="http://www.h2-blog.com/wp-content/uploads/2008/09/appel-webservice-wsdl-exe-5.jpg" alt="appel-webservice-wsdl-exe-5" /></p>
<p>Et pour finir voilà un exemple de bout de code permettant l’appel d’une webmethod de votre Webservice :</p>
<p>/*<br />
 * Created by SharpDevelop.<br />
 * User: tarlay<br />
 * Date: 10/09/2008<br />
 * Time: 16:02<br />
 */<br />
using System;<br />
using System.Collections.Generic;<br />
using System.Net;</p>
<p>namespace TestContactUsWebservice<br />
{<br />
	class MainClass<br />
	{<br />
		public static void Main(string[] args)<br />
		{<br />
			Console.WriteLine(&nbsp;&raquo;Test du webservice !&nbsp;&raquo;);<br />
			try{<br />
				//Initialisation de la classe proxy<br />
				ClasseProxyDeVotreWebService myWebServiceClasse = new ClasseProxyDeVotreWebService();</p>
<p>				//Utilisation de la classe WebProxy pour spécifier le proxy à utiliser pour la connexion au Webservice<br />
				WebProxy  myProxy = new WebProxy(&nbsp;&raquo;http://url-de-votre-proxy:8080&#8243;);<br />
				NetworkCredential giveCred = new NetworkCredential(&nbsp;&raquo;MonLoginWindows&nbsp;&raquo;,&nbsp;&raquo;MonPasswordWindows&nbsp;&raquo;,&nbsp;&raquo;MonDomaineWindows&nbsp;&raquo;);<br />
				myProxy.Credentials=giveCred;<br />
				myWebServiceClasse.Proxy = myProxy;</p>
<p>				//Appel de la webmethod<br />
				string ValueReturnByWebService = myWebServiceClasse.VotreWebMethode(&nbsp;&raquo;parmetres de la webmethod&nbsp;&raquo;);<br />
				Console.WriteLine(ValueReturnByWebService);</p>
<p>			}catch(Exception eMsg1){<br />
				Console.WriteLine(&nbsp;&raquo;Erreur lors de l&#8217;appel au webservice ligne &laquo;&nbsp;+eMsg1.Source.ToString()+&nbsp;&raquo; : &laquo;&nbsp;+eMsg1.Message);<br />
			}<br />
		}<br />
	}<br />
}</p>
<p>Comme d’habitude, vos conseils/avis sur ce mémo perso sont les bienvenus <img src='http://www.h2-blog.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.h2-blog.com/2008/09/10/appel-d%e2%80%99un-webservice-en-net-a-l%e2%80%99aide-de-wsdlexe/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Exécuter une simple requête SELECT en C# .Net</title>
		<link>http://www.h2-blog.com/2008/07/31/executer-une-simple-requete-select-en-csharp-dotnet/</link>
		<comments>http://www.h2-blog.com/2008/07/31/executer-une-simple-requete-select-en-csharp-dotnet/#comments</comments>
		<pubDate>Thu, 31 Jul 2008 12:43:38 +0000</pubDate>
		<dc:creator>Benjamin</dc:creator>
				<category><![CDATA[Développement]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Csharp]]></category>
		<category><![CDATA[Dotnet]]></category>
		<category><![CDATA[Net]]></category>
		<category><![CDATA[Programmation]]></category>

		<guid isPermaLink="false">http://www.h2-blog.com/?p=808</guid>
		<description><![CDATA[Pré-requis 1 : Avant tout je préfère le dire toute suite ce billet est une note personnel …
Pré-requis 2 : Non développeur, n’allez pas plus loin 
Depuis hier j’ai une petite application Console en dotnet à développer et comme ça fait super longtemps que je n’ai pas fait de développement .Net je viens de réaliser [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-1262" style="float:left;margin-right: 10px" title="Logo Microsoft .Net" src="http://www.h2-blog.com/wp-content/uploads/2008/09/microsoft-dotnet.png" alt="Logo Microsoft .Net" width="250" height="147" /><em>Pré-requis 1 :</em> Avant tout je préfère le dire toute suite ce billet est une note personnel …<br />
<em>Pré-requis 2 :</em> Non développeur, n’allez pas plus loin <img src='http://www.h2-blog.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
Depuis hier j’ai une petite application Console en dotnet à développer et comme ça fait super longtemps que je n’ai pas fait de développement .Net je viens de réaliser que j’avais presque tout oublié.<br />
<strong>Objet de ce billet :</strong> comment faire une simple requête SELECT sur une base de données SQL Serveur en C# .Net.</p>
<p><span id="more-808"></span>Il existe des milliards de techniques pour interroger une base de données en .Net avec ADO.Net le problème c’est que la majorité de ces techniques sont, je trouve, bien trop compliqués pour de simples applications.</p>
<p>Alors voilà un petit script tout simple permettant d’exécuter une requête SELECT sur une table :</p>
<p>using System;<br />
using System.Collections.Generic;<br />
using System.Data;<br />
using System.Data.SqlClient;</p>
<p>namespace RequeteSelectSimple<br />
{<br />
	class MainClass<br />
	{<br />
		static SqlConnection myConnection;<br />
		static SqlCommand myCommand;<br />
		static string myConnectionString;</p>
<p>		public static void Main(string[] args)<br />
		{<br />
			//Chaine de connexion permettant de se connecter la base :<br />
			myConnectionString = &laquo;&nbsp;user id=Login-Base-Donnees;password=PassWord-Base-De-Donne;initial catalog=Nom-De-La-Base;data source=Adresse-du-serveur-de-la-Base-de-Donnees;Connect Timeout=10&#8243;;<br />
			//Requête SQL :<br />
			string strRequete = &laquo;&nbsp;SELECT nom FROM tbl_contacts&nbsp;&raquo; ;<br />
			//variable locale qui permettra de récuppérer les valeurs de la table<br />
			string varNom;<br />
			//Utilisation du try .. catch permettant de fermer la connexion même en cas de plantage<br />
			try{<br />
				//Connexion à la base de donnée<br />
				myConnection = new SqlConnection(myConnectionString);<br />
				myConnection.Open();<br />
				//Execution de la requête<br />
				myCommand = new SqlCommand(strRequete,myConnection);<br />
				//Lecture des enregistrements à l&#8217;aide d&#8217;un SqlDataReader<br />
				SqlDataReader mySqDataReader = myCommand.ExecuteReader();<br />
				while (mySqDataReader.Read()){<br />
					//On teste que le résultat n&#8217;est pas NULL afin d&#8217;éviter un plantage on moment du cast<br />
					if(mySqDataReader["nom"]!= System.DBNull.Value){<br />
						//récuppère le nom à l&#8217;aide d&#8217;un cast<br />
						varNom = (string)mySqDataReader["nom"];<br />
					}else{<br />
						varNom = &laquo;&nbsp;&nbsp;&raquo;;<br />
					}<br />
					//On affiche le champ dans la console<br />
					Console.WriteLine(varNom);<br />
				}<br />
			}catch(Exception eMsg1){<br />
				//En cas d&#8217;erreur on affiche le message d&#8217;erreur<br />
				Console.WriteLine(&nbsp;&raquo;Erreur durant l&#8217;execution de la requete : &laquo;&nbsp;+eMsg1.Message);<br />
			}finally{<br />
				//Quoiqu&#8217;il arrive on ferme proprement la connexion à la base<br />
	            myConnection.Close();<br />
	        }<br />
		}<br />
	}<br />
}</p>
<p>Voilà fin de la note personnelle …<br />
Si dans 6 mois j’ai de nouveau de nouveau besoin d’exécuter une simple requête SELECT en Csharp dotnet je saurai où chercher <img src='http://www.h2-blog.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Ah et j’oubliais : si certains codeurs passent par là, vos critiques constructives sur ce bout de code seront les bienvenues (<a href="http://blog.madd0.com/default.aspx" target="_blank">Mauricio</a> tu es là ? <img src='http://www.h2-blog.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ) &#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.h2-blog.com/2008/07/31/executer-une-simple-requete-select-en-csharp-dotnet/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

