Créer des news en JS

Résolu
kennykev51 Messages postés 36 Statut Membre -  
 biboo -
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

  • 1
  • 2
Résumé de la discussion

Le besoin est de mettre en place un système de news simple sur l'accueil, sans administration, avec saisie d'un titre et d'un contenu et publication qui affiche la nouvelle au-dessus des anciennes. Plusieurs réponses évoquent l'utilisation de PHP et MySQL ou d'une base de données pour stocker les actualités, tandis que d'autres proposent une approche purement locale sans serveur. Des conseils suggèrent d'assurer une gestion des données et d'éviter les copies de code douteuses, tandis que certains préconisent une approche côté client ou fichier HTML local. En cas de contraintes, certaines approches limitent l'affichage à une utilisation intranet locale, ou expliquent les limites d'une solution sans backend, et apportent des précisions techniques sur les insertions.

Généré automatiquement par IA
sur la base des meilleures réponses
  1. kennykev51 Messages postés 36 Statut Membre
     
    pourrais-je savoir pourquoi chaque fois que je pose une question sur ce forum je n'ai jamais de réponse?
    0
  2. biboo
     
    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
  3. kennykev51 Messages postés 36 Statut Membre
     
    oui c'est ce que je recherche.tu peux m'aider?
    merci pour ta réponse.
    0
    1. gaara_40 Messages postés 102 Statut Membre 3
       
      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
      1. kennykev51 Messages postés 36 Statut Membre > gaara_40 Messages postés 102 Statut Membre
         
        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
  4. gaara_40 Messages postés 102 Statut Membre 3
     
    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
    1. biboo
       
      Le monsieur dit qu'il ne veut pas de PHP ni même de BDD..
      0
    2. kennykev51 Messages postés 36 Statut Membre
       
      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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. kennykev51 Messages postés 36 Statut Membre
     
    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
  7. biboo
     
    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
  8. kennykev51 Messages postés 36 Statut Membre
     
    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
    1. biboo
       
      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
      1. kennykev51 Messages postés 36 Statut Membre > biboo
         
        je crois que s'est ce qu'il veut!
        0
  9. gaara_40 Messages postés 102 Statut Membre 3
     
    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
  10. biboo
     
    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
  11. kennykev51 Messages postés 36 Statut Membre
     
    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
  12. biboo
     
    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
    1. kennykev51 Messages postés 36 Statut Membre
       
      Merci bcp je vais voir ce que je peux faire avec ça!!
      0
  13. biboo
     
    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
  14. biboo
     
    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
  15. kennykev51 Messages postés 36 Statut Membre
     
    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
  16. biboo
     
    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
  17. kennykev51 Messages postés 36 Statut Membre
     
    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
  18. biboo
     
    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
    1. kennykev51 Messages postés 36 Statut Membre
       
      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
  19. biboo
     
    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
  • 1
  • 2