Créer des news en JS

Résolu/Fermé
kennykev51 Messages postés 34 Date d'inscription mardi 9 juin 2009 Statut Membre Dernière intervention 2 juillet 2009 - 11 juin 2009 à 10:26
 biboo - 22 juin 2009 à 13:25
Bonjour,
j'aimerai mettre en place dans un site un système de news tout simple sur l'accueil ( pas besoin d'admin )
Juste la saisie d'un titre et d'une info puis lorsque j'appuie sur publier la news s'affiche et passe au dessus de la précédente. Je veux pas un logiciel qui gère cela puisque c'est pour un projet de stage.et je ne peux pas faire un programme en PHP.

Je débute dans le monde de la programmation, soyez indulgent svp

et merci de m'aider

27 réponses

kennykev51 Messages postés 34 Date d'inscription mardi 9 juin 2009 Statut Membre Dernière intervention 2 juillet 2009
11 juin 2009 à 10:49
pourrais-je savoir pourquoi chaque fois que je pose une question sur ce forum je n'ai jamais de réponse?
0
Salut,

Peut-être parce que les gens sont occupés ou pas courageux de te répondre, et que 20min pour te répondre est court.

Pour répondre à ta question, JS s'éxecute côté client et non serveur, ce qui implique que tes données ne seront que locales.
De plus, tes news ne sont pas persistentes, mais ce n'est peut-être pas le but. Autrement, il te faut une BDD (donc un langage qui attaque une BDD).

Tu tiens toujours à avoir un système de news qui ne fonctionne qu'en local (sous-entendu localement sur un seul poste client)?
0
kennykev51 Messages postés 34 Date d'inscription mardi 9 juin 2009 Statut Membre Dernière intervention 2 juillet 2009
11 juin 2009 à 10:59
oui c'est ce que je recherche.tu peux m'aider?
merci pour ta réponse.
0
gaara_40 Messages postés 94 Date d'inscription mardi 2 septembre 2008 Statut Membre Dernière intervention 10 juin 2010 3
11 juin 2009 à 11:05
Excuse moi si c'est pas la réponse que tu attendais mais ça m'a pris presque un demi-heure pour rédiger la réponse.
0
kennykev51 Messages postés 34 Date d'inscription mardi 9 juin 2009 Statut Membre Dernière intervention 2 juillet 2009 > gaara_40 Messages postés 94 Date d'inscription mardi 2 septembre 2008 Statut Membre Dernière intervention 10 juin 2010
11 juin 2009 à 11:12
Je tiens à m'excuser, je n'ai pas été assez précis et je t'ai fais perdre du temps!
j'espère que tu m'en veux pas...
0
gaara_40 Messages postés 94 Date d'inscription mardi 2 septembre 2008 Statut Membre Dernière intervention 10 juin 2010 3
11 juin 2009 à 11:03
Si tu utilises seulement le javascript, tu ne pourras que visualiser le résultat mais rien ne sera enregistrer sur la base de données. En général, on utilise le JS pour avoir une prévisualisation tandis que PHP enregistrera ta news sur la base de données. En fait tu auras le même résultat qu'avec le JS mais en rechargeant la page (ce qui devrait se faire automatiquement lorsque tu appuies sur le bouton enregistrer).

Donc dans ton cas, je pense que le PHP serait le plus adapté. Pourquoi tu ne peux pas faire un programme en PHP ? En plus, t'as pas besoin d'un admin qui valide à chaque fois l'opération. Par contre, il te faudrait mettre un captcha pour empécher les petits malins de te spammer. Tout ça PHP le fait, je ne comprend pas pourquoi tu te bornes au JS, je trouve d'ailleurs que c'est un langage assez difficile pour les débutants.

Par exemple tu mets ça sur ton index.php :
<?php
mysql_connect("localhost", "ton_pseudo", "mot_de_passe");
mysql_select_db("ta_base_de_donnees");

//On enregistre la news posté si il y en a une
if (isset($_POST['titre']) AND isset($_POST['contenu']))
{
    $titre = addslashes($_POST['titre']);
    $contenu = addslashes($_POST['contenu']);
    
        // On crée une nouvelle entrée dans la table
        mysql_query("INSERT INTO news VALUES('', '" . $titre . "', '" . $contenu . "', '" . time() . "')");

}

// On récupère par exemple les 5 dernières news de ta table qui s'appelle "news"
$retour = mysql_query('SELECT * FROM news ORDER BY id DESC LIMIT 0, 5');
while ($donnees = mysql_fetch_array($retour))
{
?>

    <h3>
        <?php echo $donnees['titre']; ?>
        <em>le <?php echo date('d/m/Y à H\hi', $donnees['timestamp']); ?></em>
    </h3><br />
    
    <p>
    <?php
    // On enlève les antislash
    $contenu = nl2br(stripslashes($donnees['contenu']));
    echo $contenu;
    ?>
    </p><br /><hr /><br />

<?php
} // Fin de la boucle des news
?>


Ensuite tu mets ça sur la page rediger_news.php :
//Ton formulaire

<form action="index.php" method="post">
<p>Titre : <input type="text" size="30" name="titre" /></p>
<p>
    Contenu :<br />
    <textarea name="contenu" cols="50" rows="10">
    </textarea><br />
    
    <input type="submit" value="Envoyer" />
</p>
</form>


Évidemment si tu veux avoir un système assez complexe avec par exemple une page de validation pour afficher les news sur index.php pour l'administrateur ou si tu veux un script pour modifier les news, il faut pas mal modifier.

Tu trouveras ton bonheur ici => http://www.siteduzero.com/tutoriel-3-14557-tp-des-news-sur-votre-site.html

Bon code ;)
0
Le monsieur dit qu'il ne veut pas de PHP ni même de BDD..
0
kennykev51 Messages postés 34 Date d'inscription mardi 9 juin 2009 Statut Membre Dernière intervention 2 juillet 2009
18 juin 2009 à 14:28
pour le cou je suis interessé par ton ptit programme en PHP.. donc j'ai bien compris ou collé tout cela... mais comment le faire fonctionné? faut il un logiciel special? genre mysql ou access.... mon maitre de stage ma di de travailler avec access
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kennykev51 Messages postés 34 Date d'inscription mardi 9 juin 2009 Statut Membre Dernière intervention 2 juillet 2009
11 juin 2009 à 11:08
Merci de ta réponse,
Mais mon maître de stage m'as dis pas de php... je ne sais pas pourquoi... et on ne tiens pas à archiver les news. On les retirera au fur et a mesure à la main. Et il n'y auras pas de petit malin qui s'amuseront à spammer puisque c'est pour faire un intranet. (Certes je ne l'avais pas mentionné, veuillez m'excuser...)
0
Wait, pas de PHP?
Il faut une BDD ne serait-ce que pour faire afficher les news depuis internet/intranet. Et si vous avez une BDD, il vous faut un langage qui puisse attaquer une BDD.
Hormis PHP, ya ASP/.NET (le concurrent Microsoft), éventuellement Python puis des langages assez imposants style J2EE/.NET (inadaptés à cette situation).
0
kennykev51 Messages postés 34 Date d'inscription mardi 9 juin 2009 Statut Membre Dernière intervention 2 juillet 2009
11 juin 2009 à 11:18
il n'y a pas possibilité qu'un formulaire crée ce dont j'ai besoin? je ne tiens pas à archiver mes news juste qu'elle s'affiche les unes apres les autres!
0
Ca s'est faisable. Le problème, c'est que tu seras le SEUL à voir ces news. En fait ton application ne dépassera pas le périmètre de ton ordinateur (sauf dans le cas où tu partages ton fichier HTML en réseau local).
0
kennykev51 Messages postés 34 Date d'inscription mardi 9 juin 2009 Statut Membre Dernière intervention 2 juillet 2009 > biboo
11 juin 2009 à 11:28
je crois que s'est ce qu'il veut!
0
gaara_40 Messages postés 94 Date d'inscription mardi 2 septembre 2008 Statut Membre Dernière intervention 10 juin 2010 3
11 juin 2009 à 11:20
Je suis d'accord je ne vois pas comment ton maître de stage veux faire pour faire appel à une base de données et ne pas utiliser PHP ou un autre langage capable de le faire. Essaye d'adapter le script que je t'ai donné à ce que tu veux faire, tu pourras toujours lui présenter ça.
0
La vraie problématique est "comment utiliser une BDD seulement en HTML/JS, sans autre langage de programmation pouvant utiliser une BDD".
Non parce qu'avec HTML/JS seulement, vous ne pouvez rien faire avec une BDD, ça sera seulement du local.

