Étape 4: Le serveur web
Un outil commun pour le prototypage web Heroku, qui est un service qui vous permet de lancer facilement une application web. Il prend en charge une variété de cadres d’application web (normalisés façons de programmes de structure qui tournent des sites) dans une variété de langues, une grande documentation sur la façon de le faire. Il élimine le besoin de vous faire tourner votre propre serveur Linux (qui magnifiquement, il se cache sous le capot) pour héberger votre application web. Si vous ne savez pas ce que cela signifie ou a une idée comment le faire, louent les cieux Heroku existe. Et pour la plupart des choses que vous devrez faire des prototypes, c’est gratuit.
Au sein d’Heroku, il y a plusieurs cadres d’application web avec que vous pouvez aller. J’ai été épris de la simplicité de Python et la grande variété de modules créés pour elle, alors j’ai décidé d’aller avec Python exécutant la fiole et la bouteille. Ballon est un simple cadre de web de Python qui gère l’adressage de vos pages et exécute les structures logiques et accède aux bases de données si nécessaire. Fiole, puis utilise le module Python bouteille comme un moteur de template : bouteille prend surtout préremplies modèles HTML j’ai créé et se nourrissent dans des informations dynamiques de mes bases de données, chaque fois que le site est accessible. (techniquement la bouteille peut faire tout ce ballon, je peux penser, mais il m’a été recommandé d’utiliser un flacon pour le routage avec Heroku et bouteille pour la création de modèles).
Formulaire de demande en ligne
Vous pouvez lancer une application web pour travailler sur Heroku pour la première fois en une heure seulement en tutoriels suivants. Les principales étapes sont :
- Créez un compte d’Heroku et configurer votre ordinateur avec le toolbelt Heroku
- Créez et nommez la nouvelle application web de l’interface de web de Heroku (j’ai utilisé DanceButton)
- Choisissez votre langue préférée et cadre et déployer une application (tutoriel Python en utilisant ballon)
Utilisez votre propre adresse web
Heroku attribue à votre application une adresse (habituellement les APPNAME.herokuapp.com). Si vous souhaitez utiliser votre propre nom de domaine pour votre application (par exemple, j’ai voulu www.istripdancing.com au lieu de dancebutton.herokuapp.com), vous devrez acheter votre propre nom de domaine et le rediriger vers l’adresse Heroku. J’ai utilisé planer d’acheter mon nom de domaine pour 10 $ pour un an. J’ai entendu vous pouvez obtenir domaines moins cher par un autre service, mais je n’ai pas regardé dedans encore. Après que vous avez acheté le domaine, il est incroyablement simple à transmettre les demandes à votre domaine vers l’app Heroku (voir capture instantanée).
Heroku détails
Une fois que vous avez tout vers le haut et course à pied, si vous n’avez pas fait ce genre de choses avant qu’il y plusieurs outils vous apprendrez que vous transformez votre première application Heroku pour faire votre appel d’offres. Voici un bref aperçu d’obtenir votre tête au bon endroit.
Demande de base du Heroku processus en cours d’exécution
Pour exécuter une application dans Heroku avec Python et fiole, Heroku recherche le fichier app.py, qui doit être structuré selon les nuances de la fiole. Avant d’exécuter le fichier, Heroku examine le fichier requirements.txt pour déterminer quels modules Python sont requises pour exécuter le serveur. Il y a 1 million de modules Python et chaque application doit habituellement seulement quelques modules installé pour s’exécuter. Heroku installe ces modules, puis tourne une instance du Python exécutant votre application. Il est important que lorsque vous développez votre application, vous comprenez le Python Virtualenv (environnement virtuel) et la mise à jour requirements.txt correctement (décrit ci-dessous). App.py raconte Heroku quoi faire lorsqu’une demande est présentée à certaines adresses/routes au sein de votre site (une fonction pour le serveur web fonctionne est associée à chaque parcours). Ces fonctions de routage retournent le code brut à afficher dans le navigateur. L’exemple le plus simple est démontrée dans le didacticiel Heroku pour commencer : l’itinéraire d’application par défaut retourne simplement le texte « Hello World », qui s’affichera dans le navigateur lorsque quelqu'un va à cette adresse.
Création de pages Web dynamiques avec Heroku
Si vous vouliez retourner quelque chose de plus intéressant dans le navigateur, vous pourriez renvoyer HTML qui est déterminée selon l’état de votre serveur. Pour ce faire, j’ai utilisé le module Python bouteille. J’ai créer un modèle HTML avec tout le texte statique et mise en forme, que je veux sur ma page et puis spécifiez contenants des informations dynamiques dans le template avec {{variable}} (un particulier de bouteille). Pour remplir cet espace avec les informations de mon serveur, j’utilise la fonction de modèle au sein de la bouteille sur le retour de ma fonction de fiole (bottle.template(...)).
Changer et redéployer votre application web avec Heroku
Avec Heroku, vous travaillez sur des fichiers locaux sur votre ordinateur, puis lorsque vous souhaitez mettre à jour votre serveur, vous « pousser » les changements d’Heroku avec Git. Git est une boîte de Pandore à l’intérieur d’une boîte de Pandore lui-même, mais essentiellement c’est un système de contrôle de révision pour le code - une façon élégante de dire qu’il assure le suivi de vos modifications pour vous. Vous écrivez votre code, et chaque fois que vous souhaitez Git pour stocker votre code actuel, vous « validez » vos modifications et pouvez restaurer votre code à n’importe quel état commis précédemment, quand vous le voulez. Git peut être configuré pour avoir révision principale de base de données en ligne (un exemple gratuit est GitHub). Dans notre cas, le dépôt principal est Heroku, et chaque fois que nous voulons mettre à jour le serveur, nous avons simplement « pousser » notre version la plus récente à elle. Vous pouvez trouver les détails comment utiliser Git avec Heroku ici. Si vous voulez en savoir plus sur Git :
- En fonction des besoins de référence Git
- Beaucoup de théorie Git lacée avec how-tos
- Meilleures pratiques de Git pour les concepteurs
Travaillant localement
Les dépendances peuvent être une source importante de maux de tête pour les personnes utilisant Python sur différentes machines, si vous ne faites pas attention. Imaginez que j’ai fait mon propre module Python qui me permet d’appeler myModule.myFunction(), et je l’utiliser dans mon programme de Python. Si je vous donne simplement mon fichier Python sans le module, votre ordinateur n’aura aucune idée quel myModule fait allusion. Pour ce faire, nous utilisons un environnement virtuel avec Virtualenv, ou un cas isolé de Python où nous avons un contrôle direct sur ce qui est installé, ainsi qu’un flux de travail bien conçu pour nos programmes en cours d’exécution sur des ordinateurs différents. Un moyen plus simple de visualiser ceci : vous avez deux ordinateurs, celui qui possède Photoshop d’Adobe et de Microsoft Office, l’autre avec aucun logiciel. Les fichiers Excel et les images que vous créez sur le premier ordinateur ne peuvent être ouvert sur le second, parce que l’ordinateur ne possède pas les programmes (ou modules) qui savent lire les fichiers. Un virtualenv reviendrait à avoir un compte sur chaque ordinateur que vous pouvez vous connecter à ce qui a des programmes identiques. N’importe quel moment que vous commencez à utiliser un nouveau programme sur un seul compte, vous voulez un moyen pour le même compte sur l’autre ordinateur à l’ai aussi, alors vous pouvez ouvrir tous vos fichiers. Virtualenv est-ce pour Python.
Le flux de travail pour l’environnement virtuel avec Heroku est :
-installation Virtualenv
-activer virtualenv
source venv/bin/activer-installer de nouveaux modules à l’aide de pip ou easy_install (responsables de la pose pour Python)
-mise à jour requirements.txt par « geler » les dépendances Virtualenv dans le fichier (requirements.txt garde trace de quels modules sont installés dans le virtualenv)
gel pip > requirements.txtUne explication alternative de Virtualenv pour ceux que j’ai confondu (désolé!).
Après que vous avez Heroku, Git, et Virtualenv le programme d’installation et vous avez écrit du code dans votre fichier app.py, que vous pouvez exécuter un serveur de test local avant de pousser le code d’Heroku, pour vérifier que cela fonctionne tout d’abord. Pour exécuter un serveur local, tandis que dans le virtualenv dans console exécuter :
contremaître de commencerCela se déroulera un serveur local à 0.0.0.0:5000 dans votre navigateur web. Allez-y, tester la fonctionnalité de votre serveur. Si Erreurs pop-up, le navigateur affichera les, et vous pouvez vérifier votre console pour les messages de débogage.
Une fois lancé votre heureux avec les fonctionnalités de votre serveur, dans la console :
Ajouter de nouveaux fichiers à la copie locale de la Gitgit ajouter.Enregistrer les modifications apportées à votre copie locale de la Git
git commit -m « Ajouter le message de validation qui décrit les modifications apportées depuis la dernière fois ».Vous copier copie locale sur la copie d’Heroku ou référentiel
maître de git push heroku
Et à l’alto ! Votre code fonctionne maintenant sur Heroku et sont accessibles par Internet ! J’ai encore besoin de décrire comment enregistrer des événements de touche dans le serveur à l’aide d’une base de données, mais je vais faire cela plus tard. Maintenant à parler avec Facebook.