ntro.ca

        • Contrats de classe
        • Liens utiles
        • Calendrier
        • Calendrier groupe 2
        • Calendrier groupes 1, 3
        • Structure du cours
        • Évaluations
        • Matériel à se procurer
        • Les profs
          • Marc-Olivier Tremblay
          • Mathieu Bergeron
        • Module 1.1: installation + trier des cartes
        • Module 1.2: rappels POO
        • Module 1.3: tableau d'objets
        • Examen 1
        • Module 2.1: données JSON
        • Module 2.2: données en Java
        • Module 2.3: récursivité
        • Examen 2
        • Module 3.1: structure générique
        • Module 3.2: efficacité (1)
        • Module 3.3: efficacité (2)
        • Examen 3
        • Module 4.1: liste naïve
        • Module 4.2: liste par tableau
        • Module 4.3: liste chaînée
        • Examen 4
        • Module 5.1: mappage naïf
        • Module 5.2: mappage par hachage
        • Module 5.3: mappage par arbre
        • Examen 5
        • Équipes
          • Horaire groupe 1
          • Horaire groupe 2
          • Horaire groupe 3
          • Groupe 1
          • Groupe 2
          • Groupe 3
        • Projets vedettes 2022
        • Projets vedettes 2023
        • Projets vedettes 2024
        • Projets vedettes 2025
        • Survol
        • Structure
        • Calendrier
        • Calendrier des séances
        • Évaluations
        • Exemples de jeu
        • Exemples de pages
        • Réponses à vos questions
        • Module 1: créer le projet
        • Module 2: concevoir l'application
        • Module 3: vues NtroFx
        • Module 4: modèle et navigation
        • Module 5: ajouter le dorsal, modifier le modèle
        • Module 7: améliorer l'affichage
        • Module 8: jeu en 2d
        • Module 9: client/serveur
        • Module 10: plusieurs instances du même modèle
        • TP1
        • Examen 1
        • TP2
        • Examen 2
        • Projet de fin de session
        • Calendrier
        • Structure du cours
        • Évaluations
        • Contrat de classe
        • Le prof
        • 01: Windows et Word
          • Astuces et raccourcis
        • 02: Word
        • 03: Word
          • Exercice Word: insertion d'éléments spéciaux
          • Exercice Word: tableaux
        • 04: Word
          • Exercice Word: références
          • TP01: Word (15%)
        • 05: PowerPoint
          • TP02: PowerPoint (10%)
        • 06: Examen Word (20%)
        • 07: Excel
        • 08: Excel
        • 09: Excel
          • TP03: Excel (15%)
        • 10: Excel
        • 11: Examen Excel (20%)
        • 12: Access
        • 13: Access
        • 14: Access
        • 15: Examen Access
      • Sondage H2023 (dept. info)
      • Vision H2023 (dept. info)
      • P1) exercices interactifs de lecture
      • P2) transition Excel vers Python
        • Atelier 2: un exemple
      • Jquery
      • Jquery Ui
      • Point de vue sur l'IA
    brouillon) exercices interactifs de lecture
    • brouillon) exercices interactifs de lecture
      • Exemples de messages d’erreur
        • Java01
        • Java02
        • Java03
        • Linux
        • Windows
        • Outils réseau
      • Exercices interactifs
      • Livrable

    brouillon) exercices interactifs de lecture #

    Exemples de messages d’erreur #

    Java01 #

    java.lang.NullPointerException
            at pong.frontal.taches.AfficherFileAttente.lambda$afficherFileAttente$1(AfficherFileAttente.java:40)
            at ca.ntro.app.tasks.SimpleTaskCreatorNtro.executeTask(SimpleTaskCreatorNtro.java:81)
            at ca.ntro.app.tasks.SimpleTaskCreatorNtro.lambda$registerExecutionHandler$0(SimpleTaskCreatorNtro.java:74)
            at ca.ntro.core.task_graphs.task_graph_trace.TaskTraceNtro.executeTask(TaskTraceNtro.java:150)
            at ca.ntro.core.task_graphs.task_graph_trace.TaskTraceNtro.executeOneStep(TaskTraceNtro.java:128)
            at ca.ntro.core.task_graphs.task_graph_trace.TaskGraphTraceNtro.lambda$executeLoop$1(TaskGraphTraceNtro.java:179)
            at ca.ntro.core.stream.StreamNtro.lambda$reduceToResult$10(StreamNtro.java:196)
            at ca.ntro.core.stream.StreamNtro.lambda$applyReducer$0(StreamNtro.java:44)
            at ca.ntro.core.stream.StreamForMapValues.forEach_(StreamForMapValues.java:36)
            at ca.ntro.core.stream.StreamNtro.applyReducer(StreamNtro.java:42)
            at ca.ntro.core.stream.StreamNtro.reduceToResult(StreamNtro.java:194)
            at ca.ntro.core.task_graphs.task_graph_trace.TaskGraphTraceNtro.executeLoop(TaskGraphTraceNtro.java:175)
            at ca.ntro.core.task_graphs.task_graph_trace.TaskGraphTraceNtro.executeAfterResult(TaskGraphTraceNtro.java:252)
            at ca.ntro.core.task_graphs.task_graph_trace.TaskGraphTraceNtro.registerNewResult(TaskGraphTraceNtro.java:198)
            at ca.ntro.core.task_graphs.generic_task_graph.GenericTaskGraphNtro.registerNewResult(GenericTaskGraphNtro.java:254)
            at ca.ntro.core.task_graphs.generic_task_graph.GenericSimpleTaskNtro.addResult(GenericSimpleTaskNtro.java:93)
            at services.MessageServiceFx.lambda$addObservationToObservationHandlerTask$1(MessageServiceFx.java:42)
            at com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:457)
            at java.base/java.security.AccessController.doPrivileged(Native Method)
            at com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:456)
            at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
            at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
            at com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11(GtkApplication.java:316)
            at java.base/java.lang.Thread.run(Thread.java:829)
    
    • la variable fileAttente (ligne 40) contient la valeur null
    • correctif: s’assurer de donner une valeur à fileAttente avant d’appeler une méthode avec fileAttente.XXX

    Java02 #

    javafx.fxml.LoadException:
    /home/mbergeron/__ca.ntro/4f5/tut04/build/resources/main/file_attente.xml
    
            at javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2707)
            at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2685)
            at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2548)
            at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2516)
            at ca.ntro.app.views.ViewLoaderFx.createView(ViewLoaderFx.java:145)
            at pong.frontal.taches.Initialisation.lambda$creerVueFileAttente$3(Initialisation.java:76)
            at ca.ntro.app.tasks.SimpleTaskCreatorNtro.executeTaskForValue(SimpleTaskCreatorNtro.java:118)
            at ca.ntro.app.tasks.SimpleTaskCreatorNtro.lambda$registerExecutionForValueHandler$1(SimpleTaskCreatorNtro.java:111)
            at ca.ntro.core.task_graphs.task_graph_trace.TaskTraceNtro.executeTask(TaskTraceNtro.java:150)
            at ca.ntro.core.task_graphs.task_graph_trace.TaskTraceNtro.executeOneStep(TaskTraceNtro.java:128)
            at ca.ntro.core.task_graphs.task_graph_trace.TaskGraphTraceNtro.lambda$executeLoop$1(TaskGraphTraceNtro.java:179)
            at ca.ntro.core.stream.StreamNtro.lambda$reduceToResult$10(StreamNtro.java:196)
            at ca.ntro.core.stream.StreamNtro.lambda$applyReducer$0(StreamNtro.java:44)
            at ca.ntro.core.stream.StreamForMapValues.forEach_(StreamForMapValues.java:36)
            at ca.ntro.core.stream.StreamNtro.applyReducer(StreamNtro.java:42)
            at ca.ntro.core.stream.StreamNtro.reduceToResult(StreamNtro.java:194)
            at ca.ntro.core.task_graphs.task_graph_trace.TaskGraphTraceNtro.executeLoop(TaskGraphTraceNtro.java:175)
            at ca.ntro.core.task_graphs.task_graph_trace.TaskGraphTraceNtro.execute(TaskGraphTraceNtro.java:153)
            at ca.ntro.app.tasks.TaskFactoryNtro.executeTasks(TaskFactoryNtro.java:86)
            at ca.ntro.app.frontend.FrontendRegistrarNtro.executeTasks(FrontendRegistrarNtro.java:149)
            at ca.ntro.app.AppWrapperFx.start(AppWrapperFx.java:99)
            at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:847)
            at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:484)
            at com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:457)
            at java.base/java.security.AccessController.doPrivileged(Native Method)
            at com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:456)
            at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
            at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
            at com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11(GtkApplication.java:316)
            at java.base/java.lang.Thread.run(Thread.java:829)
    Caused by: java.lang.NullPointerException
            at pong.frontal.vues.VueFileAttente.installerEvtAfficherPartie(VueFileAttente.java:35)
            at pong.frontal.vues.VueFileAttente.initialize(VueFileAttente.java:28)
            at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2655)
            ... 28 more
    
    • L’attribut boutonOuvrirPartie est null
    • Correctif:
      • il faut s’assurer que le nom de l’attribut correspond au fx:id dans le fichier .fxml
      • il faut s’assurer d’utiliser @FXML au dessus de nom de l’attribut

    Java03 #

    javafx.fxml.LoadException:
    /home/mbergeron/__ca.ntro/4f5/tut04/build/resources/main/file_attente.xml
    
            at javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2707)
            at javafx.fxml.FXMLLoader.importClass(FXMLLoader.java:2949)
            at javafx.fxml.FXMLLoader.processImport(FXMLLoader.java:2793)
            at javafx.fxml.FXMLLoader.processProcessingInstruction(FXMLLoader.java:2758)
            at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2624)
            at javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2548)
            at javafx.fxml.FXMLLoader.load(FXMLLoader.java:2516)
            at ca.ntro.app.views.ViewLoaderFx.createView(ViewLoaderFx.java:145)
            at pong.frontal.taches.Initialisation.lambda$creerVueFileAttente$3(Initialisation.java:76)
            at ca.ntro.app.tasks.SimpleTaskCreatorNtro.executeTaskForValue(SimpleTaskCreatorNtro.java:118)
            at ca.ntro.app.tasks.SimpleTaskCreatorNtro.lambda$registerExecutionForValueHandler$1(SimpleTaskCreatorNtro.java:111)
            at ca.ntro.core.task_graphs.task_graph_trace.TaskTraceNtro.executeTask(TaskTraceNtro.java:150)
            at ca.ntro.core.task_graphs.task_graph_trace.TaskTraceNtro.executeOneStep(TaskTraceNtro.java:128)
            at ca.ntro.core.task_graphs.task_graph_trace.TaskGraphTraceNtro.lambda$executeLoop$1(TaskGraphTraceNtro.java:179)
            at ca.ntro.core.stream.StreamNtro.lambda$reduceToResult$10(StreamNtro.java:196)
            at ca.ntro.core.stream.StreamNtro.lambda$applyReducer$0(StreamNtro.java:44)
            at ca.ntro.core.stream.StreamForMapValues.forEach_(StreamForMapValues.java:36)
            at ca.ntro.core.stream.StreamNtro.applyReducer(StreamNtro.java:42)
            at ca.ntro.core.stream.StreamNtro.reduceToResult(StreamNtro.java:194)
            at ca.ntro.core.task_graphs.task_graph_trace.TaskGraphTraceNtro.executeLoop(TaskGraphTraceNtro.java:175)
            at ca.ntro.core.task_graphs.task_graph_trace.TaskGraphTraceNtro.execute(TaskGraphTraceNtro.java:153)
            at ca.ntro.app.tasks.TaskFactoryNtro.executeTasks(TaskFactoryNtro.java:86)
            at ca.ntro.app.frontend.FrontendRegistrarNtro.executeTasks(FrontendRegistrarNtro.java:149)
            at ca.ntro.app.AppWrapperFx.start(AppWrapperFx.java:99)
            at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:847)
            at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:484)
            at com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:457)
            at java.base/java.security.AccessController.doPrivileged(Native Method)
            at com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:456)
            at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:96)
            at com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
            at com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11(GtkApplication.java:316)
            at java.base/java.lang.Thread.run(Thread.java:829)
    Caused by: java.lang.ClassNotFoundException: javafx.scene.layout.Vbox
            at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
            at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
            at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
            at javafx.fxml.FXMLLoader.loadTypeForPackage(FXMLLoader.java:3017)
            at javafx.fxml.FXMLLoader.loadType(FXMLLoader.java:3006)
            at javafx.fxml.FXMLLoader.importClass(FXMLLoader.java:2947)
            ... 31 more
    
    • La classe Vbox n’existe pas
    • Correctif: il faut importer VBox et non Vbox

    Linux #

    Windows #

    Outils réseau #

    Exercices interactifs #

    1. Le prof doit fournir une version balisée du message d’erreur

    2. Une page Web va afficher le message d’erreur

    3. L’étudiant·e va pouvoir

      • cacher et afficher des sections (selon les balises fournies par l’enseignant·e)
      • identifier les sections importantes
      • construire des hypothèses (à l’aide de choix de réponses fournis par l’enseignant·e)
    4. L’étudiant·e marque des points lorsque les bonnes actions sont prises

      • (tentative de rendre l’exercice ludique)

    Livrable #

    1. la petite application Web qui interpréte les balises (HTML+Javascript?)
    2. environs 10 exemples de messages d’erreur annotés avec des balises
    3. une démo en vidéo du fonctionnement pour l’étudiant·e
    4. un catalogue de messages d’erreur colligés par les enseignant·es d’info (mais pas encore annotés avec des balises)
    Creative Commons License Creative Commons Attribution Creative Commons ShareAlike
    • brouillon) exercices interactifs de lecture
      • Exemples de messages d’erreur
        • Java01
        • Java02
        • Java03
        • Linux
        • Windows
        • Outils réseau
      • Exercices interactifs
      • Livrable