EtvoilĂ  votre compte est associĂ© Ă  l'extension et vous pouvez dĂšs Ă  prĂ©sent tĂ©lĂ©charger les fichiers APK des applications directement sur le Play Store; Comment tĂ©lĂ©charger un fichier RĂ©soutun problĂšme dans lequel vous ne pouvez pas ouvrir un fichier dont le nom contient des caractĂšres Ă©tendus en cliquant sur Ouvrir dans la barre de notification. Ce problĂšme se produit lorsque vous tĂ©lĂ©chargez le fichier dans Internet Explorer 9 ou Internet Explorer 10. Indiqueque le nombre de fichiers prĂ©sents dans le fichier incorrect. Par exemple, lors de la soumission d'un type de commande FUL Ă  partir d'un systĂšme dorsal, ce message s'affiche si le fichier zip ne contient pas de donnĂ©es de charge et/ou de fichier ordermetadata.xml. EBICSCL2363 Sivous ne voyez pas Adobe Acrobat ou Adobe Photoshop dans la liste, choisissez Plus d’applications. Choisissez un programme dans la liste. Notez que vous devez dĂ©cocher la case pour toujours utiliser le programme pour ouvrir les fichiers .ai, sauf si vous souhaitez y associer le fichier. Si vous le faites, tous les fichiers .ai de votre Cliquezsur Programmes . Dans la zone Programmes par dĂ©faut, cliquez sur Toujours ouvrir un type de fichier particulier avec un programme spĂ©cifique . Windows 10 affiche alors la liste des extensions et protocoles disponibles. SĂ©lectionnez l'extension ou le protocole Ă  associer Ă  un logiciel particulier et cliquez sur le bouton Changer le Voiciles mĂ©thodes que vous pouvez suivre si vous rencontrez l’erreur « Steam n’a pas pu synchroniser vos fichiers » sur Steam : PublicitĂ©. VĂ©rifiez si les serveurs Steam sont en panne. Supprimez le dossier userdata. VĂ©rifiez l’intĂ©gritĂ© des fichiers du jeu. RĂ©parez le dossier de la bibliothĂšque Steam. . How do you want to study today?Review terms and definitionsFocus your studying with a pathGet faster at matching termsSets found in the same folder Lorsque je souhait tĂ©lĂ©charger forge , je reçois un message d’erreur ''ce fichier ne contient pas d’application associĂ©e pour effectuer cette action installez une application ou , si c’est dĂ©jĂ  fait , crĂ©ez une association sur la page paramĂštres des applications par dĂ©faut . ’ Pourtant j’ai minecraft sur mon pc et j’ai dĂ©jĂ  lancĂ© mon launcher en Merci Ă  vous Aller au menu Aller au contenu Aller Ă  la recherche BibliothĂšque AccĂ©der Ă  tous les contenus de la bibliothĂšque Informatique Autres informatique Bureautique et rĂ©daction DĂ©veloppement Web MatĂ©riel et Ă©lectronique Programmation et algorithmique SystĂšmes d'exploitation Sciences de la nature Astronomie Autres sciences de la nature Biologie Chimie MathĂ©matiques Physique Sciences de la terre Sciences humaines et sociales Autres sciences humaines et sociales Droit Économie Histoire Langues Psychologie Autres Arts, graphisme et multimĂ©dia Autres Communication et management Zeste de Savoir Tags les plus utilisĂ©s zds mathĂ©matiques algorithmique python physique Tous les tags Tribune Tous les billets Informatique Autres informatique Bureautique et rĂ©daction DĂ©veloppement Web MatĂ©riel et Ă©lectronique Programmation et algorithmique SystĂšmes d'exploitation Sciences de la nature Astronomie Autres sciences de la nature Biologie Chimie MathĂ©matiques Physique Sciences de la terre Sciences humaines et sociales Autres sciences humaines et sociales Droit Économie Histoire Langues Psychologie Autres Arts, graphisme et multimĂ©dia Autres Communication et management Zeste de Savoir Tags les plus utilisĂ©s python zds c++ musique javascript Tous les tags Forum Tous les forums Savoirs Programmation DĂ©veloppement Web MultimĂ©dia et Jeux vidĂ©o SystĂšmes et MatĂ©riels Sciences Les autres savoirs CommunautĂ© Le bar Ă  smoothies Bugs et Suggestions Dev Zone Contenus en cours de rĂ©daction Vos projets L'association Tags les plus utilisĂ©s python c++ php arduino c Accueil Tutoriels DĂ©ployer une application Django en production Licence CC BY-NC-SA DĂ©ployer une application Django en production DĂ©ployer une application Django en production Dans ce tuto nous allons voir comment dĂ©ployer une application Django en production. En effet de nombreux articles couvrent la crĂ©ation d’une application Django et le dĂ©veloppement Ă  l’aide du serveur runserver de Django, mais il est plus difficile de trouver des informations sur les bonnes pratique de dĂ©ploiement. Ce tuto couvre les paramĂštres d’une application pour la production fichiers de settings, l’installation et la configuration de Gunicorn et l’installation et la configuration de Nginx. A la fin de ce tutoriel nous aurons une application Django en production prĂȘte pour un usage professionnel. Une seule approche technique sera prĂ©sentĂ© ici mais il existe plein d’autres logiciels et infrastructures permettant d’arriver au mĂȘme rĂ©sultat. PrĂ©requis un minimum de connaissance de Django est requis pour une bonne comprĂ©hension. C’est encore mieux si vous avez une application et un serveur une VM avec debian fait trĂšs bien l’affaire sous la main. Un minium d’aisance avec la ligne de commande est prĂ©fĂ©rable. ParamĂ©trons Django Configurer Gunicorn et Supervisord Configurer NGinx ParamĂ©trons Django Configurer vos settings Django Dans un premier temps il est nĂ©cessaire de faire un tour du cĂŽtĂ© des settings de Django. En effet ceux ci permettent de paramĂ©trer notre application pour qu’elle soit prĂȘte pour l’environnement de production. DĂ©sactiver le mode Debug Le paramĂštre le plus important est la valeur DEBUG. Il est impĂ©ratif que cette valeur soit fausse en production. En effet comme son nom l’indique ce paramĂštre permet de debugger l’application est convient a un environnement de dĂ©veloppement, mais surtout pas Ă  la production. Quand ce paramĂštre est vrai de nombreuses informations sont affichĂ©es. Il faut s’assurer que ces informations ne seront jamais visibles par vos visiteurs. Par exemple en cas d’erreur 500 vos visiteurs tomberont sur une page d’erreur personnalisable plutĂŽt que sur la page d’erreur utilisĂ©e lors du debug prĂ©sentant des donnĂ©es sur le comportement de votre application. En dĂ©sactivant le mode debug il devient impĂ©ratif de remplir la valeur de la variable ALLOWED_HOSTS. Par dĂ©faut en mode debug, les connexions depuis le localhost sont automatiquement acceptĂ©es. Pour la production il faut configurer cette liste avec l’ensemble des noms d’hĂŽtes auxquels le site doit rĂ©pondre. Si cela n’est pas fait l’ensemble du site sera inaccessible et vous arriverez sur une page d’erreur. Erreur en mode debug prĂ©cisant que l'application n'est pas configurĂ©e pour fonctionner sous ce nom d'hĂŽte. ParamĂ©trer l’accĂšs Ă  base de donnĂ©es Par dĂ©faut dans un nouveau projet, une base SQLite est utilisĂ©e. Cela est trĂšs pratique pour dĂ©velopper car c’est un moteur de base de donnĂ©es trĂšs simple Ă  mettre en place. En revanche ce moteur n’est gĂ©nĂ©ralement pas utilisĂ© en production pour des grosses applications web, on lui prĂ©fĂšre en gĂ©nĂ©ral des solutions comme MySQL, MariaDB, PostgreSQL, etc. Pour cela il est nĂ©cessaire de modifier la configuration des bases de donnĂ©es. Par dĂ©faut la configuration est la suivante DATABASES = { 'default' { 'ENGINE' ' 'NAME' 'mydatabase', } } On pourra modifier la configurer comme suit, par exemple pour PostgreSQL DATABASES = { 'default' { 'ENGINE' ' 'NAME' 'mydatabase', 'USER' 'mydatabaseuser', 'PASSWORD' 'mypassword', 'HOST' ' 'PORT' '5432', } } On voit ici qu’on prĂ©cise le moteur de base de donnĂ©es utilisĂ© ainsi que les informations de connexion. Il est important que garder les informations sensibles utilisateur et mot de passe aussi privĂ©es que possible. Ainsi on Ă©vite en gĂ©nĂ©ral de les ajouter en clair au fichier de rĂ©glages de l’application et on se tourne vers l’utilisation de secrets en savoir plus. Pour en savoir plus sur la gestion des paramĂštres de base de donnĂ©es dans Django n’hĂ©sitez pas Ă  consulter la documentation. DĂ©sactiver la Django Debug Toolbar Si vous utilisez le module Django Debug Toolbar, c’est le moment de vĂ©rifier que celui-ci est dĂ©sactivĂ© lorsque Debug est faux. C’est normalement le comportement par dĂ©faut
 sauf si vous en avez dĂ©cidĂ© autrement. Django Debug Toolbar donne de nombreuses informations sur le fonctionnement de votre application et doit donc ĂȘtre dĂ©sactivĂ© dans tous vos environnements exceptĂ© votre machine de dĂ©veloppement. Par exemple si on regarde le fichier de settings de Zeste de Savoir on trouvera le code suivant if DEBUG INSTALLED_APPS += 'debug_toolbar', MIDDLEWARE_CLASSES = ' + MIDDLEWARE_CLASSES Ouf ! L’honneur est sauf, la debug toolbar n’est activĂ© qu’en mode debug. GĂ©rer ses dĂ©pendances Python En python on maintient gĂ©nĂ©ralement une liste de ces dĂ©pendances dans un fichier Dans l’idĂ©al il faut sĂ©parer les dĂ©pendances de maniĂšre plus fine, par exemple en utilisant trois fichiers diffĂ©rents Un fichier qui contient toutes les dĂ©pendances de base de votre application. Un fichier pour le dĂ©veloppement qui contient tous les outils de dĂ©veloppement et de dĂ©bug tels que Django Debug Toolbar Un fichier pour les dĂ©pendances propres Ă  la pre-production et Ă  la production Dans le fichier de dĂ©pendances de dev ou de prod il est possible d’utiliser la syntaxe suivante pour importer les dĂ©pendances de base On ajoute dans ce fichier les dĂ©pendances de dĂ©veloppement uniquement Mais on importe les dĂ©pendances de base -r django-debug-toolbar== Avec cette mĂ©thode on est sĂ»r de ne pas avoir d’outils de dĂ©bug installĂ©es sur la prod. Par exemple, toujours chez Zeste de savoir on trouve un fichier contenant les dĂ©pendances qui ne doivent pas ĂȘtre installĂ©es en production coverage== PyYAML== django-debug-toolbar== flake8== flake8_quotes== autopep8== sphinx== sphinx_rtd_theme== faker== mock== Ce sont par exemple les dĂ©pendances permettant le debug, le linting, la documentation, les tests, etc. Autres rĂ©glages Avant de passer en production vĂ©rifiez bien que tous vos settings sont bons, voici quelques exemples de paramĂštres Ă  vĂ©rifier ParamĂštres d’authentification Ă  la base de donnĂ©es ceux-ci sont probablement diffĂ©rents entre votre environnement de dev et la production, vĂ©rifiez que les logins et les mots de passes soient corrects. Tokens d’API, comptes de tests Si vous utilisez des services externes tel que Mandrill pour l’envoi de mail ou PayPal pour le paiement pensez Ă  vĂ©rifier que vous utilisez bien vos comptes de production et non pas les comptes de test. Si vous oubliez cette Ă©tape les services externes ne se comporteront pas correctement faux paiement dans la sandbox de PayPal, mail qui ne seront jamais envoyĂ©s avec mandrill, etc. Si vous voulez ĂȘtre sĂ»r de bien avoir fait le tour de tous les paramĂštres, il existe une liste des choses Ă  vĂ©rifier avant de dĂ©ployer dans la documentation de Django. On peut par exemple y trouver la commande suivante permettant de vĂ©rifier un certains nombres de points avant le dĂ©ploiement python check -deploy Comme nous l’avons vu, il existe de nombreuses diffĂ©rences entre les settings de production et ceux de dĂ©veloppement. Comme pour les fichiers requirements il peut ĂȘtre utile de maintenir deux fichiers, un pour votre machine locale et une pour votre serveur. On peut par exemple crĂ©er un module python contenant les settings adaptĂ©s aux diffĂ©rentes configurations. settings/ Configurer Gunicorn et Supervisord Nous allons maintenant passer Ă  la partie serveur» de ce cours. Dans un environnement de dĂ©veloppement il suffit de lancer la commande runserver de Django pour que notre application soit accessible dans le navigateur. C’est un outil trĂšs simple et pratique qui permet de dĂ©velopper et de dĂ©bugger trĂšs rapidement une application. En revanche ce serveur applicatif n’est pas du tout fait pour ĂȘtre utilisĂ© en production il est assez lent et ne tient pas du tout la charge. Il faut donc passer par une autre programme pour servir notre application. Introduction Pour faire tourner notre application en production nous allons nous reposer sur trois logiciels Un serveur applicatif il s’agit de Gunicorn dans ce tuto, c’est l’un des serveurs les plus connus dans le monde de Python. Son rĂŽle est d’exĂ©cuter le code de notre application et de renvoyer les rĂ©ponses aux requĂȘtes qui lui sont faites. Supervisord il sera en charge de lancer le serveur Gunicorn est d’assurer son bon fonctionnement. Un reverse proxy nous utiliserons Nginx, il s’agit d’un des reverse proxy le plus connu, il est renommĂ© pour sa fiabilitĂ© et sa rapiditĂ©. Son rĂŽle sera de transmettre les requĂȘtes venant des utilisateurs extĂ©rieurs Ă  Gunicorn. On considĂšre dans la suite de ce tuto que le moteur de base de donnĂ©es que vous voulez utiliser est bien installĂ© et configurĂ© avec les bons paramĂštres afin de laisser l’application Django se connecter. Si ce n’est pas le cas vous obtiendrez une erreur applicative quand vous souhaiterez dĂ©marrer ou utiliser votre application dans la suite de ce chapitre. Nous devons tout d’abord crĂ©er le virtualenv qui nous servira tout au long de ce tutoriel. Pour cela utilisez votre gestionnaire de paquet pour installer le virtualenv correspondant Ă  la version de Python de votre projet. sudo apt-get install python3-virtualenv Puis crĂ©ons le rĂ©pertoire et le virtualenv cd /home/clementine/public_html/hello_world/ mkdir env virtualenv ./env source env/bin/activate Nous pouvons en profiter pour installer les dĂ©pendances et rĂ©aliser les migrations si nĂ©cessaires pip install -r python migrate On se retrouve Ă  cette Ă©tape avec un projet Django fonctionnel, on pourrait lancer le runserver de Django pour vĂ©rifier que tout fonctionne correctement. Gunicorn Gunicorn sera notre serveur applicatif, si Gunicorn fait parti des dĂ©pendances de votre application Django il a Ă©tĂ© installĂ© Ă  l’étape prĂ©cĂ©dente. Si ce n’est pas le cas, on l’installe Dans ce cas, pensez Ă  ajouter la dĂ©pendance vers Gunicorn dans votre fichier requirements destinĂ© Ă  la production. A ce stade, on peut dĂ©jĂ  lancer notre serveur Gunicorn pour vĂ©rifier que tout fonctionne bien gunicorn -bind localhost8001 Par exemple gunicorn -bind localhost8001 Ici on demande juste Ă  Gunicorn de lancer notre application sur la machine en servant le port 8001. Depuis votre serveur, dans un terminal, vous devriez pouvoir atteindre votre application curl localhost8001 RĂ©ponse etc. Vous pouvez aussi essayer de charger la page depuis votre navigateur, tout fonctionne normalement. C’est bien beau tout ça, par contre dĂšs que vous allez fermer votre terminal, votre application ne sera plus disponible. Pas trĂšs pratique! Pour corriger ce problĂšme nous allons avoir besoin d’un autre outil supervisord. Supervisord Supervisord est un outil extrĂȘmement pratique permettant de lancer des applications et de suivre leur Ă©tat. En effet il est possible que votre programme plante et quitte de maniĂšre inopinĂ©e. Une des possibilitĂ©s de Supervisord est de pouvoir le relancer de maniĂšre automatique. Supervisord permet aussi en une commande de connaĂźtre le statut des diffĂ©rentes applications que vous avez lancĂ©es, plus besoin d’aller chercher l’état du service ou le PID du programme Ă  la main. Nous allons ici nous servir de Supervisord pour lancer Gunicorn et le relancer en cas de besoin. Pour cela la configuration va ĂȘtre assez simple. Supervisord utilise le format de fichier INI pour paramĂ©trer les diffĂ©rents programmes Ă  gĂ©rer. Commençons par installer le paquet sudo aptitude install supervisor À adapter en fonction de votre distribution Les fichiers de configuration sont stockĂ©s dans le dossier /etc/supervisor/ je vous propose de crĂ©er le fichier /etc/supervisor/ avec le contenu suivant [programhelloworld] environment=DJANGO_SETTINGS_MODULE=' directory=/home/clementine/public_html/hello_world/ command=/home/clementine/public_html/hello_world/env/bin/gunicorn -bind unix/tmp/ -bind -workers 1 -log-file /var/log/ autostart=true autorestart=true stdout_logfile=/var/log/ stderr_logfile=/var/log/ configuration de supervisord Cette configuration assez simple fonctionne de la maniĂšre suivante On commence par dĂ©finir le nom de notre programme afin de pouvoir le repĂ©rer facilement. [programhelloworld]. Essayer de bien nommer vos programmes et vos fichiers afin de faciliter la maintenance. On dĂ©finit ensuite les paramĂštres d’environnement nĂ©cessaire Ă  l’exĂ©cution de notre programme ici les fichiers de settings Ă  utiliser. Si vos fichiers de settings sont dans un module il est possible de le prĂ©ciser sous la forme Au besoin il est possible de passer d’autres paramĂštres d’environnement sous la forme d’un dictionnaire KEY="val",KEY2="val2". Le paramĂštre directory permet quant Ă  lui de donner le rĂ©pertoire ou se trouve notre application, ce qui permet par exemple d’utiliser un chemin relatif vers le fichier wsgi dans la commande Gunicorn. C’est aussi pratique quand vous utilisez beaucoup de configurations diffĂ©rentes pour retrouver en un clin d’Ɠil le rĂ©pertoire d’une application. On dĂ©finit ensuite la commande Ă  exĂ©cuter pour lancer le programme. On voit ici que supervisord lance notre serveur Gunicorn avec des paramĂštres pour fichier de socket le premier paramĂštre bind permet de dĂ©finir un fichier de socket que Gunicorn va utiliser pour communiquer avec Nginx, nous verrons ce point plus en dĂ©tails dans la partie suivante. bind le second bind permet de lier Gunicorn Ă  une adresse, dans cet exemple votre application sera disponible sur le port 8001 du serveur. workers prĂ©cise le nombre de processus qui vont traiter en parallĂšle des requĂȘtes. Par dĂ©faut la valeur est de 1, ce qui est assez faible. La valeur recommandĂ©e est en gĂ©nĂ©ral de deux fois le nombre de cƓurs du serveur. Cette valeur est assez gĂ©nĂ©raliste est dĂ©pend du serveur et de votre application. N’hĂ©sitez pas Ă  faire des essais pour tout en surveillant la charge de votre serveur pour trouver le meilleur rĂ©glage log-file ce sont les chemins vers les fichiers logs. Veillez bien que ces dossiers existent, et que votre utilisateur lançant le programme ait bien les droits d’écriture dans ces fichiers. C’est une source d’erreur frĂ©quente. On dĂ©finit ensuite si notre programme doit dĂ©marrer automatiquement lors du dĂ©marrage de Supervisord et si il doit redĂ©marrer en cas d’arrĂȘt. Ce sont les parametres autostart et autorestart du fichier de configuration. Enfin on prĂ©cise oĂč enregistrer les logs Supervisord liĂ©s Ă  cette application. VĂ©rifiez bien que ces dossiers existent et que les droits sont corrects . Ces logs vont ĂȘtre trĂšs prĂ©cieux pour vous aider Ă  dĂ©bugger si tout ne se passe pas comme prĂ©vu. Ces deux derniers rĂ©glages sont optionnels et vous pouvez laisser Supervisord choisir le dossier d’enregistrement des logs. Dans ce cas veillez Ă  bien savoir oĂč ils se trouvent ! N’hĂ©sitez pas Ă  vous plonger plus en dĂ©tails dans les paramĂštres de Supervisord pour dĂ©couvrir d’autres paramĂštres. Voyons maintenant comment utiliser Supervisord pour dĂ©marrer notre application Nous allons commencer par recharger les fichiers de configuration Ă  l’aide de la commande sudo supervisorctl reread sudo supervisorctl update Si vous avez activĂ© l’autostart comme dans l’exemple ci-dessus votre application devrait ĂȘtre maintenant dĂ©marrĂ©. Sinon nous pouvons lancer un programme Ă  l’aide de la commande sudo supervisorctl start hello Il est possible de la mĂȘme façon de stopper un programme ou de le redĂ©marrer. sudo supervisorctl stop hello sudo supervisorctl restart hello Pour connaĂźtre le statut de toutes vos applications en un clin d’Ɠil utilisez la commande de status sudo supervisorctl status Indication de l'Ă©tat d'une tache supervisord, ici elle est arrĂȘtĂ©e Notre application tourne maintenant correctement et Supervisord se charge de la surveiller. En cas de plantage ou de redĂ©marrage de la machine, Surpervisord relancera votre application pour qu’elle soit toujours disponible. Il ne nous reste plus qu’à rendre notre site accessible depuis l’ensemble des ordinateurs du rĂ©seau. Configurer NGinx Nginx Nous allons utiliser la fonctionnalitĂ© de reverse proxy de Nginx, c’est Ă  dire qu’il fera le lien entre une URL demandĂ©e et un serveur applicatif capable de renvoyer le contenu associĂ© a cette URL. Si la configuration le permet, Nginx demandera la ressource associĂ©e Ă  cette URL Ă  Gunicorn et renverra la rĂ©ponse Ă  l’utilisateur. Si Nginx n’est pas installĂ©, il suffit de lancer la commande suivante sudo aptitude install À adapter en fonction de votre distribution On peut vĂ©rifier que le paquet est bien installĂ© en affichant la version Ă  l’aide la commande $ -v version / Ubuntu La configuration par dĂ©faut de Nginx se trouve dans le fichier /etc// nous n’allons pas la modifier mais je vous invite Ă  la lire pour en apprendre plus sur le fonctionnement de Nginx. La configuration de Nginx se dĂ©roule dans deux dossiers /etc//site-available qui contient les fichiers de configuration des "sites" qui peuvent ĂȘtre servis depuis notre serveur. C’est un dossier de dĂ©pĂŽt, les configurations placĂ©es dans ce dossier ne sont pas utilisĂ©es directement. /etc//site-enabled qui contient la configuration des "sites" qui seront servis depuis notre serveur. Seuls les sites configurĂ©s dans ce dossier seront effectivement disponibles par les utilisateurs depuis l’extĂ©rieur. On stocke donc nos configurations Nginx dans le dossier site-available et on les active en crĂ©ant un lien symbolique dans le dossier site-enabled pointant vers site-available. Ainsi pour dĂ©sactiver temporairement un site on peut simplement supprimer le lien symbolique et garder la configuration complĂšte dans le dossier de dĂ©pĂŽt. En gĂ©nĂ©ral on essaye de garder ces deux rĂ©pertoires aussi organisĂ©s que possible. Pour cela une bonne pratique est de crĂ©er un fichier de configuration par site disponible. Les fichiers du dossier site-enabled sont chargĂ©s depuis le fichier /etc// Nginx est un outil trĂšs puissant et complexe, dĂ©crire l’ensemble des possibilitĂ©s demanderait un cours Ă  part entiĂšre, nous allons donc nous concentrer ici sur un exemple minimal, mais fonctionnel. Une configuration possible serait la suivante upstream hello { server unix/tmp/ fail_timeout=30s; } server { listen 80; listen 443 default_server ssl; server_name access_log /var/log// error_log /var/log// location /static/ { alias /home/clementine/public_html/hello_world/static/; } } ArrĂȘtons-nous quelques instants sur cette configuration et analysons la en dĂ©tails. Le paramĂštre upstream permet de dire Ă  Nginx de transmettre les requĂȘtes des utilisateurs Ă  un autre serveur. Dans notre cas on redirige» la requĂȘte vers gunicorn via une socket. On prĂ©cise une durĂ©e maximum de 30 secondes pendant laquelle Nginx tente Ă  nouveau de contacter Gunicorn en cas d’échec. Au-delĂ  de 30 secondes la requĂȘte se termine en Ă©chec. On ouvre ensuite un block server qui regroupe toute la configuration de notre site. Le dĂ©coupage de la configuration en diffĂ©rents blocs server permet une trĂšs grande granularitĂ© dans les directives de configurations. La directive listen permet d’indiquer sur quel port va Ă©couter et rĂ©pondre Nginx, ici le port 80 HTTP et le port 443 HTTPS. N’oubliez pas que pour que votre HTTPS fonctionne correctement il faut Ă©tablir un certificat et le prĂ©ciser dans la configuration Nginx. Le server_name correspond au nom de domaine auquel votre serveur doit rĂ©pondre. Notez bien que cela doit coller avec votre paramĂštre ALLOWED_HOSTS, sinon ça ne fonctionnera pas. Les deux lignes suivantes permettent de dĂ©finir les fichiers d’enregistrements des logs d’accĂšs et d’erreur. Ces fichiers sont importants en cas de problĂšme afin de mieux comprendre ce qui se passe sur votre serveur. Le bloc suivant permet de dĂ©finir le dossier oĂč se trouvent les fichiers statiques de Django. Ils seront servis quand une url de type sera appelĂ©e. Pour rendre le site accessible nous allons crĂ©er un fichier dans le dossier sites-available et y coller la configuration analysĂ©e prĂ©cĂ©demment. Puis pour activer cette configuration on crĂ©e un lien symbolique depuis le rĂ©pertoire site-enabled. sudo ln -s /etc//sites-available/ /etc//sites-enabled/ Nginx met Ă  notre disposition un outil permettant de tester la configuration, pour cela il suffit de taper la commande suivante Le rĂ©sultat obtenu est le suivant sudo -t the configuration file /etc// syntax is ok configuration file /etc// test is successful En cas d’échec on obtient un message d’erreur prĂ©cisant l’erreur Ă  rĂ©gler Exemple d'erreur Nginx. Ici mon utilisateur ne possĂšde pas les bons droits pour Ă©crire dans le rĂ©pertoire de log. La derniĂšre chose Ă  faire est de redĂ©marrer Nginx pour qu’il prenne en compte les modifications de la configuration. Pour cela on utilise la commande sudo service start ou restart si est dĂ©jĂ  dĂ©marrĂ© Et voila ! Votre application est accessible Ă  l’adresse dĂ©finie dans le serveur Nginx. Si vous avez configurĂ© un vrai serveur il faudra ensuite configurer votre nom de domaine pour qu’il pointe vers votre serveur. Si vous ĂȘtes dans une machine virtuelle ou en locale il est possible de simuler le nom de domaine en Ă©ditant le fichier hosts de votre ordinateur. Ainsi j’ai attribuĂ© dans le fichier host le domaine Ă  l’adresse localhost, je pourrais accĂ©der Ă  mon application en utilisant l’url Voici comment tester rapidement en ligne de commande $ echo " sudo tee -append /etc/hosts $ curl RĂ©sultat ... On se retrouve dans la conclusion pour quelques idĂ©es d’amĂ©liorations Ce tutoriel touche Ă  sa fin. Nous aurons vu ensemble les bases pour dĂ©ployer une application web codĂ©e en Python en production. Les logiciels utilisĂ©s sont Ă  la fois puissants et trĂšs robustes, votre site web pourra encaisser des dizaines de connexions sans problĂšme sauf si vous avez des problĂšmes de performance ailleurs ! Si vous rencontrez des problĂšmes de configurations n’hĂ©sitez pas Ă  regarder les fichiers log Nginx, Supervisor et Gunicorn pour savoir ce qui coince . En savoir plus Pour approfondir je vous conseille de regarder de plus prĂšs les sujets suivants Sentry Un logiciel permettant de connaĂźtre les erreurs que vos utilisateurs rencontrent en production. Il est trĂšs utilisĂ© dans l’écosystĂšme Python et permet d’avoir plus d’informations sur les utilisateurs ayant rencontrĂ©s un bug connectĂ©s ou non, Ă©tat de l’application, etc.. Nginx Ici nous avons couvert une utilisation trĂšs basique de ce logiciel, il est capable de faire beaucoup plus de choses servir du contenu en HTTPS, autoriser l’accĂšs Ă  certaines adresses IP uniquement, etc. Automatiser le dĂ©ploiement Ici le lancement et la configuration de Nginx ou de Supervisord a Ă©tĂ© rĂ©alisĂ© Ă  la main, mais il est possible Ă  l’aide d’outils de dĂ©ploiement d’automatiser toutes ces actions. Envie d’en savoir plus, ça se passe ici. Gestion des dĂ©pendances Ici nous avons utilisĂ© l’outil le plus simple pour gĂ©rer les dĂ©pendances pip. Il existe des outils plus complets tels que pipenv ou encore pip-tools qui permettent de gĂ©rer plus finement les dĂ©pendances de votre application. Quelques liens Documentation de Gunicorn, example de configuration de Nginx La liste des settings de Gunicorn Un article en anglais sur le mĂȘme sujet Mieux comprendre Nginx EN Merci Ă  artragis pour la validation de ce tutoriel. Ces contenus pourraient vous intĂ©resser 1 commentaire Banni MasquĂ© par artragis — spam Banni MasquĂ© par artragis — spam Hey ! Merci pour ton tuto. Petite question, Gunicorn et Supervisor doivent bien ĂȘtre installer sur la "machine directement" et pas dans l’env ? Connectez-vous pour pouvoir poster un message. Connexion Pas encore membre ? CrĂ©ez un compte en une minute pour profiter pleinement de toutes les fonctionnalitĂ©s de Zeste de Savoir. Ici, tout est gratuit et sans publicitĂ©. CrĂ©er un compte Tout utilisateur de Windows, en particulier un joueur, a rencontrĂ© l’application a cessĂ© de fonctionner erreur au moins une fois. Le message d’erreur apparaĂźt gĂ©nĂ©ralement et tue le programme auquel il est associĂ©. Ce tutoriel Ă©tape par Ă©tape vous aidera corriger l’erreur l’application n’a plus fonctionnĂ© sur votre ordinateur ». MĂ©thode n ° 1 vĂ©rifier les erreurs systĂšme La premiĂšre chose Ă  faire est de vous assurer que vos fichiers systĂšme ne sont pas compromis. Étape 1 Cliquez sur l’icĂŽne de recherche dans la barre des tĂąches, puis recherchez cmd» comme indiquĂ© ci-dessous. Vous devez maintenant cliquer sur ExĂ©cuter en tant qu’administrateur »pour lancer avec des privilĂšges d’administrateur. Étape 2 Copiez et collez le code ci-dessous, puis appuyez sur EntrĂ©e pour exĂ©cuter le commander Sfc / scannow Étape 3 Attendez la fin du processus. Il s’agit d’une mĂ©thode hors ligne pour analyser le systĂšme fichiers spĂ©cifiquement pour les erreurs induites par les logiciels malveillants. Si le systĂšme trouve erreurs, les erreurs seront corrigĂ©es. AprĂšs en redĂ©marrant votre ordinateur, tous vos problĂšmes devraient ĂȘtre rĂ©solus! MĂ©thode n ° 2 dĂ©pannez votre disque dur Un disque dur dĂ©fectueux peut provoquer des erreurs pour les programmes tenter de lire ou d’écrire dans la mĂ©moire. Ce est une cause probable pour laquelle les applications cessent de fonctionner sur votre ordinateur. Étape 1 Ouvrez l’explorateur de fichiers et recherchez le disque local C. Droite cliquez sur le disque C puis sĂ©lectionnez les propriĂ©tĂ©s comme indiquĂ© ci-dessous Étape 2 AccĂ©dez Ă  l’onglet Outils en haut, puis cliquez sur VĂ©rifier » bouton comme illustrĂ© ci-dessous Étape 3 Vous devez maintenant cliquer sur scanner le lecteur» pour commencer Ă  vĂ©rifier conduire pour les erreurs. Étape 4 Le processus devrait prendre environ 10 minutes, selon le mĂ©moire allouĂ©e au lecteur c. Si votre lecteur fonctionne bien, vous devriez voir le message ci-dessous. Si le systĂšme contient des erreurs, suivez les instructions indiquĂ©es pour corriger les erreurs. MĂ©thode n ° 3 vĂ©rifier les processus conflictuels En raison de programmes mal programmĂ©s, certaines applications peuvent rencontrez des conflits lors de l’exĂ©cution. Cette mĂ©thode vous aide Ă  dĂ©terminer si votre ordinateur a de tels problĂšmes. Étape 1 Appuyez deux fois sur Windows Key + R», puis tapez et exĂ©cutez msconfig» comme illustrĂ© ci-dessous Étape 2 AccĂ©dez Ă  l’onglet Services» dans le panneau supĂ©rieur. Tu sais devez cocher la case Masquer tous les services Microsoft ». Veiller Ă  ce que tous les processus soient sĂ©lectionnĂ©, appuyez sur le bouton DĂ©sactiver tout » en bas Ă  droite. Vous avez maintenant besoin pour cliquer sur Appliquer» puis sur OK» pour enregistrer le Modifications effectuĂ©es. RedĂ©marrez votre ordinateur et essayez d’exĂ©cuter l’application qui avait l’erreur ne fonctionne plus». conclusion Vous pouvez maintenant rĂ©soudre avec succĂšs l’application s’est arrĂȘtĂ©e travailler sur l’erreur de votre ordinateur. Quelle mĂ©thode a fonctionnĂ© le mieux pour vous? Veuillez laisser nous le savons dans la section des commentaires ci-dessous. DĂ©veloppeur Microsoft Type de fichier Windows System File Vous ĂȘtes ici parce que vous avez un fichier qui a une extension de fichier se terminant par .sys. Les fichiers avec l'extension de fichier .sys ne peut ĂȘtre lancĂ© par certaines applications. Il est possible que .sys fichiers sont des fichiers de donnĂ©es plutĂŽt que des documents ou des mĂ©dias, ce qui signifie qu'ils ne sont pas destinĂ©es Ă  ĂȘtre vues Ă  tous. ce qui est une .sys dĂ©poser? DĂ©veloppĂ© par Microsoft, le format de fichier SYS a Ă©tĂ© conçu pour stocker des ressources du systĂšme compilĂ©s comme variables de configuration et les paramĂštres requis par Windows et DOS Disk Operating System pour effectuer ses activitĂ©s prĂ©vues. Aussi connu sous le nom des fichiers systĂšme de Windows, le contenu d'un fichier SYS se compose normalement de base de Windows et DOS composants tels que les ressources du pilote et des rĂ©fĂ©rences Ă  Dynamic Link Library DLL de modules correspondant. Le fichier par exemple, contient le code d'initialisation DOS et les ressources de pilote requis par le DOS, tandis que les fichier variables systĂšme stocke et les paramĂštres de configuration de Windows et DOS. Le contenu de ces fichiers SYS peut ĂȘtre consultĂ© ou modifiĂ© en utilisant des applications qui ont Ă©tĂ© intĂ©grĂ©s dans Microsoft Windows. comment ouvrir un .sys dĂ©poser? Lancer un .sys fichier, ou tout autre fichier sur votre PC, en double-cliquant dessus. Si vos associations de fichiers sont correctement configurĂ©s, l'application qui est destinĂ© Ă  ouvrir votre .sys fichier ouvrir. Il est possible que vous aurez besoin de tĂ©lĂ©charger ou acheter l'application correcte. Il est Ă©galement possible que vous ayez la bonne application sur votre PC, mais .sys fichiers ne sont pas encore associĂ©s. Dans ce cas, lorsque vous essayez d'ouvrir un .sys fichier, vous pouvez indiquer Ă  Windows dont l'application est la bonne pour ce fichier. DĂšs lors, l'ouverture d'un .sys fichier s'ouvre l'application correcte. Cliquez ici pour corriger les erreurs d'association de fichiers .sys applications qui ouvrent une .sys dossier Microsoft Windows Operating System un mot d'avertissement Veillez Ă  ne pas renommer l'extension de .sys fichiers ou d'autres fichiers. Cela ne changera pas le type de fichier. Seulement un logiciel de conversion spĂ©cial peut modifier un fichier d'un type de fichier Ă  un autre. ce qui est une extension de fichier? Une extension de fichier est l'ensemble des trois ou quatre caractĂšres Ă  la fin d'un nom de fichier, dans ce cas, .sys. Les extensions de fichier vous dire quel type de fichier il s'agit, et indiquent Ă  Windows quels programmes peuvent ouvrir. FenĂȘtres associe souvent un programme par dĂ©faut pour chaque extension de fichier, de sorte que lorsque vous double-cliquez sur le fichier, le programme se lance automatiquement. Lorsque ce programme n'est plus sur votre PC, vous pouvez parfois obtenir une erreur lorsque vous essayez d'ouvrir le fichier associĂ©. laisser un commentaire

ce fichier ne contient pas d application associée