Même en écrivant des données directement dans des fichiers, vous ne serez qu'en "local".
0
kennykev51 Messages postés 34 Date d'inscription mardi 9 juin 2009 Statut Membre Dernière intervention 2 juillet 2009
11 juin 2009 à 11:27
j'ai aucune notion en réseau... (pourtant je passe en 2eme année de BTS Informatique de Gestion option Administrateur Réseau des locaux d'entreprise mais on ne vois pas le réseau en 1ere année...)
je sais pas je vais allez voir mon maître de stage lui demander un coup de pouce!!
et si j'ai plus d'info je reviens vous voir
merci en tout cas
0
Je peux te fournir une ébauche de code HTML/JS :

<html>

<head>
<title>Système de news JS</title>
</head>
<script>

function valider() {

// Récupération des données
var titre = document.getElementById("titre").value;
var contenu = document.getElementById("contenu").value;

// Récupération du contenu des news
inner = document.getElementById('zone_news').innerHTML;


// On ajoute les données du formulaire aux news
inner = '<h2>'+titre+'</h2>' + contenu + '<br />' +
'------------------------------'+inner;
document.getElementById('zone_news').innerHTML = inner ;

alert(inner);

}

</script>
<body>

<div id='zone_news'>

</div>

<div id='Post_news'>
<form>
<input type="texte" id="titre" value="" />
<input type="texte" id="contenu" value="" />
<button value="valider" onclick="valider()"/>
</form>
</div>



