Partage
  • Partager sur Facebook
  • Partager sur Twitter

Cours Créez des pages web interactives avec JS

    9 juillet 2016 à 18:34:56

    Besoin d'aide svp car du coup rien ne fonctionne et je ne peux pas avancer dans les cours.

    J'ai essayé en mettant le répertoire dans www et quand je fais la suite du cours avec le fichier html et js ça ne fonctionne pas

    Voici le message dans la console :

    L’utilisation d’XMLHttpRequest de façon synchrone sur le fil d’exécution principal est obsolète à cause de son impact négatif sur la navigation de l’utilisateur final. Consulter http://xhr.spec.whatwg.org/ pour plus d’informations. cours.js:4:0


    Blocage d’une requête multi-origines (Cross-Origin Request) : la politique « Same Origin » ne permet pas de consulter la ressource distante située sur http://localhost/javascript-web-srv/data/langages.txt. Raison : l’en-tête CORS « Access-Control-Allow-Origin » est manquant. (source inconnue).

    Et j'ai pourtant bien indiqué dans le fichier httpd.conf :

    <IfModule mod_headers.c>
        # Accept cross-domain requests
        Header always set Access-Control-Allow-Origin "*"
    </IfModule>


    NS_ERROR_FAILURE:

    Merci

    • Partager sur Facebook
    • Partager sur Twitter
      10 juillet 2016 à 1:20:30

      Fcorinne a écrit:

      Et j'ai pourtant bien indiqué dans le fichier httpd.conf :

      <IfModule mod_headers.c>
          # Accept cross-domain requests
          Header always set Access-Control-Allow-Origin "*"
      </IfModule>


      NS_ERROR_FAILURE:

      Merci

      Chez moi, çà se présente comme çà :

      <IfModule headers_module>
      #RequestHeader unset DNT env=bad_DNT
      # Allow cross-domain requests
      Header always set Access-Control-Allow-Origin "*"
      </IfModule>

      Et çà fonctionne sous Apache 2.4.9, inclus dans Wamp.


      • Partager sur Facebook
      • Partager sur Twitter
        10 juillet 2016 à 17:08:30

        Bonjour,

        J'ai fini par trouvé, on m'a dit d'aller cocher "headers_module" dans le dossier "Apache / Module apache". Depuis que j'ai fait cette manip, ça fonctionne.

        Dommage que le cours n'en parle pas.

        Merci pour votre aide

        • Partager sur Facebook
        • Partager sur Twitter
          11 juillet 2016 à 9:51:54

          Bonjour, je réïtère ma question au sujet du cours sur les API  : pourquoi ne vois-je pas la même chose que dans le cours en suivant ce lien > https://oc-jswebsrv.herokuapp.com/api/articles ????

          Merci !

          • Partager sur Facebook
          • Partager sur Twitter
            11 juillet 2016 à 13:25:15

            Granou83 a écrit:

            Bonjour, je réïtère ma question au sujet du cours sur les API  : pourquoi ne vois-je pas la même chose que dans le cours en suivant ce lien > https://oc-jswebsrv.herokuapp.com/api/articles ????

            Merci !


            Son contenu varie en live c'est normal.
            • Partager sur Facebook
            • Partager sur Twitter
              11 juillet 2016 à 15:07:40

              MaxenceDufour a écrit:

              Bonjour, une question un peu bête me trotte dans la tête :p

              Pour l'activité 1

              <!doctype html>
              <html>
              
              <head>
                  <meta charset="utf-8">
                  <link rel="stylesheet" href="../css/liensweb.css">
                  <title>Activité 1</title>
              </head>
              
              <body>
                  <h1>Activité 1</h1>
              
                  <!-- Les nouveaux éléments sont ajoutés dans cette balise -->
                  <div id="contenu">
                  </div>
              
                  <script src="../js/liensweb.js"></script>
              </body>
              
              </html>

              il faut donc rediriger son code après h1 et avant la div ou dans la div...

              Merci d'avance :ange:

              -
              Edité par MaxenceDufour le 3 juillet 2016 à 8:40:07


              Salut MaxenceDufour, 

              Il faut que le code s'ajoute dans la div ;)

              Bonne continuation.

              Kévin

              • Partager sur Facebook
              • Partager sur Twitter
              "Ils ne savaient pas que c'était impossible, alors ils l'ont fait" - Mark Twain
                11 juillet 2016 à 19:55:22

                Bonsoir,

                Je viens de finir à corriger les exercices des pairs pour l'activité 1. J'en ai eu 6. Mais du coup une question m'est venue en tête:

                "Quelle est la meilleur façon de programmer en JS?" car j'ai vu plus d'une façon et toute renvoie toujours presque au même résultat.

                Une deuxième question:

                Je me pose depuis peu la question de savoir la nette séparation entre html, css et js. Parce que dans des activités demandées la plupart de choses sont créées avec js alors qu'elles pouvaient bien être faites en html ou css.
                Dans le vrai projet web, que fait-on dans html, css et js?

                -
                Edité par Bam92 12 juillet 2016 à 13:07:39

                • Partager sur Facebook
                • Partager sur Twitter
                  12 juillet 2016 à 14:17:29

                  Bonjour, 

                  J'ai une petite question sur l'activité 2.

                  Est-ce normal que le required de ma balise input soit égale à ""  (required="") ais-je fait une erreur quelque part? 

                  partie du code correspondant:

                  var auteurFormElt = document.createElement("span");
                  auteurFormElt.id = "auteur";
                  var auteurLabelElt = document.createElement("label");
                  auteurLabelElt.for = "text";
                  var auteurInputElt = document.createElement("input");
                  auteurInputElt.type = "text";
                  auteurInputElt.name = "nom de l'auteur";
                  auteurInputElt.id = "nom de l'auteur";
                  auteurInputElt.required = true;
                  
                  document.getElementById("formulaire").appendChild(auteurFormElt);
                  document.getElementById("auteur").appendChild(auteurLabelElt);
                  document.getElementById("auteur").appendChild(auteurInputElt);



                  -
                  Edité par MaxenceDufour 12 juillet 2016 à 14:18:20

                  • Partager sur Facebook
                  • Partager sur Twitter
                  Enjoy your life (^^,)
                    12 juillet 2016 à 15:08:37

                    Bam92 a écrit:

                    Bonsoir,

                    Je viens de finir à corriger les exercices des pairs pour l'activité 1. J'en ai eu 6. Mais du coup une question m'est venue en tête:

                    "Quelle est la meilleur façon de programmer en JS?" car j'ai vu plus d'une façon et toute renvoie toujours presque au même résultat.

                    Une deuxième question:

                    Je me pose depuis peu la question de savoir la nette séparation entre html, css et js. Parce que dans des activités demandées la plupart de choses sont créées avec js alors qu'elles pouvaient bien être faites en html ou css.
                    Dans le vrai projet web, que fait-on dans html, css et js?

                    -
                    Edité par Bam92 il y a environ 1 heure

                    Bonjour,

                    Je ne suis pas un expert mais je dirais que la meilleurs façon de programmer en JS est la façon qui fonctionne (!) en utilisant le moins de ressource possible, c-a-d sans créer 200 variables là il serait possible de n'en créer qu'une. Par exemple, pour la première activité j'avais préféré faire une boucle for() avec un tableau alors qu'en passant par forEach c'est en définitif plus simple. Après, il y a le côté objet à appréhender. Je pense qu'avec l'expérience, ça vient tout seul, et on trouve logique des choses qui nous échappe peut-être encore maintenant.

                    Les activités sont des exercices, à prendre comme tels : on est dans le JS, on programme donc du JS, même si effectivement ce serait bien plus simple de passer par le HTML ou le CSS. Je me suis déjà posé la question, j'en viens au fait que lorsque tu es tout seul devant ton écran, objectivement, tu fais comme tu veux, et perso le HTML étant quand même plus simple à manipuler que le JS, c'est le HTML que je modifierais directement si besoin ;) Malheureusement, je ne penses pas que ce soit toujours possible, et là le JS prend toute son importance.

                    • Partager sur Facebook
                    • Partager sur Twitter
                      12 juillet 2016 à 15:15:48

                      MaxenceDufour a écrit:

                      Bonjour, 

                      J'ai une petite question sur l'activité 2.

                      Est-ce normal que le required de ma balise input soit égale à ""  (required="") ais-je fait une erreur quelque part?

                      Bonjour,

                      Il y a plusieurs façons de marqué comme required un champ de saisie : required = "" ou required = "required", il me semble qu'on peut avoir aussi  required tout seul. Donc ton champ doit bien être rempli, sinon il sera entouré en rouge (sous firefox c'est comme ça en tout cas). D'ailleurs si tu valides sans remplir le champ, tu verras qu'il sera pointé d'une façon ou d'une autre.

                      -
                      Edité par HervéBGD 12 juillet 2016 à 15:16:47

                      • Partager sur Facebook
                      • Partager sur Twitter
                        12 juillet 2016 à 15:37:37

                        Ok, merci pour la réponse.:)

                        • Partager sur Facebook
                        • Partager sur Twitter
                        Enjoy your life (^^,)
                          12 juillet 2016 à 19:54:58

                          Merci HervéBGD pour tes éléments de réponse et aussi pour le fait que tu sois disposé à aider les pairs dans ce forum.

                          Bravo!

                          Je t'ai fait un +1

                          • Partager sur Facebook
                          • Partager sur Twitter
                            12 juillet 2016 à 21:01:11

                            Bonsoir,

                            Je bloque depuis un moment sur un exercice dans le troisième chapitre / utilisez des api web

                            Mon soucis :

                            - je n'arrive pas à avoir toutes les infos sur postman avec https://api.github.com/users (je n'ai juste que quelques infos mais pas les noms, les blogs,...)

                            - mon événement submit n'est pas une fonction comme me dit Filezilla... ???

                            - enfin, pourquoi parfois on met le (e) preventDefault() au début de la fonction et parfois après ?

                            Merci beaucoup !!!

                            var divElt = document.getElementById("github");
                            var formElt = document.getElementById("formulaire");
                            
                            // événement de type submit
                            
                            formElt.addEventListerner("submit", function (e) {
                                
                                e.preventDefault();
                                var nom = form.element.profilGithub.value;
                                
                                // on récupère seulement un nom 
                                ajaxGet("https://api.github.com/users" + nom, function (reponse) {
                            
                                    // du coup on transforme la réponse en un objet et non un tableau
                                    var profil = JSON.parse(reponse);
                            
                                    // création des infos sur le profil
                                    var imageElt = document.createElement("img");
                                    imageElt.src = nom.avatar_url;
                                    var nomElt = document.createElement("p");
                                    nomElt.textContent = nom.name;     
                                    divElt.appendChild(imageElt);
                                    divElt.appendChild(nomElt);
                                    
                                });
                            });
                            



                            • Partager sur Facebook
                            • Partager sur Twitter
                              12 juillet 2016 à 22:54:48

                              Salut tou le monde j'ai un problème concernant mon code source dont je ne trouve pas l'erreur. voila le code source : 

                              /* 
                              Activité 1
                              */
                              
                              // Liste des liens Web à afficher. Un lien est défini par :
                              // - son titre
                              // - son URL
                              // - son auteur (la personne qui l'a publié)
                              var listeLiens = [
                                  {
                                      titre: "So Foot",
                                      url: "http://sofoot.com",
                                      auteur: "yann.usaille"
                                  },
                                  {
                                      titre: "Guide d'autodéfense numérique",
                                      url: "http://guide.boum.org",
                                      auteur: "paulochon"
                                  },
                                  {
                                      titre: "L'encyclopédie en ligne Wikipedia",
                                      url: "http://Wikipedia.org",
                                      auteur: "annie.zette"
                                  }
                              ];
                              
                              // TODO : compléter ce fichier pour ajouter les liens à la page web
                              for (var i = 0; i < listeLiens.length; i++) {
                                  var spanElt = document.createElement("span");
                                  spanElt.classList.add("lien");
                                  spanElt.id = i
                              
                                  var titreElt = document.createElement("h2");
                                  titreElt.textContent = listeLiens[i].titre;
                                  titreElt.style.color = "#428bca"
                              
                                  var urlElt = document.createElement("a");
                                  urlElt.textContent = listeLiens[i].url;
                                  urlElt.href = listeLiens[i].url;
                              
                                  var auteurElt = document.createElement("p");
                                  auteurElt.textContent = listeLiens[i].auteur;
                              
                              
                                  document.getElementById("contenu").appendChild(spanElt);
                                  document.getElementById(i).appendChild(titreElt);
                                  document.getElementById(i).appendChild(document.createElement("br"));
                                  document.getElementById(i).appendChild(urlElt);
                                  document.getElementById(i).appendChild(auteurElt);
                              }

                              Donc ce code source me donne sa : j'ai donc essayer avec un display : flex ce qui m'as donné sa 

                              /* 
                              Activité 1
                              */
                              
                              // Liste des liens Web à afficher. Un lien est défini par :
                              // - son titre
                              // - son URL
                              // - son auteur (la personne qui l'a publié)
                              var listeLiens = [
                                  {
                                      titre: "So Foot",
                                      url: "http://sofoot.com",
                                      auteur: "yann.usaille"
                                  },
                                  {
                                      titre: "Guide d'autodéfense numérique",
                                      url: "http://guide.boum.org",
                                      auteur: "paulochon"
                                  },
                                  {
                                      titre: "L'encyclopédie en ligne Wikipedia",
                                      url: "http://Wikipedia.org",
                                      auteur: "annie.zette"
                                  }
                              ];
                              
                              // TODO : compléter ce fichier pour ajouter les liens à la page web
                              for (var i = 0; i < listeLiens.length; i++) {
                                  var spanElt = document.createElement("span");
                                  spanElt.classList.add("lien");
                                  spanElt.id = i
                                  spanElt.style.display = "flex"
                              
                                  var titreElt = document.createElement("h2");
                                  titreElt.textContent = listeLiens[i].titre;
                                  titreElt.style.color = "#428bca"
                              
                                  var urlElt = document.createElement("a");
                                  urlElt.textContent = listeLiens[i].url;
                                  urlElt.href = listeLiens[i].url;
                              
                                  var auteurElt = document.createElement("p");
                                  auteurElt.textContent = listeLiens[i].auteur;
                              
                              
                                  document.getElementById("contenu").appendChild(spanElt);
                                  document.getElementById(i).appendChild(titreElt);
                                  document.getElementById(i).appendChild(document.createElement("br"));
                                  document.getElementById(i).appendChild(urlElt);
                                  document.getElementById(i).appendChild(auteurElt);
                              }


                              Mais pas moyen d'avoir la meme image que dans l'enoncé de l'activité :

                              Merci d'avance de m'aider car je ne vois pas mon code est incorrect.

                              • Partager sur Facebook
                              • Partager sur Twitter
                                13 juillet 2016 à 2:51:00

                                celineg a écrit:

                                Bonsoir,

                                Je bloque depuis un moment sur un exercice dans le troisième chapitre / utilisez des api web

                                Mon soucis :

                                - je n'arrive pas à avoir toutes les infos sur postman avec https://api.github.com/users (je n'ai juste que quelques infos mais pas les noms, les blogs,...)

                                - mon événement submit n'est pas une fonction comme me dit Filezilla... ???

                                - enfin, pourquoi parfois on met le (e) preventDefault() au début de la fonction et parfois après ?

                                Merci beaucoup !!!

                                var divElt = document.getElementById("github");
                                var formElt = document.getElementById("formulaire");
                                
                                // événement de type submit
                                
                                formElt.addEventListerner("submit", function (e) {
                                    
                                    e.preventDefault();
                                    var nom = form.element.profilGithub.value;
                                    
                                    // on récupère seulement un nom 
                                    ajaxGet("https://api.github.com/users" + nom, function (reponse) {
                                
                                        // du coup on transforme la réponse en un objet et non un tableau
                                        var profil = JSON.parse(reponse);
                                
                                        // création des infos sur le profil
                                        var imageElt = document.createElement("img");
                                        imageElt.src = nom.avatar_url;
                                        var nomElt = document.createElement("p");
                                        nomElt.textContent = nom.name;     
                                        divElt.appendChild(imageElt);
                                        divElt.appendChild(nomElt);
                                        
                                    });
                                });

                                Bonsoir plusieurs erreurs, 

                                1) 

                                 form.elements.profilGithub.value;

                                et non  (un s en moins dans votre erreur)

                                form.element


                                2) Erreur :

                                formElt.addEventListener

                                et non:(un r en plus dans votre erreur)

                                formElt.addEventListerner


                                3) vous rangez "reponse" dans var profil = JSON.parse(réponse) donc :

                                imageElt.src = profil.avatar_url;

                                et non

                                imageElt.src = nom.avatar_url

                                4) pour voir l'image faudrait au minimum définir une dimension : 

                                var imageElt = document.createElement("img");
                                        imageElt.src = profil.avatar_url;
                                        imageElt.style.height="160px";
                                        imageElt.style.width="160px";


                                Voila



                                PS: ce n'est pas le chapitre 3 mais le 9 il me semble



                                -
                                Edité par CometBoy 13 juillet 2016 à 2:54:03

                                • Partager sur Facebook
                                • Partager sur Twitter
                                  13 juillet 2016 à 9:42:35

                                  nullegaltrue a écrit:

                                  Hello nullegaltrue :-)

                                  Merci pour tes précisions ! Ca m'a déjà pas mal éclairé ! Parfois des fautes assez stupides !

                                  Il me reste encore des éléments de question car il n'y a que l'image qui s'affiche or j'ai demandé le nom aussi. 

                                  De plus, comment puis-je savoir les noms comme .company ou .blog si dans postman je n'ai que ceci

                                  Merci beaucoup !!!

                                  • [
                                      {
                                        "login": "mojombo",
                                        "id": 1,
                                        "avatar_url": "https://avatars.githubusercontent.com/u/1?v=3",
                                        "gravatar_id": "",
                                        "url": "https://api.github.com/users/mojombo",
                                        "html_url": "https://github.com/mojombo",
                                        "followers_url": "https://api.github.com/users/mojombo/followers",
                                        "following_url": "https://api.github.com/users/mojombo/following{/other_user}",
                                        "gists_url": "https://api.github.com/users/mojombo/gists{/gist_id}",
                                        "starred_url": "https://api.github.com/users/mojombo/starred{/owner}{/repo}",
                                        "subscriptions_url": "https://api.github.com/users/mojombo/subscriptions",
                                        "organizations_url": "https://api.github.com/users/mojombo/orgs",
                                        "repos_url": "https://api.github.com/users/mojombo/repos",
                                        "events_url": "https://api.github.com/users/mojombo/events{/privacy}",
                                        "received_events_url": "https://api.github.com/users/mojombo/received_events",
                                        "type": "User",
                                        "site_admin": false
                                      },
                                  var divElt = document.getElementById("github");
                                  var formElt = document.getElementById("formulaire");
                                  
                                  // événement de type submit
                                  
                                  formElt.addEventListener("submit", function (e) {
                                      
                                      e.preventDefault();
                                      var nom = formElt.elements.profilGithub.value;
                                      
                                      // on récupère seulement un nom 
                                      ajaxGet("https://api.github.com/users/" + nom, function (reponse) {
                                  
                                          // du coup on transforme la réponse en un objet et non un tableau
                                          var profil = JSON.parse(reponse);
                                  
                                          // création des infos sur le profil
                                          var blocElt = document.createElement ("div");
                                          blocElt.style.paddingTop="23px";
                                          var imageElt = document.createElement("img");
                                          imageElt.src = profil.avatar_url;
                                          imageElt.style.height="160px";
                                          imageElt.style.width="160px";
                                          var descriptionElt = document.createElement("div");
                                          descriptionElt.textContent = nom.name;   
                                          blocElt.appendChild(imageElt);
                                          blocElt.appendChild(descriptionElt);
                                          divElt.appendChild(blocElt);
                                          
                                      });
                                  });


                                  -
                                  Edité par Céline Grosjean 13 juillet 2016 à 9:44:12

                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    13 juillet 2016 à 17:01:53

                                    Bonjour à tous!

                                    Je galère à faire apparaître mon formulaire sur le clic, un petit coup de mains serai bien venu.

                                    boutonElt.id = "bouton";
                                    boutonElt.textContent = "Ajouter un lien";
                                    boutonElt.type = "button";
                                    boutonElt.onclick = "";
                                    
                                    var formElt = document.createElement("form");
                                    formElt.id = "form";
                                    formElt.style = "display:none";
                                    document.getElementById("contenu").appendChild(formElt);

                                    J'ai réussi à caché le formulaire (formElt.style) mais pour le faire réapparaître.... je pense qu'il faut que je complète boutonElt.onclick mais je ne sais quoi mettre

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                    Enjoy your life (^^,)
                                      13 juillet 2016 à 19:42:50

                                      Bonsoir Vinsout,

                                      Déjà, il ne faut oublier les ";" en fin de ligne dans ton code (après les affectations ...).

                                      Ensuite il faut revoir l'utilisation de inline et block. Dans ton cas tu met bout à bout un <h2> et un <a> tous les deux de type block par défaut donc l'un en dessous de l'autre. Il faudrait donc mieux agir sur le type display du <h2> que celui du <span>. En plus tu ajoutes ensuite un <br> pas forcement utile dans ton cas.

                                      Mais pour que ton exo soit correcte, en fait il faut que le lien soit sur le TITRE et non sur l'URL. Attention donc car même si tu obtient le bon affichage, la dynamique attendue ne sera pas là .... Revois donc le choix et l'ordre de tes balises et fais les changements de style appropriés.

                                      Bonne chance. (n'oublis pas de voter si la réponse te convient)

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        13 juillet 2016 à 19:54:03

                                        @Vinsout

                                        Si tu veux avoir une présentation sur deux lignes, comme dans l'exemple, il te faut deux blocs inline : un pour le titre et son url, l'autre pour le commentaire avec nom de l'auteur.

                                        Deux <span> feront l'affaire...

                                        Cdlt

                                        MaxenceDufour a écrit:

                                        Bonjour à tous!

                                        Je galère à faire apparaître mon formulaire sur le clic, un petit coup de mains serai bien venu.

                                        boutonElt.id = "bouton";
                                        boutonElt.textContent = "Ajouter un lien";
                                        boutonElt.type = "button";
                                        boutonElt.onclick = "";
                                        
                                        var formElt = document.createElement("form");
                                        formElt.id = "form";
                                        formElt.style = "display:none";
                                        document.getElementById("contenu").appendChild(formElt);

                                        J'ai réussi à caché le formulaire (formElt.style) mais pour le faire réapparaître.... je pense qu'il faut que je complète boutonElt.onclick mais je ne sais quoi mettre

                                        La fonction onclick ne doit pas faire apparaitre un formulaire préalablement caché, mais elle doit remplacer le bouton d'ajout par le formulaire.

                                        Remplacer un élément du DOM par un autre, c'est dans le cours...

                                        Cdlt

                                        -
                                        Edité par Guettoudou 13 juillet 2016 à 20:18:28

                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          14 juillet 2016 à 0:44:39

                                          celineg a écrit:

                                          nullegaltrue a écrit:

                                          Hello nullegaltrue :-)

                                          Merci pour tes précisions ! Ca m'a déjà pas mal éclairé ! Parfois des fautes assez stupides !

                                          Il me reste encore des éléments de question car il n'y a que l'image qui s'affiche or j'ai demandé le nom aussi. 

                                          De plus, comment puis-je savoir les noms comme .company ou .blog si dans postman je n'ai que ceci

                                          Merci beaucoup !!


                                          Pour afficher le nom tu peux mettre la valeur de ton champs : divNom.textContent = nom ; et pour le reste je sais pas tu peux combiner profil.repos_url ou la liste de ce qu'il t'est proposé.

                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                            14 juillet 2016 à 12:09:06

                                            Commentaire HS

                                            -
                                            Edité par HervéBGD 19 juillet 2016 à 11:11:57

                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              14 juillet 2016 à 12:49:47

                                              Merci Guettoudou, je viens de comprendre mon erreur.

                                              Un autre question, pour l'ajout d'un nouveau lien toujours dans l'activité 2.

                                              Peut-on utiliser la méthode push pour l'ajouter a "listeLiens" ou ce n'es pas possible?

                                              Merci:ange:

                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                              Enjoy your life (^^,)
                                                14 juillet 2016 à 17:44:10

                                                ok, merci pour vos conseil, malgré mes effort j'arrive toujours pas, bien sur je m'en rapproche mais c'est pas encore sa, maintenant sa ressemble a sa : 

                                                Et voici le code source : 

                                                /* 
                                                Activité 1
                                                */
                                                
                                                // Liste des liens Web à afficher. Un lien est défini par :
                                                // - son titre
                                                // - son URL
                                                // - son auteur (la personne qui l'a publié)
                                                var listeLiens = [
                                                    {
                                                        titre: "So Foot",
                                                        url: "http://sofoot.com",
                                                        auteur: "yann.usaille"
                                                    },
                                                    {
                                                        titre: "Guide d'autodéfense numérique",
                                                        url: "http://guide.boum.org",
                                                        auteur: "paulochon"
                                                    },
                                                    {
                                                        titre: "L'encyclopédie en ligne Wikipedia",
                                                        url: "http://Wikipedia.org",
                                                        auteur: "annie.zette"
                                                    }
                                                ];
                                                
                                                // TODO : compléter ce fichier pour ajouter les liens à la page web
                                                for (var i = 0; i < listeLiens.length; i++) {
                                                
                                                    var spanElt1 = document.createElement("span");
                                                    spanElt1.classList.add("lien");
                                                    spanElt1.id = "lien1";
                                                    spanElt1.style.display = "inline";
                                                
                                                    var spanElt2 = document.createElement("span");
                                                    spanElt2.classList.add("lien");
                                                    spanElt2.id = "lien2";
                                                    spanElt2.style.display = "inline-block";
                                                
                                                    var titreElt = document.createElement("h2");
                                                    var titreLienElt = document.createElement("a");
                                                    titreLienElt.href = listeLiens[i].url;
                                                    titreLienElt.textContent = listeLiens[i].titre + "  ";
                                                    titreLienElt.style.color = "#428bca";
                                                    titreElt.id = "titreLien";
                                                    titreElt.style.display = "inline";
                                                
                                                    var urlElt = document.createElement("p");
                                                    urlElt.textContent = "  " + listeLiens[i].url;
                                                    urlElt.style.display = "inline-block";
                                                    urlElt.style.paddingLeft = "10px"
                                                
                                                    var auteurElt = document.createElement("p");
                                                    auteurElt.textContent = "Ajouté par " + listeLiens[i].auteur;
                                                
                                                
                                                    titreElt.appendChild(titreLienElt);
                                                    spanElt1.appendChild(titreElt);
                                                    spanElt1.appendChild(urlElt);
                                                    spanElt2.appendChild(auteurElt);
                                                    document.getElementById('contenu').appendChild(spanElt1);
                                                    document.getElementById('contenu').appendChild(document.createElement("br"))
                                                    document.getElementById('contenu').appendChild(spanElt2);
                                                    document.getElementById('contenu').appendChild(document.createElement("br"))
                                                }



                                                Donc mon problème est que sur l'image de l'énoncé il y a trois bloc qui font la page entière alors que le miens a 6 bloc,  et ne font pas la page entière il n'occupe la place que pour les paragraphe. Je me demandais donc tout d'abord comment fait pour résoudre cela et sinon, pour ceux qui ont déjà fait et rendu l'activité, si cela était pris en compte dans la notation, si sa avait de l'importance ? 

                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  14 juillet 2016 à 18:05:38

                                                  @vinsout,

                                                  tu mets tout dans un span de type block et de class lien. tu vas pouvoir simplifier ce que tu as fait du coup. N'oublis pas de supprimer l'aspect souligner des titres ... Tu approches. Conseil : revois quand même la structure HTML ce sera plus facile pour toi, en fait tu ne bloques pas sur le JavaScript pour l'exo mais sur le formatage de ta page !

                                                  • Partager sur Facebook
                                                  • Partager sur Twitter
                                                    14 juillet 2016 à 18:08:29

                                                    Ah enfin sa y est, j'ai reussi, j'ai supprimer le spanElt2 et mis l'auteur dans le 1er span en changer le span en block 

                                                    Merci encore pour votre aide

                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      14 juillet 2016 à 19:15:28

                                                      @HervéBGD: Je sens ton mécontentement. Je la chance de tomber sur de bons correcteurs. On le dit toujours "soyez positif et bien lire le barème".

                                                      L'innovation des MOOC c'est bien la correction des pairs. Ton exercice est corrigé par 3 ou plus de tes amis de classe. Ce que je propose c'est peut être la possibilité pour quelqu'un de contester une note ou de pouvoir demander une autre correction.

                                                      @Vinsout : n’oublies pas que c'est un devoir. Les autres n'ont pas encore travailler. Donc évites d'afficher tout ton code.

                                                      • Partager sur Facebook
                                                      • Partager sur Twitter
                                                        14 juillet 2016 à 20:01:03

                                                        MaxenceDufour a écrit:

                                                        Merci Guettoudou, je viens de comprendre mon erreur.

                                                        Un autre question, pour l'ajout d'un nouveau lien toujours dans l'activité 2.

                                                        Peut-on utiliser la méthode push pour l'ajouter a "listeLiens" ou ce n'es pas possible?

                                                        Merci:ange:

                                                        Ce ne sont pas vraiment les méthodes usitées dans ce cours mais, si tu tiens absolument à utiliser push(), préfère-lui plutôt unshift() qui ajoutera le nouvel élément au début du tableau listeLiens, comme demandé...!

                                                        Cdlt

                                                        -
                                                        Edité par Guettoudou 14 juillet 2016 à 20:01:45

                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          14 juillet 2016 à 22:57:15

                                                          Salut! j'ai besoin d'aide, je veux comparer la valeur d'une <option> dans un <select> à celui d'un nombre générer aleatoirement par un bouton 

                                                          voici la ou j'en suis

                                                          form name="myform">
                                                               <select>
                                                                  <option value="1">1</option>
                                                                  <option value="2">2</option>
                                                                  <option value="3">3</option>
                                                                  <option value="4">4</option>
                                                                  <option value="5">5</option>
                                                              </select>
                                                             <input type="number" value="nbre">
                                                             <INPUT TYPE="button" VALUE="Go" OnClick="form.alea.value=parseInt(Math.random()*5)">
                                                             <INPUT TYPE="text" NAME="alea" SIZE=20>
                                                          </form



                                                          -
                                                          Edité par Mo Thiaw 14 juillet 2016 à 23:04:32

                                                          • Partager sur Facebook
                                                          • Partager sur Twitter
                                                            15 juillet 2016 à 14:45:58

                                                            Pour Mo Thiaw :

                                                            A quoi sert la deuxième liste ?

                                                            Surveille le clic sur le bouton, lors du clic, récupère la valeur du select et celle du champ "alea", et ensuite compare tes deux valeurs.

                                                            Grosso modo :

                                                            var alea = document.getElementById("alea");
                                                            var sel = document.getElementById("sel");
                                                            var bouton = document.getElementById("bout");
                                                            bouton.addEventListener("click", function(){
                                                                console.log("alea : "+alea.value);
                                                                console.log("select : "+sel.value);
                                                            });

                                                            Sachant que j'ai rajouter des id sur le bouton (bout), le input(sel) et le champ(alea). Là la console affiche les deux valeurs contenues dans le select et le champ.

                                                            -
                                                            Edité par HervéBGD 19 juillet 2016 à 11:12:28

                                                            • Partager sur Facebook
                                                            • Partager sur Twitter
                                                              15 juillet 2016 à 16:44:54

                                                              Bonjour,

                                                              Quelqu'un pourrait m'expliquer pourquoi mes définitions ne s'affichent pas ? Chapitre 9

                                                              Merci beaucoup !!!

                                                              var lettreDivElt = document.getElementById("lettre");
                                                              var lexiqueElt = document.getElementById("lexique");
                                                              
                                                              //creation de fonction pour la création du contenu
                                                              function contenu() {
                                                                  ajaxGet("http://oc-jswebsrv.herokuapp.com/api/lexique/" + lettre, function (reponse) {
                                                                      var defs = JSON.parse(reponse);
                                                                      
                                                                      defs.forEach(function (def) {
                                                                          var titreElt = document.createElement("h2");
                                                                          titreElt.textContent = def.term;
                                                                          var definition = document.createElement("p");
                                                                          definition.textContent = def.definition;
                                                                          lexiqueElt.appendChild(titreElt);
                                                                          lexiqueElt.appendChild(definition);
                                                                      })
                                                                      
                                                                  });           
                                                              }
                                                              // tableau lettres
                                                              var lettres = ["A", "B", "C", "D", "E"];
                                                              
                                                              lettres.forEach(function (lettre) {
                                                                  var lettreElt = document.createElement("a");
                                                                  lettreElt.href = "#";
                                                                  lettreElt.textContent = lettre;
                                                                  lettreDivElt.appendChild(lettreElt);
                                                                  lettreDivElt.appendChild(document.createTextNode(" | ")); 
                                                                  lettreElt.addEventListener("click", function () {
                                                                      contenu(lettre);    
                                                                  });
                                                              });



                                                              -
                                                              Edité par Céline Grosjean 15 juillet 2016 à 16:45:55

                                                              • Partager sur Facebook
                                                              • Partager sur Twitter

                                                              Cours Créez des pages web interactives avec JS

                                                              × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                              × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                                              • Editeur
                                                              • Markdown