Conditions de développement de GeoNode¶
Outils de base de Shell¶
ssh et sudo¶
ssh et sudo terminales très habiletés dont vous aurez besoin pour déployer, maintenir et développer avec GeoNode. Si vous n’êtes pas déjà familier avec leur utilisation, vous devez examiner les descriptions de base ci-dessous et suivre les liens externes pour en savoir plus sur comment les utiliser efficacement dans le cadre de votre flux de travail de développement.
ssh est le protocole réseau utilisé pour se connecter à un serveur distant sur lequel vous exécutez votre instance de GeoNode que ce soit sur votre propre réseau ou sur le nuage. Vous aurez besoin de savoir comment utiliser une commande du ssh depuis le terminal sur votre machine Unix ou comment utiliser un client ssh comme du mastic ou winscp sur les fenêtres. Vous devrez peut-être utiliser des certificats PKI pour vous connecter à votre serveur de retrait, et devez être familier avec les étapes et les options nécessaires à la connexion de cette façon. Plus d’informations sur ssh peut être trouvées dans les liens ci-dessous.
sudo est la commande utilisée pour exécuter une commande terminale tant que super-utilisateur, lorsque vous êtes connecté avec un utilisateur normal. Cela vous permettra d’utiliser sudo pour démarrer, arrêter et redémarrer les services clés sur votre instance de GeoNode. Si vous n’êtes pas en mesure de vous accorder ces privilèges sur l’ordinateur que vous utilisez pour votre instance de GeoNode, vous devrez peut-être consulter votre administrateur réseau afin d’organiser votre utilisateur de bénéficier d’autorisations de sudo. Plus d’informations sur sudo peuvent être trouvées dans les liens ci-dessous.
bash¶
Bash est le plus commun shell unix qui sera généralement la valeur par défaut sur les serveurs où sera déployée votre instance de GeoNode. Vous devez être familiarisé avec les commandes bash les plus courantes afin de pouvoir déployer, maintenir et modifier une instance geonode. Plus d’informations sur Bash et commandes bash courantes se trouvent dans les liens ci-dessous.
apt¶
apt est l’outil d’empaquetage qui est utilisé pour installer GeoNode sur ubuntu et autres systèmes basés sur debian. Vous devez être familier avec l’ajout des Archives personnelles de paquet à votre liste de sources, l’installer et devrez vous familiariser avec les commandes apt de base. Plus d’informations sur apt peuvent être trouvées dans les liens ci-dessous.
Outils de développement python¶
Le GeoNode processus de développement s’appuie sur plusieurs outils de développement de Python afin de faciliter les choses pour les développeurs et autres utilisateurs des systèmes qui fonctionnent de développeurs GeoNode sur les outils de développement python où sont déployées des GeoNodes. Elles sont considérées comme les meilleures pratiques pour le développement de python moderne, et vous devriez vous familiariser avec ces outils de base et être à l’aise sur vos propres projets et systèmes.
virtualenv¶
virtualenv est un outil utilisé pour créer des environnements de développement python isolés tels que les versions des dépendances du projet qui sont en bac à sable de paquets python à l’échelle du système. Cela élimine le problème souvent rencontré de projets différents sur le même système à l’aide de différentes versions de la même bibliothèque. Vous devez être familier avec la façon de créer et d’activer des environnements virtuels pour les projets que vous travaillez sur. Plus d’informations sur virtualenv peuvent être trouvés dans les liens ci-dessous.
virtualenvwrapper est un wrapper autour du paquet virtualenv qui rend plus facile de créer et de basculer entre des environnements virtuels. L’utiliser vous rendra la vie plus facile, donc il est recommandé que vous l’ installiez, le configurier et utiliseiz ses commandes dans le cadre de votre flux de travail virtualenv. Plus d’infos sur virtualenvwrapper peuvent être trouvées dans les liens ci-dessous.
pip¶
pip est un outil d’installation et de gestion des paquets python. Plus précisément, il est utilisé pour installer et mettre à niveau les packages trouvés dans l’Index de Pacakge Python. GeoNode utilise le pip pour installer et gérer toutes les dépendances de python qui sont nécessaires dans le cadre d’une instance de GeoNode. Pour apprendre à ajouter de nouveaux modules à votre geonode, vous aurez besoin de vous familiariser avec l’utilisation de pip et de l’utilisation de packaging de python de base. On trouvera plus d’informations sur la pip dans les liens ci-dessous.
divers¶
ipython est un ensemble d’outils qui rend votre python de développement et de débogage une expérience plus facile. Le principal outil que vous souhaitez utiliser est un shell interactif qui ajoute l’introspection, aide intégrée et achèvement de la commande et plus encore. Bien que pas strictement nécessaire pour faire du développement GeoNode, apprendre à utiliser ipython fera votre développement plus productif et agréable. Plus d’informations sur ipython peuvent être trouvées dans les liens ci-dessous.
- http://ipython.org/
- http://pypi.python.org/pypi/ipython
- https://github.com/ipython/ipython
- http://en.wikipedia.org/wiki/IPython
pdb est un module python standard qui est utilisé pour déboguer votre code python. Il prend en charge le réglage des points d’arrêt conditionnels donc vous pouvez parcourir le code ligne par ligne et inspectez vos variables et effectuer une exécution arbitraire des déclarations. Apprendre à utiliser efficacement les pdb rendra le processus de débogage de votre code d’application beaucoup plus facile. On trouvera plus d’informations sur APB dans les liens ci-dessous.
Django¶
GeoNode est construit sur le dessus de la framework web Django, et à ce titre, vous devrez vous familiariser généralement avec Django lui-même afin de devenir un développeur GeoNode productif. Django a d’ excellentes documentations, et vous devriez vous familiariser avec Django en lisant sa documentation selon les besoins.
Model Template View¶
Django est basé sur le Model Template View paradigme (plus communément appelé Model View Controller). Les modèles sont utilisés pour définir les objets que vous utilisez dans votre application et l’ORM de Django est utilisé pour mapper ces modèles à une base de données.Les vues sont utilisées pour mettre en œuvre la logique métier de votre application et fournir des objets et d’autres contextes pour les modèles. Les modèles sont utilisés pour rendre le contexte de vues dans une page pour l’affichage à l’utilisateur. Vous devez vous familiariser avec ce paradigme commun utilisé dans la plupart des frameworks web modernes, et comment il est spécifiquement mis en œuvre et utilisé dans Django. Le tutoriel de Django lui-même est un excellent endroit pour commencer. Plus d’informations sur MTV dans Django peut être trouvé dans les liens ci-dessous.
HTTP Request Response¶
Cycle de Django et tous les autres web cadres reposent sur la réponse de demande HTTP. Les demandes viennent dans un serveur des clients distants qui sont principalement des navigateurs web, mais peuvent également être clients de l’api, et le serveur renvoie une réponse. Vous devez être familier avec ces principes fondamentaux de HTTP et vous familiariser avec la manière que Django est mit en œuvre. Plus d’informations sur l’implémentation de HTTP, les demandes et les réponses et les Djangos dans les liens ci-dessous.
Commandes de gestion¶
Les projets de Django ont accès à un ensemble de commandes de gestion qui sont utilisés pour gérer votre projet. Django lui-même fournit un ensemble de ces commandes, et les applications de Django (y compris GeoNode) peuvent fournir leur propre. Les commandes de gestion sont utilisés pour faire des choses comme synchroniser vos modèles avec votre base de données, des données de charge de luminaires ou de sauvegarder votre base de données avec les appareils, démarrer le serveur de développement, lancer le débogueur et bien d’autres choses. GeoNode fournit des commandes de gestion pour la synchronisation avec un GeoServer ou mettre à jour les couches déjà dans votre GeoNode. Vous devez vous familiariser avec les commandes de gestion de base qui viennent avec Django, et plus particulièrement avec les commandes qui font partie de GeoNode. Les commandes spécifiques GeoNode sont couvertes dans la section. Plus d’informations sur les commandes de gestion peuvent être trouvées dans les liens ci-dessous.
Interface d’administration de Django¶
Django fournit une console de gestion accumulation que les administrateurs et les développeurs peuvent utiliser pour examiner les données dans la base de données qui fait partie des applications installées. Les administrateurs peuvent utiliser cette console pour effectuer de nombreuses tâches d’administration courantes qui sont une partie nécessaire de la gestion d’une instance GeoNode, et en tant que développeur, vous utiliser cette interface lors de votre processus de développement pour ‘inspecter la base de données et les données stockées dans vos modèles. Plus d’informations sur l’interface d’admin de Django peut être trouvé dans les liens ci-dessous.
Etiquette du Modèle¶
Les modèles de Django font usage d’un ensemble de balises pour injecter, filte et le contenu de format dans une page HTML rendue. Django lui-même comprend un ensemble de balises et filtres modèles intégrés que vous allez utiliser dans vos propres modèles, et GeoNode fournit un ensemble spécifique de geonode de balises qui sont utilisés dans les modèles de GeoNode. Vous devez vous familiariser avec l’étiquette ensemble intégré et avec des étiquettes spécifiques de GeoNode. Vous travaillez sur le développement de vos propres modèles ou de l’extension de son GeoNode. Plus d’informations sur Django balises de modèle peut être trouvé dans les liens ci-dessous.