Guide du futur développeurNote: Ceci est une impression contenant toutes les pages du Tutoriel sur une seule page. La version paginée est disponible ici. Informations concernant le développement en Plone Prérequis nécessairesQue faut-il "apprendre" avant de commencer à développer ?
Les différentes lectures proposées sont dédiées à des développeurs.
Un tutoriel Python
Python est un langage très simple qui s'apprend assez rapidement.
Un livre sur Zope2
Afin de commencer à développer un produit Plone, il est nécessaire de comprendre le framework utilisé. Une version en ligne du manuel de référence est disponible en anglais sur le site de Zope.
Un livre sur Plone 3
Installer sur sa machine un environnement de développementLes outils nécessaires pour développer
Deux façons de procéder sont possibles :
Nous proposons un buildout qui permet d'installer un environnement comprenant tous les outils développés dans le cadre du projet ou proposés sur le serveur central. Un tutoriel explique comment utiliser ce buildout.
Se préparer à développer un produit ArchetypesRetrouvez ici la marche à suivre pour installer les outils nécessaires au développement d'un produit Plone (3 ou 4)
Installation d'ArgoUML (outil de modélisation UML)L'outil recommandé est ArgoUML car ce dernier est utilisé par la communauté de développeurs ArchGenXML, en outre il s'agit évidemment d'un outil libre et très facile à installer...
Il est intéressant d'utiliser ArgoUML avec un profil adapté à Plone. Ce profil nommé "argouml_profile.xmi" se trouve sur le svn dans le produit ArchGenXML (voir point plus bas "Configuration d'ArgoUML pour utiliser le profil d'ArchGenXML (archgenxml_profile.xml)").
Installation d'ArchGenXML2 (générateur de code)Installation de PythonLa meilleure chose est de créer un python propre (via virtualenv) pour y installer ArchGenXML2. Ce package dépend en effet de différents packages zope et une installation à part permettra d'éviter tout problème de compatibilité de packages par la suite. Suivez les points 6, 6.1 et 6.2 présents ici : www.communesplone.org/support/documentation/manual/installation-dun-serveur-de-production/installation-de-python-2.4 Création d'un virtualenv pour ArchGenXMLEn utilisant le python fraichement installé : /srv/python246/bin/virtualenv --no-site-packages /srv/archgenxml/agx2 Installation d'ArchGenXML2easy_install installera archgenxml pour nous... /srv/archgenxml/agx2/bin/python /srv/install/ez_setup.py Configuration d'ArgoUML pour utiliser le profil d'ArchGenXML (archgenxml_profile.xml)Dans Edition-->Préférences-->Profiles, cliquez sur le bouton "Add" et recherchez le chemin (juste le chemin et pas le fichier) vers l'endroit où vous avez récupéré le fichier archgenxml_profile.xml. Par exemple dans /srv/archgenxml. Coupez ArgoUML et redémarrez le. A nouveau dans Edition-->Préférences-->Profiles, sélectionnez maintenant AGXProfile dans la colonne de gauche et faites le glisser à droite grâce au bouton ">>". Retirez le profil "UML 1.4" qui n'est plus utile. Lors de la création d'un projet, allez sur l'icône "Propriétés" (4 ème icône en haut à gauche) et sélectionnez uniquement le profil Mise en place de la structure du produitAu sein d'une instance Zope-2.10.x avec un Plone 3.x
PATH_TO_PASTER/paster create -t basic_namespace Products.myproduct
Génération du produit ArchetypesDans le dossier du produit :
ConclusionLorsque le produit est généré il peut déjà être testé dans l'interface de Plone. ArchGenXML est un générateur de squelette de produit Archetypes. Les profils, workflows et schemas seront générés entièrement depuis le modèle tandis que le corps des méthodes, les vues et autre fonctionnalités propres devront être complétées manuellement. Participer à des sessions de développementOu comment acquérir rapidement les bonnes méthodes de développement Les développeurs se rencontrent souvent pour travailler ensemble lors de sessions de développement. Ce travail se fait souvent par binôme : deux développeurs travaillent autour d'une même machine. Les avantages sont les suivants :
N'hésitez donc pas à participer à de telles sessions si vous voulez faire du développement. |
