<?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>Claire Desbois</title>
	<atom:link href="http://www.claire-desbois.fr/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.claire-desbois.fr</link>
	<description></description>
	<lastBuildDate>Tue, 28 Jun 2011 01:48:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Introduction à Drush: Installation et gestion des modules</title>
		<link>http://www.claire-desbois.fr/introduction-a-drush-installation-et-gestion-des-modules/</link>
		<comments>http://www.claire-desbois.fr/introduction-a-drush-installation-et-gestion-des-modules/#comments</comments>
		<pubDate>Tue, 28 Jun 2011 01:48:42 +0000</pubDate>
		<dc:creator>Claire</dc:creator>
				<category><![CDATA[Tutoriel]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[drush]]></category>
		<category><![CDATA[gestion]]></category>
		<category><![CDATA[installation]]></category>
		<category><![CDATA[module]]></category>

		<guid isPermaLink="false">http://www.claire-desbois.fr/?p=194</guid>
		<description><![CDATA[L&#8217;outil Drush est à Drupal ce que Rake est à Rails: Un outil de gestion en ligne de commande très pratique et qui permet d&#8217;économiser beaucoup de temps. La dernière version ne se trouve pas dans les dépots d&#8217;Ubuntu 10.04, vous allez devoir récupérer le .deb de Debian qui se trouve ici: http://packages.debian.org/fr/squeeze/all/drush/download Installez le [...]]]></description>
			<content:encoded><![CDATA[<p>L&#8217;outil Drush est à Drupal ce que Rake est à Rails: Un outil de gestion en ligne de commande très pratique et qui permet d&#8217;économiser beaucoup de temps.</p>
<p>La dernière version ne se trouve pas dans les dépots d&#8217;Ubuntu 10.04, vous allez devoir récupérer le .deb de Debian qui se trouve ici: <a href="http://packages.debian.org/fr/squeeze/all/drush/download">http://packages.debian.org/fr/squeeze/all/drush/download</a></p>
<p>Installez le package normalement. Après l&#8217;installation, vous pouvez utiliser la commande Drush. En lançant simplement la commande sans la moindre option, vous obtiendrez la liste des commandes.</p>
<p>Dans cette liste des commandes, vous pouvez voir l&#8217;exemple suivant:</p>
<div class="encadre_code">
drush dl cck zen              <span style="padding-left: 30px;">            Download CCK module and Zen theme.</span>
</div>
<p>En effet, la commande <em>drush pm-download</em> ou son raccourci <em>drush dl</em> permet de télécharger directement des modules et des thèmes se trouvant sur le site de Drupal.org. Si vous faites la commande <em>drush help dl</em>, vous verrez que cette commande permet déjà de faire beaucoup de choses. Mais pour le moment, je vais simplement vous présenter le téléchargement et l&#8217;activation des modules pour votre site drupal. Via le prompt, placez vous là où se trouve le fichier settings.php de votre site. Nous allons installer les modules cck sur le site Drupal. Dans un premier temps, il faut télécharger ce module:</p>
<div class="encadre_code">
calysto@GUNNM:/var/www/site_drupal/sites/default$ drush dl cck<br />
Project cck (6.x-2.9) downloaded to                                  [success]<br />
/var/www/site_drupal/sites/all/modules/cck.
</div>
<p>Après l&#8217;avoir téléchargé, on voudrait activer le module Content. Pour cela, il faut utiliser la commande <em>drush pm-enable</em> ou <em>drush en</em> comme ceci:</p>
<div class="encadre_code">
calysto@GUNNM:/var/www/site_drupal/sites/default$ drush en content<br />
The following projects will be enabled: content<br />
Do you really want to continue? (y/n): y<br />
content was enabled successfully.                                    [ok]
</div>
<p>Sachez que si vous désirez activer un module dépendant d&#8217;autres non activés mais présent dans le projet, il va vous demander s&#8217;il peut aussi les activer.</p>
<div class="encadre_code">
calysto@GUNNM:/var/www/site_drupal/sites/default$ drush en nodereference<br />
The following projects will be enabled: text, optionwidgets, nodereference<br />
Do you really want to continue? (y/n): y<br />
nodereference was enabled successfully.                              [ok]<br />
optionwidgets was enabled successfully.                              [ok]<br />
text was enabled successfully.                                       [ok]
</div>
<p>Cette commande vous permet donc d&#8217;installer facilement et rapidement de nombreux modules. Si vous désirez désinstaller des modules, il vous faudra procéder en 2 étapes. D&#8217;abord désactiver le module pour qu&#8217;il ne soit plus utilisé sur votre site puis le désinstaller pour supprimer variables et tables qui y sont lié. La désactivation est aussi intéressante si vous désirez garder les données d&#8217;un module sans que celui soit encore utilisable. Pour désactiver un module, il faut utiliser la commande <em>drush pm-disable</em> ou son raccourci <em>drush dis</em> comme ceci:</p>
<div class="encadre_code">
calysto@GUNNM:/var/www/site_drupal/sites/default$ drush dis content<br />
The following projects will be disabled: content, nodereference, optionwidgets, text<br />
Do you really want to continue? (y/n): y<br />
content was disabled successfully.                                   [ok]<br />
nodereference was disabled successfully.                             [ok]<br />
optionwidgets was disabled successfully.                             [ok]<br />
text was disabled successfully.                                      [ok]
</div>
<p>En désactivant un module dont dépendent d&#8217;autres modules, vous les désactiverez en même temps. Pour désinstaller complètement un module, il faut lancer la commande <em>drush pm-uninstall</em> comme ci-dessous:</p>
<div class="encadre_code">
calysto@GUNNM:/var/www/site_drupal/sites/default$ drush pm-uninstall content<br />
The following modules will be uninstalled: content<br />
Do you really want to continue? (y/n): y<br />
content was successfully uninstalled.                                [ok]
</div>
<p>Même si d&#8217;autres modules sont dépendants de content, il sera le seul désinstaller.</p>
<p>Voilà, je pense faire d&#8217;autres tutoriels pour cette commande plus tard, vous avez déjà de quoi vous faciliter la vie avec ces quelques commandes.</p>
<div class="tweetthis" style="text-align:right;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=Introduction+%C3%A0+Drush%3A+Installation+et+gestion+des+modules+http%3A%2F%2Fis.gd%2FdCQ2V1+via+%40clairedsbs"><img class="nothumb" src="http://www.claire-desbois.fr/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter3.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://www.claire-desbois.fr/introduction-a-drush-installation-et-gestion-des-modules/&amp;t=Introduction+%C3%A0+Drush%3A+Installation+et+gestion+des+modules"><img class="nothumb" src="http://www.claire-desbois.fr/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook.png" alt="Post to Facebook" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.google.com/buzz/post?url=http://www.claire-desbois.fr/introduction-a-drush-installation-et-gestion-des-modules/&amp;imageurl="><img class="nothumb" src="http://www.claire-desbois.fr/wp-content/plugins/tweet-this/icons/en/gbuzz/tt-gbuzz.png" alt="Post to Google Buzz" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http://www.claire-desbois.fr/introduction-a-drush-installation-et-gestion-des-modules/&amp;title=Introduction+%C3%A0+Drush%3A+Installation+et+gestion+des+modules&amp;summary=L%27outil+Drush+est+%C3%A0+Drupal+ce+que+Rake+est+%C3%A0+Rails%3A+Un+outil+de+gestion+en+ligne+de+commande+tr%C3%A8s+pratique+et+qui+permet+d%27%C3%A9conomiser+beaucoup+de+t...&amp;source=Claire Desbois"><img class="nothumb" src="http://www.claire-desbois.fr/wp-content/plugins/tweet-this/icons/en/linkedin/tt-linkedin.png" alt="Post to LinkedIn" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://www.claire-desbois.fr/introduction-a-drush-installation-et-gestion-des-modules/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Activation de clean url dans Drupal</title>
		<link>http://www.claire-desbois.fr/activation-de-clean-url-dans-drupal/</link>
		<comments>http://www.claire-desbois.fr/activation-de-clean-url-dans-drupal/#comments</comments>
		<pubDate>Mon, 27 Jun 2011 22:25:57 +0000</pubDate>
		<dc:creator>Claire</dc:creator>
				<category><![CDATA[Tutoriel]]></category>
		<category><![CDATA[Apache2]]></category>
		<category><![CDATA[clean url]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[module]]></category>
		<category><![CDATA[rewrite]]></category>

		<guid isPermaLink="false">http://www.claire-desbois.fr/?p=174</guid>
		<description><![CDATA[Clean url est un module de Drupal qui permet les urls de votre site de façon simplifier en retirant la directive &#171;&#160;?q=&#160;&#187;. Ceci permet de faire des urls plus simple à écrire et à lire et est indispensable pour le fonctionnement de certains modules. Pour activer clean url dans Drupal, il faut d&#8217;abord régler certaines [...]]]></description>
			<content:encoded><![CDATA[<p>Clean url est un module de Drupal qui permet les urls de votre site de façon simplifier en retirant la directive &laquo;&nbsp;?q=&nbsp;&raquo;. Ceci permet de faire des urls plus simple à écrire et à lire et est indispensable pour le fonctionnement de certains modules. Pour activer clean url dans Drupal, il faut d&#8217;abord régler certaines choses dans Apache2.<br />
Dans un premier temps, il faut activer le module rewrite dans apache2. Ce module s&#8217;active de façon simple:</p>
<div class="encadre_code">
sudo a2enmod rewrite
</div>
<p>Si vous désirez le désactiver pour une raison ou une autre, la commande est également simple:</p>
<div class="encadre_code">
sudo a2dismod rewrite
</div>
<p>Une fois le module activé, il faut faire une modification dans votre vhost pour que apache2 reconnaissent les fichiers .htaccess. Par défaut dans apache2, le fichier qui gère votre vhost est dans /etc/apache2/sites-available et se nomme default. Éditez le avec les droits administrateurs, il devrait contenir ceci:</p>
<div class="encadre_code">
	&#8249;VirtualHost *:80	&#8250;</p>
<p style="padding-left: 30px;">ServerAdmin webmaster@localhost<br />
	DocumentRoot /var/www<br />
	&#8249;Directory /&#8250;</p>
<p style="padding-left: 60px;">Options FollowSymLinks<br />
		AllowOverride None</p>
<p style="padding-left: 30px;">&#8249;/Directory&#8250;<br />
	&#8249;Directory /var/www/&#8250;</p>
<p style="padding-left: 60px;">Options Indexes FollowSymLinks MultiViews<br />
		AllowOverride None<br />
		Order allow,deny<br />
		allow from all</p>
<p style="padding-left: 30px;">&#8249;/Directory&#8250;</p>
<p>&#8230;
</p></div>
<p>Dans le fichier, la ligne </p>
<div class="encadre_code">
AllowOverride None
</div>
<p>indique qu&#8217;aucune commande contenu dans les .htaccess du dossier ne seront interprété. Et cela est vrai pour tous les dossiers en dessous sauf directive contraire. Pour activer l&#8217;interprétation des .htaccess pour notre site Drupal, il faut donc donner les bons paramètres dans le dossier contenant le site. J&#8217;ai donc rajouté ceci dans le fichier default à la suite des directives précédemment affichées:</p>
<div class="encadre_code">
	&#8249;Directory /var/www/site_drupal&#8250;</p>
<p style="padding-left: 30px;">Options Indexes FollowSymLinks MultiViews<br />
		AllowOverride All<br />
		Order allow,deny<br />
		allow from all></p>
<p>		&#8249;/Directory&#8250;
</p></div>
<p>Il faut ensuite recharger les données d&#8217;apache, soit avec la commande</p>
<div class="encadre_code">
sudo /etc/init.d/apache2 reload
</div>
<p>qui permet de recharger les données sur les modules et les sites ou avec la commande</p>
<div class="encadre_code">
sudo /etc/init.d/apache2 restart
</div>
<p>qui permet de purement et simplement de redémarrer apache2 (plus violent si vous avez des sites qui tournent sur votre serveur, vous couperez leur fonctionnement)</p>
<p>Après ces différents paramétrages, vous devriez pouvoir démarrer le module Clean Url dans Drupal. Si toute fois cela ne fonctionne pas, vérifiez que votre Drupal a bien un fichier .htaccess à sa base. Il y en a un par défaut mais comme il s&#8217;agit d&#8217;un fichier caché, il se peut qu&#8217;il n&#8217;est pas été prit en compte si vous avez copier-coller les fichiers contenus dans le dossier de Drupal pour les mettre à la racine de votre site.</p>
<div class="tweetthis" style="text-align:right;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=Activation+de+clean+url+dans+Drupal+http%3A%2F%2Fis.gd%2FNiy59P+via+%40clairedsbs"><img class="nothumb" src="http://www.claire-desbois.fr/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter3.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://www.claire-desbois.fr/activation-de-clean-url-dans-drupal/&amp;t=Activation+de+clean+url+dans+Drupal"><img class="nothumb" src="http://www.claire-desbois.fr/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook.png" alt="Post to Facebook" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.google.com/buzz/post?url=http://www.claire-desbois.fr/activation-de-clean-url-dans-drupal/&amp;imageurl="><img class="nothumb" src="http://www.claire-desbois.fr/wp-content/plugins/tweet-this/icons/en/gbuzz/tt-gbuzz.png" alt="Post to Google Buzz" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http://www.claire-desbois.fr/activation-de-clean-url-dans-drupal/&amp;title=Activation+de+clean+url+dans+Drupal&amp;summary=Clean+url+est+un+module+de+Drupal+qui+permet+les+urls+de+votre+site+de+fa%C3%A7on+simplifier+en+retirant+la+directive+%22%3Fq%3D%22.+Ceci+permet+de+faire+des+ur...&amp;source=Claire Desbois"><img class="nothumb" src="http://www.claire-desbois.fr/wp-content/plugins/tweet-this/icons/en/linkedin/tt-linkedin.png" alt="Post to LinkedIn" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://www.claire-desbois.fr/activation-de-clean-url-dans-drupal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installation de Minecraft sous Linux</title>
		<link>http://www.claire-desbois.fr/installation-de-minecraft-sous-linux/</link>
		<comments>http://www.claire-desbois.fr/installation-de-minecraft-sous-linux/#comments</comments>
		<pubDate>Mon, 27 Jun 2011 05:29:09 +0000</pubDate>
		<dc:creator>Claire</dc:creator>
				<category><![CDATA[Tutoriel]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[minecraft]]></category>

		<guid isPermaLink="false">http://www.claire-desbois.fr/?p=189</guid>
		<description><![CDATA[Petit tutoriel d&#8217;aide pour lancer Minecraft sous Linux et plus précisément sous Ubuntu. En effet, même si Minecraft est en java et que le logiciel est censé fonctionner sous n&#8217;importe quel système, la réalité n&#8217;est pas aussi idyllique que la théorie. Pour commencer, sachez que Minecraft ne fonctionne pas avec openjdk, la version 100% libre [...]]]></description>
			<content:encoded><![CDATA[<p>Petit tutoriel d&#8217;aide pour lancer Minecraft sous Linux et plus précisément sous Ubuntu.  En effet, même si Minecraft est en java et que le logiciel est censé fonctionner sous n&#8217;importe quel système, la réalité n&#8217;est pas aussi idyllique que la théorie.</p>
<p>Pour commencer, sachez que Minecraft ne fonctionne pas avec openjdk, la version 100% libre de Java qui est dans les dépots de base. Comme précisé sur le site de Minecraft, vous devez utiliser la version de Java de Sun Oracle qui elle n&#8217;est pas totalement libre. Pour pouvoir l&#8217;installer, vous devez d&#8217;abord ajouter le dépot où l&#8217;on peut trouver les packages. Dans Ubuntu, ses dépots sont les dépots partenaires.</p>
<p>Pour les rajouter via l&#8217;interface graphique, allez dans:</p>
<div class="encadre_code">Système -&gt; Administration -&gt; Gestionnaire de paquets Synaptic -&gt; Configuration -&gt; Dépôts -&gt; Autres logiciels</div>
<p>et sélectionnez &laquo;&nbsp;<em>http://archive.canonical.com/ubuntu lucid partner</em>&nbsp;&raquo; (ou une autre version si vous n&#8217;avez pas celle-ci)</p>
<p>Rafraichissez la liste des packages et installez les packages suivant:<br />
sun-java6-jre sun-java6-plugin</p>
<p>La ligne de commande pour cette installation est:</p>
<div class="encadre_code">sudo apt-get install sun-java6-jre sun-java6-plugin</div>
<p>Une fois ces paquets installés, si vous pensez avoir d&#8217;autres version de Java, il faut indiquer au système quelle version utiliser. Pour cela, lancer la commande:</p>
<div class="encadre_code">sudo update-alternatives &#8211;&#8211;config java</div>
<p>et sélectionnez le numéro de la version java de Sun.</p>
<p>Par la suite, allez dans le dossier où se trouve le fichier jar de minecraft, faites clique droit sur le fichier et sélectionnez &laquo;&nbsp;Ouvrir avec Java 6 Runtime&nbsp;&raquo;.</p>
<p>Vous pouvez aussi lancer le jeu en ligne de commande, cela vous permettra d&#8217;avoir plus de détails sur le résultat de l&#8217;exécution (en cas de crash notamment) :</p>
<div class="encadre_code">java -jar minecraft.jar</div>
<p>ou</p>
<div class="encadre_code">java -cp minecraft.jar net.minecraft.LauncherFrame</div>
<p>Si vous obtenez une erreur de mémoire, lancez la commande:</p>
<div class="encadre_code">java -Xmx1024M -Xms512M -cp Minecraft.jar net.minecraft.LauncherFrame</div>
<p>Pour ceux qui se le demande, l&#8217;option -Xmx1024M indique à Java d&#8217;utiliser au maximum 1024Mo de RAM tandis que l&#8217;option -Xms512M indique à Java de s&#8217;allouer de base 512Mo de RAM.</p>
<p>Normalement, Minecraft devrait enfin pouvoir se lancer et fonctionner. Pour plus de détails, vous pouvez aussi vous référer à la <a href="http://doc.ubuntu-fr.org/minecraft">page du site français d&#8217;Ubuntu</a>.</p>
<p>Remarque: Ce poste était anciennement la première partie de <a href="http://www.claire-desbois.fr/minecraft-sous-linux-carte-ati-et-wine/">cet article</a>. Je l&#8217;ai séparé pour alléger la lecture.</p>
<div class="tweetthis" style="text-align:right;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=Installation+de+Minecraft+sous+Linux+http%3A%2F%2Fis.gd%2FEn8MmJ+via+%40clairedsbs"><img class="nothumb" src="http://www.claire-desbois.fr/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter3.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://www.claire-desbois.fr/installation-de-minecraft-sous-linux/&amp;t=Installation+de+Minecraft+sous+Linux"><img class="nothumb" src="http://www.claire-desbois.fr/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook.png" alt="Post to Facebook" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.google.com/buzz/post?url=http://www.claire-desbois.fr/installation-de-minecraft-sous-linux/&amp;imageurl="><img class="nothumb" src="http://www.claire-desbois.fr/wp-content/plugins/tweet-this/icons/en/gbuzz/tt-gbuzz.png" alt="Post to Google Buzz" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http://www.claire-desbois.fr/installation-de-minecraft-sous-linux/&amp;title=Installation+de+Minecraft+sous+Linux&amp;summary=Petit+tutoriel+d%27aide+pour+lancer+Minecraft+sous+Linux+et+plus+pr%C3%A9cis%C3%A9ment+sous+Ubuntu.++En+effet%2C+m%C3%AAme+si+Minecraft+est+en+java+et+que+le+logiciel...&amp;source=Claire Desbois"><img class="nothumb" src="http://www.claire-desbois.fr/wp-content/plugins/tweet-this/icons/en/linkedin/tt-linkedin.png" alt="Post to LinkedIn" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://www.claire-desbois.fr/installation-de-minecraft-sous-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>L&#8217;erreur de la mort de Call of Duty Modern Warfare 2</title>
		<link>http://www.claire-desbois.fr/lerreur-de-la-mort-de-call-of-duty-modern-warfare-2/</link>
		<comments>http://www.claire-desbois.fr/lerreur-de-la-mort-de-call-of-duty-modern-warfare-2/#comments</comments>
		<pubDate>Tue, 21 Jun 2011 23:59:28 +0000</pubDate>
		<dc:creator>Claire</dc:creator>
				<category><![CDATA[Debug]]></category>
		<category><![CDATA[Call of Duty]]></category>
		<category><![CDATA[Modern Warfare]]></category>
		<category><![CDATA[Patch]]></category>

		<guid isPermaLink="false">http://www.claire-desbois.fr/?p=165</guid>
		<description><![CDATA[L&#8217;erreur va probablement être corrigé dans les jours prochains mais je fais quand même un poste histoire de débloquer le jeu pour ceux qui veulent jouer avant le patch. Depuis la nouvelle mise à jour du jeu, vous avez probablement rencontré cette sublime erreur: Couldn&#8217;t load image &#8216;gamefonts_pc&#8217; ou Couldn&#8217;t load image &#8216;specialty_new_nonenglish&#8217; C&#8217;est parce [...]]]></description>
			<content:encoded><![CDATA[<p>L&#8217;erreur va probablement être corrigé dans les jours prochains mais je fais quand même un poste histoire de débloquer le jeu pour ceux qui veulent jouer avant le patch.</p>
<p>Depuis la nouvelle mise à jour du jeu, vous avez probablement rencontré cette sublime erreur:</p>
<div class="encadre_code">
Couldn&#8217;t load image &#8216;gamefonts_pc&#8217;
</div>
<p>ou</p>
<div class="encadre_code">
Couldn&#8217;t load image &#8216;specialty_new_nonenglish&#8217;
</div>
<p>C&#8217;est parce que la nouvelle mise à jour ne prend vraisemblablement pas en compte la localisation, que vous avez autre chose que de l&#8217;anglais et qu&#8217;elle va chercher les fichiers anglais qui n&#8217;existe justement pas. Alors vous allez devoir renommer des fichiers.</p>
<p>Allez dans Program Files\steam\steamapps\common\call of duty modern warfare 2\main<br />
Vous y trouverez les fichiers<br />
localized_french_iw00.iwd<br />
localized_french_iw01.iwd<br />
localized_french_iw02.iwd<br />
&#8230;</p>
<p>Et bien il ne vous reste plus qu&#8217;à renommer vos 9 fichiers en<br />
localized_english_iw00.iwd<br />
localized_english_iw01.iwd<br />
&#8230;</p>
<p>Bref, du gros patch comme on aime, surtout quand on a payé son jeu à 60$.</p>
<div class="tweetthis" style="text-align:right;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=L%E2%80%99erreur+de+la+mort+de+Call+of+Duty+Modern+Warfare+2+http%3A%2F%2Fis.gd%2FmajHPa+via+%40clairedsbs"><img class="nothumb" src="http://www.claire-desbois.fr/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter3.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://www.claire-desbois.fr/lerreur-de-la-mort-de-call-of-duty-modern-warfare-2/&amp;t=L%E2%80%99erreur+de+la+mort+de+Call+of+Duty+Modern+Warfare+2"><img class="nothumb" src="http://www.claire-desbois.fr/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook.png" alt="Post to Facebook" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.google.com/buzz/post?url=http://www.claire-desbois.fr/lerreur-de-la-mort-de-call-of-duty-modern-warfare-2/&amp;imageurl="><img class="nothumb" src="http://www.claire-desbois.fr/wp-content/plugins/tweet-this/icons/en/gbuzz/tt-gbuzz.png" alt="Post to Google Buzz" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http://www.claire-desbois.fr/lerreur-de-la-mort-de-call-of-duty-modern-warfare-2/&amp;title=L%E2%80%99erreur+de+la+mort+de+Call+of+Duty+Modern+Warfare+2&amp;summary=L%27erreur+va+probablement+%C3%AAtre+corrig%C3%A9+dans+les+jours+prochains+mais+je+fais+quand+m%C3%AAme+un+poste+histoire+de+d%C3%A9bloquer+le+jeu+pour+ceux+qui+veulent+...&amp;source=Claire Desbois"><img class="nothumb" src="http://www.claire-desbois.fr/wp-content/plugins/tweet-this/icons/en/linkedin/tt-linkedin.png" alt="Post to LinkedIn" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://www.claire-desbois.fr/lerreur-de-la-mort-de-call-of-duty-modern-warfare-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apache sous Windows ne veut pas se lancer</title>
		<link>http://www.claire-desbois.fr/apache-sous-windows-ne-veut-pas-se-lancer/</link>
		<comments>http://www.claire-desbois.fr/apache-sous-windows-ne-veut-pas-se-lancer/#comments</comments>
		<pubDate>Sat, 19 Mar 2011 07:42:07 +0000</pubDate>
		<dc:creator>Claire</dc:creator>
				<category><![CDATA[Debug]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[Skype]]></category>
		<category><![CDATA[Wamp]]></category>

		<guid isPermaLink="false">http://www.claire-desbois.fr/?p=157</guid>
		<description><![CDATA[Peut être avez vous rencontré ce bogue récemment sous Wamp. En tentant d&#8217;exécuter des pages php sous wamp, vous n&#8217;obtenez que des pages blanches et le service d&#8217;apache n&#8217;arrive pas à se lancer. Pour vérifier que apache est bien lancé, dans l&#8217;interface de wamp, vous devez vérifier les états de son service comme l&#8217;image si [...]]]></description>
			<content:encoded><![CDATA[<p>Peut être avez vous rencontré ce bogue récemment sous Wamp. En tentant d&#8217;exécuter des pages php sous wamp, vous n&#8217;obtenez que des pages blanches et le service d&#8217;apache n&#8217;arrive pas à se lancer.</p>
<p>Pour vérifier que apache est bien lancé, dans l&#8217;interface de wamp, vous devez vérifier les états de son service comme l&#8217;image si dessous:<br />
<a href="http://www.claire-desbois.fr/wp-content/uploads/2011/03/apache.png"><img src="http://www.claire-desbois.fr/wp-content/uploads/2011/03/apache-300x201.png" alt="Interface du lancement de service d&#039;Apache" title="apache" width="300" height="201" class="aligncenter size-medium wp-image-160" /></a><br />
Si vous n&#8217;arrivez pas à lancer ce service et que vous avez skype en fonctionnement, alors la solution à votre problème est peut être toute simple. </p>
<p>En effet, skype, pour pouvoir être utilisé même sur un réseau où la plupart des ports auraient été bloqué, peut utiliser le port 80. C&#8217;est logiquement le port utilisé par http et donc le même port utilisé par apache qui ne peut alors plus se lancer correctement. Pour régler ce soucis, dans les options de Skype, allez dans Avancées puis Connexions et décochez la case &laquo;&nbsp;Utilisez les ports 80 et 443 comme alternatives&nbsp;&raquo;. Redémarrez Skype et testez le démarrage d&#8217;apache après. Le service devrait se lancer et votre serveur Wamp pourra fonctionner correctement.</p>
<p>Je ne sais pas si cette erreur est aussi présente sous GNU/Linux par contre.</p>
<div class="tweetthis" style="text-align:right;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=Apache+sous+Windows+ne+veut+pas+se+lancer+http%3A%2F%2Fis.gd%2Fx4Zyfy+via+%40clairedsbs"><img class="nothumb" src="http://www.claire-desbois.fr/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter3.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://www.claire-desbois.fr/apache-sous-windows-ne-veut-pas-se-lancer/&amp;t=Apache+sous+Windows+ne+veut+pas+se+lancer"><img class="nothumb" src="http://www.claire-desbois.fr/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook.png" alt="Post to Facebook" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.google.com/buzz/post?url=http://www.claire-desbois.fr/apache-sous-windows-ne-veut-pas-se-lancer/&amp;imageurl="><img class="nothumb" src="http://www.claire-desbois.fr/wp-content/plugins/tweet-this/icons/en/gbuzz/tt-gbuzz.png" alt="Post to Google Buzz" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http://www.claire-desbois.fr/apache-sous-windows-ne-veut-pas-se-lancer/&amp;title=Apache+sous+Windows+ne+veut+pas+se+lancer&amp;summary=Peut+%C3%AAtre+avez+vous+rencontr%C3%A9+ce+bogue+r%C3%A9cemment+sous+Wamp.+En+tentant+d%27ex%C3%A9cuter+des+pages+php+sous+wamp%2C+vous+n%27obtenez+que+des+pages+blanches+et...&amp;source=Claire Desbois"><img class="nothumb" src="http://www.claire-desbois.fr/wp-content/plugins/tweet-this/icons/en/linkedin/tt-linkedin.png" alt="Post to LinkedIn" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://www.claire-desbois.fr/apache-sous-windows-ne-veut-pas-se-lancer/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Minecraft sous Linux: Carte ATI et Wine</title>
		<link>http://www.claire-desbois.fr/minecraft-sous-linux-carte-ati-et-wine/</link>
		<comments>http://www.claire-desbois.fr/minecraft-sous-linux-carte-ati-et-wine/#comments</comments>
		<pubDate>Sun, 13 Mar 2011 18:57:38 +0000</pubDate>
		<dc:creator>Claire</dc:creator>
				<category><![CDATA[Debug]]></category>
		<category><![CDATA[ATI]]></category>
		<category><![CDATA[Bug]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[minecraft]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.claire-desbois.fr/?p=124</guid>
		<description><![CDATA[Si vous êtes le malheureux possesseur d&#8217;une carte graphique ATI, vous risquez d&#8217;avoir un problème en voulant lancer Minecraft, le jeu va freezer voir crasher au moment du chargement de la carte. Si vous avez une carte NVidia, vérifiez que vous avez correctement installé les drivers de votre carte graphique. Normalement, les drivers propriétaires fournis [...]]]></description>
			<content:encoded><![CDATA[<p>Si vous êtes le malheureux possesseur d&#8217;une carte graphique ATI, vous risquez d&#8217;avoir un problème en voulant lancer Minecraft, le jeu va freezer voir crasher au moment du chargement de la carte. Si vous avez une carte NVidia, vérifiez que vous avez correctement installé les drivers de votre carte graphique. Normalement, les drivers propriétaires fournis par NVidia sont de bonnes qualités. Mais ce n&#8217;est pas toujours le cas des drivers ATI et de nombreuses personnes rencontres des problèmes avec. Et ces problèmes touchent énormément Minecraft (sous Windows également d&#8217;ailleurs). Si c&#8217;est le cas, une nouvelle galère s&#8217;offre à vous et là, vous avez 2 solutions:<br />
- Installer les drivers non officiel de votre carte si ceux de Catalyst sont moins performants. Pour cela, il faut qu&#8217;ils prennent en compte l&#8217;accélération 3D. Cette solution n&#8217;est pas forcément évidente, vous avez des risques de détruire votre interface graphique si vous n&#8217;y allez pas en toute connaissance de cause. Je vous conseille de vous référez à cette page pour plus de détails: <a href="https://help.ubuntu.com/community/RadeonDriver">The open source ATI drivers (en anglais)</a><br />
- L&#8217;autre solution consiste à faire tourner Minecraft avec&#8230; wine. Oui, c&#8217;est très ironique de devoir émuler la version Windows d&#8217;un programme Java sous Linux mais dans mon cas, c&#8217;est la seule solution que j&#8217;ai trouvé.</p>
<p>Je vais donc expliquer la solution avec Wine. Pour ceux qui ne connaissent pas Wine, il s&#8217;agit d&#8217;un logiciel qui émule un environnement Windows sous Linux. Il permet donc d&#8217;utiliser un certain nombre de logiciel qui ne sont normalement compatible qu&#8217;avec Windows, y compris des jeux (mais ne rêvez pas, vous ne ferez pas tourner tout et n&#8217;importe quoi en un claquement de doigt). Pour commencer, il vous faut installer wine:</p>
<div class="encadre_code">sudo apt-get install wine</div>
<p>Ensuite, vous devez télécharger <a href="http://www.java.com/fr/download/manual.jsp">Java pour Windows sur le site de Java</a>.</p>
<p>Une fois le fichier récupéré, vous ne pouvez pas l&#8217;exécuter comme ça, vous devez donner un droit d&#8217;exécution dessus. Faites la commande:</p>
<div class="encadre_code">chmod a+x jre-6u24-windows-i586-s.exe</div>
<p>Vous pouvez ensuite l&#8217;exécuter ainsi:</p>
<div class="encadre_code">wine jre-6u24-windows-i586-s.exe</div>
<p>Une fenêtre devrait s&#8217;ouvrir. Suivez les étapes d&#8217;installation comme sous Windows. Précision: Contrairement aux vieilles versions de java, il n&#8217;est pas nécessaire de modifier le fichier system.reg de Wine pour que celui-ci reconnaisse Java. Vous pouvez quand même tester que java a bien été installé via la commande:</p>
<div class="encadre_code">wine java -version</div>
<p>Enfin, téléchargez le fichier Minecraft pour windows et dans le dossier où se trouve l&#8217;exécutable, exécutez la commande:</p>
<div class="encadre_code">wine Minecraft.exe</div>
<p>Si vous êtes aussi chanceux que moi, vous aurez peut être droit à cette erreur:</p>
<div class="encadre_code">Error occurred during initialization of VM<br />
Could not reserve enough space for object heap.</div>
<p>Cette erreur est dû à un problème de mémoire, Java voulant s&#8217;octroyer plus de mémoire que le système ne peut en offrir. Si vous avez ce même soucis, une des solutions consisterait à utiliser Linux en 64bits étant donné que Linux ne peut pas utiliser plus de 4Go de Ram théoriquement en 32bits. Pour cela&#8230; il faut formater votre système pour installer une version 64bits de votre OS. Je me demande tout de même si ça n&#8217;est pas un soucis de Java étant donné que celui installé pour Linux ne me pose aucun problème et qu&#8217;il a tout de même plus de 3Go de libre au moment de l&#8217;exécution ce qui est largement assez pour minecraft.</p>
<p>En insistant un peu, vous devriez peut être le lancer. Pour ma part, je fini par obtenir l&#8217;erreur suivante:</p>
<div class="encadre_code">
#<br />
# A fatal error has been detected by the Java Runtime Environment:<br />
#<br />
#  Internal Error (0xc0000194), pid=47, tid=60<br />
#<br />
# JRE version: 6.0_24-b07<br />
# Java VM: Java HotSpot(TM) Client VM (19.1-b02 mixed mode, sharing windows-x86 )<br />
# Problematic frame:<br />
# C  [ntdll.dll+0x24b5a]<br />
#</div>
<p>ainsi qu&#8217;un fichier de log. N&#8217;ayant pas trouvé de solution pour ce problème, j&#8217;ai testé une autre technique plus tordue encore: Lancer le fichier jar de minecraft avec la version java installé sur wine.</p>
<p>Pour cela, dans le dossier où se trouve le fichier jar, exécutez la commande suivante:</p>
<div class="encadre_code">wine java -jar minecraft.jar</div>
<p>N&#8217;exécutez pas les options -Xmx1024M et -Xms512M si vous avez l&#8217;erreur &laquo;&nbsp;Could not create the Java virtual machine&nbsp;&raquo;, vous aurez une erreur mémoire (pour ma part, même en insistant, il n&#8217;a jamais voulu lancer le jeu avec ces options)</p>
<div class="encadre_code">calysto@GUNNM:~/Téléchargements$ wine java -Xmx1024M -Xms512M -cp minecraft.jar net.minecraft.LauncherFrame<br />
Error occurred during initialization of VM<br />
Could not reserve enough space for object heap<br />
Could not create the Java virtual machine.</div>
<p>Insistez avec la commande (sans les options -Xmx et -Xms), le jeu devrait finir par se lancer. </p>
<a href="http://www.claire-desbois.fr/wp-content/uploads/2011/03/Fenetre_Minecraft1.png"><img src="http://www.claire-desbois.fr/wp-content/uploads/2011/03/Fenetre_Minecraft1-300x156.png" alt="Fenêtre de jeu de Minecraft" title="Fenetre_Minecraft" width="300" height="156" class="size-medium wp-image-143" /></a>
<p>Si vous n&#8217;avez pas de son, dans les options Audio de wine, ajoutez des pilotes (personnellement, j&#8217;en ai ajouté un peu au hasard en testant). il est possible que le son arrive au bout de quelques secondes. Le dossier .minecraft se trouve dans le dossier Application Data dans l&#8217;arborescence de wine.</p>
<p>Vous pouvez maintenant jouer. Sachez tout de même qu&#8217;au bout d&#8217;une heure et quelques, la mémoire peut saturer et java crasher. Il vous faudra relancer l&#8217;application. Enfin, sachez que si vous désirez jouer sous Linux, préférez une carte NVidia à une ATI, vérifiez aussi la compatibilité matérielle. Et ne vous leurrez pas, pour jouer à une majorité de jeux, la meilleure solution reste d&#8217;utiliser Windows.</p>
<p><strong>Remarque:</strong> Ce poste a été coupé en deux. La première partie du tutoriel expliquait comment installer Minecraft sous GNU/Linux, il se trouve maintenant ici. Pour ma part, depuis la mise à jour de mon kernel et de mes drivers de carte graphique, Minecraft ne se lance plus correctement d&#8217;aucune façon. A moins d&#8217;une nouvelle mise à jour me débloquant, il n&#8217;y aura plus de tuto pour Minecraft sous Linux avant un bon moment.</p>
<div class="tweetthis" style="text-align:right;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=Minecraft+sous+Linux%3A+Carte+ATI+et+Wine+http%3A%2F%2Fis.gd%2FDpDokN+via+%40clairedsbs"><img class="nothumb" src="http://www.claire-desbois.fr/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter3.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://www.claire-desbois.fr/minecraft-sous-linux-carte-ati-et-wine/&amp;t=Minecraft+sous+Linux%3A+Carte+ATI+et+Wine"><img class="nothumb" src="http://www.claire-desbois.fr/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook.png" alt="Post to Facebook" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.google.com/buzz/post?url=http://www.claire-desbois.fr/minecraft-sous-linux-carte-ati-et-wine/&amp;imageurl="><img class="nothumb" src="http://www.claire-desbois.fr/wp-content/plugins/tweet-this/icons/en/gbuzz/tt-gbuzz.png" alt="Post to Google Buzz" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http://www.claire-desbois.fr/minecraft-sous-linux-carte-ati-et-wine/&amp;title=Minecraft+sous+Linux%3A+Carte+ATI+et+Wine&amp;summary=Si+vous+%C3%AAtes+le+malheureux+possesseur+d%27une+carte+graphique+ATI%2C+vous+risquez+d%27avoir+un+probl%C3%A8me+en+voulant+lancer+Minecraft%2C+le+jeu+va+freezer+vo...&amp;source=Claire Desbois"><img class="nothumb" src="http://www.claire-desbois.fr/wp-content/plugins/tweet-this/icons/en/linkedin/tt-linkedin.png" alt="Post to LinkedIn" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://www.claire-desbois.fr/minecraft-sous-linux-carte-ati-et-wine/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Compiler la librairie Qt sous un Windows x64 avec Visual Studio 2008</title>
		<link>http://www.claire-desbois.fr/compiler-la-librairie-qt-sous-un-windows-x64-avec-visual-studio-2008/</link>
		<comments>http://www.claire-desbois.fr/compiler-la-librairie-qt-sous-un-windows-x64-avec-visual-studio-2008/#comments</comments>
		<pubDate>Wed, 24 Nov 2010 18:39:32 +0000</pubDate>
		<dc:creator>Claire</dc:creator>
				<category><![CDATA[Debug]]></category>
		<category><![CDATA[compilation]]></category>
		<category><![CDATA[Microsoft Visual Studio]]></category>
		<category><![CDATA[Qt]]></category>

		<guid isPermaLink="false">http://www.claire-desbois.fr/?p=110</guid>
		<description><![CDATA[Pour compiler la librairie Qt sous un Windows x64 avec Visual Studio 2008, la manipulation peut être particulière. En effet, en compilant cette librairie, vous pouvez rencontrer cette erreur: fatal error U1077: ‘C:/Qt/2010,04/qt/bin/moc.exe’: return code ‘0&#215;1’ Pour remédier à ce problème, vous pouvez tenter les actions suivantes. Après avoir téléchargé la librairie, ouvrez le prompt [...]]]></description>
			<content:encoded><![CDATA[<p>Pour compiler la librairie Qt sous un Windows x64 avec Visual Studio 2008, la manipulation peut être particulière. En effet, en compilant cette librairie, vous pouvez rencontrer cette erreur:<br/></p>
<div class="encadre_code">fatal error U1077: ‘C:/Qt/2010,04/qt/bin/moc.exe’: return code ‘0&#215;1’</div>
<p>Pour remédier à ce problème, vous pouvez tenter les actions suivantes. Après avoir téléchargé la librairie, ouvrez le prompt de Visual Studio 2008 en version x64 (VS2008 x64 win64 Command Prompt), Dans le répertoire de Qt, lancez tout d&#8217;abord un clean:<br/></p>
<div class="encadre_code">nmake clean</div>
<p>Cela permet de supprimer tout fichier qui pourrait compromettre votre installation. Et même si vous venez de télécharger le dossier, n&#8217;hésitez pas à le faire pour être certain qu&#8217;aucun fichier malencontreux ne viendra faire échouer 4h de compilation.<br/><br />
Après la fin de votre clean, lancez la configuration avec les options suivantes.<br/></p>
<div class="encadre_code">configure -debug-and-release -opensource -shared -platform win32-msvc2008</div>
<p>Il n&#8217;existe pas d&#8217;option pour compiler votre librairie en x64, vous devez donc obligatoirement compiler en win32.<br/><br />
Après la fin de la configuration et avant de lancer la compilation, vous devez d&#8217;abord supprimer plusieurs fichiers du nom de <strong>mocinclude.tmp</strong> qui sont soudainement apparu dans plusieurs dossiers et qui sont vraisemblablement responsables de vos échecs. Supprimez donc tous les fichiers <strong>mocinclude.tmp</strong> dans les dossiers suivant :<br/></p>
<div class="encadre_code">src/script/tmp/moc/release_shared/<br/><br />
src/script/tmp/moc/debug_shared/<br/><br />
src/3rdparty/webkit/webcore/tmp/moc/release_shared/<br/><br />
src/3rdparty/webkit/webcore/tmp/moc/debug_shared/</div>
<p>Vous pouvez enfin lancer la commande nmake et vous occuper 4h le temps de la compilation.</p>
<div class="tweetthis" style="text-align:right;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=Compiler+la+librairie+Qt+sous+un+Windows+x64+avec+Visual+Studio+2008+http%3A%2F%2Fis.gd%2FLLNVi9+via+%40clairedsbs"><img class="nothumb" src="http://www.claire-desbois.fr/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter3.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://www.claire-desbois.fr/compiler-la-librairie-qt-sous-un-windows-x64-avec-visual-studio-2008/&amp;t=Compiler+la+librairie+Qt+sous+un+Windows+x64+avec+Visual+Studio+2008"><img class="nothumb" src="http://www.claire-desbois.fr/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook.png" alt="Post to Facebook" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.google.com/buzz/post?url=http://www.claire-desbois.fr/compiler-la-librairie-qt-sous-un-windows-x64-avec-visual-studio-2008/&amp;imageurl="><img class="nothumb" src="http://www.claire-desbois.fr/wp-content/plugins/tweet-this/icons/en/gbuzz/tt-gbuzz.png" alt="Post to Google Buzz" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http://www.claire-desbois.fr/compiler-la-librairie-qt-sous-un-windows-x64-avec-visual-studio-2008/&amp;title=Compiler+la+librairie+Qt+sous+un+Windows+x64+avec+Visual+Studio+2008&amp;summary=Pour+compiler+la+librairie+Qt+sous+un+Windows+x64+avec+Visual+Studio+2008%2C+la+manipulation+peut+%C3%AAtre+particuli%C3%A8re.+En+effet%2C+en+compilant+cette+lib...&amp;source=Claire Desbois"><img class="nothumb" src="http://www.claire-desbois.fr/wp-content/plugins/tweet-this/icons/en/linkedin/tt-linkedin.png" alt="Post to LinkedIn" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://www.claire-desbois.fr/compiler-la-librairie-qt-sous-un-windows-x64-avec-visual-studio-2008/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Gestion de la DropDownList en ASP.NET MVC2</title>
		<link>http://www.claire-desbois.fr/gestion-de-la-dropdownlist-en-asp-net-mvc2/</link>
		<comments>http://www.claire-desbois.fr/gestion-de-la-dropdownlist-en-asp-net-mvc2/#comments</comments>
		<pubDate>Sat, 05 Jun 2010 01:23:45 +0000</pubDate>
		<dc:creator>Claire</dc:creator>
				<category><![CDATA[Tutoriel]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[DropDownList]]></category>
		<category><![CDATA[MVC2]]></category>
		<category><![CDATA[Programmation]]></category>

		<guid isPermaLink="false">http://www.claire-desbois.fr/?p=46</guid>
		<description><![CDATA[Le Framework MVC2 de ASP. NET permet de créer des sites web en utilisant MVC. Avec cette architecture, la création du visuel est un peu particulière et pas forcément intuitive pour quelqu’un n’ayant jamais travaillé sur un framework MVC. Ici je vais expliquer comment créer une liste déroulante à partir de données provenant de la [...]]]></description>
			<content:encoded><![CDATA[<p>Le Framework MVC2 de ASP. NET permet de créer des sites web en utilisant MVC. Avec cette architecture, la création du visuel est un peu particulière et pas forcément intuitive pour quelqu’un n’ayant jamais travaillé sur un framework MVC. Ici je vais expliquer comment créer une liste déroulante à partir de données provenant de la base et avec une liste fixe.</p>
<p>Pour la création d’une DropDownList avec des données de la base de données, ayons  déjà un exemple de base de données. Un système de gestion pour une ludothèque par exemple : Une table Jeu (Games) à un et un seul développeur (Developers). Un développeur peut avoir fait plusieurs jeux.</p>
<p><a href="http://www.claire-desbois.fr/wp-content/uploads/2010/06/tableGame.png"><img class="aligncenter size-full wp-image-47" title="tablesGamesDevelopers" src="http://www.claire-desbois.fr/wp-content/uploads/2010/06/tableGame.png" alt="Tables Game et Developers" width="429" height="153" /></a></p>
<p>Si le CRUD de Developers est basique, il est un peu différent pour Games. En effet, pour indiquer le développeur du jeu lors de la création et de l’éditeur, on ne va pas entrer le nom à la main dans une TextBox : Entrer un Id à la main n’a aucun sens et si c’était le nom qui était demandé, les erreurs possibles seraient trop nombreuses (fautes de frappe, entrée d’un développeur qui n’existe pas dans la base, etc).  On va donc utiliser une liste déroulante  dans les vues « create » et « edit » de Games pour permettre de sélectionner un développeur parmi ceux qui sont dans la base.</p>
<p>Pour cela, on va d’abord récupérer le contenu de la table Developers et afficher ce qui nous intéresse. On enregistrera ensuite l’Id du développeur sélectionné dans  la table Games pour la clé étrangère developers_id.</p>
<p>Regardons d’abord le controller pour modifier la fonction en GET de create de Game :</p>
<p>GamesController.cs :</p>
<div class="encadre_code">
<p><span style="color: #008000;">// GET: /Games/Create</span></p>
<p><span style="color: #0000ff;">public </span><span style="color: #3366ff;">ActionResult </span><span style="color: #000000;">Create()</span></p>
<p><span style="color: #000000;">{</span></p>
<p style="padding-left: 30px;"><span style="color: #3366ff;">MyBaseDataContext </span><span style="color: #000000;">db =</span> <span style="color: #0000ff;">new </span><span style="color: #3366ff;">MyBaseDataContext</span><span style="color: #000000;">();</span><br />
<span style="color: #000000;">ViewData[</span><span style="color: #800000;">"Developers_Id"</span><span style="color: #000000;">] =</span> <span style="color: #0000ff;">new </span><span style="color: #3366ff;">SelectList</span><span style="color: #000000;">(db.Developers,</span> <span style="color: #800000;">&laquo;&nbsp;Id&nbsp;&raquo;</span><span style="color: #000000;">,</span> <span style="color: #800000;">&laquo;&nbsp;Name&nbsp;&raquo;</span><span style="color: #000000;">);</span><br />
<span style="color: #3366ff;">Game </span><span style="color: #000000;">game =</span> <span style="color: #0000ff;">new </span><span style="color: #3366ff;">Game</span><span style="color: #000000;">();</span><br />
<span style="color: #0000ff;">return </span><span style="color: #000000;">View(game);</span></p>
<p><span style="color: #000000;">} </span></p>
</div>
<p>Au moment de la création de la vue « create », en plus d’envoyer un nouvel objet Game pour remplir ces différents attributs, on va également envoyer une SelectList contenant tous les objets de la table Developers via une ViewData. Lors de la création de la liste, on indique que les valeurs sont les Id des objets et le texte qui apparaitra dans la DropDownList sera le « Name ». Pour ce qui est de la variable db, elle peut être déclarée en haut de la classe si vous le désirez.</p>
<p>Modifions maintenant la vue Create. Là où l’on doit remplir les informations sur le développeur :</p>
<div class="encadre_code">
<p><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">div</span> <span style="color: red;">class</span><span style="color: #0000ff;">=&nbsp;&raquo;editor-label&nbsp;&raquo; &gt;</span></p>
<p style="padding-left: 30px;"><span style="background-color: yellow; color: black;">&lt;%</span><span style="color: #0000ff;">:</span> <span style="color: black;">Html.LabelFor(model =&gt; model.Developers_Id) </span><span style="background-color: yellow; color: black;">%&gt;</span></p>
<p><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">div</span><span style="color: #0000ff;">&gt;</span></p>
<p><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">div</span> <span style="color: red;">class</span><span style="color: #0000ff;">=&nbsp;&raquo;editor-field&nbsp;&raquo; &gt;</span></p>
<p style="padding-left: 30px;"><span style="background-color: yellow; color: black;">&lt;%</span><span style="color: #0000ff;">=</span> <span style="color: black;">Html.DropDownList(</span><span style="color: #800000;">&laquo;&nbsp;Developers_Id&nbsp;&raquo;</span><span style="color: black;">)</span><span style="background-color: yellow; color: black;">%&gt;</span></p>
<p><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">div</span><span style="color: #0000ff;">&gt;</span></p>
</div>
<p>La DropDownList va vous permettre d’afficher la liste des noms des développeurs. Pour cela, on appelle implicitement la ViewData « Developers_Id ».  Au moment de la validation, le système va récupérer l’Id du développeur. Etant donné quel’objet Html a le même nom de l’attribut de l’objet, il sera insérer dans l’attribut developers_Id de l’objet.</p>
<p>Maintenant, comment gérer l’édition pour que le développeur de l’objet qu’on édite soit sélectionné par défaut dans la DropDownList ?</p>
<p>Dans le controller de Game, modifions la fonction GET de « edit » :</p>
<div class="encadre_code">
<p><span style="color: #008000;">// GET: /Games/Edit/1</span></p>
<p><span style="color: #0000ff;">public </span><span style="color: #3366ff;">ActionResult </span><span style="color: #000000;">Edit()</span></p>
<p><span style="color: #000000;">{</span></p>
<p style="padding-left: 30px;"><span style="color: #3366ff;">Game </span><span style="color: #000000;">game =</span> <span style="color: #0000ff;">new </span><span style="color: #3366ff;">Game</span><span style="color: #000000;">();</span><br />
<span style="color: #3366ff;">MyBaseDataContext </span><span style="color: #000000;">db =</span> <span style="color: #0000ff;">new </span><span style="color: #3366ff;">MyBaseDataContext</span><span style="color: #000000;">();</span><br />
<span style="color: #000000;">ViewData[</span><span style="color: #800000;">"Developers_Id"</span><span style="color: #000000;">] =</span> <span style="color: #0000ff;">new </span><span style="color: #3366ff;">SelectList</span><span style="color: #000000;">(db.Developers,</span><br/><span style="color: #800000;">&laquo;&nbsp;Id&nbsp;&raquo;</span><span style="color: #000000;">,</span><span style="color: #800000;">&laquo;&nbsp;Name&nbsp;&raquo;</span><span style="color: #000000;">,</span><br />
<span style="color: #000000;">game.Developers_Id);</span><br />
<span style="color: #0000ff;">return </span><span style="color: #000000;">View(game);</span></p>
<p><span style="color: #000000;">} </span></p>
</div>
<p>Ici, on récupère le contenu de la table Developers  pour le mettre dans une SelectList de la même manière que dans le create. La différence est le nouveau paramètre «  game.Developers_Id ». Cela permet d’indiquer dans le constructeur de la SelectList que la valeur sélectionnée est égale à developers_Id.</p>
<p>Pour la vue edit, le code est le même que pour la vue create :</p>
<div class="encadre_code">
<p><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">div</span> <span style="color: red;">class</span><span style="color: #0000ff;">=&nbsp;&raquo;editor-label&nbsp;&raquo; &gt;</span></p>
<p style="padding-left: 30px;"><span style="background-color: yellow; color: black;">&lt;%</span><span style="color: #0000ff;">:</span> <span style="color: black;">Html.LabelFor(model =&gt; model.Developers_Id) </span><span style="background-color: yellow; color: black;">%&gt;</span></p>
<p><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">div</span><span style="color: #0000ff;">&gt;</span></p>
<p><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">div</span> <span style="color: red;">class</span><span style="color: #0000ff;">=&nbsp;&raquo;editor-field&nbsp;&raquo; &gt;</span></p>
<p style="padding-left: 30px;"><span style="background-color: yellow; color: black;">&lt;%</span><span style="color: #0000ff;">=</span> <span style="color: black;">Html.DropDownList(</span><span style="color: #800000;">&laquo;&nbsp;Developers_Id&nbsp;&raquo;</span><span style="color: black;">)</span><span style="background-color: yellow; color: black;">%&gt;</span></p>
<p><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">div</span><span style="color: #0000ff;">&gt;</span></p>
</div>
<p>Vous savez maintenant réaliser une liste déroulante avec des données de la base.</p>
<p>Maintenant, comment réaliser une DropDownList avec des données fixes non issues de la base. Prenons un exemple simple, une table Persons. Une personne a un prénom, un nom et un sexe.</p>
<p><a href="http://www.claire-desbois.fr/wp-content/uploads/2010/06/tablePerson.png"><img class="aligncenter size-full wp-image-48" title="tablePerson" src="http://www.claire-desbois.fr/wp-content/uploads/2010/06/tablePerson.png" alt="Table Persons" width="145" height="120" /></a></p>
<p>Pour le sexe, vous n’allez pas créer une table pour la remplir des différentes possibilités ni remplir le sexe à la main via une TextBox(toujours trop de possibilité d’erreur entre les mots pouvant être employés et les fautes de frappe). On va donc créer une liste avec 3 choix possibles : « Non renseigné », « Femme », « Homme ».</p>
<p>Modifions d’abord la fonction GET du create dans le PersonsController.cs :</p>
<div class="encadre_code">
<p><span style="color: #008000;">// GET: /Persons/Create</span></p>
<p><span style="color: #0000ff;">public </span><span style="color: #3366ff;">ActionResult </span><span style="color: #000000;">Create()</span></p>
<p><span style="color: #000000;">{</span></p>
<p style="padding-left: 30px;"><span style="color: #3366ff;">List</span><span style="color: black;">&lt;</span><span style="color: #3366ff;">SelectListItem</span><span style="color: black;">&gt; items =</span> <span style="color: #0000ff;">new</span> <span style="color: #3366ff;">List</span><span style="color: black;">&lt;</span><span style="color: #3366ff;">SelectListItem</span><span style="color: black;">&gt;();</span></p>
<p style="padding-left: 30px;"><span style="color: black;">items.Add(</span><span style="color: #0000ff;">new</span> <span style="color: #3366ff;">SelectListItem</span><br />
<span style="color: black;">{</span></p>
<p style="padding-left: 60px;"><span style="color: black;">Text =</span> <span style="color: #800000;">&laquo;&nbsp;Non renseigné&nbsp;&raquo;</span><span style="color: black;">,</span><br />
<span style="color: black;">Value =</span> <span style="color: #800000;">&laquo;&nbsp;Non renseigné&nbsp;&raquo;</span><span style="color: black;">,</span><br />
<span style="color: black;">Selected =</span> <span style="color: #0000ff;">true</span></p>
<p style="padding-left: 30px;"><span style="color: black;">});</span><br />
<span style="color: black;">items.Add(</span><span style="color: #0000ff;">new</span> <span style="color: #3366ff;">SelectListItem</span><br />
<span style="color: black;">{</span></p>
<p style="padding-left: 60px;"><span style="color: black;">Text =</span> <span style="color: #800000;">&laquo;&nbsp;Femme&nbsp;&raquo;</span><span style="color: black;">,</span><br />
<span style="color: black;">Value =</span> <span style="color: #800000;">&laquo;&nbsp;Femme&nbsp;&raquo;</span></p>
<p style="padding-left: 30px;"><span style="color: black;">});</span><br />
<span style="color: black;">items.Add(</span><span style="color: #0000ff;">new</span> <span style="color: #3366ff;">SelectListItem</span><br />
<span style="color: black;">{</span></p>
<p style="padding-left: 60px;"><span style="color: black;">Text =</span> <span style="color: #800000;">&laquo;&nbsp;Homme&nbsp;&raquo;</span><span style="color: black;">,</span><br />
<span style="color: black;">Value =</span> <span style="color: #800000;">&laquo;&nbsp;Homme&nbsp;&raquo;</span></p>
<p style="padding-left: 30px;"><span style="color: black;">});</span><br />
<span style="color: #000000;">ViewData[</span><span style="color: #800000;">"Sex"</span><span style="color: #000000;">] = items;</span><br />
<span style="color: #3366ff;">Person </span><span style="color: #000000;">person =</span> <span style="color: #0000ff;">new </span><span style="color: #3366ff;">Person</span><span style="color: #000000;">();</span><br />
<span style="color: #0000ff;">return </span><span style="color: #000000;">View(person);</span></p>
<p><span style="color: #000000;">} </span></p>
</div>
<p>On crée une List&lt;SelectListItem&gt; contenant nos éléments sous la forme de SelectListItem. Le  « Text » sera ce qui est affiché dans la DropDownList, « Value » sera ce qui est récupéré si la donnée est sélectionnée, « Selected » indique si c’est cette donnée sélectionnée. On envoie ensuite cette liste à la vue avec un ViewData.</p>
<p>La vue Create se présente comme précédemment :</p>
<div class="encadre_code">
<p><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">div</span> <span style="color: red;">class</span><span style="color: #0000ff;">=&nbsp;&raquo;editor-label&nbsp;&raquo; &gt;</span></p>
<p style="padding-left: 30px;"><span style="background-color: yellow; color: black;">&lt;%</span><span style="color: #0000ff;">:</span> <span style="color: black;">Html.LabelFor(model =&gt; model.Sex) </span><span style="background-color: yellow; color: black;">%&gt;</span></p>
<p><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">div</span><span style="color: #0000ff;">&gt;</span></p>
<p><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">div</span> <span style="color: red;">class</span><span style="color: #0000ff;">=&nbsp;&raquo;editor-field&nbsp;&raquo; &gt;</span></p>
<p style="padding-left: 30px;"><span style="background-color: yellow; color: black;">&lt;%</span><span style="color: #0000ff;">=</span> <span style="color: black;">Html.DropDownList(</span><span style="color: #800000;">&laquo;&nbsp;Sex&nbsp;&raquo;</span><span style="color: black;">)</span><span style="background-color: yellow; color: black;">%&gt;</span></p>
<p><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">div</span><span style="color: #0000ff;">&gt;</span></p>
</div>
<p>Ensuite,  pour l’Edit, la modification est légèrement différente :</p>
<div class="encadre_code">
<p><span style="color: #008000;">// GET: /Persons/Edit/1</span></p>
<p><span style="color: #0000ff;">public </span><span style="color: #3366ff;">ActionResult </span><span style="color: #000000;">Edit()</span></p>
<p><span style="color: #000000;">{</span></p>
<p style="padding-left: 30px;"><span style="color: #3366ff;">Person </span><span style="color: #000000;">person =</span> <span style="color: #0000ff;">new </span><span style="color: #3366ff;">Person</span><span style="color: #000000;">();</span><br />
<span style="color: #3366ff;">List</span><span style="color: black;">&lt;</span><span style="color: #3366ff;">SelectListItem</span><span style="color: black;">&gt; items =</span> <span style="color: #0000ff;">new</span> <span style="color: #3366ff;">List</span><span style="color: black;">&lt;</span><span style="color: #3366ff;">SelectListItem</span><span style="color: black;">&gt;();</span><br />
<span style="color: black;">items.Add(</span><span style="color: #0000ff;">new</span> <span style="color: #3366ff;">SelectListItem</span><br />
<span style="color: black;">{</span></p>
<p style="padding-left: 60px;"><span style="color: black;">Text =</span> <span style="color: #800000;">&laquo;&nbsp;Non renseigné&nbsp;&raquo;</span><span style="color: black;">,</span><br />
<span style="color: black;">Value =</span> <span style="color: #800000;">&laquo;&nbsp;Non renseigné&nbsp;&raquo;</span><span style="color: black;">,</span><br />
<span style="color: black;">Selected = (person.Sex == </span> <span style="color: #800000;">&laquo;&nbsp;Non renseigné&nbsp;&raquo;</span><span style="color: black;">)</span></p>
<p style="padding-left: 30px;"><span style="color: black;">});</span><br />
<span style="color: black;">items.Add(</span><span style="color: #0000ff;">new</span> <span style="color: #3366ff;">SelectListItem</span><br />
<span style="color: black;">{</span></p>
<p style="padding-left: 60px;"><span style="color: black;">Text =</span> <span style="color: #800000;">&laquo;&nbsp;Femme&nbsp;&raquo;</span><span style="color: black;">,</span><br />
<span style="color: black;">Value =</span> <span style="color: #800000;">&laquo;&nbsp;Femme&nbsp;&raquo;</span><span style="color: black;">,</span><br />
<span style="color: black;">Selected = (person.Sex == </span> <span style="color: #800000;">&laquo;&nbsp;Femme&nbsp;&raquo;</span><span style="color: black;">)</span></p>
<p style="padding-left: 30px;"><span style="color: black;">});</span><br />
<span style="color: black;">items.Add(</span><span style="color: #0000ff;">new</span> <span style="color: #3366ff;">SelectListItem</span><br />
<span style="color: black;">{</span></p>
<p style="padding-left: 60px;"><span style="color: black;">Text =</span> <span style="color: #800000;">&laquo;&nbsp;Homme&nbsp;&raquo;</span><span style="color: black;">,</span><br />
<span style="color: black;">Value =</span> <span style="color: #800000;">&laquo;&nbsp;Homme&nbsp;&raquo;</span><span style="color: black;">,</span><br />
<span style="color: black;">Selected = (person.Sex == </span> <span style="color: #800000;">&laquo;&nbsp;Homme&nbsp;&raquo;</span><span style="color: black;">)</span></p>
<p style="padding-left: 30px;"><span style="color: black;">});</span><br />
<span style="color: #000000;">ViewData[</span><span style="color: #800000;">"Sex"</span><span style="color: #000000;">] = items;</span><br />
<span style="color: #0000ff;">return </span><span style="color: #000000;">View(person);</span></p>
<p><span style="color: #000000;">} </span></p>
</div>
<p>La seule différence est au niveau du Selected. On teste si le sexe de la personne correspond. On sait que si c’est le cas, la variable sera mit à True. Il suffit enfin d’afficher dans la vue Edit de la même manière que précédemment :</p>
<div class="encadre_code">
<p><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">div</span> <span style="color: red;">class</span><span style="color: #0000ff;">=&nbsp;&raquo;editor-label&nbsp;&raquo; &gt;</span></p>
<p style="padding-left: 30px;"><span style="background-color: yellow; color: black;">&lt;%</span><span style="color: #0000ff;">:</span> <span style="color: black;">Html.LabelFor(model =&gt; model.Sex) </span><span style="background-color: yellow; color: black;">%&gt;</span></p>
<p><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">div</span><span style="color: #0000ff;">&gt;</span></p>
<p><span style="color: #0000ff;">&lt;</span><span style="color: #800000;">div</span> <span style="color: red;">class</span><span style="color: #0000ff;">=&nbsp;&raquo;editor-field&nbsp;&raquo; &gt;</span></p>
<p style="padding-left: 30px;"><span style="background-color: yellow; color: black;">&lt;%</span><span style="color: #0000ff;">=</span> <span style="color: black;">Html.DropDownList(</span><span style="color: #800000;">&laquo;&nbsp;Sex&nbsp;&raquo;</span><span style="color: black;">)</span><span style="background-color: yellow; color: black;">%&gt;</span></p>
<p><span style="color: #0000ff;">&lt;/</span><span style="color: #800000;">div</span><span style="color: #0000ff;">&gt;</span></p>
</div>
<p>Et vous avez enfin fini de créer vos DropDownList.</p>
<div class="tweetthis" style="text-align:right;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=Gestion+de+la+DropDownList+en+ASP.NET+MVC2+http%3A%2F%2Fis.gd%2FNyP51V+via+%40clairedsbs"><img class="nothumb" src="http://www.claire-desbois.fr/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter3.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://www.claire-desbois.fr/gestion-de-la-dropdownlist-en-asp-net-mvc2/&amp;t=Gestion+de+la+DropDownList+en+ASP.NET+MVC2"><img class="nothumb" src="http://www.claire-desbois.fr/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook.png" alt="Post to Facebook" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.google.com/buzz/post?url=http://www.claire-desbois.fr/gestion-de-la-dropdownlist-en-asp-net-mvc2/&amp;imageurl="><img class="nothumb" src="http://www.claire-desbois.fr/wp-content/plugins/tweet-this/icons/en/gbuzz/tt-gbuzz.png" alt="Post to Google Buzz" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http://www.claire-desbois.fr/gestion-de-la-dropdownlist-en-asp-net-mvc2/&amp;title=Gestion+de+la+DropDownList+en+ASP.NET+MVC2&amp;summary=Le+Framework+MVC2+de+ASP.+NET+permet+de+cr%C3%A9er+des+sites+web+en+utilisant+MVC.+Avec+cette+architecture%2C+la+cr%C3%A9ation+du+visuel+est+un+peu+particuli%C3%A8r...&amp;source=Claire Desbois"><img class="nothumb" src="http://www.claire-desbois.fr/wp-content/plugins/tweet-this/icons/en/linkedin/tt-linkedin.png" alt="Post to LinkedIn" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://www.claire-desbois.fr/gestion-de-la-dropdownlist-en-asp-net-mvc2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Installation de Ruby On Rails sous Ubuntu</title>
		<link>http://www.claire-desbois.fr/installation-de-ruby-on-rails-sous-ubuntu/</link>
		<comments>http://www.claire-desbois.fr/installation-de-ruby-on-rails-sous-ubuntu/#comments</comments>
		<pubDate>Sun, 30 May 2010 06:14:14 +0000</pubDate>
		<dc:creator>Claire</dc:creator>
				<category><![CDATA[Tutoriel]]></category>
		<category><![CDATA[Programmation]]></category>
		<category><![CDATA[Ruby On Rails]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.claire-desbois.fr/?p=30</guid>
		<description><![CDATA[Ruby On Rails est un framework MVC basé sur Ruby afin de réaliser des sites web. Si l&#8217;installation n&#8217;est pas très complexe, il faut bien comprendre comment cela fonctionne. Dans un premier temps, il faut installer les packages ruby et ruby-dev qui permettent de réaliser du développement Ruby. Vous pouvez sélectionner la version de Ruby [...]]]></description>
			<content:encoded><![CDATA[<p>Ruby On Rails est un framework MVC basé sur Ruby afin de réaliser des sites web. Si l&#8217;installation n&#8217;est pas très complexe, il faut bien comprendre comment cela fonctionne.</p>
<p>Dans un premier temps, il faut installer les packages ruby et ruby-dev qui permettent de réaliser du développement Ruby. Vous pouvez sélectionner la version de Ruby que vous désirez installer. Sachez que le package ruby-dev est dépendant du package ruby, ils doivent donc être de la même version. Sachez également que si vous ne précisez pas la version, la version qui sera installer par défaut à l&#8217;heure où j&#8217;écris ses lignes sera la 1.8.7. Et enfin, vous pourrez trouver jusqu&#8217;à la 1.9.1 dans les dépôts par défaut de Ubuntu. Pour installer ces deux packages, rien de plus simple:</p>
<div class="encadre_code">sudo apt-get install ruby ruby-dev</div>
<p>Pour permettre d&#8217;utiliser des protocoles sécurisés avec ruby, nous allons installer le package pour openssl. Il faut taper cette commande:</p>
<div class="encadre_code">sudo apt-get install libopenssl-ruby</div>
<p>Après cette installation, vous devez installer un nouveau package un peu particulier: rubygems.<br />
Rubygems est un programme qui permet d&#8217;installer des packages écris en Ruby appelés des gems. C&#8217;est aussi grâce à ce programme que l&#8217;on a la possibilité d&#8217;installer le framework rails. Pour installer Rubygems, il suffit simplement d&#8217;exécuter cette commande:</p>
<div class="encadre_code">sudo apt-get install rubygems</div>
<p>Afin de pouvoir utiliser rubygems proprement et sans se compliquer la vie, il va falloir faire quelques modifications dans le fichier ~/.gemrc. Il est possible que ce fichier caché n&#8217;existe pas à votre dossier personnel. ça n&#8217;est pas grave, nous allons le créer et nous allons y ajouter une ligne pour préciser où doivent être installer les gems et aussi préciser à gems qu&#8217;il ne doit pas installer les docs (qui sont très longue à installer en plus d&#8217;être lourdes). Pour cela, ajouter simplement la ligne:</p>
<div class="encadre_code">gem: &#8211;&#8211;bindir /usr/local/bin &#8211;&#8211;no-ri &#8211;&#8211;no-rdoc</div>
<p>En précisant que l&#8217;on doit installer les gems dans un dossier bin, cela vous permet d&#8217;utiliser les gems après installation sans modifier le $PATH. Vous pouvez installer les gems dans un dossier à part si vous le désirez mais sachez que vous devrez dans ce cas soit indiquer le chemin complet de l&#8217;application soit ajouter le dossier où se trouve les gems dans votre $PATH.</p>
<p>Enfin, nous arrivons à l&#8217;installation de rails. Rails est un package gem, d&#8217;où l&#8217;utilité de rubygems. Pour l&#8217;installer, rien de bien compliqué:</p>
<div class="encadre_code">sudo gem install rails</div>
<p>A partir de là, vous avez installé Rails, mais cela ne signifie pas qu&#8217;il est encore utilisable: Il manque une base de données.</p>
<p>Pour réaliser une application en Rails, on peut utiliser différents types de bases de données sans que cela n&#8217;influence le code. La seule chose qui changera sera un fichier de configuration du nom de database.yml Il vous faudra par contre installer le gem de liaison entre la base de données et rails.</p>
<p>Pour cette exemple, nous allons utiliser une base de données MySQL. Pour cela, nous allons l&#8217;installer:</p>
<div class="encadre_code">sudo apt-get install mysql-server</div>
<p>Au cours de l&#8217;installation, renseignez un mot de passe administrateur de votre choix. Lorsque l&#8217;installation est fini, il va falloir faire quelques configurations. Ces configurations ne sont pas pour Rails et sont à faire pour n&#8217;importe quel projet. En effet, actuellement, vous ne pouvez créer et utiliser les bases de données qu&#8217;avec l&#8217;utilisateur &#8216;root&#8217;. Cette utilisateur sert à la gestion de votre système MySQL, pas pour l&#8217;utilisation d&#8217;une base de données via un projet (en plus, vous donneriez le mot de passe root à tous vos développeurs ainsi, ça n&#8217;aurait plus rien de sécurisé). Afin d&#8217;utiliser la base de données de façon propre, nous allons donc créer un utilisateur et une base de données pour notre projet Rails.</p>
<p>Dans un premier temps, il faut se connecter à Mysql:</p>
<div class="encadre_code">mysql -u root -p</div>
<p>Donnez votre mot de passe lorsqu&#8217;il vous le demande. L&#8217;option -u permet d&#8217;indiquer l&#8217;utilisateur avec lequel on désire se connecter au système. L&#8217;option -p indique que l&#8217;on va fournir un mot de passe. Cette option est inutile si l&#8217;utilisateur n&#8217;a pas de mot de passe. Ne l&#8217;oubliez pas dans le cas contraire ou votre connexion échouera.</p>
<p>Une fois connecté, on désire créer un nouvel utilisateur avec un mot de passe.</p>
<div class="encadre_code">CREATE USER &laquo;&nbsp;my_user&nbsp;&raquo;@&nbsp;&raquo;localhost&nbsp;&raquo; IDENTIFIED BY &laquo;&nbsp;password&nbsp;&raquo;;</div>
<p>Bien entendu, modifiez le nom de votre utilisateur &laquo;&nbsp;my_user&nbsp;&raquo; et son mot de passe &laquo;&nbsp;password&nbsp;&raquo; par ce que vous désirez. Pour ce qui est du localhost, tout dépend si vous désirez que la base de données soit accessible avec cette utilisateur via votre serveur directement ou depuis des ordinateurs distants. Vous pouvez indiquer le nom de l&#8217;ordinateur du réseau si vous désirez que l&#8217;utilisateur ne soit accessible que de ce poste, d&#8217;une adresse IP, d&#8217;un réseau, d&#8217;un domaine ou depuis n&#8217;importe quel ordinateur. Bon, cet article n&#8217;étant pas là pour décrire la configuration complète de MySQL et qu&#8217;il s&#8217;adresse aux débutants en Rails, je ne vais pas m&#8217;étendre dessus et si vous voulez en savoir plus, vous pouvez vous référer à la documentation de MySQL. Sachez simplement qu&#8217;en mettant &laquo;&nbsp;localhost&nbsp;&raquo;, l&#8217;utilisateur ne sera accessible que si l&#8217;on s&#8217;y connecte depuis le serveur.</p>
<p>Ensuite, on désire donner des droits à cet utilisateur et indiquer sur quelle base. Pour cela, créons déjà la base que l&#8217;on va utiliser dans le projet Rails:</p>
<div class="encadre_code">CREATE DATABASE MyDatabaseRails_Development;</div>
<p>Ici le nom que j&#8217;ai donné à la base est à rallonge, vous pouvez bien entendu lui donner le nom de votre choix. Sachez juste que dans un projet Rails, vous pouvez avoir 3 bases de données: Une pour la développement, une pour les tests et une pour la mise en production. Donnez leur un nom en conséquence pour ne pas vous tromper. La longueur importe peu (tant que vous ne dépassé pas la limite de MySQL), il sera nécessaire de ne l&#8217;indiquer qu&#8217;une seule fois dans le projet.</p>
<p>Une fois la base créée, on donne tous les droits à notre utilisateur sur cette base:</p>
<div class="encadre_code">GRANT ALL ON MyDatabaseRails_Development.* TO &laquo;&nbsp;my_user&nbsp;&raquo;@&nbsp;&raquo;localhost&nbsp;&raquo;;</div>
<p>Pour expliquer rapidement, cette ligne donne tous les droits (lecture, création, suppression, modification) à l&#8217;utilisateur &laquo;&nbsp;my_user&nbsp;&raquo; sur toutes les tables de la base &laquo;&nbsp;MyDatabaseRails_Development&nbsp;&raquo;. Si vous désirez modifier les droits de votre utilisateur de manière précise, je vous invite à vous rendre sur la <a href="http://dev.mysql.com/doc/refman/5.1/en/grant.html" title="Commande GRANT dans MySQL">documentation de MySQL</a>. Une fois toutes ses modifications apportées, il manque encore le gem pour lier MySQL à Rails. On va donc l&#8217;installer. On installe d&#8217;abord le package qui permet de faire du développement avec MySQL:</p>
<div class="encadre_code">sudo aptitude install libmysqlclient-dev</div>
<p>Puis on installe le gem permettant d&#8217;utiliser MySQL avec Rails:</p>
<div class="encadre_code">sudo gem install mysql</div>
<p>Si vous désirez utiliser une autre base de données, il vous faudra installer le gem correspondant à la base. Référez vous au <a href="http://wiki.rubyonrails.org/start" title="Wiki de Rails">wiki de Rails</a> pour cela.</p>
<p>Enfin, pour installer des pluggins en .git sur Ubuntu, il faut au préalable installer le package git-core. Git est un logiciel de version, comme cvs ou svn mais décentralisé contrairement à ces derniers. De nombreux plugins pour Ruby On Rails sont installable facilement via Git. Vous pourrez donc les installer simplement en utilisant une ligne de commande. Cela est surtout utile pour les plugins qui ne sont pas dans le dépôt officiel et que vous ne pouvez installer autrement qu&#8217;à la main en réalisant un copier-coller.</p>
<div class="encadre_code">sudo apt-get install git-core</div>
<p>Enfin, pour une raison que j&#8217;ignore, le gem rake ne s&#8217;est pas installer lors de mon installation alors que je pensais qu&#8217;il l&#8217;était par défaut. Ce gem permet de gérer bon nombre d&#8217;actions, notamment au niveau de la base de données. Si lors du développement, vous rencontrez le même problème que moi, il vous suffit d&#8217;installer le gem rake:</p>
<div class="encadre_code">sudo gem install rake</div>
<p>Voilà pour ce premier tutoriel pour l&#8217;installation de Ruby On Rails sur Ubuntu. J&#8217;espère que celui-ci vous aura aidé. Je ferais peut-être d&#8217;autres tutoriels pour la création de projet en Rails.</p>
<div class="tweetthis" style="text-align:right;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=Installation+de+Ruby+On+Rails+sous+Ubuntu+http%3A%2F%2Fis.gd%2FzEgAEh+via+%40clairedsbs"><img class="nothumb" src="http://www.claire-desbois.fr/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter3.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://www.claire-desbois.fr/installation-de-ruby-on-rails-sous-ubuntu/&amp;t=Installation+de+Ruby+On+Rails+sous+Ubuntu"><img class="nothumb" src="http://www.claire-desbois.fr/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook.png" alt="Post to Facebook" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.google.com/buzz/post?url=http://www.claire-desbois.fr/installation-de-ruby-on-rails-sous-ubuntu/&amp;imageurl="><img class="nothumb" src="http://www.claire-desbois.fr/wp-content/plugins/tweet-this/icons/en/gbuzz/tt-gbuzz.png" alt="Post to Google Buzz" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http://www.claire-desbois.fr/installation-de-ruby-on-rails-sous-ubuntu/&amp;title=Installation+de+Ruby+On+Rails+sous+Ubuntu&amp;summary=Ruby+On+Rails+est+un+framework+MVC+bas%C3%A9+sur+Ruby+afin+de+r%C3%A9aliser+des+sites+web.+Si+l%27installation+n%27est+pas+tr%C3%A8s+complexe%2C+il+faut+bien+comprendre...&amp;source=Claire Desbois"><img class="nothumb" src="http://www.claire-desbois.fr/wp-content/plugins/tweet-this/icons/en/linkedin/tt-linkedin.png" alt="Post to LinkedIn" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://www.claire-desbois.fr/installation-de-ruby-on-rails-sous-ubuntu/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>La Libuntu (Ubuntu Party de Montréal), c&#8217;est fini</title>
		<link>http://www.claire-desbois.fr/la-libuntu-ubuntu-party-de-montreal-cest-fini/</link>
		<comments>http://www.claire-desbois.fr/la-libuntu-ubuntu-party-de-montreal-cest-fini/#comments</comments>
		<pubDate>Mon, 17 May 2010 18:30:49 +0000</pubDate>
		<dc:creator>Claire</dc:creator>
				<category><![CDATA[Evènement]]></category>
		<category><![CDATA[Montréal]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Ubuntu Party]]></category>

		<guid isPermaLink="false">http://www.claire-desbois.fr/?p=25</guid>
		<description><![CDATA[Et voilà, la Ubuntu Party de Montréal est finie. Ce fut un weekend constructif et bien rempli pour présenter Ubuntu et le Libre à tous les visiteurs. Fatiguant également. Au final, une centaine de personnes seront venues nous voir, des débutants et des moins débutants, venu assister aux conférences ou installer et tester Ubuntu. Le [...]]]></description>
			<content:encoded><![CDATA[<p>Et voilà, la Ubuntu Party de Montréal est finie. Ce fut un weekend constructif et bien rempli pour présenter Ubuntu et le Libre à tous les visiteurs. Fatiguant également. Au final, une centaine de personnes seront venues nous voir, des débutants et des moins débutants, venu assister aux conférences ou installer et tester Ubuntu. Le samedi a été un peu chaotique, les premières conférences ayant trop débordé nous avons dû fusionner la démonstration d&#8217;Ubuntu et l&#8217;accessibilité et annuler la présentation d&#8217;OpenOffice.org et Mozilla Firefox. Le processeur de l&#8217;ordinateur que nous utilisions pour présenter Ubuntu et son installation nous a lâcher en pleine conférence et on a dû finir sur une VM étant donné que j&#8217;utilise Fedora. Et faute d&#8217;avoir pu faire sa conférence OpenOffice.org, Ludovic aura improvisé un petit atelier crêpes qui aura eu son succès.<br />
Le dimanche, malgré le manque de monde (maudit beau temps) qui nous a fait réorganiser les conférences, elles auront toutes eu lieu et auront toutes trouvé leur public. Et comme il fallait finir la journée en beauté, nous avons fait découvrir en plus un très bon bar aux personnes qui étaient restés jusqu&#8217;à la fin <img src='http://www.claire-desbois.fr/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Je voulais remercier par ailleurs toutes les personnes qui nous ont aidé à organiser cet évènement:<br />
Aurélien bien sûr avec qui j&#8217;ai co-organisé.<br />
Hayat et Claudette pour nous avoir permis d&#8217;utiliser les locaux de Supinfo et nous avoir conseillé.<br />
Fabian Rodriguez pour nous avoir conseillé et aidé et nous avoir apporté des cds de la dernière version.<br />
Tous les conférenciers: Fabian, Miguel, Ludovic, François, Joe, Thomas, Jean-François et Félix.<br />
Les différentes personnes qui nous ont beaucoup aidé: Tristan, Laurent, Julie, Joe de nouveau ainsi que tous ceux qui était là pour le bon déroulement du weekend.</p>
<p>Je remercie aussi les visiteurs d&#8217;être venu et d&#8217;avoir été fort sympathiques <img src='http://www.claire-desbois.fr/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Et pour la prochaine, on vous informe <img src='http://www.claire-desbois.fr/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<div class="tweetthis" style="text-align:right;"><p> <a target="_blank" rel="nofollow" class="tt" href="http://twitter.com/intent/tweet?text=La+Libuntu+%28Ubuntu+Party+de+Montr%C3%A9al%29%2C+c%E2%80%99est+fini+http%3A%2F%2Fis.gd%2Fn6seEU+via+%40clairedsbs"><img class="nothumb" src="http://www.claire-desbois.fr/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter3.png" alt="Post to Twitter" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.facebook.com/share.php?u=http://www.claire-desbois.fr/la-libuntu-ubuntu-party-de-montreal-cest-fini/&amp;t=La+Libuntu+%28Ubuntu+Party+de+Montr%C3%A9al%29%2C+c%E2%80%99est+fini"><img class="nothumb" src="http://www.claire-desbois.fr/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook.png" alt="Post to Facebook" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.google.com/buzz/post?url=http://www.claire-desbois.fr/la-libuntu-ubuntu-party-de-montreal-cest-fini/&amp;imageurl="><img class="nothumb" src="http://www.claire-desbois.fr/wp-content/plugins/tweet-this/icons/en/gbuzz/tt-gbuzz.png" alt="Post to Google Buzz" /></a> <a target="_blank" rel="nofollow" class="tt" href="http://www.linkedin.com/shareArticle?mini=true&amp;url=http://www.claire-desbois.fr/la-libuntu-ubuntu-party-de-montreal-cest-fini/&amp;title=La+Libuntu+%28Ubuntu+Party+de+Montr%C3%A9al%29%2C+c%E2%80%99est+fini&amp;summary=Et+voil%C3%A0%2C+la+Ubuntu+Party+de+Montr%C3%A9al+est+finie.+Ce+fut+un+weekend+constructif+et+bien+rempli+pour+pr%C3%A9senter+Ubuntu+et+le+Libre+%C3%A0+tous+les+visiteur...&amp;source=Claire Desbois"><img class="nothumb" src="http://www.claire-desbois.fr/wp-content/plugins/tweet-this/icons/en/linkedin/tt-linkedin.png" alt="Post to LinkedIn" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://www.claire-desbois.fr/la-libuntu-ubuntu-party-de-montreal-cest-fini/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

