<?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>piouPiouM&#039;s dev&#187; Archives pour le tag Mac OS X – piouPiouM&#039;s dev</title>
	<atom:link href="http://pioupioum.fr/tag/mac-os-x/feed/" rel="self" type="application/rss+xml" />
	<link>http://pioupioum.fr</link>
	<description>Bloc-note d&#039;un développeur web</description>
	<lastBuildDate>Fri, 23 Dec 2011 23:41:36 +0000</lastBuildDate>
	
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Photon&#160;: guide d&#8217;installation sur Mac OS X Snow Leopard</title>
		<link>http://pioupioum.fr/developpement/photon-php-installer-mac-os-x-snow-leopard.html</link>
		<comments>http://pioupioum.fr/developpement/photon-php-installer-mac-os-x-snow-leopard.html#comments</comments>
		<pubDate>Sun, 27 Feb 2011 18:58:43 +0000</pubDate>
		<dc:creator>piouPiouM</dc:creator>
				<category><![CDATA[Développement Web]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Photon]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://pioupioum.fr/?p=507</guid>
		<description><![CDATA[Créé par Loïc d&#8217;Anterroches, Photon1 est un micro framework PHP distribué sous licence LGPL qui fonctionne au-dessus du serveur web Mongrel2 et du service de messagerie asynchrone ØMQ2.
Voici un petit guide d&#8217;installation pour ce framework PHP pas comme les autres.

Pré-requis

Je considère que vous disposez sur votre système d&#8217;une version de PHP 5.3 installée via macports, [...]]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p>Créé par <a href="http://xhtml.net/" title="XHTML.net by Loïc d'Anterroches">Loïc d&#8217;Anterroches</a>, <strong><a href="http://www.photon-project.com/" title="Photon, High Performance PHP Framework">Photon</a></strong><sup id="fnref:1"><a href="#fn:1" rel="footnote">1</a></sup> est un <strong>micro framework PHP</strong> distribué sous licence <a href="http://www.gnu.org/licenses/lgpl.html" title="GNU Lesser General Public License v3.0 - GNU Project - Free Software Foundation (FSF)">LGPL</a> qui fonctionne au-dessus du serveur web <strong><a href="http://mongrel2.org/" title="Mongrel2: The Language Agnostic Web Server">Mongrel2</a></strong> et du service de messagerie asynchrone <strong><a href="http://www.zeromq.org/" title="Less is More - zeromq">ØMQ</a></strong><sup id="fnref:2"><a href="#fn:2" rel="footnote">2</a></sup>.<br />
Voici un petit guide d&#8217;installation pour ce framework PHP pas comme les autres.<span id="more-507"></span></p>

<h2>Pré-requis</h2>

<p>Je considère que vous disposez sur votre système d&#8217;une version de <strong>PHP 5.3</strong> installée <em>via</em> <strong>macports</strong>, à l&#8217;aide du port <code>php5</code>.</p>

<p>Photon effectue des contrôles de processus. Pour ce faire, la présence de l&#8217;extension PHP <a href="http://www.php.net/manual/fr/book.pcntl.php">PCNTL</a> est obligatoire.<br />
Vérifiez que vous la possédez&#160;:</p>

<pre><code>$ php -i | grep pcntl
/opt/local/var/db/php5/pcntl.ini,
pcntl
pcntl support =&gt; enabled
</code></pre>

<p>Si ce n&#8217;est pas le cas, lancez une installation macports&#160;:</p>

<pre><code>$ sudo port install php5-pcntl
</code></pre>

<p><strong>Mongrel2</strong> requiert SQLite et ZeroMQ. Aussi, s&#8217;il n&#8217;est pas encore présent dans votre environnement de développement, il sera bon d&#8217;installer XDebug.<br />
Vérifiez la présence de ces pré-requis sur votre poste&#160;:</p>

<pre><code>$ port installed sqlite3 zmq php5-xdebug
The following ports are currently installed:
  php5-xdebug @2.1.0_0 (active)
  sqlite3 @3.7.5_0 (active)
  zmq @2.0.10_0 (active)
</code></pre>

<p>S&#8217;il vient à manquer des ports dans la liste ainsi générée, installez-les avec la commande <code>port install</code>&#160;:</p>

<pre><code>sudo port install zmq
</code></pre>

<p>Dans le cas où vous ne possédez aucune de ces libraires, vous pouvez les installer en une unique commande</p>

<pre><code>sudo port install sqlite3 zmq php5-xdebug php5-pcnt
</code></pre>

<h2>Installer Mongrel2 sous Mac OS X Snow Leopard</h2>

<p>Contre toute attente, au moment où cet article est rédigé, <strong>Mongrel2</strong> n&#8217;est pas disponible dans <strong>macports</strong>. Qu&#8217;à cela ne tienne, procédez à son installation depuis les sources&#160;:</p>

<pre><code>sudo port install wget
wget http://mongrel2.org/static/downloads/mongrel2-1.5.tar.bz2
tar xjvf mongrel2-1.5.tar.bz2
cd mongrel2-1.5/
sudo make clean macports install
</code></pre>

<p>L&#8217;option <code>macports</code> du Makefile ne signifie par que <strong>Mongrel2</strong> s&#8217;installera dans l&#8217;environnement de macports, mais qu&#8217;il va utiliser les libraires disponibles depuis cet environnement (soit généralement <code>/opt/local/</code>). Le binaire est généré dans le répertoire <code>/usr/local/bin/</code>&#160;:</p>

<pre><code>which m2sh
/usr/local/bin/m2sh
</code></pre>

<h2>Installer Photon</h2>

<p>L&#8217;installation de <strong>Photon</strong> est des plus simple. En effet, tout passe par <a href="http://dist.photon-project.com/" title="Photon Distribution Channel">PEAR</a>.</p>

<p>Commencez par déclarer les canaux du projet Photon, de l&#8217;extension PHP pour <strong>ØMQ</strong> puis ceux de PHPUnit
et ses dépendances&#160;:</p>

<pre><code>sudo pear channel-discover dist.photon-project.com
sudo pear channel-discover pear.zero.mq
sudo pear channel-discover pear.phpunit.de
sudo pear channel-discover pear.symfony-project.com
sudo pear channel-discover components.ez.no
</code></pre>

<p>N&#8217;ayez aucune inquiétude quant à la présence des dépendances Symfony et eZ Publish. Ces dernières sont requises par <strong>PHPUnit</strong> qui n&#8217;y récupérera qu&#8217;un nombre limité de composants (comme le parser YAML de Symfony) et n&#8217;ira pas vous installer les 2 solutions dans leur intégralité.</p>

<p>Il ne vous reste plus qu&#8217;à lancer l&#8217;installation proprement dite de <strong>Photon</strong>&#160;:</p>

<pre><code>sudo pear install --alldeps photon/photon-alpha
sudo sh -c 'echo "extension=http.so" &gt; /opt/local/var/db/php5/http.ini'
sudo sh -c 'echo "extension=zmq.so" &gt; /opt/local/var/db/php5/zmq.ini'    
</code></pre>

<h3>Tester votre installation de Photon</h3>

<p>L&#8217;installation terminée, Photon est accessible par la commande <code>hnu</code><sup id="fnref:3"><a href="#fn:3" rel="footnote">3</a></sup>. Afin de vous en assurer, lancez simplement sa propre batterie de tests unitaires, comme suit&#160;:</p>

<pre><code>hnu selftest
</code></pre>

<h3>Could not open input file: /usr/share/php/photon.php</h3>

<p>Si vous rencontrez l&#8217;erreur <code>Could not open input file: /usr/share/php/photon.php</code> c&#8217;est que vous utilisez une version de Photon inférieure ou égale à 0.0.5. Si à l&#8217;heure où je rédige ces lignes la version 0.0.6 de Photon n&#8217;est pas disponible, exécutez l&#8217;ensemble des commandes ci-dessous pour fixer le problème&#160;:</p>

<pre><code>cd ~/Downloads/
wget -O hnu.diff http://projects.ceondo.com/p/photon/source/ddiff/9acba649ae355aaf4b365a1f639961336ae6a323/
sudo patch --no-backup-if-mismatch -i hnu.diff `pear config-get bin_dir`/hnu
rm hnu.diff
cd -
</code></pre>

<h2>Mettre à jour Photon</h2>

<p>Encore une fois, la procédure est des plus simple grâce à PEAR&#160;:</p>

<pre><code>$ sudo pear update-channels
Update of Channel "dist.photon-project.com" succeeded
$ sudo pear upgrade photon/photon-alpha
downloading photon-0.0.5.tgz ...
Starting to download photon-0.0.5.tgz (3,937,334 bytes)
...........................................................................done: 3,937,334 bytes
upgrade ok: channel://dist.photon-project.com/photon-0.0.5
</code></pre>

<h2>Accéder aux sources de Photon</h2>

<p>Vous pouvez accéder en local aux sources de Photon dans le répertoire <code>/opt/local/lib/php</code>. Avec TextMate par exemple&#160;:</p>

<pre><code>mate -a `pear config-get php_dir`/photon*
</code></pre>

<p>Autrement, vous pouvez directement accéder aux sources du projet par la <a href="http://projects.ceondo.com/p/photon/source/tree/develop/" title="Photon Git Source Tree - The High Speed PHP Framework">forge Indefero du projet</a>.</p>

<h3 class='related_post_title'>Continuez votre lecture sur des sujets similaires</h3>

<ul class='related_post'><li><a href='http://pioupioum.fr/snippets/php-installer-apc-macosx.html' title='PHP : installer APC sous Mac OS X Leopard'>PHP&#160;: installer APC sous Mac OS X Leopard</a></li><li><a href='http://pioupioum.fr/snippets/wordpress-create-shortcode-class.html' title='WordPress : une classe abstraite pour aider la création de shortcodes'>WordPress&#160;: une classe abstraite pour aider la création de shortcodes</a></li><li><a href='http://pioupioum.fr/snippets/textmate-commande-exporter-mots-word-wrap.html' title='TextMate : commande &laquo;&nbsp;Export words&nbsp;&raquo;'>TextMate&#160;: commande &laquo;&nbsp;Export words&nbsp;&raquo;</a></li><li><a href='http://pioupioum.fr/snippets/php-convertir-datetime-unix-timestamp.html' title='PHP : convertir un DATETIME en un timestamp UNIX'>PHP&#160;: convertir un DATETIME en un timestamp UNIX</a></li><li><a href='http://pioupioum.fr/snippets/php-uncamel-fonction-convertir-camel-case.html' title='PHP : fonction uncamel() pour inverser une notation en CamelCase'>PHP&#160;: fonction uncamel() pour inverser une notation en CamelCase</a></li></ul>

<div class="footnotes">
<hr />
<ol>

<li id="fn:1">
<p>Pour la petite histoire, j&#8217;ai donné son petit nom au framework \o/&#160;<a href="#fnref:1" rev="footnote">&#8617;</a></p>
</li>

<li id="fn:2">
<p>Lire ZeroMQ. S&#8217;écrit également ZeroMQ, 0MQ ou ZMQ.&#160;<a href="#fnref:2" rev="footnote">&#8617;</a></p>
</li>

<li id="fn:3">
<p>le nom de la commande <code>hnu</code> vient de &#x210E;&nu;, la notation des <a href="http://fr.wikipedia.org/wiki/Photon" title="Photon - Wikipédia">photons</a> en chimie et en optique.&#160;<a href="#fnref:3" rev="footnote">&#8617;</a></p>
</li>

</ol>
</div>
<!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://pioupioum.fr/developpement/photon-php-installer-mac-os-x-snow-leopard.html/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>PHP&#160;: installer APC sous Mac OS X Leopard</title>
		<link>http://pioupioum.fr/snippets/php-installer-apc-macosx.html</link>
		<comments>http://pioupioum.fr/snippets/php-installer-apc-macosx.html#comments</comments>
		<pubDate>Thu, 06 May 2010 18:47:30 +0000</pubDate>
		<dc:creator>piouPiouM</dc:creator>
				<category><![CDATA[Snippets]]></category>
		<category><![CDATA[APC]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[sysadmin]]></category>

		<guid isPermaLink="false">http://pioupioum.fr/?p=376</guid>
		<description><![CDATA[Sous Mac OS X Leopard, l&#8217;installation du système de cache APC via PECL est en carton. Pour faire simple, l&#8217;extension n&#8217;est disponible que pour la version CLI de PHP.

Il est cependant possible d&#8217;y remédier1 et ainsi disposer d&#8217;APC avec la configuration de base fourni par Apple.

Récupérer la dernière version d&#8217;APC

$ curl http://pecl.php.net/get/APC -o ~/Downloads/APC-latest.tgz
$ tar [...]]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p>Sous Mac OS X Leopard, l&#8217;installation du système de cache <a href="http://php.net/manual/fr/book.apc.php" title="PHP: APC - Manual">APC</a> <em>via</em> <a href="http://pecl.php.net/" title="PECL :: The PHP Extension Community Library">PECL</a> est en carton. Pour faire simple, l&#8217;extension n&#8217;est disponible que pour la version CLI de PHP.</p>

<p>Il est cependant possible d&#8217;y remédier<sup id="fnref:1"><a href="#fn:1" rel="footnote">1</a></sup> et ainsi disposer d&#8217;<strong>APC</strong> avec la configuration de base fourni par Apple.</p>

<h2>Récupérer la dernière version d&#8217;APC</h2>

<pre>$ curl http://pecl.php.net/get/APC -o ~/Downloads/APC-latest.tgz
$ tar -zxf !$ -C ~/Downloads/
$ cd ~/Downloads/APC-3.1.3p1/</pre>

<p>La version utilisée ici est la 3.1.3p1.</p>

<h2>Préparer l&#8217;environnement de compilation</h2>

<pre>$ /usr/bin/phpize
Configuring for:
PHP Api Version:         20041225
Zend Module Api No:      20060613
Zend Extension Api No:   220060519</pre>

<p><span id="more-376"></span></p>

<h2>Lancer la compilation</h2>

<p>Copier-coller dans la commande qui suit dans son intégralité. Attention à ne pas inclure de retours à la ligne.</p>

<pre>MACOSX_DEPLOYMENT_TARGET=10.5 CFLAGS="-arch ppc -arch ppc64 -arch i386 -arch x86_64 -g -Os -pipe -no-cpp-precomp" CCFLAGS="-arch ppc -arch ppc64 -arch i386 -arch x86_64 -g -Os -pipe" CXXFLAGS="-arch ppc -arch ppc64 -arch i386 -arch x86_64 -g -Os -pipe" LDFLAGS="-arch ppc -arch ppc64 -arch i386 -arch x86_64 -bind_at_load" ./configure</pre>

<p>Puis un coup de <code>make</code>&#160;:</p>

<pre>$ make
...
----------------------------------------------------------------------
Libraries have been installed in:
   /Users/mehdi/Downloads/APC-3.1.3p1/modules

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `DYLD_LIBRARY_PATH' environment variable
     during execution

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------

Build complete.
Don't forget to run 'make test'.</pre>

<p>Et pour finir, on installe l&#8217;extension APC.</p>

<pre>$ sudo make install
Installing shared extensions:     /usr/lib/php/extensions/no-debug-non-zts-20060613/</pre>

<h2>Activer l&#8217;extension APC pour PHP</h2>

<p>Éditer le fichier <code>php.ini</code> pour ajouter la configuration qui suit&#160;:</p>


<div class="wp_syntax"><div class="code"><pre class="ini" style="font-family:monospace;"><span style="color: #000099;">extension</span> <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> apc.so</span>
apc.enabled <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> 1</span>
apc.enable_cli <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> 1</span>
apc.mmap_file_mask <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> /tmp/apc.XXXXXX</span>
apc.num_files_hint <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> 1024</span>
apc.shm_segments <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> 1</span>
apc.shm_size <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> 128</span>
apc.ttl <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> 7200</span>
apc.user_ttl <span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;"> 7200</span></pre></div></div>


<p>Relancer Apache pour qu&#8217;il prenne en compte la nouvelle extension.</p>

<h3 class='related_post_title'>Continuez votre lecture sur des sujets similaires</h3>

<ul class='related_post'><li><a href='http://pioupioum.fr/developpement/photon-php-installer-mac-os-x-snow-leopard.html' title='Photon : guide d&#8217;installation sur Mac OS X Snow Leopard'>Photon&#160;: guide d&#8217;installation sur Mac OS X Snow Leopard</a></li><li><a href='http://pioupioum.fr/developpement/compass-rvm-multiple-instances.html' title='Instances multiples de Compass avec Ruby Version Manager (rvm)'>Instances multiples de Compass avec Ruby Version Manager (rvm)</a></li><li><a href='http://pioupioum.fr/snippets/wordpress-create-shortcode-class.html' title='WordPress : une classe abstraite pour aider la création de shortcodes'>WordPress&#160;: une classe abstraite pour aider la création de shortcodes</a></li><li><a href='http://pioupioum.fr/snippets/textmate-commande-exporter-mots-word-wrap.html' title='TextMate : commande &laquo;&nbsp;Export words&nbsp;&raquo;'>TextMate&#160;: commande &laquo;&nbsp;Export words&nbsp;&raquo;</a></li><li><a href='http://pioupioum.fr/snippets/php-convertir-datetime-unix-timestamp.html' title='PHP : convertir un DATETIME en un timestamp UNIX'>PHP&#160;: convertir un DATETIME en un timestamp UNIX</a></li></ul>

<div class="footnotes">
<hr />
<ol>

<li id="fn:1">
<p>Source&#160;: <a href="http://discussions.apple.com/thread.jspa?threadID=1578979" title="Apple - Support - Discussions - Entropy php5 with GD support and APC ...">Forum du support Apple</a>.&#160;<a href="#fnref:1" rev="footnote">&#8617;</a></p>
</li>

</ol>
</div>
<!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://pioupioum.fr/snippets/php-installer-apc-macosx.html/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Convertir une icône ICNS en une image PNG</title>
		<link>http://pioupioum.fr/snippets/convertir-icone-icns-png.html</link>
		<comments>http://pioupioum.fr/snippets/convertir-icone-icns-png.html#comments</comments>
		<pubDate>Mon, 14 Dec 2009 21:01:57 +0000</pubDate>
		<dc:creator>piouPiouM</dc:creator>
				<category><![CDATA[Snippets]]></category>
		<category><![CDATA[icônes]]></category>
		<category><![CDATA[images]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[outil]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://pioupioum.fr/?p=268</guid>
		<description><![CDATA[Il m&#8217;a récemment1 fallu convertir une icône mac au format ICNS2 en une image au format  PNG. C&#8217;est ainsi que l&#8217;outil méconnu sips disponible dès Mac OS X 10.3&#160;m&#8217;est venu en aide o/


sips -s format png -s formatOptions best -Z 64 /chemin/vers/icone.icns --out /chemin/vers/icone-64.png


Petites explications&#160;:


-s format png pour spécifier le format de sortie PNG.
-s [...]]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p>Il m&#8217;a récemment<sup id="fnref:1"><a href="#fn:1" rel="footnote">1</a></sup> fallu convertir une icône <strong>mac</strong> au format <strong><a href="http://en.wikipedia.org/wiki/Apple_Icon_Image" title="Apple Icon Image - Wikipedia, the free encyclopedia">ICNS</a></strong><sup id="fnref:2"><a href="#fn:2" rel="footnote">2</a></sup> en une image au format  <strong><a href="http://fr.wikipedia.org/wiki/Portable_Network_Graphics" title="Portable Network Graphics - Wikipédia">PNG</a></strong>. C&#8217;est ainsi que l&#8217;outil méconnu <a href="http://developer.apple.com/Mac/library/documentation/Darwin/Reference/ManPages/man1/sips.1.html" title="Mac OS X Manual Page For sips(1)">sips</a> disponible dès Mac OS X 10.3&#160;m&#8217;est venu en aide o/</p>


<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">sips <span style="color: #660033;">-s</span> format png <span style="color: #660033;">-s</span> formatOptions best <span style="color: #660033;">-Z</span> <span style="color: #000000;">64</span> <span style="color: #000000; font-weight: bold;">/</span>chemin<span style="color: #000000; font-weight: bold;">/</span>vers<span style="color: #000000; font-weight: bold;">/</span>icone.icns <span style="color: #660033;">--out</span> <span style="color: #000000; font-weight: bold;">/</span>chemin<span style="color: #000000; font-weight: bold;">/</span>vers<span style="color: #000000; font-weight: bold;">/</span>icone-64.png</pre></div></div>


<p>Petites explications&#160;:</p>

<ul>
<li><code>-s format png</code> pour spécifier le format de sortie PNG.</li>
<li><code>-s formatOptions best</code> permet d&#8217;obtenir la meilleure qualité d&#8217;image bitmap.</li>
<li><code>-Z 64</code> sert à préciser les dimensions maximales du fichier de destination. Ici, l&#8217;icône .icns sera convertie en un .png de 64px de côtés.</li>
</ul>

<p>Comme vous pourrez le lire dans le man de l&#8217;outil <code>sips</code>, ce dernier supporte en sortie les formats  jpeg, tiff, png, gif, jp2, pict, bmp, qtif, psd, sgi et tga.</p>

<h3 class='related_post_title'>Continuez votre lecture sur des sujets similaires</h3>

<ul class='related_post'><li><a href='http://pioupioum.fr/snippets/leopard-rechercher-nom-reel-utilisateur.html' title='Rechercher le nom réel d&#8217;un utilisateur sous Leopard'>Rechercher le nom réel d&#8217;un utilisateur sous Leopard</a></li><li><a href='http://pioupioum.fr/developpement/photon-php-installer-mac-os-x-snow-leopard.html' title='Photon : guide d&#8217;installation sur Mac OS X Snow Leopard'>Photon&#160;: guide d&#8217;installation sur Mac OS X Snow Leopard</a></li><li><a href='http://pioupioum.fr/snippets/php-installer-apc-macosx.html' title='PHP : installer APC sous Mac OS X Leopard'>PHP&#160;: installer APC sous Mac OS X Leopard</a></li><li><a href='http://pioupioum.fr/snippets/bash-convertir-string-to-integer.html' title='Bash : convertir un string en entier'>Bash&#160;: convertir un string en entier</a></li><li><a href='http://pioupioum.fr/outils-astuces/wordpress-recuperation-avancee-images-article.html' title='WordPress : récupération avancée des images d&#8217;un article'>WordPress&#160;: récupération avancée des images d&#8217;un article</a></li></ul>

<div class="footnotes">
<hr />
<ol>

<li id="fn:1">
<p>enfin c&#8217;est vite dit, cela fait maintenant plusieurs mois mais l&#8217;idée de noter la commande ici n&#8217;est venu que récemment =]&#160;<a href="#fnref:1" rev="footnote">&#8617;</a></p>
</li>

<li id="fn:2">
<p>si l&#8217;icône se trouve être celle d&#8217;une application, vous la trouverez généralement dans le répertoire <code>Application.app/Contents/Resources/</code>.&#160;<a href="#fnref:2" rev="footnote">&#8617;</a></p>
</li>

</ol>
</div>
<!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://pioupioum.fr/snippets/convertir-icone-icns-png.html/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Rechercher le nom réel d&#8217;un utilisateur sous Leopard</title>
		<link>http://pioupioum.fr/snippets/leopard-rechercher-nom-reel-utilisateur.html</link>
		<comments>http://pioupioum.fr/snippets/leopard-rechercher-nom-reel-utilisateur.html#comments</comments>
		<pubDate>Thu, 06 Aug 2009 21:41:31 +0000</pubDate>
		<dc:creator>piouPiouM</dc:creator>
				<category><![CDATA[Snippets]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://pioupioum.fr/?p=183</guid>
		<description><![CDATA[Sous Mac OS X 10.4 (ou Tiger) et versions antérieures, la lecture du nom réel d&#8217;un utilisateur pouvait se faire à l&#8217;aide de l&#8217;utilitaire niutil&#160;:


mehdi@localhost:~$ niutil -readprop / &#34;/users/$USER&#34; realname
Mehdi Kabab


Mais le passage à Mac OS X 10.5&#160;aka Leopard s&#8217;est fait sans lui. En effet, le gestionnaire NetInfo (dont niutil est un utilitaire) a disparu [...]]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p>Sous Mac OS X 10.4 (ou <strong>Tiger</strong>) et versions antérieures, la lecture du nom réel d&#8217;un utilisateur pouvait se faire à l&#8217;aide de l&#8217;utilitaire <strong><a href="http://support.apple.com/kb/TA25212" title="Mac OS X Server: niutil Utility">niutil</a></strong>&#160;:</p>


<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">mehdi<span style="color: #000000; font-weight: bold;">@</span>localhost:~$ niutil <span style="color: #660033;">-readprop</span> <span style="color: #000000; font-weight: bold;">/</span> <span style="color: #ff0000;">&quot;/users/<span style="color: #007800;">$USER</span>&quot;</span> realname
Mehdi Kabab</pre></div></div>


<p>Mais le passage à Mac OS X 10.5&#160;<em>aka</em> <strong>Leopard</strong> s&#8217;est fait sans lui. En effet, le gestionnaire <a href="http://en.wikipedia.org/wiki/NetInfo_Manager" title="NetInfo Manager - Wikipedia, the free encyclopedia">NetInfo</a> (dont <strong>niutil</strong> est un utilitaire) a disparu du système. Il nous faut désormais recourir à l&#8217;outil <strong><a href="http://developer.apple.com/documentation/Darwin/Reference/ManPages/man1/dscl.1.html" title="Mac OS X
 Manual Page For dscl(1)">dscl</a></strong>.<br />
Ainsi, sous Leopard, le nom réel d&#8217;un utilisateur se récupère de la sorte&#160;:</p>


<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">dscl . <span style="color: #660033;">-read</span> <span style="color: #000000; font-weight: bold;">/</span>Users<span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$USER</span> RealName <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">awk</span> <span style="color: #ff0000;">'!/RealName/ {sub(&quot; &quot;,&quot;&quot;); print $0}'</span></pre></div></div>


<p>Si vous souhaitez rendre cette commande compatible Mac OS X 10.4 et 10.5, utilisez la version qui suit&#160;:</p>


<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">dscl . <span style="color: #660033;">-read</span> <span style="color: #000000; font-weight: bold;">/</span>Users<span style="color: #000000; font-weight: bold;">/</span><span style="color: #007800;">$USER</span> RealName <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">tr</span> <span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span> <span style="color: #ff0000;">' '</span> <span style="color: #000000; font-weight: bold;">|</span> <span style="color: #c20cb9; font-weight: bold;">sed</span> <span style="color: #660033;">-E</span> <span style="color: #ff0000;">&quot;s/^RealName:[ ]+//;s/[ ]+$//&quot;</span></pre></div></div>


<h3 class='related_post_title'>Continuez votre lecture sur des sujets similaires</h3>

<ul class='related_post'><li><a href='http://pioupioum.fr/snippets/convertir-icone-icns-png.html' title='Convertir une icône ICNS en une image PNG'>Convertir une icône ICNS en une image PNG</a></li><li><a href='http://pioupioum.fr/developpement/photon-php-installer-mac-os-x-snow-leopard.html' title='Photon : guide d&#8217;installation sur Mac OS X Snow Leopard'>Photon&#160;: guide d&#8217;installation sur Mac OS X Snow Leopard</a></li><li><a href='http://pioupioum.fr/snippets/php-installer-apc-macosx.html' title='PHP : installer APC sous Mac OS X Leopard'>PHP&#160;: installer APC sous Mac OS X Leopard</a></li><li><a href='http://pioupioum.fr/snippets/bash-convertir-string-to-integer.html' title='Bash : convertir un string en entier'>Bash&#160;: convertir un string en entier</a></li><li><a href='http://pioupioum.fr/outils-astuces/textmate-css-selection-unicode.html' title='TextMate : bundle CSS, commande &quot;Convertir la sélection en Unicode&quot;'>TextMate&#160;: bundle CSS, commande &quot;Convertir la sélection en Unicode&quot;</a></li></ul>
<!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://pioupioum.fr/snippets/leopard-rechercher-nom-reel-utilisateur.html/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>TextMate&#160;: bundle CSS, commande &quot;Convertir la sélection en Unicode&quot;</title>
		<link>http://pioupioum.fr/outils-astuces/textmate-css-selection-unicode.html</link>
		<comments>http://pioupioum.fr/outils-astuces/textmate-css-selection-unicode.html#comments</comments>
		<pubDate>Fri, 31 Jul 2009 12:02:35 +0000</pubDate>
		<dc:creator>piouPiouM</dc:creator>
				<category><![CDATA[Outils, trucs et astuces]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[TextMate]]></category>

		<guid isPermaLink="false">http://pioupioum.fr/outils-astuces/textmate-css-selection-unicode.html</guid>
		<description><![CDATA[La propriété CSS content qui s&#8217;utilise de concert avec les sélecteurs :before ou :after, sert essentiellement pour enrichir1 le rendu d&#8217;un contenu HTML existant. Pratique, ajouter un petit en rythme après le texte «&#160;j&#8217;aime coder&#160;» ne pose aucun problème. Cependant, si nous sommes amenés à insérer des caractères non-ASCII ça se complique.


Chercher la représentation Unicode [...]]]></description>
			<content:encoded><![CDATA[<!-- google_ad_section_start --><p>La propriété CSS <code>content</code> qui s&#8217;utilise de concert avec les sélecteurs <code>:before</code> ou <code>:after</code>, sert essentiellement pour enrichir<sup id="fnref:1"><a href="#fn:1" rel="footnote">1</a></sup> le rendu d&#8217;un contenu HTML existant. Pratique, ajouter un petit <code>en rythme</code> après le texte «&#160;j&#8217;aime coder&#160;» ne pose aucun problème. Cependant, si nous sommes amenés à insérer des caractères non-ASCII ça se complique.
<span id="more-148"></span></p>

<h2 id="unicode">Chercher la représentation Unicode d&#8217;un caractère</h2>

<p>La représentation <a href="http://fr.wikipedia.org/wiki/Unicode" title="Unicode - Wikipédia">Unicode</a> d&#8217;un caractère peut se trouver de plusieurs manières&#160;:</p>

<ul>
<li>en perdant son temps dans la <a href="http://fr.wikipedia.org/wiki/Table_des_caract%C3%A8res_Unicode" title="Table des caractères Unicode - Wikipédia">table des caractères Unicode</a>&#160;;</li>
<li>en s&#8217;aidant d&#8217;une <a href="https://addons.mozilla.org/fr/firefox/addon/5235" title="Unicode Input Tool/Converter – Modules pour Firefox">extension Firefox</a> <em>sic</em>&#160;;</li>
<li><em>via</em> la palette des caractères de Mac OS X, en survolant le caractère à insérer. Son code Unicode s&#8217;affiche alors dans l&#8217;infobulle.</li>
</ul>

<p><div id="attachment_150" class="wp-caption aligncenter" style="width: 500px"><img src="http://assets1.pioupioum.fr/uploads/2009/07/palette-caracteres-unicode.jpg" alt="Palette des caractères" /><p class="wp-caption-text">Affichage de la représentation Unicode d&#8217;un caractère.</p></div></p>

<p>Dans notre feuille de styles, nous insérons le nombre héxadécimal récupéré préfixé du caractère d&#8217;échappement <code>\</code>, sans oublier de supprimer toute pollution comme <code>0x0</code>. Nous obtiendrons ainsi&#160;:</p>

<ul>
<li>&#x266B;&#160;: \266b</li>
<li>&#x2318;&#160;: \2318</li>
</ul>

<p>Ce qui se traduit dans une CSS par&#160;:</p>


<div class="wp_syntax"><div class="code"><pre class="css" style="font-family:monospace;">a<span style="color: #3333ff;">:after </span><span style="color: #00AA00;">&#123;</span>
  <span style="color: #000000; font-weight: bold;">content</span><span style="color: #00AA00;">:</span><span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\2</span>66b&quot;</span><span style="color: #00AA00;">;</span>
<span style="color: #00AA00;">&#125;</span></pre></div></div>


<p>Nous arrivons à nos fins, mais ne pourrait-on pas accélérer le processus&#160;?</p>

<h2 id="download">Un coup de TextMate</h2>

<p>Rien de plus simple avec TextMate. Téléchargez et décompressez l&#8217;archive qui suit<sup id="fnref:2"><a href="#fn:2" rel="footnote">2</a></sup>. Double-cliquez sur le fichier <code>tmCommand</code> pour l&#8217;installer.</p>

<div class="box textmate-command">
    <a href="http://assets1.pioupioum.fr/uploads/2009/07/Convert_Selection_to_Unicode-command.zip" title="Télécharger"><span>Convert Selection to Unicode.tmCommand (659 octets)</span></a>
</div>

<p>La nouvelle commande <strong>Convert Selection to Unicode</strong> est maintenant disponible dans le bundle CSS et s&#8217;active par le raccourci clavier <kbd>&#x2303;&#x21E7;X</kbd> sur tout caractère ou texte sélectionné.</p>

<h2 id="astuce">Une astuce pour la route</h2>

<p>L&#8217;espace insécable (entité caractère <code>&amp;nbsp;</code>) s&#8217;insère au clavier <em>via</em> le raccourci clavier <kbd>&#x2325; + Espace</kbd> et a pour représentation Unicode <code>\A0</code>.</p>

<h3 id="ressources">Ressources</h3>

<ul>
<li>Blog &amp; Blues&#160;: <a href="http://www.blog-and-blues.org/weblog/2005/02/19/391" title="Feuilles de style, jeux et codage de caractères février 2005 Weblog -  Blog &amp; Blues">Feuilles de style, jeux et codage de caractères</a>.</li>
<li>nanoum blog&#160;: <a href="http://www.nanoum.net/blog/5_before_et_after.html" title="before et after - css - nanoum blog">before et after</a></li>
</ul>

<h3 class='related_post_title'>Continuez votre lecture sur des sujets similaires</h3>

<ul class='related_post'><li><a href='http://pioupioum.fr/developpement/compass-sprites-supprimer-cache-buster.html' title='Compass : supprimer le cache buster des sprites'>Compass&#160;: supprimer le cache buster des sprites</a></li><li><a href='http://pioupioum.fr/developpement/compass-rvm-multiple-instances.html' title='Instances multiples de Compass avec Ruby Version Manager (rvm)'>Instances multiples de Compass avec Ruby Version Manager (rvm)</a></li><li><a href='http://pioupioum.fr/developpement/photon-php-installer-mac-os-x-snow-leopard.html' title='Photon : guide d&#8217;installation sur Mac OS X Snow Leopard'>Photon&#160;: guide d&#8217;installation sur Mac OS X Snow Leopard</a></li><li><a href='http://pioupioum.fr/outils-astuces/license-helper-textmate-bundle.html' title='Bundle License Helper pour TextMate'>Bundle License Helper pour TextMate</a></li><li><a href='http://pioupioum.fr/snippets/textmate-commande-exporter-mots-word-wrap.html' title='TextMate : commande &laquo;&nbsp;Export words&nbsp;&raquo;'>TextMate&#160;: commande &laquo;&nbsp;Export words&nbsp;&raquo;</a></li></ul>

<div class="footnotes">
<hr />
<ol>

<li id="fn:1">
<p>et non pour générer un contenu indispensable à la compréhension de la page.&#160;<a href="#fnref:1" rev="footnote">&#8617;</a></p>
</li>

<li id="fn:2">
<p>la commande est également disponible sous la forme d&#8217;un <a href="http://gist.github.com/159193" title="gist: 159193 - GitHub">Gist</a>.&#160;<a href="#fnref:2" rev="footnote">&#8617;</a></p>
</li>

</ol>
</div>
<!-- google_ad_section_end -->]]></content:encoded>
			<wfw:commentRss>http://pioupioum.fr/outils-astuces/textmate-css-selection-unicode.html/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

