Partage
  • Partager sur Facebook
  • Partager sur Twitter

Exercices interactifs pour le tutoriel de Javascript

Donnez votre avis

    25 décembre 2014 à 6:42:02

    Oui et non. C'est déjà un peu le but des exos dans leur ensemble. Ils préparent aux TP que l'on trouve dans le tuto. Je vais toutefois essayer de compléter les exercices pour monter de nouvelles choses, non-vues dans le cours (mais simples à mettre en place) : exmemples :  yield, forEach, let, try catch....

    • Partager sur Facebook
    • Partager sur Twitter

    Ma vraie biographie - Ex-Manager de la Validation sur le Site du Zéro - sdlm.be - Horus.aero

    Anonyme
      25 décembre 2014 à 23:01:26

      Merci pour le lien des QCM, les liens proposés en bas de page et les exemples ne fonctionnent plus chez moi.
      • Partager sur Facebook
      • Partager sur Twitter
        26 décembre 2014 à 6:21:26

        C'est le serveur Sdz-files (appartient à OC) qui semble être planté...
        • Partager sur Facebook
        • Partager sur Twitter

        Ma vraie biographie - Ex-Manager de la Validation sur le Site du Zéro - sdlm.be - Horus.aero

        Anonyme
          26 décembre 2014 à 11:41:35

          Ça fait un petit moment maintenant, c'est dommage car je ne peux pas continuer. Enfin merci pour tous ces cours gratuits et bien expliqués, je pense que si il y avait plus d'exos ça serait mieux :)
          • Partager sur Facebook
          • Partager sur Twitter
            26 décembre 2014 à 16:40:39

            Ca, ça me motive à terminer la migration vers mon serveur...
            • Partager sur Facebook
            • Partager sur Twitter

            Ma vraie biographie - Ex-Manager de la Validation sur le Site du Zéro - sdlm.be - Horus.aero

              26 décembre 2014 à 17:19:28

              Voilà, le serveur a été remis en ligne par M@teo :)
              • Partager sur Facebook
              • Partager sur Twitter

              Ma vraie biographie - Ex-Manager de la Validation sur le Site du Zéro - sdlm.be - Horus.aero

                30 décembre 2014 à 13:30:50

                bonjour

                je voudrait signaler un petit bug que j'ai rencontrer dans le premier questionnaire du javascript.

                J'ai beau mettre la bonne réponse pour la première question il me met toujours une autre réponse.

                sinon c'est une super idée de faire un questionnaire à la fin des parties car sa permet de voire si on bien compris :).

                • Partager sur Facebook
                • Partager sur Twitter
                Celui qui pose une question est bête cinq minute, celui qui n'en pose pas l'est toute sa vie.
                  30 décembre 2014 à 17:18:30

                  daffy85 a écrit:

                  bonjour

                  je voudrait signaler un petit bug que j'ai rencontrer dans le premier questionnaire du javascript.

                  J'ai beau mettre la bonne réponse pour la première question il me met toujours une autre réponse.

                  sinon c'est une super idée de faire un questionnaire à la fin des parties car sa permet de voire si on bien compris :).

                  Si tu es sur Safari, pas de solution pour l'instant. Va sur d'autres navigateurs comme Mozilla, Opéra ou Chrome, il n'y a pas de soucis...normalement ^^
                  • Partager sur Facebook
                  • Partager sur Twitter
                    2 janvier 2015 à 14:10:11

                    Hello !

                    J'apprends le Javascript en ce moment, et je fais les exercices de tous les cours chaque matin, il y a un bug qui apparaît à chaque fois sur cette page :

                    http://www.sdz-files.com/cours/javascript/exercices/dfn/dfn-partie1-chapitre2-premiers-pas.htm

                    (C'est le même bug que Daffy85 je pense et je suis sur Chrome)

                    Il est impossible de mettre le tag : " <script src="hello.js"></script> " pour la première question. Lorsque j'essaie, à chaque fois il me met : <script src="hello.js"/> à la place, qui est bien entendu faux.

                    Mise à part ce bug, le principe et le système d'exercice est très bon. Personnellement si je pouvais l'améliorer je générerai les questions de manière aléatoire, car quand on refait les exos tous les matins, on n'utilise plus vraiment notre réflexion, mais plus notre mémoire et c'est dommage.

                    Peut-être que ça existe autre part, mais s'il était possible d'avoir plus d'exo (avec glissé déposé / écriture de code etc.) ce serait vraiment génial :) 

                    En tout cas bon boulot ! Merci beaucoup ! 

                    PS : il y a un coquille sur cette page 

                    http://www.sdz-files.com/cours/javascript/exercices/dfn/dfn-partie1-chapitre4-conditions.htm

                    Un T s'est glissé !

                    Cet mot-clé s'utilise au sein d'un switch

                    et là un T à la place du R :

                    Comment savoit si une variable existe ?

                    et là un E à la place du A :

                    Le structure if..else n'est pas la seule permettant de faire une structure conditionnelle. Une autre existe, laquelle ?

                    -
                    Edité par Fabien D. 2 janvier 2015 à 14:38:04

                    • Partager sur Facebook
                    • Partager sur Twitter
                      2 janvier 2015 à 17:21:47

                      Y a du bon derrière ces exos. On sent que vous êtes sur la bonne voie, et ça fait plaisir. :)

                      Bon allez, maintenant que je vous ai bien caressé dans le sens du poil, sortons le briquet :

                      Certains exos sont clairement perfectibles, car au delà de certains bugs (désolé, j'était trop paresseux pour les relever, sur le moment :x), certains exos ne prennent pas en compte toutes les possibilités.

                      Exemple avec l'exercice de la boucle while avec prompt, j'avais entré ça :

                      var phrase;
                      
                      while(!phrase) {
                      	phrase = prompt('Dites que vous êtes moche !');
                      }
                      
                      alert(phrase);

                      Et ça n'a pas validé, alors que j'avais bien pris en compte la conversion des types, afin d'alléger le code. :'(

                      • Partager sur Facebook
                      • Partager sur Twitter

                      Développeur chez Space Origin, jeu de stratégie futuriste sur navigateur.

                        2 janvier 2015 à 19:22:21

                        Bonsoir, 

                        Tout d'abord je tiens a dire que ces petits exercices sont très bien faits et très bien pensés. Néanmoins, je rejoins l'idée de Cachwir : à partir des exercices sur les boucles, on nous dit simplement si notre code comporte des erreurs de syntaxe ou non, je ne sais pas si c'est possible, mais il serait intéressant de dire si le code entré est valable en réponse a l'exercice (pour les exercices demandant d'entrer un code). 

                        Cordialement.

                        -
                        Edité par Sleindar 2 janvier 2015 à 19:27:29

                        • Partager sur Facebook
                        • Partager sur Twitter
                          2 janvier 2015 à 21:26:08

                          C'est techniquement compliqué en fait. Mon script de vérification de syntaxe est perfectible, car il se base sur des regex (donc tout est "prédéterminé"). Il faut donc faire "au plus simple" et comme montré dans le cours, ce qui explique certains couacs.

                          Ceci étant, pour l'exercice avec la while + prompt, il n'y a rien qui vérifie le code, juste un interpréteur qui vérifie la syntaxe.

                          Pour ce qui est des questions aléatoires, c'est possible, mais je flemme de trouver des tas de questions différentes :p

                          • Partager sur Facebook
                          • Partager sur Twitter

                          Ma vraie biographie - Ex-Manager de la Validation sur le Site du Zéro - sdlm.be - Horus.aero

                            3 janvier 2015 à 12:34:52

                            Très bien cela permet de valider ses connaissances !
                            • Partager sur Facebook
                            • Partager sur Twitter
                              8 février 2015 à 19:06:12

                              Dans le cours, http://www.sdlm.be/odyssey/javascript/18/partie1/chapitre6/questionnaire.htm , il y a un problème pour avoir la bonne réponse alors que sur http://www.sdz-files.com/cours/javascript/exercices/dfn/dfn-partie1-chapitre6-fonctions.htm, c'est bon (la question sur la boucle qui me semblait bizarre a été enlevée , d'ailleurs)

                              Le temps imparti pour chaque partie est vraiment trop court, j'ai du me réinscrire à la semaine 5 parce que j'avais du retard. Mais j'en profite pour réviser le début du cours. Je sais qu'en premium, on a le temps qu'on veut, mais là, en gratuit, c'est vraiment dur de suivre le rythme si on veut bien faire les questionnaires et les exercices.

                              • Partager sur Facebook
                              • Partager sur Twitter
                                9 février 2015 à 6:39:38

                                Il n'y a aucunement besoin de s'inscrire au cours. Ces exercices sont indépendants, donc réalisables tout le temps ;) . (et ça restera comme ça).

                                • Partager sur Facebook
                                • Partager sur Twitter

                                Ma vraie biographie - Ex-Manager de la Validation sur le Site du Zéro - sdlm.be - Horus.aero

                                  9 février 2015 à 12:13:15

                                  Je croyais que ça avait changé. Bon, d'un autre côté, quand on s'inscrit, on se sent plus motivé pour faire le exercices !
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    9 février 2015 à 17:39:39

                                    Bonjour bonsoir,

                                    Un bug pour le moins déroutant sur ce QCM : http://www.sdlm.be/odyssey/javascript/02/partie1/chapitre2/qcm.htm
                                    En effet, quelque soit la réponse que j'entre, celle-ci est forcément fausse...
                                    Je suis sur Chrome 

                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      9 février 2015 à 19:12:36

                                      Ah zut... le tutoriel a été mis à jour sans que je ne le demande et les nouveaux liens sont dispos... Mais ce n'est pas encore opérationnel .
                                      • Partager sur Facebook
                                      • Partager sur Twitter

                                      Ma vraie biographie - Ex-Manager de la Validation sur le Site du Zéro - sdlm.be - Horus.aero

                                        17 février 2015 à 19:01:48

                                        Bonsoir,

                                        Petit problème, aucune question ici:

                                        http://www.sdlm.be/odyssey/javascript/17/partie1/chapitre6/qcm.htm

                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          17 février 2015 à 19:21:54

                                          C'est corrigé :)
                                          • Partager sur Facebook
                                          • Partager sur Twitter

                                          Ma vraie biographie - Ex-Manager de la Validation sur le Site du Zéro - sdlm.be - Horus.aero

                                            20 février 2015 à 15:27:34

                                            Bonjour,

                                            Soucis avec le question sur les fonctions :

                                            http://www.sdlm.be/odyssey/javascript/18/partie1/chapitre6/questionnaire.htm

                                            On ne peut pas voir la solution, et quand je demande de corriger, peut importe ce que je mets à la 1ère affirmation, c'est toujours faux :)

                                            D'ailleurs, la question porte sur le chapitre précédent :

                                            Mot clé définissant une boucle qui s'exécute tant qu'une condition est remplie -> réponse : while !

                                            Je suis sur Chrome.

                                            Et pour le 2ème exo du chapitre sur les fonctions, la réponse suivante est possible :

                                            function askNumber() {

                                            var nombre;

                                            while(isNaN(nombre)) {

                                            nombre = parseInt(prompt("Saisir quelque chose :"),10);

                                            }

                                            return nombre;

                                            }

                                            Merci pour le cours, il est top ;)

                                            -
                                            Edité par mordead 20 février 2015 à 15:38:04

                                            • Partager sur Facebook
                                            • Partager sur Twitter
                                              20 février 2015 à 17:55:59

                                              C'est corrigé pour while. La réponse "while" n'était pas présente, et ça faisait bugger le script de correction.
                                              • Partager sur Facebook
                                              • Partager sur Twitter

                                              Ma vraie biographie - Ex-Manager de la Validation sur le Site du Zéro - sdlm.be - Horus.aero

                                                20 février 2015 à 18:02:18

                                                Pour le chapitre suivant, je n'ai pas la possibilité de voir les réponses :

                                                http://www.sdlm.be/odyssey/javascript/22/partie1/chapitre7/qcm.htm

                                                Edit : une petite question, dans les exos "écrire code", il est souvent dit : le code ci-dessous. Sauf que la fenêtre de saisie est toujours vide. Il ne manque pas le code de départ nécessaire pour l'exo ?

                                                -
                                                Edité par mordead 20 février 2015 à 18:06:12

                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                  20 février 2015 à 18:26:37

                                                  Corrigé pour les QCM (le problème était partout), et corrigé pour les codes non présents :)
                                                  • Partager sur Facebook
                                                  • Partager sur Twitter

                                                  Ma vraie biographie - Ex-Manager de la Validation sur le Site du Zéro - sdlm.be - Horus.aero

                                                    24 février 2015 à 22:41:31

                                                    C'est plutôt à propos du cours que des exercices mais j'ai un problème avec le wrapper présenté à la fin du chapitre les-polyfills-et-les-wrappers

                                                    J'ai voulu afficher l'image avec

                                                    document.body.appendChild(myImg);


                                                    Ca ne fonctionne pas mais peut-être ne l'ai-je pas placé au bon endroit dans le code. je l'ai placé tout à la fin de cette fonction:

                                                    myImg.set('onload', function() { // Affichage de diverses informations une fois l'image chargée
                                                        alert(
                                                    	'complete : ' + this.get('complete') + '\n' +
                                                    	'width : ' + this.get('width') + ' px\n' +
                                                    	'height : ' + this.get('height') + ' px'
                                                        );
                                                    	document.body.appendChild(myImg);
                                                    
                                                    });




                                                    • Partager sur Facebook
                                                    • Partager sur Twitter
                                                      25 février 2015 à 5:31:22

                                                      Ca ne ne peut pas marcher. appendChild permet d'insérer un élément (objet HTML), or ici, myImg est une instance d'un objet Image, ce qui est totalement différent.
                                                      • Partager sur Facebook
                                                      • Partager sur Twitter

                                                      Ma vraie biographie - Ex-Manager de la Validation sur le Site du Zéro - sdlm.be - Horus.aero

                                                        25 février 2015 à 11:17:05

                                                        Dans cette section sur les polyfills et les wrappers, ce serait donc intéressant de compléter le code pour pouvoir afficher l'image, afin qu'on comprenne mieux l'intérêt du wrapper.

                                                        Pour la section sur l'ajax, dans xmlhttprequest-1 j'ai aussi des soucis. Elle manque un peu d'explications, alors que le contenu est déjà bien complexe.

                                                        Note que je me suis arrêtée hier soir juste avant la section Résoudre les problèmes d'encodage.

                                                        L'exemple montre comment ouvrir et lire des fichiers txt.En copiant-collant le code, je n'y parvenais pas mais j'ai récupéré le code source de l'exemple et ça a fonctionné. Il est important d'insister aussi sur le fait que sans un serveur, ça ne fonctionne pas, je me suis fait avoir au début !

                                                        Avec un peu de difficulté, j'ai réussi à ouvrir de la même manière le fichier xml présenté dans la section, et à afficher les cellules.C'est un bon petit exercice à proposer à la fin de cette section, ça fait réfléchir.

                                                        Par contre, je n'ai pas réussi à récupérer le contenu d'une page php destinée récupérer un pseudo et un nom via un formulaire HTML placé dans une autre page (via 2 boutons input, avec un bouton submit pour envoyer les valeurs). Ma page php fonctionne, elle affiche bien mes 2 valeurs et avec GET, j'ai bien les valeurs dans l'URL (ce qui est logique, sinon, elles ne s'afficheraient pas dans ma page).

                                                        Avec l'exemple du cours, je réussis à récupérer cet URL, mais sans les valeurs, qui restent undefined (même si j'ai bien validé le formulaire). Impossible donc ensuite de les afficher (et quel sera le code pour cela : juste value1 ou xhr.value1 ?)

                                                        J'ai le même souci avec POST. J'ai pourtant je crois suivi le bout de code proposé plus haut.

                                                        L'exercice me semble également intéressant à proposer mais il faudrait une correction pour ceux qui, comme moi, échoue.

                                                        • Partager sur Facebook
                                                        • Partager sur Twitter
                                                          25 février 2015 à 14:40:55

                                                          Pour le wrapper et l'image, ça n'a aucun rapport en fait. Un objet Image n'a aucun rapport un HTMLImgElement. Image "symbolise" une image chargée par le navigateur (un image "en mémoire" en fait), ce qui est très différent de celle qui figure dans le code HTML.

                                                          Pour AJAX, ça vient la plupart du temps à cause des navigateurs qui n'autorisent pas/plus le local. Je vais faire quelques tests et mette à jour en conséquence, car apparemment ça a évolué.

                                                          -
                                                          Edité par Thunderseb 25 février 2015 à 14:41:15

                                                          • Partager sur Facebook
                                                          • Partager sur Twitter

                                                          Ma vraie biographie - Ex-Manager de la Validation sur le Site du Zéro - sdlm.be - Horus.aero

                                                            25 février 2015 à 16:42:18

                                                            Donc en fait, il y a bien un "gros" oubli de notre part concernant les tests locaux. Voici le paragraphe que je vais ajouter, juste après le test avec les fichiers TXT :

                                                            ------------------------------------------------------------------------------------------------------

                                                            Pourquoi ce code ne fonctionne t-il pas chez moi alors que l'exemple fonctionne ?

                                                            Et oui, c'est fort probable que l'exemple précédent ne fonctionne pas en local, alors qu'il fonctionne parfaitement sur un serveur. Voyons pourquoi.

                                                            XHR et les tests locaux

                                                            Nous avons vu précédemment qu'il fallait utiliser la propriété status  pour savoir si la requête HTTP avait abouti. En ce cas, la valeur de status  est 200 . Oui, mais... si vous testez en local, il n'y a pas de requête HTTP ! Et donc, status vaudra 0 . Pour qu'un code XHR fonctionne en local, il faut donc gérer le cas où status  peut valoir 0  :

                                                            if (xhr.readyState === 4 && (xhr.status === 200 || xhr.status === 0)) {}
                                                            Mais attention, évitez de laisser cette condition lorsque votre script sera sur votre serveur, car la valeur 0  est une valeur d'erreur. Autrement dit, si une fois en ligne votre requête rencontre un problème, 0  sera peut-être également retourné. Je dis peut-être, car 0 n'est pas une valeur autorisée comme code HTTP. C'est toutefois documenté par le W3C comme étant une valeur retournée dans certains cas, mais c'est un peu complexe.

                                                            -
                                                            Edité par Thunderseb 25 février 2015 à 16:42:59

                                                            • Partager sur Facebook
                                                            • Partager sur Twitter

                                                            Ma vraie biographie - Ex-Manager de la Validation sur le Site du Zéro - sdlm.be - Horus.aero

                                                            Exercices interactifs pour le tutoriel de Javascript

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