- 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, on va créer notre application sur le site Python Anywhere.Donc il y a beaucoup de choses à faire dans cette partie,ce n'est pas des trucs très compliqués, mais c'est beaucoup de petites étapes.
00:00:10 :Dans la prochaine partie, vous retrouverez un résumé de toutes ces étapesavec un support écrit.Et ensemble, dans cette vidéo, on va voir toutes les étapes une à une.
00:00:18 :La première chose qu'on va faire, c'est à l'intérieur de notre dossier,le dossier PyCharm, qui contient mes sources et mon environnement virtuel,c'est de créer un fichier zip à partir de nos sources.
00:00:28 :Donc ça, ça va être un peu différent selon les systèmes d'exploitation,mais généralement, vous pouvez tout simplement faire un clic droit sur macOS,on va dire CompressSRC, et sur Windows ou sur Linux,vous pourriez utiliser un logiciel comme 7-zip pour créer une archive.
00:00:43 :La plupart des systèmes d'exploitation ont des façons de créer des archivesqui sont built-in dans le système d'exploitation.Donc sur macOS, on va faire un clic droit et on va cliquer sur CompressSRCpour créer un fichier zip à partir de ce dossier.
00:00:57 :Ce fichier, on va pouvoir ensuite l'uploader sur le site Python Anywherepour récupérer toutes les sources de notre projet.La deuxième chose qu'on va faire, c'est créer un fichierqu'on appelle par convention requirements.txt.
00:01:11 :C'est un fichier qui va contenir toutes les librairies de notre projetainsi que leurs versions.Ce fichier, on va également l'uploader sur Python Anywhereet ça va nous permettre de retrouver exactement le même environnement virtuelque celui que l'on a actuellement sur notre ordi pour notre projet.
00:01:26 :Vous voyez ici que ce dossier qui contient mon environnement virtuel,je ne vais pas l'uploader sur le site Python Anywhere.En fait, un environnement virtuel, comme on l'avait vu dans les toutes premières parties,ça contient pas mal de chemins qui ne peuvent pas être transposés sur un autre système.
00:01:40 :Donc il faut généralement recréer un environnement virtuelpour que les chemins pointent au bon endroitet ensuite on va tout simplement utiliser ce fichier requirements.txt
00:01:49 :que l'on va créer tout de suite et que l'on va uploader sur Python Anywherepour installer exactement les mêmes librairies.Donc à l'intérieur de mon dossier ici, je vais déjà activer mon environnement virtuel.
00:02:00 :Donc je vais faire source venv bin et activate.Donc j'active mon environnement virtuel,ce qui est bien le cas ici puisque j'ai l'indication ici au début de ma ligneque j'ai mon environnement virtuel d'activer.
00:02:12 :Pour m'assurer que tout est bon, je peux faire which pythonpour vérifier le chemin complet vers l'interprèteur Pythonet on est bien à l'intérieur de notre environnement virtuel.
00:02:21 :Je vais utiliser ensuite pip et la commande freezepour geler mon environnement dans un fichierque l'on va appeler par convention donc requirements.txt.On pourrait l'appeler n'importe comment mais c'est une convention, on l'appelle comme ça.
00:02:33 :Donc je gèle en fait mon environnement à l'intérieur de ce fichier txt.Si je veux afficher le fichier dans mon terminal,je peux utiliser la commande more ou la commande cat.
00:02:43 :Les deux normalement devraient fonctionner,sinon vous pouvez tout simplement ouvrir bien entendu ce fichierdans un éditeur de texte comme Visual Studio Code, Notepad, etc.
00:02:51 :Donc je vais faire more requirements.txtet vous voyez qu'on a bien toutes les librairies que l'on avait installéesau début de cette formation avec les différentes versions.
00:03:00 :J'appuie sur Q pour sortir de cet affichageet on va pouvoir donc maintenant envoyer ces fichierssur Python Anywhere pour pouvoir les récupérer sur le site.
00:03:09 :Me voilà sur l'interface de Python Anywhere,donc pour l'instant je suis sur mon tableau de bord dans Dashboardet on va aller dans l'onglet Files ici pour pouvoir uploaderdes fichiers sur notre site.
00:03:23 :Donc là on est dans le dossier home docstring.Vous voyez qu'on a déjà plusieurs dossiers ici,on a des dossiers pour l'environnement virtuel,on verra ça tout de suite après.
00:03:32 :Et ici on va cliquer sur Upload a fileet on va aller chercher notre fichier zip,donc le fichier source.zip et on va l'uploader sur notre site.
00:03:39 :Une fois que c'est fait, on va faire la même chose pour notre fichier texte,donc le fichier requirements.txt.Je l'uploade également sur le site.Voilà, donc là on a nos deux fichiers qui sont ici,le fichier source et le fichier requirements.
00:03:51 :Je vais ensuite aller dans l'onglet Console iciet on va ouvrir une console de type Bash.On aurait pu le faire aussi directement depuis l'onglet Files ici,vous voyez on a un petit menu, un raccourci Open Bash Console here.
00:04:03 :Donc on peut cliquer ici et ça va automatiquement nous emmenerdans une console sur notre site.Donc je vais juste afficher l'écran un petit peu plus grand,donc je vais augmenter la taille icipour que vous y voyez quelque chose.
00:04:15 :Et ce qu'on va faire ici c'est tout d'abord unzipper le fichier que l'on a uploadé.Donc je vais faire un ls pour voir les différents fichiers et dossiers que j'ai ici.
00:04:24 :Donc pour l'instant on a trois fichiers,le fichier readme, le fichier requirements que l'on a uploadéet le fichier .zip ici que l'on va unzipper.
00:04:31 :Donc pour ça on utilise la commande unzipet on spécifie ici notre dossier source.zip.J'appuie sur Entrée et automatiquement ça va unzipper tous les fichiers ici.
00:04:41 :Donc je fais un clear pour y voir un peu plus clair,je fais un ls et on voit qu'on a bien cette fois-ci un dossier sourcequi est bien le résultat de ce unzip.
00:04:50 :Donc on va maintenant faire un petit peu de ménage,on va supprimer ce zip,on va également supprimer ce dossier macOS qui a été créé.
00:04:56 :Donc pour supprimer le dossier macOS je fais rm-r,r me permet de spécifier que je vais supprimer un dossier.Donc r-macOSx, j'appuie sur Entrée,si je refais un ls le dossier a bien été suppriméet je vais également supprimer le fichier zip, donc source.zip.
00:05:15 :Je refais un clear, un ls et on a bien cette fois-ci notre dossieret toujours notre fichier requirements.txt.Donc maintenant ce qu'on va faire c'est installer un environnement virtuelet installer nos librairies à l'intérieur de cet environnement virtuel.
00:05:28 :La commande qu'on va utiliser pour notre environnement virtuel c'est mkvirtualenvet donc cette commande elle va utiliser en fait une librairie qui s'appelle virtualenvwrapperqui est par défaut installée sur Python Anywherequi va nous permettre de créer un environnement virtuel.
00:05:42 :Avant ça il faut qu'on trouve l'exécutable de Python 3.6.Pour ça je vais faire which Python 3.6 pour voir le chemin complet vers ce raccourci
00:05:52 :donc cet alias Python 3.6.Donc là on voit qu'il est dans userbin Python 3.6.Vous remarquez par la même occasion qu'à chaque fois que je sélectionne quelque chosej'ai une petite icône ici de ciseaux qui apparaît.
00:06:01 :C'est normal c'est parce qu'en fait dès que je sélectionne quelque chosec'est mis automatiquement dans le presse-papierdonc je peux ensuite le coller facilement avec ctrl V ou commande V sur Mac.
00:06:11 :Donc ce qu'on va faire c'est créer notre environnement virtuelavec la commande mkvirtualenvdonc mkvirtualenv.Par ailleurs vous pouvez commencer à taper une commandeet ensuite appuyer sur tabulation pour la compléter automatiquementpour que ça aille plus vite.
00:06:24 :Et on va spécifier ici la version de Python qu'on veut utiliserpour notre environnement virtuel.Donc on va dire "-python="et là on va coller le chemin que l'on a copiéqui était le chemin complet vers Python 3.6.
00:06:36 :On va ensuite spécifier le nom de notre environnement virtueldonc moi je vais l'appeler tout simplement deviseet j'appuie sur entrée.Donc là on va attendre que l'environnement virtuel se créenormalement par défaut il devra être activé après l'installationon va juste s'assurer que c'est bien le caset je vais vous montrer également comment désactiver et réactiver cet environnement virtuel.
00:06:55 :Donc on va attendre que l'installation se termine.Une fois que l'installation est terminéevous voyez ici qu'on a effectivement le nom de notre environnement virtuelqui est bien affiché donc devise.
00:07:05 :Pour vérifier on va faire "-which python?"et normalement on devrait voir ici l'interprèteur Pythonqui est bien à l'intérieur de ce dossier caché virtualenv.Si on veut désactiver notre environnement virtuelon va utiliser la commande deactivateet si on veut l'activer cette fois-cion pourrait aller faire comme on fait généralement
00:07:23 :c'est à dire sourcer le fichier bin activatemais avec virtualenv wrapper on a une façon plus simple de le fairec'est d'utiliser la commande work onet de spécifier le nom de notre environnement virtuel.
00:07:33 :Donc là ça va être le nom de l'environnement qu'on avait créé il y a 5 secondesdonc devise dans ce cas-ci.Donc work on devise, j'appuie sur entréeet automatiquement il sait qu'il va aller chercher ce dossier deviseà l'intérieur de ce dossier caché virtualenv.
00:07:46 :Donc là vous voyez qu'on a bien notre environnement qui est activéce que l'on peut vérifier avec le texte devise qui est affiché iciet on peut refaire un "-which python?"
00:07:54 :pour vérifier qu'on est bien avec le python de notre environnement virtuel devise.Donc tout fonctionne biendonc voilà si vous voulez désactiver ou réactiver votre environnement virtuelvous pouvez utiliser ces deux commandes.
00:08:04 :Maintenant on va installer les librairies grâce au fichier requirements.txtdonc si je refais un ls je suis bien dans le bon dossierdonc le dossier qui est en fait mon dossier utilisateursi je fais un pwd pour afficher le dossier dans lequel je me trouveje suis dans slash home slash docstring
00:08:20 :et je vais donc maintenant installer les librairies dans mon environnement virtuelavec le fichier requirements.txtdonc pour ça on va faire pip install et on va dire "-rpour indiquer qu'on veut installer les librairies à partir du fichier requirements.txt
00:08:32 :donc j'appuie sur entrée et là ça va prendre un petit peu de temps normalementdonc attendez que ça se termineil va aller chercher toutes les librairies dont il a besoinet les installer directement dans notre environnement virtuel.
00:08:43 :Une fois que l'installation est terminée au niveau de notre terminal icion va pouvoir revenir sur le site de Python Anywheredonc pour ça je vais cliquer sur le petit serpent ici tout en haut à gauchepour sortir de ma consoleet on va aller dans l'onglet web ici pour créer notre application web
00:09:01 :donc pour l'instant on n'en a pason peut en créer une en cliquant ici sur add a new web appet on va passer à travers ce processus d'installationdonc on va cliquer sur nexton va choisir manual configurationpuisqu'on a déjà un projet Djangosi jamais vous voulez créer un projet de zéro
00:09:17 :vous pouvez le créer déjà depuis Python Anywheredonc en sélectionnant Django vous voyez qu'on peut également faire des sitesavec d'autres frameworks icicomme Flask Bottle par exempledonc nous on va sélectionner manual configurationon va prendre Python 3.6
00:09:32 :c'est la version qu'on utilise pour cette formationon va continuer ici en cliquant sur nextet il va créer donc notre application webet il ne nous reste plus qu'à changer quelques petits cheminsà l'intérieur de cette application pour qu'elle fonctionnedonc ce qu'on va changer icic'est déjà le nom de notre environnement virtuel
00:09:48 :donc dans virtualenv iciil nous demande le chemin vers notre environnement virtuelalors on n'est pas obligé de mettre le chemin completon peut mettre uniquement le nomde notre environnement virtueldonc dans notre cas c'était devisedonc je vais mettre juste deviseet automatiquement il va compléter comme vous le voyez
00:10:03 :avec le nom du dossierdonc .virtualenv dans lequel était notre environnement virtuelon va ensuite cliquer sur ce fichier icile fichier .pydonc wsgi.py
00:10:15 :on clique dessus pour l'ouvrir dans un éditeuret on va modifier ce fichier iciavant d'aller modifier quelque chose icije veux juste vous montrer que notre site fonctionne déjàsi je vais dans web iciet que je clique sur le lienon va voir que notre site fonctionne
00:10:29 :on a un hello worldet nous on va devoir linker en faitce fichier wsgi.pyà notre application Pythondonc je reviensje vais aussi copier juste avant çace chemin complet vers mon dossier sourcedonc le dossier source iciet le dossier dashboard deviseon va copier ce chemin au complet
00:10:47 :donc je peux le copier ici tout en haut dans la barreje fais un clic droit copiepuisqu'on en aura besoin pour notre fichierdonc je m'assure d'avoir ce chemin dans mon presse papierje vais dans l'onglet webje reclique sur ce fichier .py
00:10:59 :et sur ce fichier ici on va enlever quasiment toutdonc là on retrouve le hello world qui était affichéquand on a affiché notre siteet je vais garder uniquement la partie Django icidonc j'enlève tout ça au débutet j'enlève également la partie Flask à la finet on va uniquement enlever les commentaires
00:11:13 :donc les symboles dièse icisur les lignes qui nous intéressentdonc toutes les lignes qui contiennent du Pythonon va enlever les commentaires sur ces lignesdonc j'enlève tout ça, je garde les commentairesbien entendu sur le reste des lignespuisque sinon si on met ces lignes là sans les commentaires
00:11:27 :on aura des erreurset ici on a deux choses à changerla première c'est la valeur de cette variable pathdonc on va mettre tout simplementle chemin qu'on a copié, on va enleverdashboard.device puisque là on veut juste
00:11:39 :le dossier jusqu'aux sourcesdonc en fait ça c'est le dossier qui contientle fichier manage.pyet ça en fait ce dossier il va être ajoutéau Python pass donc ce qu'on fait icià la ligne 10 et 11 et ensuiteon va pouvoir à partir de ce dossier source
00:11:53 :aller chercher le fichier settingsqui est donc dans dashboard.devicedonc je vais juste recoller ici le chemincomplet pour m'assurer de bien collerle bon nom du dossier donc dashboard.device
00:12:03 :.settingsj'enlève cette ligne ici puisque je n'en ai plus besoindonc à partir du dossier source icion va aller dire à Djangoque le fichier de settings se trouvedans le dossier dashboard.device dans le
00:12:15 :fichier settings. Donc normalementc'est tout bon, on a tout qui est bien setupé icion va cliquer sur save en haut à droitepour sauvegarder nos changementset on va pouvoir retourner donc en cliquantsur le petit serpent ici dans notreonglet web et il ne nous resteplus maintenant qu'à cliquer sur
00:12:31 :reload docstring.pythonanywhere parce que sije retourne en fait maintenant sur le sitenotre application affiche encore hello worlddonc à chaque fois que vous allez faire des changementsassez conséquents il faut cliquer sur reload icipour relancer le siteet pouvoir l'afficher dans notre navigateurdonc on va attendre que ça se termine ici
00:12:47 :que la petite roue finisse etdisparaisse et on clique sur notre applicationet là il ne reste plus qu'une choseà régler c'est en faitde mettre le nom de ce site icidans une variable allowedhostqui est dans notre fichier de settingsdonc je vais sélectionner ici le nom de mon site
00:13:03 :donc ça c'est l'url vraiment de mon site docstring.pythonanywhereon va revenir en arrièreon va aller dans nos fichierset on va aller modifier le fichier settingsdonc je vais aller dans les sourcesdans dashboard devises et je vais cliquerici sur le fichier settings.py
00:13:17 :et on a notre variable allowedhostici dans laquelle on va tout simplementcoller cette chaîne de caractèrequi est en fait tout simplementl'adresse url de mon site sur pythonanywheredonc on va lui dire ici qu'on a le droitd'accéder à ce site avec notre applicationdjango donc je fais un save ici
00:13:33 :en haut à droite, je reviens surle dashboard de pythonanywhere en cliquantsur le serpent, on revient dans le webon va refaire un reload docstringet on va ensuite alleressayer notre site en retournant sur l'urldonc on attend que ça se termine, une fois que c'est terminé
00:13:47 :on clique sur l'urlet voilà mon interface qui fonctionnedonc on a par défaut ce que l'on avait misdans notre redirect donc c'est à dire la vueavec le usd et le cadre donc ça c'est quand on vadirectement sur la page d'accueilsi vous vous souvenez bien ça nous redirige vers
00:14:01 :cette vue par défaut, on peut changerdonc pour afficher les mois, les semaines etcdonc on va tester ça plus en détail dansla prochaine partie, si jamais vous avez lemoindre problème lors du setup de votreinstallation sur pythonanywheren'hésitez pas à poster sur le discord ou dans
00:14:15 :les questions et réponses de la formation pourqu'on vous vienne en aide, ce serait dommage de s'arrêterà la dernière étape ici et vous avezvu il y a beaucoup de petites étapes donc ce n'est pasimpossible que vous ayez oublié quelque chose ou faitune erreur à un certain endroit
00:14:27 :et ça dépend aussi souvent beaucoup un peu desconfigurations de comment vous avez faitvos dossiers si vous faites un zip, un rareou quoi que ce soit donc il y a beaucoup de petites chosescomme ça qui peuvent planter donc n'hésitez pas à nous demanderde l'aide si jamais vous avez un problème
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.