- 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 :De retour dans la console, on va récupérer tous les fichiers statiques et les mettre à l'intérieurde notre dossier static files. Donc c'est le dossier qui était défini, si vous vous souvenez bien,
00:00:09 :dans le fichier de settings. Donc si je rouvre ce fichier de settings, on a le static root iciqui indiquait qu'on voulait récupérer tous les fichiers dans ce dossier static files. Donc dans
00:00:18 :la console, on va utiliser là encore manage.py et cette fois-ci avec la commande collect static,tout en minuscules, tout attaché. Je valide avec entrée et là elle va récupérer tous les fichiers
00:00:29 :statiques pour les mettre dans le dossier static files. Donc là vous voyez qu'il m'indique qu'il acopié 134 fichiers statiques pour les mettre dans le dossier static files ici. Donc si je fais un ls
00:00:38 :et que je navigue à l'intérieur de static files, on va retrouver le dossier pour tous les fichiersd'administration et notre dossier css qui contient les feuilles de style de cette application. On va
00:00:48 :devoir spécifier où se trouvent ces fichiers statiques dans l'application Python Anywhere.Donc je retourne ici dans l'onglet web et si vous descendez un petit peu ici, vous voyez qu'on peutspécifier des urls et des dossiers qui vont contenir ces fichiers statiques. Donc je clique
00:01:02 :sur enter url ici et on va mettre l'url. Donc vous voyez il me suggère ici de mettre slashstatic donc c'est ce qu'on va mettre ici puisque c'est l'url qu'on avait défini dansstatic url ici. Donc je mets slash static slash, on valide avec le checkbox ici et on va rentrer
00:01:18 :ensuite le chemin. Donc je reviens dans ma console, je vais faire un pwd de ce chemin complet vers ledossier donc static files et on va associer donc ce dossier à cette url. Donc je clique sur enter
00:01:29 :path, je mets le chemin ici et je valide en cliquant sur la croix ici. On va faire la mêmechose pour les médias. Donc si je reviens ici, pour l'instant on n'a pas le dossier de médias
00:01:39 :donc je vais revenir un niveau au dessus donc c'est des . . Je fais un ls, là on n'a pas ledossier médias files mais ce n'est pas problématique puisque ce dossier sera créé automatiquement enfait quand on va mettre des médias en ligne sur nos articles de blog. Donc on n'a pas besoin de
00:01:53 :les créer pour l'instant, on n'a pas besoin de les collecter non plus avec la commande collectstatic puisque ce ne sont pas des fichiers statiques mais bien des fichiers qui vont êtremis en ligne par l'utilisateur. Pour pouvoir afficher ces fichiers je vais quand même rentrer
00:02:05 :l'url et le dossier dans lequel ils vont se trouver en le rajoutant ici donc je vais faireenter url une nouvelle fois et on va mettre cette fois-ci slash médias slash et pour le nom dudossier donc ça va être presque pareil que static files sauf qu'à la place de static files on va
00:02:18 :mettre médias files donc je valide ici et médias files pourquoi et bien parce que c'est ce qu'onavait mis ici dans le médias root donc vous voyez qu'on a vraiment une correspondance entre ces quatrevariables ici avec l'url et les dossiers et ce qu'on a mis ici dans le static files. Donc une
00:02:32 :fois que vous avez spécifié tout ça il ne reste plus qu'à relancer l'application donc je cliquesur reload docstring.pythonanywhere.com et une fois que ça sera reloadé on va pouvoir aller
00:02:40 :examiner notre interface d'administration et normalement vous allez voir que c'est un peuplus beau que ce qu'on a actuellement donc c'est bon c'est reloadé je reviens ici j'actualise etlà on retrouve notre interface d'administration telle qu'on la connaît donc je vais pouvoir créerun article je vais aller dans articles ici cliquer sur ajouter on va faire un super article je vais
00:03:00 :mettre un auteur je vais dire que je l'ai publié aujourd'hui ici on va mettre article de test eton va aller chercher une image pour vous montrer qu'elle est bien mise au bon endroit dans ledossier médias files donc je clique sur choose file ici je vais aller chercher mon image de
00:03:13 :test pour cet article on clique sur enregistrer et là on va pouvoir aller examiner notre blogdonc je reviens sur slash blog là on a bien la page d'accueil je peux aller lire l'article etpar défaut vous voyez ici que cette image n'est pas affichée si je reviens dans ma console et
00:03:30 :que je fais un ls on voit qu'on a bien le dossier médias files donc on va pouvoir naviguer àl'intérieur de ce dossier je vais faire un clear pour qu'on y voit un peu plus clair et on a bienun dossier blog qui contient notre image article python.png alors si on ne la voit pas ici c'est
00:03:43 :tout simplement en fait parce qu'il faut relancer notre application encore une fois donc on vacliquer de nouveau sur reload ici attendre que ça soit rechargé voilà c'est normalement assezrapide et cette fois ci si j'actualise j'ai bien mon image qui est correctement affichée et si jefais un clic droit open image in new tab on retrouve bien l'url avec slash média slash ici qui correspond
00:04:04 :à la valeur de média url ici dans notre fichier de paramètres donc voilà comment mettre en lignevotre projet donc vous allez peut-être vous dire que c'est très compliqué mais finalement si vousy pensez bien en fait c'est pas forcément si compliqué que ça c'est ce que j'aime bien avec
00:04:18 :python anywhere parce qu'il y a beaucoup de choses qu'on fait en fait qui sont des choses qu'on faitpour n'importe quel projet que ce soit créer un environnement virtuel créer un dépôt sur gitinstaller des bibliothèques avec pip c'est des choses généralement quand vous êtes développeurpython que vous faites très régulièrement et pour tout le reste ça ressemble exactement à ce qu'on
00:04:35 :fait de notre côté en local que ce soit pour la base de données pour les fichiers statiques vousvoyez que grâce à cette console à laquelle on a accès on peut aller faire toutes ces opérationsdirectement et il ya quand même python anywhere qui nous simplifie la vie par exemple avec les
00:04:48 :fichiers statiques vous voyez que c'est assez simple il suffit ici de spécifier l'url et ledossier et nos fichiers statiques et nos fichiers de médias sont automatiquement servis par leserveur de python anywhere donc c'est quand même un bon entre deux je trouve par rapport à d'autressolutions comme Heroku ou DigitalOcean qui sont soit beaucoup plus simple mais en fait où vous
00:05:06 :faites des trucs complètement différents de ce qu'on fait généralement vous allez mettre desvariables des valeurs dans tous les sens et ça va être en fait des trucs assez spécifiques à Herokuet vous n'allez pas trop comprendre pourquoi et en arrière-plan et bien lui il va faire un codec
00:05:18 :statique il va faire une migration mais sans vraiment que vous voyez ses commandes directementet à l'inverse on a par exemple DigitalOcean si vous faites un serveur où vous faites tout à lamain où là vraiment il va falloir créer notre serveur nous même avec nginx avec unicorn il va
00:05:32 :falloir rentrer des configurations assez complexes pour servir nos fichiers statiques donc on avraiment les deux extrêmes je trouve avec Heroku et DigitalOcean et python anywhere moi je trouvemême si ça peut vous sembler complexe pour l'instant est un bon entre deux et nous permetassez rapidement d'avoir un site fonctionnel en ligne
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.