- Formations
- conversion_path Parcours & Formations
- science Projets
- data_object Exercices de code
- psychology Exercices IA
- quiz Quiz
- Articles
- rss_feed Blog
- sort_by_alpha Glossaire
- menu_book Guides
- help_center FAQ
- media_link Ressources
- Communauté
- groups La communauté
- forum Questions
- live_tv Mentorats
- science Projets mensuels
- Formations
- conversion_path Parcours & Formations
- science Projets
- data_object Exercices de code
- psychology Exercices IA
- quiz Quiz
- Articles
- rss_feed Blog
- sort_by_alpha Glossaire
- menu_book Guides
- help_center FAQ
- media_link Ressources
- Communauté
- groups La communauté
- forum Questions
- live_tv Mentorats
- science Projets mensuels
Deviens membre Premium magic_button
Débloque cette session en devenant Membre Premium 🚀
Inscris-toi
(c'est gratuit !)
Un compte est nécessaire pour participer aux discussions.
Créer un compte person00:00:00 :Maintenant qu'on a une note qui est contenue dans notre dossier ici,on va pouvoir charger cette note à l'intérieur de notre application.Donc on va pour ça remplir le code ici dans notre méthode populateNotesqui pour l'instant ne contient qu'un print.
00:00:14 :Donc ce qu'on va faire c'est qu'on va passer à travers toutes les notesde notre application qu'on va récupérer avec notre API.Donc l'API note.py ici, on avait fait une fonction getNotes
00:00:24 :qui nous permettait de récupérer toutes les notes qui sont dans le dossiersous forme d'une liste d'instances des notes.Donc on va importer cette fonction à l'intérieur de notre script ici,on va faire une virgule et on va dire qu'on veut importer la fonction getNotes.
00:00:37 :Donc c'est la première chose qu'on va faire à l'intérieur de populateNotes ici,on va récupérer toutes les notes.Donc je vais faire une variable que je vais appeler noteset on va dire que c'est égal à getNotes.
00:00:47 :Donc comme ça, ça va récupérer dans cette liste icitoutes les notes qui sont sur le disque.Donc pour l'instant on n'en a qu'une seule,mais on va quand même boucler à travers cette liste.
00:00:56 :Donc je vais dire pour notes in notes,donc là encore faites bien attention,ça c'est au singulier et ça c'est au pluriel.Donc on parcourt notre liste de noteset on va récupérer chaque note, donc chaque instance,à l'intérieur d'une variable que j'appelle notes ici au singulier.
00:01:09 :On va ensuite créer un ListWidgetItem,lier la note à ce ListWidgetItem et l'ajouter dans notre liste.Alors ça doit vous sembler familier puisque c'est exactement ce qu'on a fait ici.
00:01:19 :Alors je pourrais très bien copier ces lignes de code,les coller ici et ça fonctionnerait,sauf que là il faut changer le titre pour mettre à la place note.title
00:01:27 :puisque là on n'a pas le titre qui est récupéré depuis le QInputDialog,mais on le récupère avec l'instance de notre note.Donc je pourrais très bien faire ça, on va essayeret normalement ça devrait marcher, je vais lancer mon application.
00:01:39 :Et on voit bien ici qu'on a notre note de testqui est automatiquement chargée quand je lance l'application.Donc ça fonctionne, sauf que vous voyez là j'ai fait un copier-coller.
00:01:47 :Alors quand vous commencez à faire du copier-coller dans votre code,généralement vous devez avoir une alerte rouge qui se déclenche dans votre cerveaupuisque c'est très mauvais.
00:01:55 :On essaye en programmation d'être ce qu'on appelle sec en français.Donc pourquoi sec ? Puisque ça vient du mot dry.Dry en anglais qui veut dire sec.
00:02:03 :Pourquoi dry ? Puisque en fait on dit don't repeat yourself.Donc ne vous répétez pas.Si vous copiez-collez des lignes de code, vous répétez des lignes de code.
00:02:11 :Et donc si jamais on doit changer quelque chose,si jamais on doit modifier le nom de cette méthode ou des trucs du genre,et bien on va devoir le changer à plusieurs endroits.
00:02:18 :Donc c'est vraiment pas optimal.Et donc pour éviter ça, on va créer une autre méthodedans laquelle on va mettre ces trois lignes de code.
00:02:25 :Et cette méthode on va l'appeler à la fois ici quand on crée une noteet également ici quand on charge les notes.Comme ça on aura la même méthode qui va être appelée avec les mêmes lignes de code.
00:02:34 :Et si on doit changer quelque chose, on le changera dans une seule méthode, une seule fois.Donc je vais créer cette méthode que je vais appeler addNodeToListWidget.
00:02:42 :Donc là encore je vais essayer de garder un peu l'ordre alphabétique.Alors généralement dans mes interfaces, toutes ces méthodes ici je les garde au débutpuisque ce sont les méthodes qui me permettent de créer mon interface.
00:02:51 :Donc je ne m'embête pas avec l'ordre alphabétique jusqu'à la méthode setupConnections.Et ensuite à partir de là, je pourrais mettre un petit commentaire qui s'appelle endUI.
00:02:59 :Et à partir de là, je crée mes méthodes.Et ces méthodes là, j'essaie de les garder en ordre alphabétiquepour que ce soit assez clair et que ce soit facile à s'y retrouver.
00:03:08 :Donc je vais créer ma méthode ici que je vais appeler addNodeToListWidget.Et donc cette méthode, on va lui passer une note, donc l'instance d'une noteque l'on va ajouter à l'intérieur de notre liste widget.
00:03:20 :Donc je vais pouvoir copier toutes ces lignes de code,donc je vais en fait même les couper puisque je ne vais pas utiliser ces lignes de code,je vais à la place utiliser addNodeToListWidget.
00:03:28 :Et on va passer en argument ici notre note.Donc ensuite on va revenir dans notre méthode et on va coller les trois lignes de code qu'on avait.
00:03:36 :Donc on a addNodeToListWidget, on passe ici en argument notre instanceet on utilise notre instance pour mettre le titre dans le QListWidgetItemet pour lier notre note à notre QListWidgetItem ici.
00:03:47 :Donc ça c'est les mêmes trois lignes de code qu'on avait.Et on va faire la même chose ici dans createNode, c'est à dire qu'on va enlever ces lignes iciet à la place on va appeler addNodeToListWidget et on va lui passer notre instance de la note.
00:03:58 :Donc comme ça vous voyez qu'on a le même appel à cette méthode dans les deux cas de figure.Et donc si je fais POMB, POMB c'est un raccourci clavier dans PyCharm,donc POMB ou CTRL B sur Windows, qui me permet automatiquement d'aller dans ma méthode,donc POMB et ça me ramène directement à cette méthode, donc un petit raccourci très pratique.
00:04:16 :Et vous voyez que dans cette méthode on a les trois lignes de code qui nous permettent d'ajouterle QListWidgetItem dans notre liste.Donc on va tester tout ça, je reformate un petit peu mon code, je lance l'applicationet normalement ça devrait fonctionner de la même manière, c'est à dire qu'on a notre note
00:04:30 :qui est chargée automatiquement quand je lance l'applicationet je vais tester mon bouton pour voir si ça fonctionne toujours.Et on va donc mettre autre note, par exemple j'appuie sur OK et notre note est bien ajoutée.
00:04:41 :Donc ça veut dire que le refactoring qu'on vient de faire en modifiant cette ligne de codepour l'ajouter à l'intérieur d'une autre méthode a bien fonctionné.
00:04:49 :Donc voilà pour le chargement des notes et pour le refactoring,donc refactoring c'est un mot anglais, ça signifie en fait qu'on modifie un peu notre code.
Ce n'est pas fini...
✋
Tu as complété % du parcours 🔥
Termine l'intégralité de la formation pour pouvoir débloquer ton attestation de réussite.