- 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 vous montrer comment créer un exécutable sur macOS, j'ai deux scripts.Un premier script qui est un jeu en ligne de commande, donc on va lancer avec une console.
00:00:10 :Et un autre script qui est un script avec une interface graphique et également avec des fichiers de données,donc un fichier JSON que l'on va devoir inclure avec l'exécutable.
00:00:20 :On va commencer avec le jeu.On va ouvrir un nouveau terminal et on va installer autopy2x.Donc je vais l'installer avec la version de Python que j'ai actuellement, donc la 3.9 dans ce cas-ci.
00:00:32 :On va utiliser donc Python 3.9, m, pip, install et on va installer autopy2x.Donc comme ceci avec des tirés à chaque fois.On valide avec entrée, donc moi je l'ai déjà installé, donc ça ne va pas le réinstaller.
00:00:44 :En fait il me dit que tout est déjà installé, mais vous ça devrait passer à travers l'installation.Et ensuite une fois que vous l'avez installé, vous allez pouvoir utiliser directement autopy2x.
00:00:54 :Donc il se peut que vous ayez besoin de redémarrer votre terminal ou Visual Studio Code.Donc essayez avec ça, si ça ne marche pas, donc si vous appuyez sur entrée et que là vous n'avez pas l'interface qui s'ouvre,essayez de tout redémarrer et si même après ça, ça ne fonctionne pas,
00:01:06 :et bien vous pouvez aller trouver le chemin complet en fait vers cette exécutable.Donc pour ça, il faut déjà trouver le chemin vers le dossier bin, donc on peut faire which Python 3.9.
00:01:15 :Ça va nous afficher le chemin vers l'exécutable de Python, donc qui se trouve ici dans library.Donc je peux copier tout ça jusqu'au bin et c'est à l'intérieur de ce dossier bin que va se retrouver le autopy2x.
00:01:26 :Donc là je peux mettre un slash autopy2x et vous allez voir en fait que cette exécutable se trouve à l'intérieur du dossieroù se trouve l'exécutable de Python 3.9.
00:01:36 :Donc vous pouvez le lancer également comme ceci avec le chemin complet,si jamais en mettant uniquement autopy2x ça ne fonctionne pas.Donc on a cette interface qui s'ouvre.
00:01:44 :Pour l'instant on n'a pas grand chose à faire avec un script comme celui-ci, donc le game.py.On a assez peu de choses à modifier, donc on va déjà aller chercher le chemin vers le script.
00:01:54 :Donc je vais aller ici là où j'ai donc Python exécutable.On choisit le fichier py directement.Donc ça c'est le fichier que l'on veut transformer en exécutable.
00:02:03 :Ensuite on peut choisir one directory ou one file.Alors on est tenté d'utiliser one file puisque ça va tout nous packager en fait dans un seul fichier.
00:02:11 :Moi je vous déconseille de faire ça.C'est pas forcément la meilleure idée en fait parce que déjà ça va être plus long à lancer.C'est pratique à distribuer c'est sûr mais c'est plus long à lancer.
00:02:20 :Et également si vous avez des fichiers justement de données,donc par exemple des fichiers JSON ou des bases de données ou des choses du genre,ça va être plus problématique généralement avec un seul fichier.
00:02:29 :Ça peut marcher mais ça peut être aussi assez problématique souvent.Donc moi je vous conseille de faire one directory ici, ça va tout mettre dans un dossier.
00:02:35 :Donc si vous souhaitez distribuer votre application il faudra distribuer en fait le dossier completqui va contenir votre exécutable mais aussi pas mal d'autres choses.
00:02:43 :Donc c'est un peu plus embêtant mais ça cause généralement moins de problèmeset c'est de toute façon ce qu'on a dans la plupart des applications.
00:02:49 :C'est assez rare quand vous regardez les applications que vous utilisez en généralqu'on ait tout dans un seul fichier.Donc on met one directory ici.
00:02:56 :Dans ce cas-ci on va laisser console-based puisqu'on a un jeu en ligne de commande.Donc on veut que la console s'ouvre avec notre jeu.Dans le cas d'une interface graphique on utiliserait ici window-basedcomme ça on aurait en fait la console qui serait automatiquement cachée.
00:03:09 :Donc moi je vais mettre console-based ici.L'icône je vais pas en mettre mais vous pouvez en mettre une si vous le souhaitez.Dans les additional files ici, donc pour l'instant on en a aucune,on va juste aller dans advanced ici.
00:03:19 :Vous pouvez changer plusieurs options.Vous allez voir qu'il y a pas mal de choses ici que vous pouvez modifier.La chose qu'on change généralement c'est tout simplement le nom.
00:03:27 :Donc ici je pourrais mettre jeu de rôle par exemple pour donner un nom à mon exécutable.Donc c'est la seule chose que je veux modifier et dans les settingson va modifier l'endroit où on souhaite mettre notre script,donc notre fichier exécutable en fait.
00:03:40 :Donc là je vais le laisser dans le dossier output à l'intérieur du dossier python exécutable.On va le laisser donc là dedans.Vous pouvez aller choisir un autre endroit si vous souhaitez le mettre ailleurs bien entendu.
00:03:49 :Et là ce qui est très intéressant c'est que vous avez la commandequ'il va utiliser avec pyinstaller.Donc ça c'est très pratique si vous souhaitez en fait par la suite recréer un exécutablemais sans passer par cette interface.
00:04:00 :Vous pouvez copier cette ligne de commande et après l'utiliser dans un terminalpuisque autopy2x va utiliser en fait pyinstaller.Donc il y a pyinstaller qui est installé avec autopy2x.
00:04:10 :Si vous faites un pip list ici dans le terminal,vous verrez que pyinstaller est installé dans votre environnement python.Donc vous pourrez par la suite utiliser cette commande,donc le module pyinstaller avec toute cette commande ici qui est générée automatiquementavec ce que vous avez choisi dans les options de l'interface.
00:04:26 :Donc nous on va convertir ici directement avec l'interface.Donc on clique sur convert.py ou .exe.Donc ne vous inquiétez pas c'est marqué .exemais ça ne va pas faire un fichier exé comme pour Windows.
00:04:37 :Ça va bien nous faire un fichier .app pour macOS.Donc on va pouvoir lancer.Donc là on a bien notre dossier output que vous voyez apparaître ici.
00:04:45 :Donc si on fait open output folder,ça va nous ouvrir le dossier avec jeux de rôle.Donc c'est le nom qu'on avait mis.Et on va retrouver notre exécutable ici.
00:04:53 :Donc si vous regardez ici dans kind, on a le type de fichier.Donc on a plusieurs exécutables.Vous voyez que vous avez des librairies ici, vous avez l'exécutable de python.
00:05:02 :Nous ce qui nous intéresse ici c'est le jeu de rôle.Donc là on peut double cliquer sur jeu de rôleet ça nous ouvre une console.
00:05:08 :Et dans cette console on va pouvoir jouer à notre jeu.Donc là il me pose la question, souhaitez-vous attaquer ?Et là je peux jouer à mon jeu en ligne de commandecomme je le ferais à l'intérieur de Visual Studio Code.
00:05:17 :Donc vous voyez c'est très facile avec PyInstaller et donc autopy2xqui est en fait une interface graphique au-dessus de PyInstaller.On peut très facilement générer tout ce qu'il faut.
00:05:27 :Et on a notre dossier ici que l'on peut distribuer à d'autres personnesqui n'ont pas besoin d'avoir python installé sur leur ordinateurpour exécuter ici le jeu de rôle.
00:05:36 :Donc ça c'est pour un programme en ligne de commande,donc dans une console avec aucun dossier en fait qui n'a besoin d'être ajouté.Je vais vous montrer maintenant,donc je vais relancer l'interface juste pour repartir de quelque chose de clair.
00:05:48 :Je vais vous montrer maintenant en fait comment on peut fairepour un script qui a une interface graphique.Donc on va utiliser notre script avec le CinéClub ici,donc qui est une interface graphique.
00:05:58 :Alors j'utilise ici le fichier app.py.On a un autre fichier movie.pyqui est une API en fait que j'utilise pour cette application.Et on a un dossier de data qui contient les filmsque l'on peut sauvegarder avec cette application.
00:06:11 :Donc dans ce cas-ci il faut bien mettre le fichier principal de votre application,donc le fichier que vous lanceriez à l'intérieur de Visual Studio Code par exemplepour exécuter votre application.
00:06:20 :Donc c'est ce fichier que je choisis ici app.py.Là encore on va laisser one directory,par contre ici on va choisir window based.Si vous laissez console based,en plus de l'interface graphique de votre application,vous aurez une console qui va s'ouvrir,donc un terminal.
00:06:35 :Donc nous on veut juste avoir l'interface de notre application,donc on va mettre ici window based.On ne met rien encore dans l'icône,par contre dans additional files,là on va aller sélectionner notre dossier.
00:06:45 :Donc vous voyez que vous pouvez ajouter des fichiers spécifiquesou même un dossier.Donc moi dans mon cas j'ai un dossier,donc dans CinéClub ici le dossier data qui contient un fichier movies.
00:06:54 :Donc moi je vais ajouter directement le dossier datapuisque ce n'est pas uniquement le fichier que j'ai besoin,c'est vraiment le dossier avec le fichier à l'intérieur.
00:07:01 :Donc je mets le dossier data,et vous voyez ici qu'on a la correspondanceentre le chemin du dossier sur mon disque,et ça, ça va être le chemin à l'intérieur de notre exécutable.
00:07:10 :Donc on va le mettre directement en dessous de l'exécutabledans un sous-dossier data.Donc ça va en fait être la même chose que ce que j'ai ici.
00:07:17 :Vous voyez j'ai mon application app.pyet directement au même niveau j'ai le dossier data.Donc c'est exactement la même structureque je souhaite retrouver à l'intérieur de mon dossier pour l'exécutable.
00:07:28 :Donc je le mets directement ici à la racineen spécifiant juste le nom du dossier.Dans advanced je vais changer là encore le nom,donc on va appeler ça CinéClub app tout simplement.
00:07:37 :Et je n'ai pas besoin de changer quoi que ce soit d'autreici dans les préférences.On va changer dans settings,je vais le mettre à la place de output,je vais le mettre dans CinéClub.
00:07:47 :CinéClub application on va l'appeler.Et voilà c'est tout ce qu'on a besoin de faire,on peut donc lancer la conversion en recliquant sur convert by 2x.
00:07:56 :Et une fois que ça sera terminé,on va pouvoir lancer notre application.Donc voilà tout a été créé,je vais cliquer sur open output folder.
00:08:04 :Là on retrouve donc cette fois-ci une applicationpuisqu'on n'a pas en fait une ligne de commande.Donc dans le cas du jeu en fait,on avait juste un exécutable qui ouvrait une console.
00:08:13 :Dans ce cas-ci on a un fichier .appdonc vous pouvez double cliquer directement sur ce fichier .appet ça va ouvrir votre application.Donc ici le CinéClub, je peux ajouter un film dans mon application.
00:08:24 :Je clique sur ajouter un film,le film a bien été ajouté.Et je vais le relancer pour voir que le film a bien été sauvegardé.
00:08:31 :Donc un fichier .app en fait,si vous ne savez pas, si vous faites un clic droit,vous pouvez afficher le package contentet vous allez retrouver à l'intérieur de tout ça,donc macOS ici, l'application au complet.
00:08:41 :Donc si je vais dans macOS,on va retrouver quelque part ici, voilà l'exécutable que l'on lance.Donc en fait quand on lance le fichier .app,
00:08:48 :c'est ça que ça va lancer.Donc si je double clique ici sur CinéClub,vous voyez que là ça m'ouvre une consoleet on a notre application qui s'affiche.
00:08:56 :Donc le fait de passer par le .app directement,ça ne va pas ouvrir la consoleet ça va directement afficher mon application,donc l'interface graphique.
00:09:05 :Mais si je vais voir à l'intérieur de package content,on va retrouver donc le dossier data.Et si vous regardez le dossier data,vous voyez que c'est un lien en fait, c'est marqué alias.
00:09:13 :Donc en fait ça va pointer vers notre dossier ici.Donc dans CinéClub app,on retrouve toute la structure ici.Donc je le lance.Et là vous voyez que quand je le lance avec l'exécutable,j'ai encore une fois la console qui s'ouvre.
00:09:26 :Et on va avoir notre interface qui s'affiche.Et si on va voir à l'intérieur du dossier data,on a bien ici le movies.json.Donc avec notre dossier data et notre fichier JSONqui sont automatiquement déplacés dans le dossier.
00:09:39 :Donc ça c'est très important si vous avez des imagesou des choses comme ça, des fichiers, des images,des ressources que vous avez besoin d'inclure avec votre application.
00:09:47 :C'est très important dans l'interface icide les ajouter dans cette partie additional files.Donc que ce soit des fichiers ou des dossiers.Et d'avoir la correspondance icipour avoir quelque chose qui fonctionne de la même façon.
00:09:58 :Donc là comme je vous disais, on retrouve la même structure.C'est à dire qu'on a notre application iciet directement au même niveau que l'application,j'ai le dossier data.
00:10:05 :Donc c'est exactement ce que j'avais ici.On a l'application .py et le dossier data ici.Donc voilà pour ces deux exemples.Avec un script en ligne de commande,donc une console qui s'ouvre,et un script avec une interface graphique.
00:10:16 :Et des fichiers supplémentaires que l'on doit ajouter.Donc vous voyez à quel point c'est très facile à faireavec cette application.Donc avec autopy2x.On n'a pas besoin de faire grand chose,juste à sélectionner les bonnes options ici.
00:10:27 :Et ensuite c'est vraiment très pratique aussi d'avoir,donc là je ne l'ai plus,voilà ici la commande.Si jamais vous souhaitez générer automatiquementces fichiers, donc ces exécutables,sans avoir besoin de passer par l'interface,et bien vous pouvez le faire directement avec PyInstaller.
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.