Aller au contenu. | Aller à la navigation

Outils personnels

Navigation

Vous êtes ici : Accueil / Wiki / Gestion cycle produit

Gestion cycle produit

Les étapes pour arriver à produire un produit Plone

La création d'un compte chez GitHub

Pour partager les sources et éventuellement le développement d'un produit, l'idéal est de le gérer dans un dépôt "open-source".

GitHub fournit ce type de dépôt gratuitement (tant qu'on fait du open-source, ça tombe bien).

  1. créer un compte sur http://github.com (un par programmeur, en imaginant que le responsable d'un projet devient le gestionnaire de celui-ci dans ce dépôt)
  2. il faut bien mettre à jour les données dans la partie "Account settings" (la doc à http://help.github.com/ est d'un grand secours)
  3. il faut aussi installer Git si on l'utilise en local sur son ordi (normalement sur les serveurs Ageliaco, j'ai déjà fait cette installation) mais si on a un login propre sur un serveur (ou pour l'installation locale sur un ordi) on doit procéder à quelques réglages:
    1. dans votre home directory (taper la commande "cd" ou "cd ~/." et vous vous y trouvez) vous devez placer un fichier caché nommé ".gitignore" qui mentionne à Git de ne pas prendre les fichiers avec certaines extensions => on va y mettre "*.pyc" dedans (sans les guillemets), puis tapez la commande suivante : git config --global core.excludesfile ~/.gitignore
    2. vous allez configurer vos références de configuration en lançant les commandes suivantes (avec les bons noms à changer):
      • git config --global user.name "Serge Renfer"
        git config --global user.email "serge.renfer@gmail.com"
      • puis en vous référant à ce qui est dit sous http://help.github.com/mac-set-up-git/ vous allez renseigner votre login à github:
        git config --global github.user username

        git config --global github.token 0123456789yourf0123456789token
    3. enfin on peut créer un dépôt pour un projet : voir http://help.github.com/create-a-repo/

La création d'un compte chez Pypi

GitHub nous fournit un lieu pour partager le développement, mais pas un lieu de distribution "conventionnelle à la python". Pour cela, nous devons devenir membre d'un autre lieu de dépôt pour nos oeufs (eggs de python) : http://pypi.python.org/ est ce lieu!

De la même manière que pour GitHub, on peut aussi configurer son environnement de travail pour enregistrer notre profil et pour faciliter les choses lors de la distribution de nos produits (packages).

Dans votre home directory vous devez placer un fichier caché nommé ".pypirc" contenant :

[pypirc]
servers = pypi
[server-login]
username:votreloginPypi
password:motdepassePypi

Création d'un produit Plone

Dans le dossier "src" de votre instance vous devez créer une structure, prenons l'exemple d'un thème pour Diazo : voir la doc sous "A worked example"  http://pypi.python.org/pypi/plone.app.theming

paster create -t plone my.theme

Gestion de la version avec GIT

Git va nous permettre de suivre les différentes versions de notre produit, mais pour cela il faut à chaque changement important renseigner le changement en lançant quelques commandes depuis le dossier du produit (par ex: dans le dossier src/my.theme créé ci-dessus)

Pour initialiser le processus:

git init

Pour insérer tous les fichiers (récursivement dans les sous-dossiers aussi)

git add .

puis on renseigne la première version du produit :

git commit -am "First commit"

Pour savoir si des fichiers ont été modifiés et si un "commit" est nécessaire :

git status -s

Enfin on peut mettre à jour le dépôt de github avec (la première fois seulement):

git remote add origin git@github.com:loginGitHub/my.theme.git

Si on obtient une erreur du genre :

fatal: remote origin already exists.

alors il faut exécuter le code suivant :

git push -u origin master

Quand on ne fait que remettre à jour le dépôt de github:

git push origin master
Ne pas oublier de faire évoluer le numéro de version du produit à chaque étape importante dans le fichier "setup.py" du package.

Gestion du package chez Pypi

Là il y a un package que l'on doit installer pour que setuptools fonctionne correctement avec GIT :

sudo easy_install setuptools-git

J'ai mis une demi-journée à comprendre la chose ;-)

La commande pour générer ou mettre à jour un dépôt sous Pypi est simple :

d'abord on peut enregistrer le projet dans pypi :

python setup.py register

Puis on peut uploader la source (sdist) et une version pour un python donné (la version avec laquelle on tape la commande : bdist)

python setup.py register sdist bdist_egg upload

"register" ne serait pas nécessaire, si on l'a fait avant, mais cela ne bouffe pas de pain et peut permettre de résoudre certains problèmes ou cas particuliers!