- 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 :Dans cette partie, vous allez devoir écrire le code de notre application.Donc la première chose que vous allez devoir faire, c'est créer un module qui va s'appeler User, donc U-S-E-R,donc un module Python dans lequel vous allez créer deux fonctions.
00:00:15 :Une première fonction GetUser qui va permettre de générer un utilisateur,et une deuxième fonction GetUsers avec un S cette fois-ci,qui va utiliser cette première fonction GetUser, mais cette fois-ci pour générer plusieurs utilisateurs.
00:00:29 :Alors pour ça, vous allez devoir utiliser le module Faker qu'on a installé dans la partie précédente.Vous allez créer un objet qui s'appelle Fake, alors vous pouvez l'appeler comme vous voulez,là c'est juste un nom, mais vous allez créer une instance de Faker.Faker,
00:00:42 :donc faites bien attention aux majuscules, Faker c'est le nom du module tout en minuscules,et à l'intérieur de ce module vous avez une classe Faker avec un F majuscule,donc vous créez une instance de cette classe que vous récupérez dans une variable que moi j'ai appelée Fake,et ensuite vous allez pouvoir, pour générer un utilisateur,
00:00:59 :utiliser les méthodes FirstName et LastName sur l'objet Fake,donc ça va vous retourner le prénom et le nom de famille,et vous pouvez donc utiliser ces deux informations pour générer un nom d'utilisateur.
00:01:11 :Vous allez donc avoir une fonction GetUser, et quand on va l'utiliser,on va récupérer une chaîne de caractère avec un utilisateur aléatoirequi contiendra donc un prénom, FirstName, et un nom de famille, LastName,donc dans ce cas-ci John Smith.
00:01:24 :Pour la fonction GetUsers, vous allez lui passer un argument,dans ce cas-ci le nombre d'utilisateurs que l'on souhaite générer,ici trois utilisateurs, donc GetUsers avec un S,on veut générer trois utilisateurs, et ça nous retourne donc une listeavec trois utilisateurs aléatoires, et cette liste elle va être créée
00:01:42 :à partir de la première fonction, donc de la fonction GetUser,donc il s'agit juste ici de répéter autant de fois que nécessaire l'opérationpour générer le nombre d'utilisateurs que l'utilisateur souhaite avoir.
00:01:53 :Donc voilà pour les instructions, vous pouvez mettre la vidéo en pauseet essayer de votre côté, et si vous souhaitez faire l'exercice avec moi,eh bien on continue tout de suite pour la solution.
00:02:03 :Alors, à l'intérieur de mon dossier UserGenerator,je vais ouvrir Visual Studio Code, mais avant ça,je vais tout simplement créer le module directement dans le terminal.
00:02:12 :Si je fais un ls pour l'instant, j'ai juste le dossier de mon environnement virtuel,donc moi ce que je vais faire c'est utiliser la commande touchpour créer le module que je vais donc appeler User.py.
00:02:22 :Donc on le crée et ensuite on ouvre le dossier au completavec la commande code et je mets le point,donc le point c'est le dossier courant, donc UserGenerator dans ce cas-ci,et ça va ouvrir Visual Studio Code à l'intérieur de ce dossier.
00:02:34 :Donc ça l'a ouvert pour moi ici, j'ai bien mon environnement virtuelet le fichier User.py que je peux donc ouvrir à l'intérieur de Visual Studio Code.
00:02:42 :Avant ça, je vais m'assurer de bien utiliser le Python de mon environnement virtuel,donc pour ça je vais aller tout en bas à gauche ici, cliquer sur Python.
00:02:49 :Pour l'instant il utilise le Python 3.8 de mon système,donc moi je vais aller chercher dans la liste ici le Python de mon environnement.Donc vous le voyez ici, on voit ./.env-python,
00:02:58 :donc c'est le Python de mon environnement virtuel.Si jamais vous ne le voyez pas dans la liste ici,vous pouvez entrer le chemin complet,donc le chemin absolu vers l'exécutable Pythonqui se trouve à l'intérieur du dossier de votre environnement virtuel.
00:03:10 :Moi je vais le sélectionner ici puisqu'il apparaît dans la listeet c'est donc bien maintenant cet exécutable qui va être utilisési je vais à l'intérieur d'un nouveau terminal,donc si je clique ici sur New Terminal,vous voyez qu'automatiquement il va sourcer le fichier activatede mon environnement virtuel, et donc si je fais par exemple un peep list ici
00:03:27 :pour voir les modules que j'ai installés, je retrouve bien le module Faker.Donc à l'intérieur de mon fichier user.py,on va créer les deux fonctions qu'on devait créer.
00:03:36 :Avant ça je vais importer le module Faker,puisqu'on va devoir l'utiliser pour générer un utilisateur aléatoire.Je vais créer une instance de la classe Faker,comme je vous avais dit dans l'énoncé,on récupère ça dans un objet qu'on appelle Fake,et on va ensuite créer les deux fonctions.
00:03:51 :Donc je vais pour l'instant les créer et ne rien mettre à l'intérieur,juste un pass, on va juste créer le squelette de notre application.Donc on a getUser au singulier qui est la fonctionqui va nous permettre de générer un utilisateur unique,et cette fonction ici avec le S qui va nous permettre
00:04:05 :de générer plusieurs utilisateurs.Et cette fonction il faut qu'on lui passe le nombre d'utilisateursqu'on souhaite générer.Donc là je vais mettre un paramètre, je vais l'appeler tout simplement n,on pourrait l'appeler quelque chose d'un peu plus explicite,par exemple numberOfUsers.
00:04:18 :Dans mon cas je trouve que n ça reste assez explicite,quand on a juste un paramètre comme ça,on comprend que n ça va être le nombre d'utilisateurs à créer.
00:04:25 :Et de toute façon par la suite on utilisera des docstringspour commenter ces fonctions,et pour que ce soit assez explicite au niveau des personnesqui pourraient utiliser notre application.
00:04:35 :Donc maintenant ce que je vais faire c'est à l'intérieurde cette fonction getUser générer un utilisateur aléatoire.Donc pour ça on va utiliser la méthode firstName et lastNamesur notre objet fake.
00:04:45 :Donc firstName pour récupérer le prénomet lastName pour récupérer le nom de famille.Donc on va mettre tout ça à l'intérieur d'une chaîne de caractères.
00:04:52 :Donc je vais faire un fString,et dans le fString je vais donc insérer ces deux éléments,donc le prénom et le nom de famille.Donc j'utilise des accolades,et je ferme ici mon fString avec un guillemet.
00:05:03 :Donc on a le fString, les guillemets,ensuite entre les accolades on met le prénom,un espace, le nom de famille,et on ferme le guillemet ici.
00:05:10 :Et bien sûr on va retourner tout ça,donc on va utiliser le mot returnpour retourner cette chaîne de caractères.Pour vérifier tout ça,donc pour tester mon application,je vais utiliser cette structure conditionnelle,la structure qui me permet d'exécuter du code uniquementsi j'exécute directement mon fichier.
00:05:26 :Donc on va vérifier si la variable nameest égale à main comme ceci,donc avec deux tirés du bas au début et à la fin.
00:05:34 :Donc si c'est le cas ça veut direqu'on exécute directement notre module.Si on importe notre module par contre,cette variable ne sera pas égale à mainet donc on ne va pas exécuter le bout de codequ'on va mettre ici.
00:05:45 :Donc ça c'est très pratiquesi vous souhaitez tester votre module,donc quand on va l'exécuter directementet quand vous allez l'importer,donc si quelqu'un utilise votre modulepour utiliser par exemple la fonction getUser,et bien le code ici ne sera pas exécuté.
00:05:57 :Donc on va récupérer un utilisateur icique je vais mettre dans une variable useret on va faire un print de cet utilisateurpour vérifier que tout fonctionne.
00:06:05 :Donc je sauvegarde,je lance mon script en cliquant sur la flèche en haut à droiteet vous voyez qu'on a bien notre nom qui s'affichedonc avec le prénom et le nom de famille.
00:06:13 :Donc ça fonctionne,maintenant on va passer à la deuxième fonction,la fonction getUsersqui va nous permettre de générerà partir de cette première fonctionun nombre d'utilisateurs comme indiqué ici.
00:06:23 :Alors on pourra faire une boucle,moi dans mon cas ce que je vais fairec'est passer par une compréhension de listepour que ce soit plus simple.
00:06:30 :Alors vous pourriez ici créer une liste,par exemple faire une liste usersqui soit vide et ensuite boucler,donc faire pour i in range de net ensuite ajouter donc à cette listeen faisant a happened,ajouter une instance donc de notre utilisateurqu'on génère grâce à notre fonction.
00:06:45 :Donc ça c'est une façon de faireavec une boucle assez classiqueet on retourne à la fin notre liste d'utilisateurs.Moi ce que je vais faire c'est une compréhension de listequi va me permettre de faire tout ça en une seule ligne.
00:06:55 :Donc je vous laisse cette solutionpour que vous l'ayez bien en visuelet moi ici je vais donc faire un returnd'une compréhension de liste,donc je mets des crochets,je dis que je veux récupérer getUsersdonc je veux générer un utilisateurpour, et là moi je vais mettre
00:07:09 :un tiré du bas in range de n.Alors un tiré du bas ici c'est une conventionqu'on utilise quand on fait une boucleet qu'on ne va pas utiliser la variableque l'on crée ici.
00:07:19 :Vous voyez ici j'ai mis i,mais le i en fait je ne l'utilise nulle part.Donc quand on fait ça,généralement par convention,on met un tiré du bas,comme ça ça indique aux gensqui vont lire votre scriptque cette variable n'est pas utilisée.
00:07:30 :Dans notre cas on veut juste bouclerun certain nombre de fois,donc on veut boucler ici avec range de nautant de fois que l'utilisateur le souhaite.
00:07:36 :Si on entre par exemple le nombre 10 ici,range de 10 ça va nous retournerune liste de 0 à 9,donc on va boucler 10 fois sur cette listeet ça va nous permettrede générer 10 utilisateurs aléatoires.
00:07:47 :Mais on ne va pas utiliser cette variable icidonc on met un tiré du bas.Donc vous voyez à quel pointavec les compréhensions de listeon peut faire tout ça très facilement.
00:07:54 :On dit ce qu'on souhaite récupérer,donc là dans ce cas-cion souhaite générer un utilisateurpour le tiré du bas dans range de n,donc on va boucler autant de fois que nécessaire.
00:08:03 :Donc je supprime tout ça,je laisse uniquement ma compréhension de listeet on va tester cette nouvelle fonction icidonc getUsers,on va lui dire n égale à 5 par exemple,je sauvegarde, je relanceet là vous voyez qu'on a bien 5 utilisateursaléatoires qui ont été générés.
00:08:19 :Donc ça fonctionne parfaitement,on a nos deux fonctions,la fonction getUseret la fonction getUsers avec un squi nous permettent de créerun utilisateur aléatoireet de créer plusieurs utilisateursavec la fonction getUsers.
00:08:31 :Donc on a fini de créer notre module,donc vous voyez c'est très simple,on crée un fichier Python,on crée nos fonctions à l'intérieuret là juste pour vous montrerje vais créer un autre fichierque je vais appeler main.py
00:08:42 :et vous allez voir qu'à l'intérieur de ce fichieron va pouvoir importer notre module utilisateurpuisqu'il se trouve dans le même dossier.Donc quand on va exécuter main.py,
00:08:50 :en fait Python va ajouter automatiquementle dossier parent à la variable python pathqui me permet par la suitedonc d'utiliser ce module d'utilisateurqui est dans le même dossier.
00:09:01 :Donc je vais importer par exemplela fonction getUsers à partir de ce module,donc je vais dire from user import getUserset vous voyez que Visual Studio Codeme propose l'autocomplétionet je vais ensuite par exemplejuste faire un print de getUserset on va mettre 10 utilisateurs.
00:09:17 :Et vous allez voir que donc cette fois-ciquand j'importe mon module,on ne va pas exécuter le codequi se trouve icipuisque quand on importe le moduledans un autre fichier,cette variable nameelle ne va pas être égale à mainmais elle va être égale au nom du module.
00:09:29 :Donc elle va être égale dans ce cas-cià la chaîne de caractère user.Donc comme cette variable icine sera pas égale à la chaîne de caractère main,cette condition ne sera pas vérifiéeet on n'exécutera pas ces lignes de code.
00:09:39 :Donc c'est vraiment à çaque sert cette structure conditionnelle ici.Donc je vais vous montreren lançant l'exécution de ce script,donc le script main.py,
00:09:46 :je lance l'exécution du scriptet là vous voyez qu'on a bien notre listede 10 utilisateurs aléatoiresqui a été généréà partir de notre module user.
00:09:54 :Donc voilà pour la création de notre module,on a un code qui fonctionne.Ce qu'il manque maintenantc'est un petit peu de documentationpuisque là on a un codeque nous on comprendmais si on y revient dans quelques moisou que quelqu'un d'autreutilise notre code,ce ne sera pas forcément évident
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.