- 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 :Pour ce quatrième projet, on va créer un convertisseur d'images.Je dis convertisseur mais on pourrait dire aussi un programme qui va nous permettre d'optimiser les imagesen permettant de réduire leur taille et leur qualité.
00:00:13 :C'est quelque chose qu'on a besoin de faire assez souvent,quand par exemple vous avez des photos de vacances et elles sont assez grosseset vous voulez les envoyer à quelqu'un.
00:00:21 :Pour que ça passe par mail ou que ça ne soit pas trop long à envoyer,vous avez envie de faire des versions un peu moins grandes ou d'un peu moins bonne qualité.
00:00:29 :Également pour le web, si vous mettez des images sur le web,vous avez besoin de les optimiser pour qu'elles ne soient pas trop longues à charger.
00:00:35 :Donc là on commence à arriver dans des programmes qui sont un peu plus completset qui sont le genre de programme typiquement que vous pourriez retrouver sur internet,que les gens téléchargent et même qui pourraient se mettre à acheter.
00:00:45 :Donc si jamais votre but c'est de faire des programmes que vous voulez vendre,c'est précisément ce genre de programme que vous pourriez créer.On va voir beaucoup de choses dans cette application.
00:00:53 :On va voir notamment l'intégration d'une librairie tierce,donc une librairie qui s'appelle Pillow,qui va nous permettre de gérer justement tout le côté images,donc qui va nous permettre de réduire la taille et la qualité des images.
00:01:04 :Donc on va voir comment inclure ça dans notre application.On va voir également tout ce qui est en rapport avec les liste widgets.On va voir le drag and drop,donc qui va nous permettre de glisser et déposer des images à l'intérieur d'une liste.
00:01:16 :On va voir également le threading,donc le threading en fait c'est ce qui permet de faire rouler notre application sans qu'elle gèle,puisque là on va avoir un processus qui va rouler en arrière-plan,qui va convertir les images,et par défaut si vous ne faites pas de threading,vous allez avoir l'application qui va geler,
00:01:31 :qui va ne plus être réactive,et vous ne pourrez plus par exemple arrêter le processus en cours de réalisation.Donc le threading c'est quelque chose qui est assez complexe,il y a très peu de tutos là-dessus,même en anglais,donc je ne vous dis même pas en français,vous n'avez quasiment aucune ressource.
00:01:46 :Donc je dis un peu complexe quand vraiment on n'a personne pour nous aider,mais vous allez voir qu'au final ce n'est pas si compliqué que çaquand on a quelqu'un pour nous tenir la main.
00:01:54 :Donc on va voir vraiment beaucoup de choses dans cette application,au-delà de juste l'interface graphique,on va également faire une API pour gérer tout le côté images,et ensuite on fera l'interface qui va appeler notre API pour réduire le poids et la taille de nos images.
00:02:06 :Donc si je vous montre à quoi ressemble l'application,on a notre interface graphique ici,avec tout simplement deux contrôles ici pour la qualité et la taille,donc là on peut changer ce contrôle pour mettre la qualité avec un nombre qui va de 1 à 100,donc à 100 on garde la même qualité,
00:02:21 :et si on s'en va à 1 forcément ce sera une qualité très médiocre,mais le poids de l'image sera très faible.Et pareil pour la taille, on peut aller donc par exemple avec la valeur 100,100 on aura une image de la même taille,et si on met 50 on aura une image qui sera divisée par 2 au niveau de la taille.
00:02:37 :On indique également un dossier de sortie,donc c'est tout simplement le dossier dans lequel on va mettre les images qui vont avoir été converties.On a notre list widget dans lequel on va pouvoir glisser nos images,et pour finir le bouton de conversion ici qui nous permet de lancer la conversion.
00:02:51 :On a appliqué également la feuille de style que je vous avais donnée dans la première application,qui permet d'avoir cette interface sombre,sans cette feuille de style on aurait l'interface claire de base du système macOS.
00:03:03 :Donc si j'essaye de glisser des images à l'intérieur,vous voyez qu'on a la gestion du drag and drop,avec un petit message qui s'affiche quand je mets le curseur au dessus de ma liste,et qui m'indique qu'il faut que je dépose les images sur l'interface.
00:03:15 :Donc je peux déposer les images ici,et elles vont être ajoutées dans l'interface.On va avoir une petite icône qui va être associée à chaque image,avec le chemin complet de l'image,pour me dire que pour l'instant elles n'ont pas été converties.
00:03:26 :Je peux également supprimer ces images si je le veux de la liste,si je me rends compte finalement que cette image je ne veux pas la convertir.
00:03:32 :Je peux appuyer sur la touche delete de mon clavier pour l'enlever,et on a également la gestion des doublons,c'est à dire que si je reprends ces trois images pour les glisser dans mon interface,et bien il ne va pas ajouter les images qui sont déjà dans mon interface en doublons.
00:03:45 :Donc là il ne rajoute que l'image que je viens de supprimer.Donc si on laisse les trois images comme ça ici,et qu'on appuie sur conversion, on a un processus en arrière plan qui va se lancer,et vous voyez que l'interface en fait reste réactive.
00:03:56 :J'ai réussi à déplacer la fenêtre,et si je voulais je pouvais même cliquer sur le bouton annuler pour interrompre le processus.Là on a juste trois images donc ça allait assez rapidement,mais si j'avais cinquante images,on aurait la barre de progression qui avancerait au fur et à mesure de la conversion,
00:04:10 :et si je voulais arrêter ce processus en cours,je pourrais cliquer sur annuler pour arrêter la conversion.Donc là si on regarde au niveau du dossier,on a notre dossier reduced,et si vous regardez la taille des images,on a bien une taille beaucoup moindre ici,grâce à la conversion.
00:04:23 :Donc là on a la qualité aussi qui était restée à 1,et la taille de l'image va être divisée par 2,puisqu'on avait une taille à 50.
00:04:29 :Donc on va voir nos images ici qui vont se retrouver dans le dossier reduced,qui correspond donc bien au nom que j'ai entré ici.Donc là je peux mettre n'importe quoi,je peux mettre convert ou n'importe quel nom de dossier,dans lequel je veux retrouver mes images converties.
00:04:42 :Une fois que les images sont converties,on a également la petite icône ici qui change,et qui nous indique que la conversion s'est bien déroulée.
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.