Partage

texte combinatoire

texte aléatoire

11 octobre 2017 à 10:05:23

Bonjour à tous et à toutes,

Je souhaiterai constituer un texte de sept strophes en choisissant aléatoirement une strophes par bibliothèque (total de 7) qui seraient, elles, déjà constituées et qui ne changeraient pas.

je précise que je ne maîtrise que HtML et CSS avec quelques vagues notions de JS.

Merci pour toute réponse.

11 octobre 2017 à 13:29:04

bonjour

pour pouvoir faire une selection aléatoire qui fasse changer une balise paragraphe, je pense que tu dois passer par du php assez basic 

bon courage 

victor

11 octobre 2017 à 13:47:13

Hello,

Oui il te faut passer par un langage serveur, faire un tirage aléatoire simple, exemple en PHP avec mt_rand() puis faire une simple inclusion de fichier.

mt_rand() -> http://php.net/manual/fr/function.mt-rand.php 

Inclusion, rien de plus facile -> https://openclassrooms.com/courses/concevez-votre-site-web-avec-php-et-mysql/inclure-des-portions-de-page-1  

Si tu n'as pas de contrainte sécuritaire (données sensibles), il y a une solution de le faire en JS avec une requête Ajax, ou passer par jQuery si cela te semble compliqué : https://openclassrooms.com/courses/simplifiez-vos-developpements-javascript-avec-jquery/premiers-pas-avec-ajax#/id/r-1636206 

Si les textes ne sont pas très long tu peux les stocker dans un tableau ou objet JS puis faire le tirage et modifier l'élément HTML ciblé. Par l'utilisateur peut modifier celui-ci car stocké côté client et non côté serveur (méthode Ajax). Donc plus simple mais pas très sécure...

Dans ce cas je t'invite à poser la question dans le forum JavaScript. 

-
Edité par Lucky13 11 octobre 2017 à 13:58:28

12 octobre 2017 à 18:06:22

Merci à victorrfau et Lucky13 pour leur réponses.

Je n'ai pas tout capté, mais je vais approfondir cela et effectivement changer de forum si nécessaire.

12 octobre 2017 à 18:30:51

Il faudra utiliser du PHP effectivement ! Je te conseille ce cours qui te sera très utile si tu souhaite débuter en PHP.

Il te faudra tout d'abord suivre l'étape "Préparer son environnement de travail" et installer WAMP, très intuitif si tu es débutante.

Toutefois, si tu ne souhaites pas approfondir tes connaissances en PHP et que tu souhaites l'utiliser une seule fois, tu devras tout de même installer WAMP, mais je vais être gentil et te donner le code qu'il te faut !

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <link rel="stylesheet" href="style.css">
    <title>Le nom de ta page</title>
  </head>
  <body>
    <!-- LE CODE DE TA PAGE -->
    <?php

    $strophes = array(
      'Voici une de mes strophes !',
      'Et en voici une autre !',
      'Et encore une autre...',
      'Je pense que commencer à apprendre le PHP serait une bonne idée !',
      'Le corbeau et le renard'
    );

    shuffle($strophes);
    $texte = implode('<br>', $strophes);

    echo "<p>$texte</p>";

    ?>
  </body>
</html>



Mind Your Business
12 octobre 2017 à 18:36:50

En gros et imaginons que tu utilise PHP (serveur local installé bien sûr) :

1 - Un fichier PHP fait le tirage au sort .

  A) - Sans JS: à chaque chargement de ta page (1ère, retour ou actualisation) PHP fait le tirage, génère le fichier HTML finale et le renvois à l'utilisateur.

  b) - On peut faire la même chose, tirage au sort en début de code, puis  selon le résultat faire une inclusion de fichier HTML. Dans ce cas tu auras dans un dossier plusieurs fichiers , txt1.html, txt2.html, etc...

La différence est que dans le cas A) les textes sont écris en dur dans le fichier de traitement (tirage au sort)

Dans le cas B) les fichiers sont séparés, cela permet d'en créer d'autres à tout moment, et juste de modifier le critère du tirage au sort. Si tu étais en 1 et 5 alors tu peux passer de 1 à 10, etc... parfait pour l'évolution.

 2 - Avec JS, grâce à l'Ajax, on exécute le fichier PHP qui fait le tirage au sort, et on renvois le texte concerné. En JS il ne reste plus qu'à injecter le texte dans un élément HTML (p, div etc...)

L'intérêt:

Est qu'il n'est plus besoins de recharger la page en entier, seul l'élément HTML qui contient le texte est modifié. C'est transparent pour l'utilisateur, plus rapide puisque seul un élément HTML est modifié en temps réel. Cela juste un peu plus de boulot sertes. 

C'est ce qui se passe quand tu cliques sur le pouce de ce forum, la page n'est pas rechargée, seul l'élément HTML du pouce est modifié. Côté PHP il interroge une base de donnée, prend la valeur actuel et l'incrémente. Puis revois ce chiffre, JS modifie le texte HTML du pouce.

Voilà en gros pour la théorie, à toi de choisir la méthode, si le Js te paraît trop difficile fais le en PHP 1 (A ou B), tu pourra toujours modifier ton code quand tu auras acquis les base du JS.

Un peu de texte à lire, j'espère qu'il est compréhensible  ^^

EDIT: voilà la théorie, tu as un exemple donnée par mon VDD côté serveur. manque juste la vérification de ne pas avoir 2 fois la même expression.

-
Edité par Lucky13 12 octobre 2017 à 18:40:34

13 octobre 2017 à 17:37:58

Merci à tous pour cette suite de renseignements conséquente, mais sans doute nécessaire.

texte combinatoire

× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
  • Editeur
  • Markdown