n/oldblog
Archived
1
0
Fork 0
This repository has been archived on 2024-02-13. You can view files and clone it, but cannot push or open issues or pull requests.
oldblog/pages/fortunes.php

95 lines
6.2 KiB
PHP
Raw Normal View History

2023-04-30 21:28:42 +02:00
<?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 &quot;ensemble&quot; 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 &quot;rep<EFBFBD>re&quot; 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 &quot;offensantes&quot; <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>
&#13;&#60;?php<br />include("http://tourmentine.com/modules/fortune.php");<br />?&#62;
</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>
&#13;&#60;?php<br />$FileName="Nom_Du_Fichier";<br />include("http://tourmentine.com/modules/fortune.php");<br />?&#62;
</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>
&#13;&#60;a href="http://tourmentine.com/modules/fortune.php?FileName=Pensees"&#62;Cliquez ici pour ouvrir la maxime du jour&#60;/a&#62;
</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>
&#13;&#60;script language=&quot;javascript&quot; src=&quot;http://tourmentine.com/scripts/fortune.js&quot;&#62;&#60;/script&#62;
</td></tr></table>
<br />
<table width="100%" border="0" bgcolor="#f0f0f0"><tr><td>
&#13;&#60;script language=&quot;javascript&quot; src=&quot;http://tourmentine.com/scripts/fortune.js?FileName=tolkien_fr&quot;&#62;&#60;/script&#62;
</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 />";
?>