- 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 :Donc on arrive dans la dernière partie de notre API avec la fonction qui va nous permettre de changer le statut d'une tâche.Donc je vais le mettre juste avant notre writeTaskToDisk ici et on va l'appeler setTaskStatue tout simplement.
00:00:13 :Et on va donner le nom de la tâche qu'on veut modifier et le statut de la tâche.Donc je vais mettre done et je vais le mettre par défaut à true.
00:00:21 :Donc comme ça si on ne donne rien comme argument à ce paramètre done, par défaut on va considérer que la tâche a été réalisée.Donc on va avoir quelque chose d'assez similaire à ce qu'on avait fait dans addTask et removeTask.
00:00:32 :C'est-à-dire qu'on va premièrement récupérer toutes les tâches pour ensuite modifier notre dictionnaire et le réécrire à l'intérieur de notre fichier JSON.Donc on prend notre dictionnaire et on le récupère doneTask.
00:00:43 :On va vérifier si la tâche existe puisqu'on ne peut pas là encore modifier quelque chose dans un dictionnaire s'il n'existe pas dans le dictionnaire.Donc on va faire une vérification avec if name not in task.
00:01:02 :Si vous voulez vraiment être précis vous pouvez spécifier comme on l'a fait ici, comme on l'a fait dans addTask, spécifier directement la méthode keys.Et donc ça, ça va nous retourner une liste de toutes les clés.
00:01:19 :Donc là je pourrais mettre ici également task.keys pour s'assurer qu'on va bien regarder uniquement dans les clés et non pas dans les valeurs.Donc si la tâche n'est pas dans les clés de notre dictionnaire, on va tout simplement faire un logging en erreur et on va dire que la tâche n'existe pas.
00:01:36 :Et on va encore une fois faire un return et on va retourner false pour indiquer que le changement de statut n'a pas fonctionné.Si la tâche existe, donc si cette condition n'est pas vérifiée, on va continuer et on va tout simplement modifier la valeur qui est associée à la clé dans mon dictionnaire.
00:01:52 :Donc pour faire ça on va récupérer la clé qui est dans notre dictionnaire, donc la clé c'est name et notre dictionnaire c'est task.Donc avec les crochets ici on peut récupérer cette clé et on va changer sa valeur en faisant tout simplement une assignation comme ceci et on va changer la valeur pour done.
00:02:20 :Et si on arrive jusque là c'est que ça a fonctionné donc on return true tout simplement.Donc vous voyez que le processus est toujours un peu le même, que ce soit pour ajouter une tâche, pour l'enlever ou pour la modifier.
00:02:30 :On récupère les tâches, on vérifie si la tâche existe, on la modifie, on la supprime ou on l'ajoute, l'un des trois.Et ensuite on écrit tout ça dans le fichier JSON sur notre disque dur.
00:02:40 :Donc on va vérifier que ça fonctionne, on va tester notre API, on va ajouter une tâche et je vais l'appeler donc apprendre Python.Et on va vérifier si ça fonctionne, si on peut l'ajouter, si on peut la supprimer et également si on peut changer son statut.
00:02:52 :Donc on va commencer par l'ajouter, donc je fais un clic droit et je fais run file in python console.Ça me dit que les tâches ont bien été mises à jour, donc je vais vérifier à l'intérieur de mon fichier JSON si j'ai la tâche qui a été ajoutée.
00:03:04 :Donc c'est le cas, par défaut vous voyez qu'elle est à false ici, donc on va essayer de changer son statut.Donc pour ça on va utiliser la fonction qu'on vient de faire, donc setTaskStatue, le name ça va être égal à apprendre Python.
00:03:17 :Et le statut donc par défaut c'est a true, donc on va le laisser a true et on va relancer notre script.Alors là on a une petite erreur d'indentation, ah oui puisque là je n'ai pas indenté mon code comme ceci, donc je relance le script.
00:03:47 :Donc si on veut ensuite essayer la dernière fonction, on va essayer de supprimer la tâche, donc on va faire removeTaskName égale apprendrePython.Et alors là je vais faire quelque chose pour voir si ça fonctionne bien, je vais faire une erreur de frappe et normalement ça devrait le récupérer,c'est à dire que ça ne devrait pas fonctionner puisque la tâche n'existe pas.
00:04:03 :Donc là c'est le cas, ça nous met une erreur et ça nous dit la tâche n'existe pas dans le dictionnaire.Donc on a géré cette erreur qui nous permet d'éviter que notre script plante.
00:04:12 :Donc je vais remettre le h ici pour relancer mon script et vérifier qu'on arrive à enlever la tâche.Donc je relance le script, ça nous dit que les tâches ont bien été mises à jour et si je refais un clic droit pour ouvrir dans textEdit,normalement le fichier devrait être vide avec uniquement un dictionnaire vide.
00:04:36 :Et on a également cette méthode qu'on va pouvoir utiliser quand on va lancer notre application pour populer notre liste de tâches,puisque forcément c'est la première chose qu'on va faire quand on va lancer l'application, on veut afficher toutes les tâches qui sont contenues à l'intérieur du dossier.
00:04:49 :Et ensuite l'utilisateur pourra soit ajouter des tâches supplémentaires, soit supprimer des tâches dans la liste, soit même juste modifier le statut des tâches.Donc voilà pour la partie API, donc essayez de l'améliorer si vous voulez avec comme par exemple je vous disais ici,vous pouvez faire des try except pour avoir quelque chose d'un peu plus robuste et solide.
00:05:14 :Donc on a fait certaines vérifications mais vraiment il y a moyen d'en faire beaucoup plus.Dans un script en production ça se serait un peu léger puisque vous allez vous rendre compte assez rapidement que quelqu'un qui utiliserait cette APIarriverait à la faire planter très souvent puisqu'on fait très peu de vérifications.
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.