<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns: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/" version="2.0">

<channel>
	<title>le blog de cplusn.com</title>
	
	<link>http://cplusn.com</link>
	<description>collaboration : patrimoine : mobilité</description>
	<lastBuildDate>Mon, 20 May 2013 10:33:01 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/cplusn" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="cplusn" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Transférer sa bibliothèque iTunes (et les sauvegardes iOS) sur un disque externe</title>
		<link>http://cplusn.com/2013/05/transferer-sa-bibliotheque-itunes-et-les-sauvegardes-ios-sur-un-disque-externe/</link>
		<comments>http://cplusn.com/2013/05/transferer-sa-bibliotheque-itunes-et-les-sauvegardes-ios-sur-un-disque-externe/#comments</comments>
		<pubDate>Mon, 20 May 2013 10:32:43 +0000</pubDate>
		<dc:creator>Emmanuel</dc:creator>
				<category><![CDATA[A l'affiche]]></category>
		<category><![CDATA[Développement]]></category>
		<category><![CDATA[iTunes]]></category>
		<category><![CDATA[Mac OSX]]></category>

		<guid isPermaLink="false">http://cplusn.com/?p=915</guid>
		<description><![CDATA[Heureux possesseur d&#8217;un MacBook Air acheté pour commencer le développement iOS, je me suis vite retrouvé confronté au problème de l&#8217;espace disque sur le SSD interne de 64Go de la machine. Une des solutions pour faire de la place, c&#8217;est bien entendu d&#8217;utiliser un disque externe pour tous les fichiers volumineux : images de disques Virtual Box, apps iOS, vidéos, et musique. Voici comment j&#8217;ai procédé pour transférer ma bibliothèque iTunes sur mon disque externe.
Transférer la bibliothèque iTunes
Attention : cette procédure ...]]></description>
				<content:encoded><![CDATA[<p>Heureux possesseur d&rsquo;un MacBook Air acheté pour commencer le développement iOS, je me suis vite retrouvé confronté au problème de l&rsquo;espace disque sur le SSD interne de 64Go de la machine. Une des solutions pour faire de la place, c&rsquo;est bien entendu d&rsquo;utiliser un disque externe pour tous les fichiers volumineux : images de disques Virtual Box, apps iOS, vidéos, et musique. Voici comment j&rsquo;ai procédé pour transférer ma bibliothèque iTunes sur mon disque externe.</p>
<h2>Transférer la bibliothèque iTunes</h2>
<p>Attention : cette procédure ne vaut que si vous avez regroupé tous vos fichiers musique au sein du dossier iTunes Media.</p>
<ul>
<li>Quitter iTunes si ce dernier est ouvert</li>
<li>Copier le dossier iTunes qui se trouve dans /Users/NomUtilisateur/Music (où NomUtilisateur est votre login) vers votre disque dur externe</li>
<li>Ouvrir iTunes en tenant la touche option enfoncée (comme indiqué dans <a title="Support Apple" href="http://support.apple.com/kb/HT1589?viewlocale=fr_FR">cet article</a>)</li>
<li>Choisir le dossier iTunes que vous venez de copier sur votre disque dur externe</li>
</ul>
<p>Vérifiez que vous avez bien accès à votre bibliothèque iTunes, avec tous vos fichiers, playlists, etc. Une fois cette vérification effectuée, vous pouvez supprimer le dossier /Users/NomUtilisateur/Music/iTunes de votre disque dur interne.</p>
<h2>Transférer les sauvegardes iOS sur le disque dur externe</h2>
<p>Après avoir transféré mes fichiers de musique, je me retrouvais tout de même avec un disque qui se remplissait rapidement pour des raisons que je n&rsquo;arrivais pas à analyser. C&rsquo;est simplement que les sauvegardes iOS, contrairement aux applications, ne sont pas stockées dans le dossier iTunes Media. Elles sont présentes dans le dossier ~/Library/Application Support/MobileSync/Backup. Pour les transférer, c&rsquo;est un poil plus complexe que pour la procédure précédente, dans la mesure où vous aurez besoin d&rsquo;utiliser le Terminal de MacOSX. Si vous ne savez pas ce que c&rsquo;est, je vous déconseille d&rsquo;aller plus loin !</p>
<ul>
<li>Quittez iTunes, débranchez vos appareils iOS</li>
<li>Dans le Finder, ouvrez le menu Aller et cliquez sur l&rsquo;option Aller au dossier</li>
<li>Saisissez le dossier ~/Library/Application Support/MobileSync/ et cliquez sur Aller</li>
</ul>
<div id="attachment_916" class="wp-caption aligncenter" style="width: 444px"><a href="http://cplusn.com/wp-content/uploads/2013/05/MobileSync.png"><img class="size-full wp-image-916" alt="Aller au dossier MobileSync" src="http://cplusn.com/wp-content/uploads/2013/05/MobileSync.png" width="434" height="130" /></a><p class="wp-caption-text">Aller au dossier MobileSync</p></div>
<ul>
<li>Copier le dossier Backup vers votre disque dur externe. Pour ma part, je l&rsquo;ai copié à la racine du dossier iTunes créé au chapitre précédent.</li>
<li>Renommez le dossier Backup original de votre disque dur interne en Backup.old par exemple</li>
<li>Créez un <a href="http://fr.wikipedia.org/wiki/Lien_symbolique">lien symbolique</a> vers votre nouveau répertoire de sauvegarde en tapant la commande suivante dans votre Terminal:</li>
<li>ln -s /Volumes/NomDeVotreDisqueDurExterne/Emplacement/Backup ~/Library/Application\ Support/MobileSync/Backup. Attention : si le NomDeVotreDisqueDurExterne comporte des espace, vous devez les préfixer par un antislash \ comme dans le libellé de Application Support ci-dessus.</li>
</ul>
<div id="attachment_918" class="wp-caption aligncenter" style="width: 510px"><a href="http://cplusn.com/wp-content/uploads/2013/05/BackupTerminal.png"><img class="size-medium wp-image-918" alt="Répertoire Backup dans le terminal" src="http://cplusn.com/wp-content/uploads/2013/05/BackupTerminal-500x293.png" width="500" height="293" /></a><p class="wp-caption-text">Lien symbolique vers le répertoire Backup</p></div>
<ul>
<li>Ouvrez iTunes, connectez un appareil iOS et vérifiez dans les préférences iTunes que vos sauvegardes apparaissent toujours.</li>
</ul>
<p>Vous pouvez alors supprimer le dossier Backup.old et profiter de l&rsquo;espace libéré (un dizaine de Go sur mon MacBook Air).</p>
]]></content:encoded>
			<wfw:commentRss>http://cplusn.com/2013/05/transferer-sa-bibliotheque-itunes-et-les-sauvegardes-ios-sur-un-disque-externe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Utiliser les services Public Cloud d’OVH sur Mac</title>
		<link>http://cplusn.com/2012/10/utiliser-les-services-public-cloud-dovh-sur-mac/</link>
		<comments>http://cplusn.com/2012/10/utiliser-les-services-public-cloud-dovh-sur-mac/#comments</comments>
		<pubDate>Fri, 26 Oct 2012 16:15:25 +0000</pubDate>
		<dc:creator>Emmanuel</dc:creator>
				<category><![CDATA[A l'affiche]]></category>
		<category><![CDATA[Développement]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Mac OSX]]></category>
		<category><![CDATA[OVH]]></category>
		<category><![CDATA[perl]]></category>

		<guid isPermaLink="false">http://cplusn.com/?p=893</guid>
		<description><![CDATA[En plein dans la lecture de Deploying Rails, un bouquin instructif sur l&#8217;automatisation du déploiement de l&#8217;infrastructure pour sites Rails, je me suis inscrit au Cloud Public d&#8217;OVH pour mettre en pratique l&#8217;enseignement du livre. Ce dernier ayant pour sujet le scriptage des actions de mise en ligne d&#8217;une application, la présence d&#8217;APIs dans la solution d&#8217;OVH me paraissait être un argument important en faveur de ce produit.
OVH propose même un script permettant de réaliser les appels à l&#8217;API directement ...]]></description>
				<content:encoded><![CDATA[<p>En plein dans la lecture de <a title="Deploying Rails" href="http://pragprog.com/book/cbdepra/deploying-rails">Deploying Rails</a>, un bouquin instructif sur l&rsquo;automatisation du déploiement de l&rsquo;infrastructure pour sites Rails, je me suis inscrit au <a href="http://www.ovh.com/fr/cloud/">Cloud Public d&rsquo;OVH</a> pour mettre en pratique l&rsquo;enseignement du livre. Ce dernier ayant pour sujet le scriptage des actions de mise en ligne d&rsquo;une application, la présence d&rsquo;APIs dans la solution d&rsquo;OVH me paraissait être un argument important en faveur de ce produit.</p>
<p>OVH propose même <a href="http://www.ovh.com/fr/cloud/api/ovhcloud">un script</a> permettant de réaliser les appels à l&rsquo;API directement à partir de la ligne de commande. Sous Ubuntu, pas de problème, tout se passe bien. Mais sous Mac OSX, pas si simple, et les tentatives de téléchargement automatique des différents modules perl nécessaires se sont soldés par des échecs.</p>
<p>En googlant, je suis heureusement tombé sur deux articles qui m&rsquo;ont tiré d&rsquo;affaire. Pour installer CPAN qui va vous permettre d&rsquo;installer d&rsquo;autres modules, il vous faut procéder de la manière suivante :</p>
<ul>
<li>Installer XCode (https://developer.apple.com/xcode/) &#8211; vous devrez vous enregistrer mais le téléchargement est gratuit pour Mountain Lion.</li>
<li>Lancer XCode et ouvrir les Preferences.</li>
<li>Cliquer sur l&rsquo;onglet Downloads</li>
<li>Cliquer pour installer les Command Line Tools</li>
</ul>
<p>En ouvrant un Terminal, tapez les commandes suivantes :</p>
<pre>$ sudo perl -MCPAN -e shell
perl&gt; o conf init</pre>
<p>Vous pouvez ensuite mettre CPAN à jour en tapant la commande suivante :</p>
<pre class="brush:shell">sudo perl -MCPAN -e 'install Bundle::CPAN'</pre>
<p>Avant de pouvoir lancer le script ovhcloud, il vous faut le modifier légèrement, en ajoutant la ligne suivante sous l&rsquo;instruction <strong>use strict;</strong> située ligne 14 :</p>
<pre class="brush:perl">$ENV{PERL_LWP_SSL_VERIFY_HOSTNAME}=0;</pre>
<p>Vous pouvez maintenant bénéficier du script ovhcloud sur Mac OSX !</p>
<p>via <a href="http://triopter.com/archive/how-to-install-perl-modules-on-mac-os-x-in-4-easy-steps/">Noemi Millman</a>, <a href="http://sibsoft.net/forum/post12707.html?highlight=">PilgrimX182</a></p>
]]></content:encoded>
			<wfw:commentRss>http://cplusn.com/2012/10/utiliser-les-services-public-cloud-dovh-sur-mac/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Remplacer rvm par rbenv</title>
		<link>http://cplusn.com/2012/09/remplacer-rvm-par-rbenv/</link>
		<comments>http://cplusn.com/2012/09/remplacer-rvm-par-rbenv/#comments</comments>
		<pubDate>Fri, 21 Sep 2012 19:55:10 +0000</pubDate>
		<dc:creator>Emmanuel</dc:creator>
				<category><![CDATA[A l'affiche]]></category>
		<category><![CDATA[Développement]]></category>

		<guid isPermaLink="false">http://cplusn.com/?p=879</guid>
		<description><![CDATA[Il semblerait que rvm soit &#171;&#160;so much last year&#160;&#187; que je me devais de tester rbenv, dont la promesse est de modifier moins en profondeur le système sur lequel il est installé. Voici comment j&#8217;ai procédé sur mon Mac.
Désinstaller rvm
Tout d&#8217;abord, vous devez désinstaller rem, en tapant les commandes suivantes :
rvm implode
rm ~/.rvmrc
rm /etc/rvmrc
Attention, en tapant ces commandes, vous désinstallez également les versions de ruby que vous auriez installées au travers de rvm (sur Mac vous vous retrouverez avec un ...]]></description>
				<content:encoded><![CDATA[<p><!--:fr-->Il semblerait que <a href="https://rvm.io//">rvm</a> soit &laquo;&nbsp;so much last year&nbsp;&raquo; que je me devais de tester <a href="https://github.com/sstephenson/rbenv">rbenv</a>, dont la promesse est de modifier moins en profondeur le système sur lequel il est installé. Voici comment j&rsquo;ai procédé sur mon Mac.</p>
<h3>Désinstaller rvm</h3>
<p>Tout d&rsquo;abord, vous devez désinstaller rem, en tapant les commandes suivantes :</p>
<pre class="brush:shell">rvm implode
rm ~/.rvmrc
rm /etc/rvmrc</pre>
<p>Attention, en tapant ces commandes, vous désinstallez également les versions de ruby que vous auriez installées au travers de rvm (sur Mac vous vous retrouverez avec un ruby 1.8.7).</p>
<p>Il vous faut également chercher dans les fichiers .bashrc, .profile et .bash_profile si rvm n&rsquo;a pas ajouté son répertoire à votre path. Si c&rsquo;est le cas, commentez la ligne en question.</p>
<h3>Installer rbenv</h3>
<p>Pour installer rbenv, il vous suffit de taper les commandes suivantes :</p>
<pre class="brush:shell">cd ~
git clone git://github.com/sstephenson/rbenv.git .rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' &gt;&gt; ~/.bash_profile
echo 'eval "$(rbenv init -)"' &gt;&gt; ~/.bash_profile</pre>
<p>Quittez et rouvrez votre terminal pour prendre en compte les modifications.</p>
<p>Pour installer facilement une version de ruby, installez le plugin ruby-build de la manière suivante :</p>
<pre class="brush:shell">mkdir -p ~/.rbenv/plugins
cd ~/.rbenv/plugins
git clone git://github.com/sstephenson/ruby-build.git</pre>
<p>Vous pouvez ensuite installer une version de ruby en tapant la commande suivante :</p>
<pre class="brush:shell">rbenv install 1.9.3-p194
rbenv rehash</pre>
<p>La seconde commande est nécessaire à chaque fois que vous installez une version de ruby ou un gem avec une partie binaire.</p>
<p>Pour utiliser une version de ruby globalement, vous tapez simplement :</p>
<pre class="brush:shell">rbenv global 1.9.3-p194</pre>
<p>Et vous utilisez la version de ruby indiquée. N&rsquo;oubliez pas ensuite de réinstaller bundler :</p>
<pre class="brush:shell">gem install bundler</pre>
<p>Redémarrez votre terminal, puis dans chacun de vos projets Rails de faire :</p>
<pre class="brush:shell">bundle install</pre>
<p>Via <a href="https://github.com/sstephenson/rbenv">rbenv</a> et <a href="https://github.com/sstephenson/ruby-build">ruby-build</a><!--:--></p>
]]></content:encoded>
			<wfw:commentRss>http://cplusn.com/2012/09/remplacer-rvm-par-rbenv/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pousser son dépôt git vers un serveur</title>
		<link>http://cplusn.com/2012/09/pousser-son-depot-git-vers-un-serveur/</link>
		<comments>http://cplusn.com/2012/09/pousser-son-depot-git-vers-un-serveur/#comments</comments>
		<pubDate>Sat, 15 Sep 2012 20:13:23 +0000</pubDate>
		<dc:creator>Emmanuel</dc:creator>
				<category><![CDATA[A l'affiche]]></category>
		<category><![CDATA[Développement]]></category>
		<category><![CDATA[Git]]></category>
		<category><![CDATA[Rails]]></category>

		<guid isPermaLink="false">http://cplusn.com/?p=871</guid>
		<description><![CDATA[Lorsque je démarre un nouveau projet, cela se passe toujours sur ma machine cliente, et je crée bien entendu le dépôt git dans la foulée. Ce n&#8217;est généralement qu&#8217;après que je mutualise ce dépôt en le stockant sur github ou sur mon serveur git personnel.
Voici la méthode que j&#8217;utilise pour créer le dépôt à postériori :
# Sur le serveur
mkdir /chemin/vers/git/projet

# Sur le client, depuis le répertoire de votre projet
scp -r .git monloginserveur@monserveur/chemin/vers/git/projet
La commande scp permet de copier des fichiers par ssh. ...]]></description>
				<content:encoded><![CDATA[<p><!--:fr-->Lorsque je démarre un nouveau projet, cela se passe toujours sur ma machine cliente, et je crée bien entendu le dépôt git dans la foulée. Ce n&rsquo;est généralement qu&rsquo;après que je mutualise ce dépôt en le stockant sur <a href="http://github.com/enetter">github</a> ou sur mon serveur git personnel.</p>
<p>Voici la méthode que j&rsquo;utilise pour créer le dépôt à postériori :</p>
<pre class="brush:shell"># Sur le serveur
mkdir /chemin/vers/git/projet

# Sur le client, depuis le répertoire de votre projet
scp -r .git monloginserveur@monserveur/chemin/vers/git/projet</pre>
<p>La commande <code>scp</code> permet de copier des fichiers par ssh. Cette copie binaire permet de dupliquer le dépôt du client vers le serveur en utilisant le login dont vous vos servez pour vous connecter en ssh.</p>
<p>Une fois que vous avez copié le dépôt, vous pouvez ajouter votre serveur comme dépôt distant dans votre projet avec la commande suivante :</p>
<pre class="brush:shell">git remote add origin ssh://monloginserveur@monserveur/chemin/vers/git/projet</pre>
<p>Pour pouvoir pousser vos modifications vers votre serveur, vous devez ensuite taper la commande suivante dans le répertoire git de votre serveur :</p>
<pre class="brush:shell">git config --bool core.bare true</pre>
<p>A partir de <a title="Simple Central Git Repository" href="http://www.newthink.net/2009/09/20/simple-central-git-repository/">Simple Central Git Repository</a><!--:--></p>
]]></content:encoded>
			<wfw:commentRss>http://cplusn.com/2012/09/pousser-son-depot-git-vers-un-serveur/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Comment gérer les utilisateurs et leurs rôles avec une liaison has_one</title>
		<link>http://cplusn.com/2012/09/comment-gerer-les-utilisateurs-et-leur-role-avec-une-liaison-has_one/</link>
		<comments>http://cplusn.com/2012/09/comment-gerer-les-utilisateurs-et-leur-role-avec-une-liaison-has_one/#comments</comments>
		<pubDate>Wed, 12 Sep 2012 17:29:52 +0000</pubDate>
		<dc:creator>Emmanuel</dc:creator>
				<category><![CDATA[A l'affiche]]></category>
		<category><![CDATA[Développement]]></category>
		<category><![CDATA[Rails]]></category>

		<guid isPermaLink="false">http://cplusn.com/?p=861</guid>
		<description><![CDATA[Je me suis arraché les cheveux pour trouver la bonne manière de gérer un cas d&#8217;utilisation relativement courant dans une application web : ayant un modèle (et une table) User, je souhaitais pouvoir affecter un utilisateur à chaque modèle Account (stocké dans une table &#8230; accounts) en tant que Manager. Bien entendu, je souhaitais pour voir accéder à mon manager en faisant :
a = Account.first
a.manager = User.first
En fait c&#8217;est très simple, en utilisant les options disponibles dans les associations. On ...]]></description>
				<content:encoded><![CDATA[<p><!--:fr-->Je me suis arraché les cheveux pour trouver la bonne manière de gérer un cas d&rsquo;utilisation relativement courant dans une application web : ayant un modèle (et une table) User, je souhaitais pouvoir affecter un utilisateur à chaque modèle Account (stocké dans une table &#8230; accounts) en tant que Manager. Bien entendu, je souhaitais pour voir accéder à mon manager en faisant :</p>
<pre class="brush:ruby">a = Account.first
a.manager = User.first</pre>
<p>En fait c&rsquo;est très simple, en utilisant les options disponibles dans les associations. On aura donc dans le modèle Account une association <code>belongs_to</code> :</p>
<pre class="brush:ruby">class Account &lt; ActiveRecord::Base
  belongs_to :manager, :class_name =&gt; 'User'
end</pre>
<p>Au lieu de faire simplement un <code>belongs_to :user</code>, on indique à Rails le modèle qui doit être utilisé.<br />
Dans le modèle User, on aura l&rsquo;association inverse :</p>
<pre class="brush:ruby">class User &lt; ActiveRecord::Base
  has_one :account, :foreign_key =&gt; 'manager_id'
end</pre>
<p>Afin que Rails puisse retrouver l&rsquo;utilisateur à partir de la table accounts, il faut bien sûr désigner la colonne qui va héberger l&rsquo;identifiant de l&rsquo;utilisateur grâce au paramètre <code>:foreign_key</code>.</p>
<p>Vous aurez bien entendu ajouté cette colonne à la table accounts en créant une migration :</p>
<pre class="brush:shell">rails g migration AddManagerIdToAccount</pre>
<p>Qui contiendra le code suivant :</p>
<pre class="brush:ruby">class AddManagerIdToAccounts &lt; ActiveRecord::Migration
  def change
    add_column :accounts, :manager_id, :integer
  end
end</pre>
<p>Vous pouvez ensuite exécuter la migration, et  le tour est joué !<!--:--></p>
]]></content:encoded>
			<wfw:commentRss>http://cplusn.com/2012/09/comment-gerer-les-utilisateurs-et-leur-role-avec-une-liaison-has_one/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Un terminal en couleurs pour MacOS X</title>
		<link>http://cplusn.com/2012/09/un-terminal-en-couleurs-pour-macos-x/</link>
		<comments>http://cplusn.com/2012/09/un-terminal-en-couleurs-pour-macos-x/#comments</comments>
		<pubDate>Sun, 09 Sep 2012 17:29:27 +0000</pubDate>
		<dc:creator>Emmanuel</dc:creator>
				<category><![CDATA[A l'affiche]]></category>
		<category><![CDATA[Développement]]></category>

		<guid isPermaLink="false">http://cplusn.com/?p=852</guid>
		<description><![CDATA[Utilisateur depuis quelques mois d&#8217;un MacBook Air, je me demandais comment retrouver dans le terminal le même choix de couleurs que celui dont je bénéficiais sur ma machine Ubuntu. Voici une recette pour mettre de la couleur dans votre terminal.
Ouvrez un terminal, et éditez le fichier .bashrc qui se trouve à la racine de votre dossier utilisateur :
vim ~/.bashrc
Mettez-vous en mode insertion en tapant [i], puis collez les lignes suivantes :
export CLICOLOR=1
export LSCOLORS=GxFxCxDxBxegedabagaced
Enregistrez le fichier en tapant la touche [ESC] ...]]></description>
				<content:encoded><![CDATA[<p><!--:fr-->Utilisateur depuis quelques mois d&rsquo;un MacBook Air, je me demandais comment retrouver dans le terminal le même choix de couleurs que celui dont je bénéficiais sur ma machine Ubuntu. Voici une recette pour mettre de la couleur dans votre terminal.</p>
<p>Ouvrez un terminal, et éditez le fichier .bashrc qui se trouve à la racine de votre dossier utilisateur :</p>
<pre class="brush:shell">vim ~/.bashrc</pre>
<p>Mettez-vous en mode insertion en tapant [i], puis collez les lignes suivantes :</p>
<pre class="brush:shell">export CLICOLOR=1
export LSCOLORS=GxFxCxDxBxegedabagaced</pre>
<p>Enregistrez le fichier en tapant la touche [ESC] puis les touches [:x] . Pour recharger vos préférences, tapez :</p>
<pre class="brush:shell">source ~/.bashrc</pre>
<p>Et le tour est joué !<a href="http://cplusn.com/2012/09/un-terminal-en-couleurs-pour-macos-x/capture-decran-2012-09-10-a-12-40-46/" rel="attachment wp-att-853"><img class="aligncenter size-medium wp-image-853" title="Terminal en couleurs" src="http://cplusn.com/wp-content/uploads/2012/09/Capture-d’écran-2012-09-10-à-12.40.46-500x339.png" alt="" width="500" height="339" /></a></p>
<p>&nbsp;<!--:--></p>
]]></content:encoded>
			<wfw:commentRss>http://cplusn.com/2012/09/un-terminal-en-couleurs-pour-macos-x/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Un téléphone pour Free Mobile : le Nokia C2-00</title>
		<link>http://cplusn.com/2012/02/un-telephone-pour-free-mobile-le-nokia-c2-00/</link>
		<comments>http://cplusn.com/2012/02/un-telephone-pour-free-mobile-le-nokia-c2-00/#comments</comments>
		<pubDate>Thu, 23 Feb 2012 17:03:55 +0000</pubDate>
		<dc:creator>Emmanuel</dc:creator>
				<category><![CDATA[A l'affiche]]></category>
		<category><![CDATA[Mobilité]]></category>
		<category><![CDATA[Téléphone]]></category>

		<guid isPermaLink="false">http://cplusn.com/?p=648</guid>
		<description><![CDATA[
 Comme beaucoup d&#8217;entre vous, je me suis abonné à Free Mobile sur l&#8217;offre à deux euros, gratuite puisque nous sommes également abonnés à Free Adsl. Mais comme beaucoup d&#8217;entre vous, je me suis retrouvé avec potentiellement deux téléphones, l&#8217;un pour le boulot et l&#8217;autre pour mes communications personnelles. 
J&#8217;avais déjà testé il y a quelques mois le double téléphone, et la perspective d&#8217;ajouter un nouveau gadget à la suite téléphone / iPad / iPod ne m&#8217;enchantait guère ; et ...]]></description>
				<content:encoded><![CDATA[<p><!--:fr-->
<p> Comme beaucoup d&rsquo;entre vous, je me suis abonné à Free Mobile sur l&rsquo;offre à deux euros, gratuite puisque nous sommes également abonnés à Free Adsl. Mais comme beaucoup d&rsquo;entre vous, je me suis retrouvé avec potentiellement deux téléphones, l&rsquo;un pour le boulot et l&rsquo;autre pour mes communications personnelles. </p>
<p>J&rsquo;avais déjà testé il y a quelques mois le double téléphone, et la perspective d&rsquo;ajouter un nouveau gadget à la suite téléphone / iPad / iPod ne m&rsquo;enchantait guère ; et la tablette magique d&rsquo;Apple m&rsquo;épargnait le dilemme du smartphone, redondant dans mon cas.</p>
<div class="separator" style="clear: both; text-align: center;"><a href="http://cplusn.com/wp-content/uploads/2012/02/wpid-Photo-23-févr.-2012-1648.jpg" target="_blank" style="margin-left: 1em; margin-right: 1em;"><img src="http://cplusn.com/wp-content/uploads/2012/02/wpid-Photo-23-févr.-2012-1648.jpg" id="blogsy-1330016337564.0261" class="aligncenter" alt="" width="375" height="500"/></a></div>
<p>Je me suis donc penché sur les téléphones dual-sim, capables d&rsquo;héberger deux cartes sims en même temps : ma nouvelle carte Free et la carte SFR de mon employeur.</p>
<p>Mon choix s&rsquo;est fixé sur le Nokia C2-00, un téléphone très classique mais parfaitement adapté à l&rsquo;usage que je souhaitais en faire : téléphoner et recevoir des appels sur deux lignes en même temps.</p>
<h2>Matériel </h2>
<p> Le Nokia C2-00 se présente sous une forme archive classique, avec un clavier apparent. Je l&rsquo;avis choisi en blanc, mais il existe ce me semble dans d&rsquo;autres couleurs (au moins en noir).</p>
<p>Le design est assez réussi à mon goût, relativement épuré, avec un clavier qui se fond dans la coque plastique du téléphone. La couleur blanche, quoi qu&rsquo;assez sympathique, ne facilite pas la lecture des touches en plein soleil, le contraste entre le rétro-éclairage des touches et le blanc du plastique, conjugué au peu de relief du clavier, ne facilite pas la saisie rapide.</p>
<div class="separator" style="clear: both; text-align: center;"><a href="http://cplusn.com/wp-content/uploads/2012/02/wpid-Photo-23-févr.-2012-1649.jpg" target="_blank" style="margin-left: 1em; margin-right: 1em;" title=""><img src="http://cplusn.com/wp-content/uploads/2012/02/wpid-Photo-23-févr.-2012-1649.jpg" id="blogsy-1330016337615.0457" class="aligncenter" alt="" width="375" height="500"/></a></div>
<p> Le C2-00 est assez léger en main, tout en donnant une impression de sérieux dans la construction et de solidité, gage d&rsquo;une vie longue et heureuse !</p>
<p>Je passe pudiquement sur l&rsquo;appareil photo au format VGA, qui ne peut servir qu&rsquo;à prendre les photos à afficher dans l&rsquo;annuaire du téléphone.</p>
<p>Au chapitre extension, un emplacement pour une carte Micro-SD est disponible (accessible sous le capot, mais sans enlever la batterie) ce qui permet d&rsquo;étendre la mémoire rachitique de l&rsquo;appareil (aux alentours de 50 Mo je crois). Je m&rsquo;en sert principalement pour y mettre de la musique que j&rsquo;utilise comme sonnerie pour les groupes que vous pouvez définir dans l&rsquo;annuaire.</p>
<p>La connectivité est assez complète pour cette gamme de prix : une prise jack 3.5 pour le kit piéton stéréo fourni (qui n&rsquo;est pas de trop mauvaise qualité), une prise Micro USB pour la connexion au PC (mais qui ne permet pas la recharge), une prise chargeur, un emplacement accessible de l&rsquo;extérieur pour insérer la seconde carte SIM.</p>
<p>Il est à noter que le téléphone intègre également une puce Bluetooth, qui permet non seulement de connecter une oreillette, mais également de synchroniser sans fil le téléphone à un PC, ou d&rsquo;utiliser la carte Micro USB comme stockage de masse.</p>
<p>Enfin, un vrai bonheur pour un ex-usager d&rsquo;un smartphone : ne pas être en permanence accroché à son chargeur, retrouver le plaisir de passer presque une semaine sans recharger son téléphone. Eh oui, vous pouvez oublier votre adaptateur sans vous retrouver à poil dans la journée !</p>
<h2>Logiciel</h2>
<p>Le Nokia C2-00 est basé sur le logiciel S40, qui apporte un environnement complet pour téléphoner et écrire des SMS. La correction prédictive marche assez bien pour l&rsquo;écriture des SMS, et de nombreuses astuces permettent d&rsquo;accéder rapidement aux principales actions disponibles : appui sur le pavé directionnel (haut pour appareil photo, bas pour annuaire, etc), touches droite et gauche, raccourci numéros par appui long sur les touches du clavier, menu de raccourcis paramétrable, etc. : bref un téléphone facile à utiliser.</p>
<div class="separator" style="clear: both; text-align: center;"><a href="http://cplusn.com/wp-content/uploads/2012/02/wpid-Photo-23-févr.-2012-16491.jpg" target="_blank" style="margin-left: 1em; margin-right: 1em;"><img src="http://cplusn.com/wp-content/uploads/2012/02/wpid-Photo-23-févr.-2012-16491.jpg" id="blogsy-1330016337648.279" class="aligncenter" width="375" height="500" alt=""/></a></div>
<p> Je recommande de télécharger la Suite Nokia, qui permet de synchroniser le téléphone avec un PC pour sauvegarder les réglages, les contacts, échanger la musique, etc&#8230;</p>
<p>Utilisant ce téléphone également dans un contexte professionnel, je cherchais si une solution tierce existait pour synchroniser les contacts Outlook et le C2-00 : et bien mieux que ça, la Suite Nokia permet de le faire nativement. Il faut aller chercher dans les préférences de la Suite Nokia, dans les contacts, et vous pourrez choisir de synchroniser vos contacts Outlook (tous ou seulement un dossier particulier) avec le carnet d&rsquo;adresses de votre téléphone.</p>
<h2>Gestion des deux sims</h2>
<p> La première SIM est obligatoire (vous ne pouvez pas téléphoner sans) et son emplacement est situé sous la batterie ; vous devez donc éteindre le téléphone pour la changer. La seconde carte SIM s&rsquo;insère puce vers le haut dans un emplacement situé sur la droite du téléphone, et accessible en permanence. Vous pouvez donc jongler entre plusieurs cartes SIM dans le second emplacement. On peut donner un nom à chaque carte pour les distinguer (jusqu&rsquo;à 5 réglages pour carte SIM peuvent être stockés). </p>
<div class="separator" style="clear: both; text-align: center;"><a href="http://cplusn.com/wp-content/uploads/2012/02/wpid-Photo-23-févr.-2012-1728.jpg" target="_blank" style="margin-left: 1em; margin-right: 1em;" title=""><img src="http://cplusn.com/wp-content/uploads/2012/02/wpid-Photo-23-févr.-2012-1728.jpg" id="blogsy-1330016337573.0242" class="aligncenter" width="500" height="375" alt=""/></a></div>
<p> La gestion des deux cartes se fait très simplement lors d&rsquo;un appel : le téléphone affiche le numéro ou la personne qui appelle, ainsi que le nom de la carte SIM sur laquelle on vous appelle.</p>
<p>Pour les appels sortants ou les SMS, deux modes sont disponibles : vous pouvez soit choisir une carte SIM par défaut, et c&rsquo;est par celle ci que seront automatiquement routés les appels ; soit préférer que le C2-00 demande à chaque fois, et dans ce cas, un ecran supplémentaire s&rsquo;affichera lorsque vous appuierez sur la touche décrocher (touche téléphone verte).</p>
<div class="separator" style="clear: both; text-align: center;"><a href="http://cplusn.com/wp-content/uploads/2012/02/wpid-Photo-23-févr.-2012-16492.jpg" target="_blank" style="margin-left: 1em; margin-right: 1em;"><img src="http://cplusn.com/wp-content/uploads/2012/02/wpid-Photo-23-févr.-2012-16492.jpg" id="blogsy-1330016337646.1946" class="aligncenter" width="375" height="500" alt=""/></a></div>
<p>Pour choisir le mode du téléphone, il suffit d&rsquo;appuyer longuement sur la touche étoile du téléphone qui donne accès à un écran permettant de sélectionner l&rsquo;une où l&rsquo;autre de ces options. </p>
<p>Un petit regret concernant la gestion des SIM : il n&rsquo;est pas possible (en tout cas je n&rsquo;ai pas trouve comment faire) d&rsquo;associer une sonnerie à chaque SIM, ce qui m&rsquo;aurait permis de savoir à l&rsquo;oreille si l&rsquo;appel était perso ou professionnel. Néanmoins, il est possible d&rsquo;associer une sonnerie à un groupe d&rsquo;utilisateurs dans le carnet d&rsquo;adresses ce qui permet de pallier partiellement à ce petit inconvénient (en effet chaque groupe est limité à 10 contacts).</p>
<h2>En conclusion</h2>
<p> Le Nokia C2-00 correspond parfaitement à mes attentes en matière de téléphone : double SIM, léger et solide, avec des sonneries MP3, permettant la synchronisation de mes contacts avec Outlook, et doté d&rsquo;une autonomie confortable, bref, pour 50 euros, c&rsquo;est le retour aux valeurs sûres de la téléphonie mobile.</p>
<p>&nbsp;</p>
<p><!--:--></p>
]]></content:encoded>
			<wfw:commentRss>http://cplusn.com/2012/02/un-telephone-pour-free-mobile-le-nokia-c2-00/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Installer RVM et Rails sur Ubuntu</title>
		<link>http://cplusn.com/2011/12/installer-rvm-sur-ubuntu/</link>
		<comments>http://cplusn.com/2011/12/installer-rvm-sur-ubuntu/#comments</comments>
		<pubDate>Sat, 17 Dec 2011 13:17:54 +0000</pubDate>
		<dc:creator>Emmanuel</dc:creator>
				<category><![CDATA[A l'affiche]]></category>
		<category><![CDATA[Développement]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://cplusn.com/?p=627</guid>
		<description><![CDATA[RVM permet d&#8217;installer facilement plusieurs environnement Ruby sur une même machine. Mais il apporte un tel confort dans l&#8217;installation de Ruby (et en particulier de la version 1.9.2 qui n&#8217;est pas encore dans les dépôts officiels de Canonical) que même pour une seule version de Ruby, je ne saurais plus m&#8217;en passer !

A l&#8217;occasion du recyclage d&#8217;un vieux PC, j&#8217;ai eu l&#8217;occasion de rejouer une installation complète de RVM, dont je note ici les différentes étapes. Notez bien que cette ...]]></description>
				<content:encoded><![CDATA[<p><!--:fr-->RVM permet d&rsquo;installer facilement plusieurs environnement Ruby sur une même machine. Mais il apporte un tel confort dans l&rsquo;installation de Ruby (et en particulier de la version 1.9.2 qui n&rsquo;est pas encore dans les dépôts officiels de Canonical) que même pour une seule version de Ruby, je ne saurais plus m&rsquo;en passer !</p>
<p><img class="aligncenter size-medium wp-image-628" title="rvm" src="http://cplusn.com/wp-content/uploads/2011/12/rvm-500x307.png" alt="" width="500" height="307" /></p>
<p>A l&rsquo;occasion du recyclage d&rsquo;un vieux PC, j&rsquo;ai eu l&rsquo;occasion de rejouer une installation complète de RVM, dont je note ici les différentes étapes. Notez bien que cette installation n&rsquo;est valable que pour l&rsquo;utilisateur courant.</p>
<ul>
<li>Ouvrez le Terminal d&rsquo;Ubuntu</li>
<li>Optionnel : installez curl et git s&rsquo;ils ne sont pas encore installés</li>
</ul>
<pre class="brush:shell">sudo apt-get install curl git</pre>
<ul>
<li>Placez vous dans votre répertoire home</li>
</ul>
<pre class="brush:shell">cd ~</pre>
<ul>
<li>Installez la dernière version de RVM</li>
</ul>
<pre class="brush:shell">bash &lt; &lt;(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer )</pre>
<ul>
<li>RVM s&rsquo;installe dans  ~/.rvm/  ; à la fin de l&rsquo;installation, ajoutez le chargement de RVM dans votre shell</li>
</ul>
<div>
<pre class="brush:shell">echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] &amp;&amp; . "$HOME/.rvm/scripts/rvm" # Load RVM function' &gt;&gt; ~/.bash_profile</pre>
</div>
<ul>
<li>Fermez votre Terminal, puis rouvrez le.</li>
<li>Tapez rvm list known : rvm doit vous donner la liste de toutes les version de Ruby disponibles</li>
<li>Installez également les paquets suivants qui sont requis par RVM</li>
</ul>
<div>
<pre class="brush:shell">apt-get install build-essential openssl libreadline6 libreadline6-dev curl git-core zlib1g zlib1g-dev libssl-dev libyaml-dev libsqlite3-0 libsqlite3-dev sqlite3 libxml2-dev libxslt-dev autoconf libc6-dev ncurses-dev automake libtool bison subversion</pre>
</div>
<ul>
<li>Pour installer la version 1.9.2 de Ruby, tapez :</li>
</ul>
<pre class="brush:shell">rvm install 1.9.2</pre>
<ul>
<li>L&rsquo;installation de Ruby commence. Lorsqu&rsquo;elle est terminée tapez :</li>
</ul>
<pre>rvm --default ruby-1.9.2</pre>
<ul>
<li>Rvm doit vous indiquer avoir sélectionné la version 1.9.2 de Ruby, qui sera utilisée par défaut lorsque vous ouvrirez un terminal. Pour vérifier, tapez :</li>
</ul>
<pre class="brush:shell">ruby -v</pre>
<ul>
<li>Ruby doit alors vous indiquer son numéro de version. Tout fonctionne ! Pour changer de version de Ruby, installez-en une autre puis utilisez la commande suivante :</li>
</ul>
<pre class="brush:shell">rvm use &lt;no_version&gt;</pre>
<ul>
<li>Par exemple</li>
</ul>
<pre class="brush:shell">rvm use 1.8.7</pre>
<ul>
<li>Pour installer Rails, tapez la commande suivante (en rajoutant -v=x.x.x si vous voulez installer une version précise) :</li>
</ul>
<div>
<pre class="brush:shell">gem install rails</pre>
</div>
<ul>
<li>Optionnel : si comme moi, vous avez un message d&rsquo;erreur en installant rails indiquant l&rsquo;absence de zlib, vous pouvez essayer les commandes suivantes :</li>
</ul>
<pre class="brush:shell">rvm pkg install zlib
rvm remove 1.9.2
rvm install 1.9.2</pre>
<ul>
<li>Relancez ensuite l&rsquo;installation de Rails</li>
</ul>
<p><!--:--></p>
]]></content:encoded>
			<wfw:commentRss>http://cplusn.com/2011/12/installer-rvm-sur-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Démarrer avec iOS : une application Carnet d’Adresses</title>
		<link>http://cplusn.com/2011/11/demarrer-avec-ios-une-application-carnet-dadresses/</link>
		<comments>http://cplusn.com/2011/11/demarrer-avec-ios-une-application-carnet-dadresses/#comments</comments>
		<pubDate>Mon, 14 Nov 2011 18:35:06 +0000</pubDate>
		<dc:creator>Emmanuel</dc:creator>
				<category><![CDATA[A l'affiche]]></category>
		<category><![CDATA[Développement]]></category>
		<category><![CDATA[iOS]]></category>

		<guid isPermaLink="false">http://cplusn.com/?p=556</guid>
		<description><![CDATA[M&#8217;étant récemment lancé dans le développement d&#8217;applications pour les plateformes mobiles d&#8217;Apple, je commence un série d&#8217;articles qui me serviront de bloc-note et d&#8217;aide mémoire pour le développement d&#8217;applications iOS.
Mon premier projet est la transcription sous iOS de ma première application Rails : un carnet d&#8217;adresses pour gérer les coordonnées de mes amis et de ma famille.
Comme cette série d&#8217;article accompagne ma première expérience sous iOS, vous me pardonnerez les approximations et les erreurs que les experts relèveront sans doute ...]]></description>
				<content:encoded><![CDATA[<p><!--:fr-->M&rsquo;étant récemment lancé dans le développement d&rsquo;applications pour les plateformes mobiles d&rsquo;Apple, je commence un série d&rsquo;articles qui me serviront de bloc-note et d&rsquo;aide mémoire pour le développement d&rsquo;applications iOS.<br />
Mon premier projet est la transcription sous iOS de ma première application Rails : un carnet d&rsquo;adresses pour gérer les coordonnées de mes amis et de ma famille.<br />
Comme cette série d&rsquo;article accompagne ma première expérience sous iOS, vous me pardonnerez les approximations et les erreurs que les experts relèveront sans doute ; leurs commentaires sont les bienvenus !</p>
<h2>Pour démarrer</h2>
<p>Pour démarrer le développement sous iOS, il vous faut :</p>
<ul>
<li>Un Macintosh Intel sous MacOS X 10.6 (Snow Leopard) ou MacOSX 10.7 (Lion)</li>
<li>Un compte développeur Apple, pour pouvoir télécharger le SDK (Software Development Kit). Il existe deux niveaux d&rsquo;accès en tant que développeur : le <strong>premier est gratuit</strong>, mais ne permet pas d&rsquo;exécuter les applications développées autrement que dans le simulateur (sur votre Mac, et pas sur un appareil iOS) ; le<strong> second est payant ($99 par an)</strong>, mais permet d&rsquo;exécuter vos applications sur un iPhone ou un iPad, ainsi que de publier vos applications sur l&rsquo;AppStore. Enfin, cet abonnement permet de télécharger la version Snow Leopard d&rsquo;XCode 4, la dernière version de l&rsquo;environnement de développement d&rsquo;Apple. Une version payante pour Lion est disponible dans l&rsquo;AppStore Mac OS X, ainsi qu&rsquo;une version gratuite de la version 3 d&rsquo;XCode (mais je ne vous la recommande pas, elle commence à dater).</li>
<li>Un iDevice pour pouvoir tester en vraie grandeur vos applications. la solution la moins onéreuse, c&rsquo;est l&rsquo;iPod Touch qu&rsquo;on trouve maintenant à partir de 199€ ; mais si vous voulez utiliser des fonctions spécifiques à l&rsquo;iPhone ou à l&rsquo;iPad (téléphone, géolocalisation, etc.), il vous faudra acquérir ou vous faire prêter le matériel adéquat.</li>
</ul>
<h2>Créer son projet</h2>
<p>Une fois XCode installé, vous pouvez le lancer pour commencer notre projet. Vous arrivez sur la fenêtre suivante :<br />
<img class="aligncenter size-medium wp-image-562" title="Ecran d'accueil d'XCode 4" src="http://cplusn.com/wp-content/uploads/2011/11/Capture-d’écran-2011-11-14-à-17.53.35-500x340.png" alt="" width="500" height="340" /> Cliquez sur <strong>Create a new XCode Project</strong>. Comme c&rsquo;est un projet d&rsquo;apprentissage, nous allons choisir comme modèle <strong>Empty Application</strong>.<br />
<a href="http://cplusn.com/2011/11/demarrer-avec-ios-une-application-carnet-dadresses/capture-d%e2%80%99ecran-2011-11-14-a-18-04-05/" rel="attachment wp-att-563"><img class="aligncenter size-medium wp-image-563" title="Modèle de projet" src="http://cplusn.com/wp-content/uploads/2011/11/Capture-d’écran-2011-11-14-à-18.04.05-500x312.png" alt="" width="500" height="312" /></a> Choisissez ensuite :</p>
<ul>
<li>Un <strong>nom</strong> à votre projet : c&rsquo;est celui qui sera par défaut affiché comme nom d&rsquo;application.</li>
<li>Votre<strong> identifiant de société</strong> : peut être l&rsquo;adresse de votre site web en commençant le Top Level Domain (com, fr, org, etc)</li>
<li>La variable <strong>Class Prefix</strong> est également importante puisqu&rsquo;on la retrouvera devant les objets créés automatiquement par XCode.</li>
<li>L&rsquo;<strong>appareil cible</strong> : iPad, iPhone ou Universal pour les applications qui tourneront sur les deux types d&rsquo;iDevice.</li>
<li>Trois cases à cocher sont ensuite disponibles : nous allons cocher <strong>Use Core Data</strong> afin qu&rsquo;XCode initialise un peu de code pour gérer la persistance de vos contacts (c-a-d leur stockage dans une base de données). Les deux autres permettent de gérer automatiquement la mémoire de votre application, et d&rsquo;inclure l&rsquo;architecture des tests unitaires qui si vous les écrivez, vous permettront de vérifier que les modifications dans votre code ne cassent pas votre application. Nous les laisserons de coté pour ce premier exemple.</li>
</ul>
<p><a href="http://cplusn.com/2011/11/demarrer-avec-ios-une-application-carnet-dadresses/capture-d%e2%80%99ecran-2011-11-14-a-18-07-23/" rel="attachment wp-att-564"><img class="aligncenter size-medium wp-image-564" title="Nom du projet" src="http://cplusn.com/wp-content/uploads/2011/11/Capture-d’écran-2011-11-14-à-18.07.23-500x340.png" alt="" width="500" height="340" /></a> Cliquons ensuite sur le bouton Next. La boite de dialogue suivante permet de choisir l&rsquo;emplacement de votre projet sur votre disque ; cochez également la case <strong>Create git repository for this project</strong>, afin de pouvoir gérer vos modifications de code facilement avec Git.<br />
<a href="http://cplusn.com/2011/11/demarrer-avec-ios-une-application-carnet-dadresses/capture-d%e2%80%99ecran-2011-11-14-a-18-17-16/" rel="attachment wp-att-565"><img class="aligncenter size-medium wp-image-565" title="Choix de l'emplacement du projet" src="http://cplusn.com/wp-content/uploads/2011/11/Capture-d’écran-2011-11-14-à-18.17.16-500x289.png" alt="" width="500" height="289" /></a> Cliquez sur le bouton Create : Votre projet est créé, nous allons pouvoir commencer à rentrer dans le vif du sujet&#8230;<br />
<a href="http://cplusn.com/2011/11/demarrer-avec-ios-une-application-carnet-dadresses/capture-d%e2%80%99ecran-2011-11-14-a-18-20-13/" rel="attachment wp-att-567"><img class="aligncenter size-medium wp-image-567" title="Fenêtre principale de XCode 4" src="http://cplusn.com/wp-content/uploads/2011/11/Capture-d’écran-2011-11-14-à-18.20.13-500x312.png" alt="" width="500" height="312" /></a> La suite au prochain épisode !<!--:--></p>
]]></content:encoded>
			<wfw:commentRss>http://cplusn.com/2011/11/demarrer-avec-ios-une-application-carnet-dadresses/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery Mobile 2e partie : les vues</title>
		<link>http://cplusn.com/2011/11/jquery-mobile-2e-partie-les-vues/</link>
		<comments>http://cplusn.com/2011/11/jquery-mobile-2e-partie-les-vues/#comments</comments>
		<pubDate>Tue, 01 Nov 2011 16:27:48 +0000</pubDate>
		<dc:creator>Emmanuel</dc:creator>
				<category><![CDATA[A l'affiche]]></category>
		<category><![CDATA[Développement]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Rails]]></category>

		<guid isPermaLink="false">http://cplusn.com/?p=527</guid>
		<description><![CDATA[Le précédent article de notre série sur jQuery Mobile annonçait une suite sur la gestion des vues dans jQuery. Je gère l&#8217;affichage des contacts avec un Partial qui est inséré dans la vue elle-même. On a donc la hiérarchie suivante :
Layout =&#62; Vue =&#62; Partial
Nous avons vu dans l&#8217;article précédent l&#8217;architecture du Layout, et une partie de la vue elle-même,dont le code complet est donné ci-dessous :
&#60;% content_for :back do %&#62;&#60;%= link_to t(:"general.back"),  params[:category] ? categories_path : root_path, :'data-direction'=&#62;"reverse", ...]]></description>
				<content:encoded><![CDATA[<p><!--:fr-->Le <a title="Développer pour les plateformes mobiles avec jQuery Mobile 1ère partie" href="http://cplusn.com/blog/2011/09/26/developper-pour-les-plateformes-mobiles-avec-jquery-mobile-1ere-partie/">précédent article</a> de notre série sur jQuery Mobile annonçait une suite sur la gestion des vues dans jQuery. Je gère l&rsquo;affichage des contacts avec un Partial qui est inséré dans la vue elle-même. On a donc la hiérarchie suivante :</p>
<p>Layout =&gt; Vue =&gt; Partial</p>
<p>Nous avons vu dans l&rsquo;article précédent l&rsquo;architecture du Layout, et une partie de la vue elle-même,dont le code complet est donné ci-dessous :</p>
<pre class="brush:xml">&lt;% content_for :back do %&gt;&lt;%= link_to t(:"general.back"),  params[:category] ? categories_path : root_path, :'data-direction'=&gt;"reverse", :'data-icon'=&gt;"arrow-l"  %&gt;&lt;% end %&gt;
&lt;% content_for :title do %&gt;&lt;%= params[:category] ? Category.find(params[:category]).name : t(:"contact.all") %&gt;&lt;% end %&gt;
&lt;% content_for :button do %&gt; &lt;%= link_to t(:"contact.add"), new_contact_path, :'data-icon'=&gt;"add", :rel =&gt; "external" %&gt; &lt;% end %&gt;
&lt;%= render "contacts_list" %&gt;</pre>
<pre class="brush:xml">Dans jQM, l'architecture d'une liste est la suivante :</pre>
<pre class="brush:xml">&lt;ul data-role="listview"&gt;
	&lt;li&gt;Item 1&lt;/li&gt;
	&lt;li&gt;Item 2&lt;/li&gt;
	&lt;li&gt;Item 3&lt;/li&gt;
&lt;/ul&gt;</pre>
<p>L&rsquo;adjonction du data-role &laquo;&nbsp;listview&nbsp;&raquo; à une combinaison classique ul/li permet de générer une liste dont le rendu est similaire à celui trouvé sur les applications mobiles.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><a href="http://cplusn.com/2011/11/jquery-mobile-2e-partie-les-vues/jqm-listview/" rel="attachment wp-att-548"><img class="aligncenter size-medium wp-image-548" title="Vue en liste" src="http://cplusn.com/wp-content/uploads/2011/11/jQM-ListView-227x300.png" alt="" width="227" height="300" /></a></p>
<p>Le code source du Partial est le suivant :</p>
<pre class="brush:xml">&lt;ul id="contactslist" data-role="listview"  data-filter="true" data-filter-placeholder="Filtrer la liste..." data-inset="true" class="separator"&gt;
  &lt;% @contacts.each do |contact| %&gt;
      &lt;li class="contact"&gt;&lt;%= link_to  contact.listname, contact %&gt;&lt;/li&gt;
    &lt;% end %&gt;
&lt;/ul&gt;</pre>
<p>Les paramètres passés dans le tag &lt;ul&gt; sont les suivants :</p>
<ul>
<li>data-role : doit être égal à &laquo;&nbsp;listview&nbsp;&raquo; pour être reconnu par jQM comme une liste.</li>
<li>data-filter : si positionné à TRUE, permet d&rsquo;afficher un champ de filtre au-dessus de la liste ; ne filtre que les données existant dans la liste, alors attention à la pagination !</li>
<li> data-filter-placeholder : permet de modifier le texte par défaut  affiché dans le champ de filtre.</li>
<li>data-inset : si positionné à TRUE, permet d&rsquo;avoir une liste qui ne s&rsquo;étend pas d&rsquo;un bord à l&rsquo;autre de la fenêtre, mais qui laisse un espace sur les bords de la liste ; la première et la dernière cellule voient de plus leurs bords s&rsquo;arrondir.</li>
</ul>
<p>Dans le prochain article, nous verrons la création de formulaires avec jQM. D&rsquo;ici là, n&rsquo;hésitez pas à laisser vos commentaires !<!--:--></p>
]]></content:encoded>
			<wfw:commentRss>http://cplusn.com/2011/11/jquery-mobile-2e-partie-les-vues/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss><!-- Dynamic page generated in 0.909 seconds. --><!-- Cached page generated by WP-Super-Cache on 2013-05-20 11:33:12 -->
