Comment déployer un projet Django en local c'est un client
Bonjour,
si ton client ne souhaite utiliser son application Django que sur son local pourquoi pas utiliser le serveur de développement python manage.py runserver mais attention utiliser le serveur de développement pour de la production n'est jamais une bonne idée pour des raisons de sécurité. Si tu es sûr que ça restera en local pourquoi pas.
Le mieux et le plus maintenanble serait d'utiliser un containeur Docker.
Dis nous un peu quels sont tes moyens d'accès ? As tu directement accès à la machine du client ?
Sais tu pourquoi ton client veut rester en local ? Même en production sur internet il y de smoyens avec Django de gérer les accès.
Salut Modou :)
Pour déployer l'application sur la machine du client avec un raccourci sur le bureau, tu dois d'abord savoir quel système d'exploitation utilise ton client : est-ce un Mac, Windows ou Linux ? Ça va influer sur la méthode à adopter pour le déploiement.
Une fois que tu auras cette info, l'idée c'est de mettre en place un processus qui permet de lancer automatiquement le serveur Django à chaque fois que l'ordinateur démarre. Sur Mac ou Linux, tu pourrais utiliser supervisord pour gérer ce processus (c'est un outil qui va s'assurer que le serveur tourne tout le temps, même après un redémarrage de l'ordi ou une erreur).
Ensuite, pour la partie accès, tu peux effectivement lancer le serveur en utilisant la commande python manage.py runserver depuis le répertoire de ton projet. Pour rendre les choses simples pour ton client, tu créeras un raccourci sur le bureau qui ouvrira le navigateur par défaut et chargera localhost:8000 ou l'adresse que tu auras configurée pour l'application.
Comme Pierre-André l'a mentionné, l'utilisation de runserver n'est pas conseillée pour un mode production même en local, car ce n'est pas sécurisé et ce n'est pas fait pour gérer de hautes performances. Toutefois, si l'application va être utilisée par une seule personne ou dans un cadre très restreint et non critique, ça peut suffire.
Cependant, c'est toujours une bonne idée de réfléchir à une solution plus robuste comme mettre en place un serveur web local comme Apache ou Nginx qui peut servir ton application Django avec WSGI comme mod_wsgi ou gunicorn. Tu peux aussi envisager l'utilisation de Docker comme cela a été suggéré, qui te permettrait de containeriser l'application et de la garantir contre les différences d'environnements et permettre plus facilement une réutilisation, mais là ça devient plus compliqué.
Hello,
ces 4 personnes seront sur le même réseau sur des ordinateurs différents ? Dans ce cas si les utilisateurs accèdent simultanément à l'application, avec le serveur de développement et la base de données sqlit, tu risques d'avoir des problèmes de performance. Il faudrait donc se tourner vers la solution évoquée par Thibault pour la mise en production. Tu es en où de ton apprentissage Django ? Sur la plateforme il y a un cours de Thibault sur la mise en production.
Inscris-toi
(c'est gratuit !)
Tu dois créer un compte pour participer aux discussions.
Créer un compte