<?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>Docs Jmini &#187; terminal</title>
	<atom:link href="http://docs.jmini.fr/mot-cle/terminal/feed" rel="self" type="application/rss+xml" />
	<link>http://docs.jmini.fr</link>
	<description>docs.jmini.fr</description>
	<lastBuildDate>Thu, 18 Feb 2010 09:47:54 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Réglages PHP sous Mac OS X</title>
		<link>http://docs.jmini.fr/memo/reglages-php-mac-osx</link>
		<comments>http://docs.jmini.fr/memo/reglages-php-mac-osx#comments</comments>
		<pubDate>Mon, 21 Sep 2009 13:39:57 +0000</pubDate>
		<dc:creator>Jérémie Bresson</dc:creator>
				<category><![CDATA[Memo]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[terminal]]></category>

		<guid isPermaLink="false">http://docs.jmini.fr/?p=97</guid>
		<description><![CDATA[En plus des réglages pour , j&#8217;ai modifié le fichier quelques réglages dans le fichier de configuration de PHP (php.ini).
Dans Mac OS X, ce fichier est à l&#8217;adresse : /private/etc/php.ini
Pour avec le super utilisateur, taper dans le terminal :
error_reporting
Par défaut, PHP est configuré pour afficher toutes les erreurs sans les remarques et avertissements (non fatales) [...]]]></description>
			<content:encoded><![CDATA[<p>En plus des réglages pour <a href="http://docs.jmini.fr/notes/mac-os-x-un-serveur-lamp" title="Mac OS X : un serveur LAMP ?">utiliser PHP sous Mac OS X</a>, j&#8217;ai modifié le fichier quelques réglages dans le fichier de configuration de PHP (php.ini).<br />
Dans Mac OS X, ce fichier est à l&#8217;adresse : <strong>/private/etc/php.ini</strong></p>
<p>Pour<a href="http://docs.jmini.fr/notes/editer-fichier-texte-terminal" title="Éditer un fichier texte avec le terminal"> éditer le fichier dans le terminal</a> avec le super utilisateur, taper dans le terminal :<br />
<div class="markCode"><div class="boxCode"><code>sudo nano /private/etc/php.ini</code></div></div></p>
<h3>error_reporting</h3>
<p>Par défaut, PHP est configuré pour afficher toutes les erreurs sans les remarques et avertissements (non fatales) :<br />
<div class="markCode"><div class="boxCode"><code>error_reporting = E_ALL &#038; ~E_NOTICE</code></div></div></p>
<p>Suivant les conseils donnés dans <a href="http://alexandre.alapetite.fr/doc-alex/apache-php/apache2-php5.html" title="Configuration Apache2.2 PHP5.2 - Doc Alex">cet article</a>, j&#8217;ai passé la ligne d&#8217;error_reporting à :<br />
<div class="markCode"><div class="boxCode"><code>error_reporting = E_ALL | E_STRICT</code></div></div></p>
<p>Ce réglage permet selon moi de mieux débugguer son code (en effet, souvent les avertissements donnés sont justifiés et je n&#8217;aime pas l&#8217;aspect trop permissif de PHP &#8211; comme le fait de pouvoir utilisé une variable non initialisée par exemple).</p>
]]></content:encoded>
			<wfw:commentRss>http://docs.jmini.fr/memo/reglages-php-mac-osx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Passer des arguments à un script PHP</title>
		<link>http://docs.jmini.fr/notes/passer-arguments-script-php</link>
		<comments>http://docs.jmini.fr/notes/passer-arguments-script-php#comments</comments>
		<pubDate>Wed, 19 Aug 2009 20:02:39 +0000</pubDate>
		<dc:creator>Jérémie Bresson</dc:creator>
				<category><![CDATA[Notes]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[terminal]]></category>

		<guid isPermaLink="false">http://docs.jmini.fr/?p=91</guid>
		<description><![CDATA[J’ai déjà expliqué comment exécuter un script PHP en ligne de commande (). Comme pour beaucoup d’autres langages, il est possible de passer des arguments à un script PHP.
Deux variables sont accessibles dans le script :

$argc : est un entier qui contient le nombre de paramètres.
$argv : est un tableau qui contient les différentes variables.

À noter [...]]]></description>
			<content:encoded><![CDATA[<p>J’ai déjà expliqué comment exécuter un script PHP en ligne de commande (<a href="http://docs.jmini.fr/notes/rendre-executable-terminal" title="Rendre un fichier exécutable dans le terminal">Rendre un fichier exécutable dans le terminal</a>). Comme pour beaucoup d’autres langages, il est possible de passer des arguments à un script PHP.</p>
<p>Deux variables sont accessibles dans le script :</p>
<ul>
<li><strong>$argc</strong> : est un entier qui contient le nombre de paramètres.</li>
<li><strong>$argv</strong> : est un tableau qui contient les différentes variables.</li>
</ul>
<p>À noter que le nom du script constitue la première variable.<br />
On a donc toujours :</p>
<ul>
<li><strong>$argv</strong> au moins égal à un.</li>
<li><strong>$argc[0]</strong> contient le chemin appelé.</li>
</ul>
<p><strong>$argc[0]</strong> est égal à <strong>$_SERVER['PHP_SELF']</strong></p>
<p>La variable $argv peut servir à vérifier que le nombre d’arguments correspond au nombre attendu. Si ce n’est pas le cas, on pourra bloquer le script avec la fonction <strong>exit()</strong> en indiquant la syntaxe attendue.</p>
<p>Un exemple d’un tel script est donné dans <a href="http://docs.jmini.fr/code/php-conversion-code-couleur" title="PHP : Conversion code couleur">ce script de conversion d&#8217;une couleur RGB en code hexadécimal</a>.</p>
<p>En savoir plus :</p>
<ul>
<li><a href="http://www.php.net/manual/fr/features.commandline.php" title="PHP: Utiliser PHP en ligne de commande - Manual">(Manuel PHP) Utiliser PHP en ligne de commande</a></li>
<li><a href="http://fr.php.net/manual/fr/function.exit.php" title="PHP: exit - Manual">(Manuel PHP) la fonction exit</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://docs.jmini.fr/notes/passer-arguments-script-php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rendre un fichier exécutable dans le terminal</title>
		<link>http://docs.jmini.fr/notes/rendre-executable-terminal</link>
		<comments>http://docs.jmini.fr/notes/rendre-executable-terminal#comments</comments>
		<pubDate>Mon, 20 Oct 2008 15:30:34 +0000</pubDate>
		<dc:creator>Jérémie Bresson</dc:creator>
				<category><![CDATA[Notes]]></category>
		<category><![CDATA[terminal]]></category>

		<guid isPermaLink="false">http://docs.jmini.fr/?p=50</guid>
		<description><![CDATA[Pour la réponse longue et pour ceux qui maîtrisent mal le terminal, voici à l&#8217;aide d&#8217;un exemple, comment créer un script simple (en PHP) puis comment le rendre exécutable.
On pourra également lire 
Créer le script
ligne sha-bang
Un script n&#8217;est rien de plus qu&#8217;un fichier texte, écrit dans un des langages compatibles (sh, bash, perl, python, ruby, [...]]]></description>
			<content:encoded><![CDATA[<div class="markNote"><blockquote><strong>Réponse rapide :</strong><br />
Pour rendre un fichier exécutable, il suffit de taper dans le terminal <strong>chmod +x chemin_vers_le_script</strong></blockquote></div>
<p>Pour la réponse longue et pour ceux qui maîtrisent mal le terminal, voici à l&#8217;aide d&#8217;un exemple, comment créer un script simple (en PHP) puis comment le rendre exécutable.<br />
On pourra également lire <a href="http://docs.jmini.fr/pas-a-pas/se-servir-de-awk-dans-mac-os-x" title="Se servir de AWK dans Mac OS X">cet article qui détaille la création d&#8217;un script AWK</a></p>
<h2>Créer le script</h2>
<h3>ligne sha-bang</h3>
<p>Un script n&#8217;est rien de plus qu&#8217;un fichier texte, écrit dans un des langages compatibles (sh, bash, perl, python, ruby, awk, php, &#8230;).</p>
<p>Le script doit commencer de cette manière :</p>
<ul>
<li>par les symboles &laquo;&nbsp;#!&nbsp;&raquo; (appelé sha-bang).</li>
<li>puis par le chemin du programme chargé d&#8217;interpréter les commandes de ce script (un langage de script par exemple).</li>
<li>éventuellement des options reconnu par le programme.</li>
</ul>
<p>Exemple pour un script PHP :<br />
<div class="markCode"><div class="boxCode"><code>#!/usr/bin/php</code></div></div></p>
<div class="markQuest"><blockquote><strong>Comment connaitre le chemin vers l&#8217;interpréteur de commande ?</strong><br />
On peut utiliser la commande du terminal which (par exemple, il suffit de taper &laquo;&nbsp;which php&nbsp;&raquo; dans le terminal, et de copier la réponse).<br />
</blockquote></div>
<h3>Alternative : le programme env</h3>
<p>Au lieu du chemin vers l&#8217;interpréteur de commande, on peut indiquer le chemin vers le programme env suivit d&#8217;un espace puis du nom du langage.<br />
Ce programme ira chercher le chemin lui même.<br />
<div class="markCode"><div class="boxCode"><code>#!/usr/bin/env php</code></div></div></p>
<p>Avantage : si l&#8217;interpréteur n&#8217;est pas au même endroit en fonction de la machine, le même script pourra marcher partout.<br />
Inconvénient : si plusieurs interpréteurs sont disponible sur une machine, on ne maîtrise plus lequel est choisi.</p>
<h3>Un exemple</h3>
<p>L&#8217;édition d&#8217;un tel fichier texte peut se faire avec n&#8217;importe quel éditeur de texte. (<a href="http://docs.jmini.fr/notes/editer-fichier-texte-terminal" title="Éditer un fichier texte avec le terminal">en utilisant le terminal</a>, ou n&#8217;importe quelle application plus &laquo;&nbsp;normale&nbsp;&raquo;)<br />
un exemple simple :<br />
<div class="markCode"><div class="boxCode"><code>#!/usr/bin/env php<br />
&lt;?php<br />
# Affiche la date dans le terminal :<br />
echo ("Bonjour !\n");<br />
echo ("Il est ".date("G:i").".\n");<br />
?&gt;<br />
</code></div></div><br />
<em>Pour la suite, admettons que ce script est enregistré dans le fichier date.php sur le bureau.</em></p>
<h2>Utiliser le script :</h2>
<h3>Se déplacer dans le dossier du script</h3>
<p>En utilisant la commande <strong>cd chemin_vers_le_dossier_du-script</strong><br />
Pour notre exemple :<br />
<div class="markCode"><div class="boxCode"><code>cd ~/Desktop</code></div></div></p>
<h3>Rendre le fichier exécutable</h3>
<p>Il suffit d&#8217;utiliser la commande <strong>chmod +x nom_du_script</strong><br />
<div class="markCode"><div class="boxCode"><code>chmod +x date.php</code></div></div></p>
<h3>Lancer le script</h3>
<p>Il suffit de <strong>lancer le script en indiquant son chemin</strong>. Si on se trouve dans le dossier du script, on faudra faire précéder le nom du script par <strong>./</strong><br />
<div class="markCode"><div class="boxCode"><code>./date.php</code></div></div></p>
<h2>Voir aussi :</h2>
<ul>
<li><a href="http://fr.wikipedia.org/wiki/Sha-bang" title="Sha-bang - Wikipédia">Sha-bang</a> dans wikipedia</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://docs.jmini.fr/notes/rendre-executable-terminal/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Se servir de AWK dans Mac OS X</title>
		<link>http://docs.jmini.fr/pas-a-pas/se-servir-de-awk-dans-mac-os-x</link>
		<comments>http://docs.jmini.fr/pas-a-pas/se-servir-de-awk-dans-mac-os-x#comments</comments>
		<pubDate>Fri, 20 Jul 2007 20:41:02 +0000</pubDate>
		<dc:creator>Jérémie Bresson</dc:creator>
				<category><![CDATA[Pas à pas]]></category>
		<category><![CDATA[awk]]></category>
		<category><![CDATA[mac os x]]></category>
		<category><![CDATA[programmation]]></category>
		<category><![CDATA[terminal]]></category>

		<guid isPermaLink="false">http://docs.jmini.fr/?p=13</guid>
		<description><![CDATA[Durant un de mes cours, j&#8217;ai été amené à utiliser le langage de script AWK. N&#8217;étant pas un spécialiste du terminal, j&#8217;ai éprouvé quelques difficultés pour reproduire avec MAC OS X ce que j&#8217;avais vu en cours. Cet article est donc un genre de &#171;&#160;AWK sur MAC OS X pour les nuls&#171;&#160;.
AWK :
AWK est un [...]]]></description>
			<content:encoded><![CDATA[<p>Durant un de mes cours, j&#8217;ai été amené à utiliser le langage de script AWK. N&#8217;étant pas un spécialiste du terminal, j&#8217;ai éprouvé quelques difficultés pour reproduire avec MAC OS X ce que j&#8217;avais vu en cours. Cet article est donc un genre de &laquo;&nbsp;<em>AWK sur MAC OS X pour les nuls</em>&laquo;&nbsp;.</p>
<h2>AWK :</h2>
<p>AWK est un langage de script essentiellement fait pour manipuler les lignes d&#8217;un fichier texte. Il est particulièrement utile pour exécuter toute sorte d&#8217;opérations sur les fichiers CSV (pour Comma-separated values &#8211; texte tabuler).</p>
<p>Le nom AWK est l&#8217;assemblage des initiales des noms des créateurs du langage :  Alfred <strong>A</strong>ho, Peter <strong>W</strong>einberger et Brian <strong>K</strong>ernighan.</p>
<p>On trouve ce langage sur pratiquement tous les systèmes UNIX sous le nom d&#8217;awk ou gawk (pour GNU awk). C&#8217;est évidemment le cas sur Mac OS X.</p>
<h2>Création d&#8217;un programme :</h2>
<p>Encore une fois, cet article est vraiment écrit &laquo;&nbsp;<em>pour les nuls</em>&nbsp;&raquo; et je conseille aux spécialistes d&#8217;UNIX de passer leur chemin. Voici pas à pas les étapes à suivre pour créer un script simple qui affiche les lignes impaires d&#8217;un fichier.</p>
<h3>0) Vérifier le chemin d&#8217;awk :</h3>
<p>Pour savoir où se situe la commande <strong>awk</strong> (à priori dans le répertoire bin), il suffit de lancer dans le terminal la commande <strong>wich</strong> : <div class="markCode"><div class="boxCode"><code></p>
<pre>which awk</pre>
<p></code></div></div></p>
<p>Normalement le shell répond <em>/usr/bin/awk</em></p>
<h3>1) Ecrire le fichier de script :</h3>
<p>Bien que l&#8217;on puisse utiliser directement la commande <strong>awk</strong> dans le terminal, très vite on souhaite avoir un script un petit peu sophistiqué. Il est donc plus simple de le taper dans un fichier texte : <em>ligneImpaire.awk</em>.</p>
<p>A l&#8217;aide de n&#8217;importe quel éditeur de texte (personnellement j&#8217;utilise <a href="http://macromates.com/" target="_blank">TextMate</a>, mais les plus Geek pourront utiliser la commande <em>nano</em> ou <em>vi</em> dans le terminal) il faut créer le fichier. Mettons qu&#8217;on l&#8217;enregistre dans un dossier awk sur le bureau.</p>
<h3>2) Première ligne du fichier :</h3>
<p>La première ligne du fichier doit impérativement être : <div class="markCode"><div class="boxCode"><code></p>
<pre>#!/usr/bin/awk -f</pre>
<p></code></div></div></p>
<p>(avec le chemin trouvé à l&#8217;étape 0)</p>
<p>C&#8217;est primordial, cette ligne indique en effet au terminal qu&#8217;il s&#8217;agit d&#8217;un script AWK.</p>
<p>Ensuite il est bon d&#8217;écrire sur quelques lignes de commentaires à quoi sert le script que l&#8217;on est en train de taper (pour s&#8217;en souvenir plus tard).</p>
<p>Notre fichier contient donc :<br />
<div class="markCode"><div class="boxCode"><code></p>
<pre>#!/usr/bin/awk -f

# ligneImpaire.awk : affiche les lignes impaires d'un fichier
# http://jmini.fr/

(NR % 2 == 1) {
	print $0
}</pre>
<p></code></div></div></p>
<p>Pour le script en lui même je vous envoie vers d&#8217;excellents tutoriaux listé à la fin de cet article.</p>
<h3>3) Rendre le fichier exécutable :</h3>
<p>Dans le terminal on se place dans le dossier du script avec la commande <strong>cd</strong> : <div class="markCode"><div class="boxCode"><code></p>
<pre>cd ~/Desktop/awk/</pre>
<p></code></div></div></p>
<p>Ensuite on utilise la commande <strong>chmod</strong> pour rendre le fichier exécutable : <div class="markCode"><div class="boxCode"><code></p>
<pre>chmod +x ligneImpaire.awk</pre>
<p></code></div></div></p>
<h3>4) Lancer le fichier :</h3>
<p>Pour lancer le script il suffit de faire avec la commande <strong>./ligneImpaire.awk</strong> suivit des fichiers à traiter : <div class="markCode"><div class="boxCode"><code></p>
<pre>./ligneImpaire.awk texte.txt</pre>
<p></code></div></div></p>
<p>Et c&#8217;est tout !!!</p>
<p>J&#8217;ai écris un autre article sur <a href="http://docs.jmini.fr/notes/rendre-executable-terminal" title="Rendre un fichier exécutable dans le terminal">le fait de rendre un fichier exécutable dans le terminal</a></p>
<p>En pièce jointe de cet article, retrouvez l&#8217;archive contenant tous les fichiers : <a href="http://docs.jmini.fr/wp-content/uploads/2008/11/awk.zip" title="awk" class="attachment_file">awk.zip</a></p>
<h2>En savoir plus :</h2>
<ul>
<li><a href="http://fr.wikipedia.org/wiki/Awk">AWK</a> sur Wikipédia.</li>
<li><a href="http://nyal.developpez.com/tutoriel/gawk/index.php">Tutoriel awk</a> : simple, concis et efficace sur <a href="http://www.developpez.com/">devellopez.com</a>.</li>
<li><a href="http://ploug.eu.org/doc/principe-awk-lacroix.pdf">LE LANGAGE AWK</a> par Frédéric LACROIX et Dan BOG, tout sur AWK en 105 pages avec explications détaillées et exemples.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://docs.jmini.fr/pas-a-pas/se-servir-de-awk-dans-mac-os-x/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Éditer un fichier texte avec le terminal</title>
		<link>http://docs.jmini.fr/notes/editer-fichier-texte-terminal</link>
		<comments>http://docs.jmini.fr/notes/editer-fichier-texte-terminal#comments</comments>
		<pubDate>Fri, 16 Mar 2007 09:51:51 +0000</pubDate>
		<dc:creator>Jérémie Bresson</dc:creator>
				<category><![CDATA[Notes]]></category>
		<category><![CDATA[mac os x]]></category>
		<category><![CDATA[terminal]]></category>

		<guid isPermaLink="false">http://docs.jmini.fr/?p=18</guid>
		<description><![CDATA[Souvent on peut être amené à devoir éditer des fichiers textes faire de petites modifications (édition d&#8217;un fichier de configuration par exemple).
Dans ces cas là, le terminal dispose d&#8217;un éditeur de texte intégré qui peut s&#8217;avérer fort pratique.
Et cela d&#8217;autant plus lorsque les fichiers sont protégés par le système et qu&#8217;il faut être super utilisateur [...]]]></description>
			<content:encoded><![CDATA[<p>Souvent on peut être amené à devoir éditer des fichiers textes faire de petites modifications (édition d&#8217;un fichier de configuration par exemple).</p>
<p>Dans ces cas là, le terminal dispose d&#8217;un éditeur de texte intégré qui peut s&#8217;avérer fort pratique.</p>
<p>Et cela d&#8217;autant plus lorsque les fichiers sont protégés par le système et qu&#8217;il faut être super utilisateur (root) pour les modifier.</p>
<p>L’idée la plus simple est d’utiliser un éditeur de texte simple, présent dans le terminal pour modifier simplement ces fichiers. En l’utilisant avec la commande sudo, cela donne les droits de root à cet éditeur de texte.</p>
<h2>Utilisation de nano</h2>
<p>Je préconise l’utilisation de nano (ou pico) qui a l’avantage d’être simple et d’afficher en bas de la fenêtre les différentes commandes disponibles (^X Exit signifie qu’il faut faire contrôle-X pour quitter).</p>
<p>L’utilisation à proprement parler est assez simple. Tout se fait avec les flèches de navigation, et grâce aux raccourcis claviers (contrôle + lettre)</p>
<p>Pour ouvrir un fichier particulier, il faut faire : <strong>nano+barre d’espace+adresse du fichier.</strong></p>
<p>L’adresse du fichier doit être au format Unix, une manière simple de l’obtenir est de glisser-déposer un fichier dans le terminal.</p>
<h3>Exemple :</h3>
<p>Ex : éditer le fichier lorem.txt sur mon bureau :<br />
<div class="markCode"><div class="boxCode"><code>nano ~/Desktop/todo.txt</code></div></div></p>
<div id="attachment_35" class="wp-caption aligncenter" style="width: 513px"><img src="http://docs.jmini.fr/wp-content/uploads/2008/08/capture_nano.png" alt="Edition d&#039;un fichier texte avec nano dans le terminal" title="capture nano" width="503" height="364" class="size-full wp-image-35" /><p class="wp-caption-text">Edition d'un fichier texte avec nano dans le terminal</p></div>
<h3>Fichier appartenant au système :</h3>
<p>Lorsque les fichiers que l’on modifie appartiennent au système, il faut être super utilisateur pour les éditer. Pour cela, il faut faire précéder la commande de la commande sudo (il faut être dans une session avec des droits administrateurs) :</p>
<div class="markCode"><div class="boxCode"><code>sudo nano /etc/php.ini</code></div></div>
<p>Le terminal demande un mot de passe :</p>
<div class="markCode"><div class="boxCode"><code>Password:</code></div></div>
<p>Il faut saisir celui de l’administrateur. Attention, rien ne s’affiche, mais les caractères sont pris en compte.</p>
]]></content:encoded>
			<wfw:commentRss>http://docs.jmini.fr/notes/editer-fichier-texte-terminal/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