</body>
</html>
0
kennykev51 Messages postés 34 Date d'inscription mardi 9 juin 2009 Statut Membre Dernière intervention 2 juillet 2009
11 juin 2009 à 11:44
Merci bcp je vais voir ce que je peux faire avec ça!!
0
C'est un peu fait à l'arrache en 5min, tu peux y rajouter du CSS pour faire plus beau et modifier des boutons pour que ça soit plus présentable. :)
0
Ca marche bien sous IE 7 mais pas FF. :/
0
Pour FireFox, à la place de l'utilisation de "innerHTML" en JS, il faut créer un élément DOM et ajouter des nodes (enfin on commence à rentrer dans les détails).
L'exemple ne fonctionne que sous IE du coup. :/
0
kennykev51 Messages postés 34 Date d'inscription mardi 9 juin 2009 Statut Membre Dernière intervention 2 juillet 2009
11 juin 2009 à 13:43
Ma foi c'est fort bien !!!
je me débrouillerai pour la présentation merci...Maintenant faut juste que je trouve un moyen pour que lorsque je rafraichis la page, les news restent... faudrait que lorsque je clique sur le bouton le code source s'enregistre... mais ce que vous essayer de me dire depuis le début, c'est que ce n'est pas possible... non?
0
Actuellement, les données ne sont stockées qu'en cache.
Il faudrait :
-soit les sauvegarder dans une bdd (impensable)
-soit dans un fichier.

Il suffit donc de chercher un tutorial qui permet d'enregistrer des données lorsqu'on valide le formulaire, et d'afficher les données stockées au niveau de la <div id="zone_news">
0
par exemple:

var file = new ActiveXObject("Scripting.FileSystemObject");
var a = file.CreateTextFile("c:\\testfile.txt", true);
a.WriteLine("Salut cppFrance !");
a.Close();


source: https://codes-sources.commentcamarche.net/
0
kennykev51 Messages postés 34 Date d'inscription mardi 9 juin 2009 Statut Membre Dernière intervention 2 juillet 2009
18 juin 2009 à 08:51
Bonjour,
du nouveaux sur le sujet, mon maître de stage m'a dis que je pouvais faire un petit programme en PHP et une petite BDD avec Access. Parcontre je ne connais pas du tout le PHP et le logiciel Access j'aurais donc besoin de votre aide svp.
en vous remerciant.
0
Ah par contre, il te faut un petit tuto de PHP. Enfin, ce n'est pas un langage très compliqué. ;)
Pour ce qui concerne le SQL, as-tu des bases? (requêtes, jointures etc.).
0
kennykev51 Messages postés 34 Date d'inscription mardi 9 juin 2009 Statut Membre Dernière intervention 2 juillet 2009
18 juin 2009 à 11:30
tu connaitrais pas un lien d'un tuto sympas pour le php?

pour le SQL c'est comme pour le PHP enfete on a vu ça en fin d'année scolaire vite fait pendant un court de TP...
ça a duré 3h quoi!
0
Pour faire fonctionner des pages PHP, il faut un serveur PHP appelé Apache.
La chose la plus pratique dans ton cas serait d'utiliser des "kits de développements" style EasyPHP, qui contient un serveur Apache ainsi qu'une base de données MySQL. C'est facile d'utilisation et ya pas mal de tutos gratos en cherchant bien sur le net.

Par contre je ne peux pas faire grand chose pour toi, il va falloir te former tout seul. Rassure-toi, c'est largement faisable. :)
Les choses que tu apprendras :
> Apprendre le SQL (construire des tables qui contiendront des données, faire des requêtes pour afficher des données en fonction de certaines conditions)
> Apprendre le langage PHP (Utiliser le résultat de requêtes SQL et l'afficher)
0