95 lines
6.2 KiB
PHP
95 lines
6.2 KiB
PHP
|
<?php
|
|||
|
|
|||
|
if (isset($_GET["FileName"]))
|
|||
|
$FileName = $_GET["FileName"];
|
|||
|
|
|||
|
echo "<div align='left'>
|
|||
|
<table border='0'><tr><td><img src='images/transparent.gif' alt='' class='icon_4' /></td><td><h1>Tutorial de fortune.php</h1></td></tr></table>
|
|||
|
<ol>
|
|||
|
<li><a href='#history'>Br<EFBFBD>ve histoire de fortune</a></li>
|
|||
|
<li><a href='#fonc'>Fonctionnement</a></li>
|
|||
|
<li><a href='#adapt'>Adaptation en PHP</a></li>
|
|||
|
<li><a href='#limit'>Limitations</a></li>
|
|||
|
<li><a href='#utilisation'>Utilisation</a></li>
|
|||
|
<li><a href='#packages'>Fichiers de citations disponible sur ce site</a></li>
|
|||
|
<li><a href='?'>Retour au menu</a></li>
|
|||
|
</ol>";
|
|||
|
?>
|
|||
|
|
|||
|
<br />
|
|||
|
|
|||
|
<h2><a name='history'>1.Br<EFBFBD>ve histoire de fortune</a></h2>
|
|||
|
<p>Le programme fortune a <EFBFBD>t<EFBFBD> developp<EFBFBD> sous NetBSD, un des nombreux clones d'Unix. Il affiche une citation prise au hasard dans un ou plusieurs fichiers. Il <20> <20>t<EFBFBD> ensuite port<72> sous Linux, puis son code source ayant <20>t<EFBFBD> rendu plus g<>n<EFBFBD>rique, sous d'autres plateformes, dont SunOS 4.x par exemple.</p>
|
|||
|
<p>pour plus d'infos sur l'histoire de fortune, faites donc un <i>man fortune</i> sur votre syst<EFBFBD>me Un*x pr<EFBFBD>f<EFBFBD>r<EFBFBD> !</p>
|
|||
|
<br />
|
|||
|
|
|||
|
<h2><a name="fonc">2.Fonctionnement</a></h2>
|
|||
|
<p>Chaque "ensemble" de citations est divis<EFBFBD> en deux fichiers: un fichier texte contenant les citations elles-m<EFBFBD>mes, chacune <EFBFBD>tant s<EFBFBD>par<EFBFBD>e par un charact<EFBFBD>re <EFBFBD> part, habituellement le %.
|
|||
|
Depuis la version 1.4 de fortune, un fichier d'index <EFBFBD> extension .dat lui est associ<EFBFBD>, contenant des pointeurs vers les emplacements des citations.</p>
|
|||
|
<p>En clair, fortune lit le fichier .dat et prends un "rep<EFBFBD>re" au hasard, rep<EFBFBD>re qui contient la position de la citation correspondante, pour aller la chercher et l'afficher.
|
|||
|
Cela acc<EFBFBD>l<EFBFBD>re <EFBFBD>norm<EFBFBD>ment la selection avec de gros fichiers (plusieurs milliers de citations)</p>
|
|||
|
<p>Les fichiers .dat sont g<EFBFBD>n<EFBFBD>r<EFBFBD>s automatiquement par le programme strfile, fourni avec le paquetage fortune.</p>
|
|||
|
<p>A noter que l'utilisation ne se limite pas <20> l'affichage de citations, on peut tr<EFBFBD>s bien s'en servir pour afficher des infos, de la publicit<EFBFBD>, etc.!</p>
|
|||
|
<br />
|
|||
|
|
|||
|
<h2><a name="adapt">3.Adaptation en PHP</a></h2>
|
|||
|
<p>Cette adaptation en PHP suis le m<EFBFBD>me principe que le programme d'origine, <20> savoir tirer un fichier de citations au hasard, puis de tirer une citation dans le fichier d'index, et enfin d'afficher la citation correspondante.</p>
|
|||
|
<p>Le fonctionnement des options suit l<EFBFBD>-encore le m<EFBFBD>me principe: appel<EFBFBD> sans param<EFBFBD>tre, fortune.php affiche une citation prise au hasard parmis tous les fichiers; appel<EFBFBD> avec un nom de fichier en param<EFBFBD>tre, la citation ne sera tir<EFBFBD> que de ce fichier.</p>
|
|||
|
<p>La citation est renvoy<EFBFBD>e en "brut", c'est <20> dire sans aucune mise en forme. A vous ensuite d'ajouter des effets (couleurs, etc) !</p>
|
|||
|
<br />
|
|||
|
|
|||
|
<h2><a name="limit">4.Limitations</a></h2>
|
|||
|
<p>Le programme strfile permettant de g<EFBFBD>n<EFBFBD>rer les fichiers d'index n'<EFBFBD> pas <EFBFBD>t<EFBFBD> adapt<EFBFBD> en php. Il faut toujours utiliser le programme original pour la cr<EFBFBD>ation.</p>
|
|||
|
<p>Le programme fortune original propose de multiples options, comme sp<EFBFBD>cifier un tirage particulier (genre 20% pour le fichier citation1 et 80% pour citation2), ou encore avoir des citations "offensantes" <EFBFBD> afficher <EFBFBD> part...tout cela n'a pas <20>t<EFBFBD> adapt<70>. Seules les fonctions basiques sont support<72>es en fait, c'est <EFBFBD> dire le tirage d'une citation dans un fichier sp<73>cifi<66>, ou dans l'ensemble des fichiers. il m'a sembl<62> en effet inutile de surcharger le code PHP, il est d'autant plus rapide comme <EFBFBD>a. Cela dit, si il y a des amateurs...<EFBFBD> vos claviers !!</p>
|
|||
|
<br />
|
|||
|
|
|||
|
<h2><a name="utilisation">5.Utilisation</a></h2>
|
|||
|
<p>Pour afficher une citation al<EFBFBD>atoire dans votre site, ins<EFBFBD>rez le code suivant dans une page PHP:</p>
|
|||
|
<table width="100%" border="0" bgcolor="#f0f0f0"><tr><td>
|
|||
|
<?php<br />include("http://tourmentine.com/modules/fortune.php");<br />?>
|
|||
|
</td></tr></table>
|
|||
|
<br /><br />
|
|||
|
<p>Vous pouvez aussi passer le nom d'un fichier en param<EFBFBD>tre, dans ce cas les citations seront tir<EFBFBD>es au hasard parmi celles disponibles dans ce fichier.<br />
|
|||
|
La syntaxe sera alors la suivante:</p>
|
|||
|
<table width="100%" border="0" bgcolor="#f0f0f0"><tr><td>
|
|||
|
<?php<br />$FileName="Nom_Du_Fichier";<br />include("http://tourmentine.com/modules/fortune.php");<br />?>
|
|||
|
</td></tr></table>
|
|||
|
<br /><br />
|
|||
|
<p>L'utilisation n'est pas limit<EFBFBD>e au PHP, on peut l'appeler avec un simple lien HTML:</p>
|
|||
|
<table width="100%" border="0" bgcolor="#f0f0f0"><tr><td>
|
|||
|
<a href="http://tourmentine.com/modules/fortune.php?FileName=Pensees">Cliquez ici pour ouvrir la maxime du jour</a>
|
|||
|
</td></tr></table>
|
|||
|
<br /><br />
|
|||
|
<p>Ou via JavaScript (dans votre pas de d<EFBFBD>marrage par exemple ;). Attention, le nom du script n'est pas le m<EFBFBD>me:</p>
|
|||
|
<table width="100%" border="0" bgcolor="#f0f0f0"><tr><td>
|
|||
|
<script language="javascript" src="http://tourmentine.com/scripts/fortune.js"></script>
|
|||
|
</td></tr></table>
|
|||
|
<br />
|
|||
|
<table width="100%" border="0" bgcolor="#f0f0f0"><tr><td>
|
|||
|
<script language="javascript" src="http://tourmentine.com/scripts/fortune.js?FileName=tolkien_fr"></script>
|
|||
|
</td></tr></table>
|
|||
|
<br />
|
|||
|
|
|||
|
<h2><a name="packages">6.Fichiers de citations disponible sur ce site</a></h2>
|
|||
|
<p>Cliquez sur le nom du fichier pour afficher une de ses citations dans une nouvelle fen<EFBFBD>tre, ou sur <b>t<EFBFBD>l<EFBFBD>charger</b> pour t<EFBFBD>l<EFBFBD>charger un fichier archive (<EFBFBD> d<EFBFBD>compresser avec <a href='http://www.gzip.org' target='_blank'>gzip/tar</a>, <a href='http://www.winzip.com' target='_blank'>WinZip</a>, ou <a href='http://www.powerarchiver.com' target='_blank'>PowerArchiver</a>) contenant le fichier complet ainsi que le .dat associ<EFBFBD>. Une fois d<EFBFBD>compress<EFBFBD>s, ces fichiers sont directement utilisables par le programme fortune ou le script fortune.php.</p>
|
|||
|
<br />
|
|||
|
<ul>
|
|||
|
<?php
|
|||
|
|
|||
|
$d = opendir("modules/fortunes/");
|
|||
|
|
|||
|
while (false!==($file = readdir($d)))
|
|||
|
if (!strchr($file,"."))
|
|||
|
echo "<li><a href=\"modules/fortune.php?FileName=$file\" target=\"_blank\">".$file."</a> <a href=\"http://ftp.tourmentine.com/fortunes_fr/$file.tar.gz\">(t<>l<EFBFBD>charger)</a></li>\n";
|
|||
|
|
|||
|
closedir($d);
|
|||
|
?>
|
|||
|
</ul>
|
|||
|
<br />
|
|||
|
<br />
|
|||
|
</div>
|
|||
|
<?php
|
|||
|
echo "<div align='right'><h6>(MAJ ".date("j M Y",filemtime(__FILE__)).")</h6></div><br />";
|
|||
|
echo "<br />";
|
|||
|
?>
|