Page 1 sur 1

Script de news qui défilent horizontalement

Posté : 07 févr. 2006, 18:09
par HD
Script basic de news défilant horizontalement
Pour débutants (si vous l'optimisez, et je le recommande, merci de faire partager :wink: ) :

1- Créer un dossier news et y créer les fichiers :

ad_news.htm
<form method="POST" action="ad_news.php">
  <p align="center"><font face="Arial Narrow" size="2">Date de la nouvelle
  (jj/mm/aa) : <input type="text" name="date" size="20"></font></p>
  <p align="center"><font face="Arial Narrow" size="2">Contenu de la nouvelle : <input type="text" name="texte" size="20"></font></p>
  <p align="center"><font face="Arial Narrow" size="2">Lien hypertexte : <input type="text" name="lien" size="20"></font></p>
  <p align="center"><font face="Arial Narrow" size="2"><input type="submit" value="Envoyer" name="B1"></font></p>
</form>
ad_news.php
<?php
	$date = $_POST['date'];
	$texte = $_POST['texte'];
	$lien = $_POST['lien'];
	
$nouvelle = "<font face=\"Arial Narrow\">$date : <a href=\"../$lien\">$texte</a></font><font face=\"Arial Narrow\">&nbsp;&nbsp;-&nbsp;&nbsp;</font>";	

// ajouter la nouvelle dans une nouvelle ligne de news.txt
$fp = fopen("news.txt","a");
fputs($fp, "\n");  
fputs($fp, "$nouvelle"); 
fclose($fp);     

// ajouter la nouvelle à la fin (meme ligne) de news.htm
$fp = fopen("news.htm","a"); 
fputs($fp, "$nouvelle"); 
fclose($fp); 

echo "Nouvelle ajoutée avec succès. Ajouter une autre nouvelle ?" ;
include "ad_news.htm" ;
	
?>
news.txt
<font face="Arial Narrow">01/01/05 : Ouverture du site</font><font face="Arial Narrow">&nbsp;&nbsp;-&nbsp;&nbsp;</font>
news.htm
<font face="Arial Narrow">01/01/05 : Ouverture du site</font><font face="Arial Narrow">&nbsp;&nbsp;-&nbsp;&nbsp;</font>

2- Pour insérer le module dans une page il suffit d'y placer le code
<script language="JavaScript1.2"> 
var marqueewidth=750
var marqueeheight=20 
var speed=5 
var marqueecontents='<?php include ("news/news.htm") ?>' 
if (document.all) 
document.write('<marquee onmouseover=this.stop() onmouseout=this.start() direction="left" scrollAmount='+speed+' style="width:'+marqueewidth+';height:'+marqueeheight+'">'+marqueecontents+'</marquee>') 
</script>
Remarque :
le code fait reference au dossier racine (pour les liens) à partir du dossier news
<a href=\"../$lien\">
il manque un systeme de sessions pour la sécurité, un système qui efface les news les plus anciennes... Je compte également ajouter une page qui affiche toutes les news avec une mise en forme plus pro
Bref libre à vous de vous en inspirer... ou d'attendre la version 2 !

ps: script créé dans l'urgence pour quelqu'un donc... soyez indulgents !! (mais critiques bien sur) :wink:

Posté : 07 févr. 2006, 18:27
par albat
Beau boulot, mais...

Le défaut de ce script est qu'il est conçu autour de l'utilisation de la balise <marquee>.
Cette balise est une balise propriétaire (inventée par Microsoft), donc loin d'être valide. :(

http://fr.selfhtml.org/html/texte/proprietaire.htm

Posté : 07 févr. 2006, 19:38
par HD
merci pour l'info, j'en tiendrai compte pour la v2

Posté : 07 févr. 2006, 20:01
par albat
Le principe à mettre en oeuvre pour ce genre de scrolling (horizontal ou vertical)
est de jouer sur la position de div (le premier, fixe et au-dessus, sert de cadre
et le second, mobile, se déplace dans la fenêtre laissée ouverte par le premier).

Le concept est simple, surtout dans sa conception théorique,
mais pour en faire un code valide et opérationnel sous tous les navigateurs,
c'est beaucoup plus coton. :-k

En tout cas, c'est un bon exercice ! ;)

Posté : 07 févr. 2006, 20:03
par HD
lol ca va me donner du courage !
en tous cas l'application est tellement basic dans sa v1 qu'il reste une montagne de boulots à faire. on courage moi...

Posté : 07 févr. 2006, 20:33
par Cyrano
Ben on t'encourage :D

Posté : 09 févr. 2006, 00:26
par Truc
Un CSS serait tout aussi bienvenue (facilité de personnalisation) :wink:

Je ne veux pas décourager (au contraire) mais est-ce que ce n'est pas un "pti frère" de ce script avec un systeme de fichier en plus :?:

Posté : 09 févr. 2006, 11:14
par HD
non ils ne se connaissaient pas avant mais je suppose qu'ils vont desormais faire un peu de chemin ensemble :D