Bonjour à tous,
Nous allons apprendre aujourd’hui à créer un projet sur Launchpad et dans un article suivant, comment se servir efficacement des outils mis à notre disposition par Launchpad.
Launchpad est un outil de management de projets open source. Bien que l’on ne le connaisse en général que comme gestionnaire de bogues pour Ubuntu, il est destiné à de bien plus grandes choses. Il comprend une gestion de projets, de groupes de projets, d’équipes de développement ( avec possibilité de gestion de calendrier) et j’en passe . Ce que nous allons découvrir ici c’est comment créé un projet sur Launchpad et y mettre des sources (comprenez code source).
—-
S’enregistrer sur Launchad
Se rendre sur la page [login/register
Vous recevrez un mail de confirmation puis serez redirigez vers une page Launchpad via un lien dans le mail afin de terminer votre enregistrement. Vous pourrez y spécifier votre nom et choisir un password. Votre login correspond en fait à votre adresse email.
Vous aurez ensuite accès à de nombreux détails que vous pourrez rentrer via votre page personnelle.
—-
Créer une équipe
Habituellement vous voudrez travailler en équipe, vous voudrez que des personnes motivées puissent se joindre à vous et à votre super projet. Pour faciliter la chose et offrir une vue sur cette possibilité, il vous suffit de créer une équipe. Pour ça aller sur la section people et cliquez sur register a team . En général prendre l’option moderated pour que vous ayez à donner votre accord pour que les prétendants puissent joindre votre équipe.
A présent, une équipe peut être responsable de plusieurs projets. Passons à la création du projet à proprement dit.
—-
Créer un projet
Se rendre sur la page des projets et choisir register a project . Vous pouvez rentrez les différentes informations sur votre projet .
Il est possible que vous ayez envie de savoir ce qu’est un groupe de projets et d’en créer un. Il se trouve que ce type de projets n’est créé que par les administrateurs de Launchpad (si j’ai bien compris). Pour en avoir un il vous faut ouvrir un rapport de bogue sur Launchpad en demandant sa création. Autant vous dire que ce n’est pas automatique et qu’il vous faut une bonne raison d’en créer.
—-
Changer les détails de votre projet
A sa création votre projet vous est assigné. Mais il se trouve que si vous avez suivi mes recommandations, vous avez créé une équipe qui devrait gérer ce projet .
Cliquez sur change maintainer et assignez le projet à votre équipe.
Pour utiliser complètement launchpad pour ce projet (ie ce n’est pas un projet existant ailleurs , vous voulez utiliser le gestionnaire de bogues de launchpad, ou leur système de traduction ), cliquez sur define Launchpad usage et cochez toutes les cases à cocher et le bouton radio Bugs are tracked in Launchpad .
A présent vous êtes prêts à vous faire connaître .
Pour les projets nécessitants de la gestion de code (projets logiciels), voici la section de gestion de code avec BZR .
—-
Commencer à coder
Ceci n’est qu’une introduction sur comment créer une branche sur son projet, y mettre du code et récupérer son code . Je prévois d’écrire un article plus avancé sur l’utilisation de BZR (Bazar) bientôt.
Je vais vous éviter bien des soucis. Vous êtes allé sur la page de votre projet, et vous avez vu un onglet code. Vous y êtes allés pour savoir où mettre votre code, vous avez trouver le super lien register branch et vous y êtes allés et là … c’est le bazar[sans mauvais jeux de mot]] .
[(Qu’est ce que c’est que cette branche dont il me parle ?
Justement je suis là pour en créer une, pas parce que j’en ai déjà …)]
Et bien figurez vous que ce n’est pas du tout le chemin à choisir[1].
Tout ça pour dire :
Ne partez pas à la section code pour créer une branche que vous voulez héberger sur launchpad.
{2{installation de Bazar2} }
Sur Ubuntu il vous suffit de taper :
sudo apt-get install bzr
Pour les autres OS allez sur [
{2{création d’une branche2} }
Créé un dossier pour votre projet et y aller puis taper :
[*bzr init*]
Cela va provoquer la création d’une branche commençant à partir de ce répertoire. Tout ce que vous mettrez dès lors dans ce répertoire sera candidat à être versionné. Pour versionner un fichier/répertoire, taper :
[*bzr add monfichier
bzr commit -m “Mon commentaire de commit”*]
Pour voir le statut de votre branche :
[*bzr status
bzr log*]
Bien alors ce que nous venons de faire c’est créé une branche locale avec du versionning . C’est déjà magnifique en soit 🙂 . En deux commande vous avez un dossier avec une gestion de version . Mais bon … ce que l’on voudrait quand même c’est placé notre code sur Launchpad. Pour ça il vous faudra mettre à jour votre profil .
{2{ mise à jour du profil2} }
Afin de pouvoir mettre des fichiers sur Launchpad, il vous faut lui donner une clé publique SSH de type DSA .
Pour la petite histoire, ceci est dû au fait que Launchpad utilise le protocole SFTP qui permet encryptage de la communication . Votre clé SSH vous identifie sur un ordinateur. ce qui veut dire qu’elle ne sera valide que sur celui ci. si vous en changer, il vous faudra en générer encore une.
Faites donc (sur Ubuntu):
[*ssh-keygen -t dsa*]
Gardez l’emplacement par défaut, puis choisir un mot de passe [2] . Je conseille, si vous n’êtes pas passionné de sécurité de ne rien mettre.
Copier le contenu du fichier /home/monlogin/.ssh/id_dsa.pub (qui doit être une longue ligne.
allez dans la section Update SSH key de votre profile sur Launchpad et collez ça.
Après l’import, vous pouvez communiquez avec Launchpad en SFTP 😉 .
Terminons tout ça en mettant notre branche. Toujours à partir de notre dossier, nous tapons :
[*bzr push sftp://
*]
où :
: votre nom d’utilisateur (celui que vous voyez sur l’adresse de votre page personnell.
: le nom de votre équipe (ou encore
si vous voulez enregistrer ce travail sous votre nom. [3] )
: Le nom de votre projet
: le nom de la branche (si c’est la première fois , elle sera crée, sinon, mise à jour )
{2{ récupération d’une branche pour développement 2} }
[*bzr branch http://bazaar.launchpad.net/~
*]
La suite du tutoriel BZR dans un autre article dédié.
[1] Si vous le saviez déjà c’est tant mieux , moi je suis tombé dans le piège
[2] Pour les paranos, en mettre un mais je l’ai fait, et je vous assure qu’à partir d’un moment ça vous fatigue de devoir mettre votre mot de passe à chaque contact avec le serveur.
[3] Celà peut être très utile si dans un grand projet vous développer une fonctionnalité assez grosse et donc vous la développez dans votre coin et la joindrez après au projet global.
Très intéressant. Merci pour ce billet 🙂
salut,
@Olivier : Launchpad n’est effectivement pas libre et je ne pense pas qu’il se libère bientôt 🙂 . Canonical dit attendre que le projet soit bien « mûr » avant de le libérer. Il faut admettre que ce projet est géant et pourrait certainement intéressé de très grandes entreprises. Alors (mais ce n’est que mon avis ) pourquoi ne pas montrer au monde entier la force de cette outil, et l’améliorer en s’aidant du monde Open Source, afin de le faire désirer et adopter par des entreprises, puis finalement le libérer et fournir un support dessus (en ayant déjà une clientèle d’entreprises utilisatrices). Je pense que Launchpad va se libérer en suivant ce processus , donc pas tout de suite.
@Kagou : merci à toi ;-), j’essayerais d’en faire que de très beaux pour le Planet :-p
Je pense quand même que tu en fais trop. Moi, je l’utilise et je le trouve pratique. Mes considérations sur le libre et le Non libre ne sont pas aussi rigides.
_ Est ce que tu considères que les gens développant des logiciels libres en JAVA sont dans la bonne démarche alors[[avant la libération de la machine virtuelle]]?
_ Il ne faut pas se scotcher à une idée, il me faut du libre pour développer du libre, on n’avancera jamais comme ça.
_ C’est le même problème qu’avec QT qui se pose, et franchement je trouve que c’est de l’extrémisme, quoi que dans le cas de QT la bibliothèque était obligatoire pour les logiciels qui l’utilisaient. Ce qui n’est pas le cas pour un logiciel de management de projets.
Je pense quand même que tu en fais trop. Moi, je l’utilise et je le trouve pratique. Mes considérations sur le libre et le Non libre ne sont pas aussi rigides.
_ Est ce que tu considères que les gens développant des logiciels libres en JAVA sont dans la bonne démarche alors (avant la libération de la machine virtuelle )?
_ Il ne faut pas se scotcher à une idée, il me faut du libre pour développer du libre, on n’avancera jamais comme ça.
_ C’est le même problème qu’avec QT qui se pose, et franchement je trouve que c’est de l’extrémisme, quoi que dans le cas de QT la bibliothèque était obligatoire pour les logiciels qui l’utilisaient. Ce qui n’est pas le cas pour un logiciel de management de projets.
L’important pour moi c’est pas les moyens que tu utilises pour arriver à un logiciel Open Source abouti mais le fait même que l’aboutissement soit Open Source.
ps: J’ai eu l’impression que ce n’est pas tant à Launchpad que tu en voulais mais à Marc en particulier …
Sa démarche est insupportable.
Sans me poser de questions, je me dis, l’objectif de ce mec c’est de faire venir des gens sous linux, limite coute que coute. L’objectif des distributions n’a jamais été celui-ci.
On n’est ni Nike, ni je ne sais qui. Le but c’est pas de voir des linux de partout, c’est que les gens comprennent l’objectif du libre et en soit convaincu. Et pour ceux qui le sont déjà fournir des outils libres puissants et performants.
Lui ca n’a rien à voir. Il file des milliers de CD gratos, des qu’il y a un nouveau paquet, on en fait une nouvelle distrib. Et meme au bout de trois ans à faire soit disant du libre, il arrive à pondre une nouvelle distrub 100% libre. Et on nous rabache encore que ce type innove, et qu’il vient d’avoir une nouvelle idée de géni qui va révolutionner le monde. Tout le monde bave devant lui.
Concernant le libre c’est une catastrophe sous prétexte de rendre linux sexy, il fournit d’origine tout les softs proprios. Donc non seulement, les nouveaux venus ne se posent pas de questions et/ou ne font pas d’efforts pour changer leurs habitudes (mp3, …) mais en plus ils donnent toutes les bonnes raisons aux entreprises pour ne pas faire d’effort dans le sens du libre, et casse donc tout le mouvement de pression que les autres distrib tentent de creer.
Concernant les contribution d’Ubuntu… Idem, où est l’apport? A chaque nouvelle distrib tous les softs sont retraduits. Soit. Mais aucun retour en upstream, et certains soft traduit dans ubuntu ne le sont du coup nulle part ailleurs. Magnifique démo de l’esprit communautaire du libre.
De meme, Ubuntu aurait pu apporter son soutient à gnewsense, mais non, mieux vaut se faire de la pub et créer une nouvelle distribution.
Et tous les Ubuntistes, ou soit disant defenseur du libre qui chiait sur gnewsense disant que ca n’etait pas en
faisant du 100% libre et compliquant la vie de l’utilisateur qu’on allait faire avancer le libre crient maintenant au miracle. C’est du grand foutage de gueule.
C’est pour dire meme le debian project leader semble etre agacé du comportement d’Ubuntu (cf interview dans un linux mag recent).
Hello,
Ce type de discussion peut durer une éternité. Chacun a en général son avis dessus.
Cependant le choix des distributions qui ajoutent des logiciels propriétaires « {{afin de faciliter l’intégration des nouveaux utilisateurs}} » n’est pas dénué de sens. Pousser un maximum de gens à venir sur Linux en particuliers, c’est aussi poussé les fabriquants à étudier ce nouveau marché qui se crée et donc permettre d’avoir un maximum de matériels compatibles. Je ne suis absolument pas contre les drivers propriétaires sur Linux.
Il faut aussi se dire que tout ne peut pas se mettre à être libre. En général, comment est ce que les développeurs de logiciels libres gagnent leur vie ? Ce n’est pas en faisant du support sur leurs logiciels libres ( ce marché est vraiment très réduit ). Ces développeurs ont souvent un revenu assuré n’ayant rien à voir avec l’informatique ( retraite, capital, Bourse d’études ) , soit ils travaillent dans le monde de l’informatique (c’est mon cas ). Je travaille pour une compagnie qui produit un « {{logiciel}} » tout ce qu’il y a de plus fermé . Sans ce monde du logiciel « {{fermé}} » payant, on retrouverait beaucoup de monde à la porte. C’est carrément un utopie de croire que l’on peut tout libérer.
@Pingoomax
Il ne faut pas être naïf non plus : Mark est un homme d’affaire et son but en créant Canonical est de gagner de pognon. Mais il ne faut pas non plus oublier que créer une entreprise, c’est créer des emplois et contribuer au tissu social, du local à l’international dans le cas de Canonical.
« le but c’est pas de voir des Linux partout, c’est que les gens comprennent l’objectif du libre…» Franchement, c’est n’importe quoi. Depuis Yggdrasil, les distributions vont toujours dans le sens d’une installation de plus en plus simple. D’autre part, la finalité d’une distrib n’a jamais été de démontrer les bienfaits du libre, mais d’installer un système Linux opérationnel. Il n’est pas tout à fait opérationnel pour bons nombres de personnes, possesseurs de baladeurs mp3, de carte wifi non supportées directement, etc… qui doivent encore installer d’autres codecs ou d’autres pilotes proprio parce qu’ils n’ont pas d’autres choix pour lire leurs médias ou utiliser le matos qu’ils ont acheté.
Je ne comprend pas la bile que tu verses sur Mark Shuttleworth ? Le syndrôme bien franchouillard de baver sur le mec qui réussit ? Je ne pense pas que Ubuntu soit « une nouvelle idée géniale » : c’est juste une nouvelle distrib, avec une finition plus léchée que les autres peut-être, et surtout qui arrive au bon moment. Ni plus ni moins. Et ça marche. Et c’est une bonne chose : les gens découvrent, s’approprient, contribuent, échangent.
Contrairement à ce que tu dis, les softs ne sont pas retraduits à chaque distrib. Les projets upstream sont traduits upstream. L’esprit communautaire du libre grandit considérablement avec le succès d’Ubuntu. Beaucoup de docs, de tutos.
Quant à gnewsense, quel est son avenir de toute façon sans Canonical ? Une nouvelle déclinaison d’Ubuntu 100% libre va donc sortir, sur laquelle
Canonical aura la main. Et le porte-feuille. parce que s’il manque des fontes et des icônes, ce n’est pas gnewsense qui pourra payer des graphistes par ex. Idem pour payer un développeur pour booster le pilote NVidia libre si besoin était.
En fait, pour résumer, tu te veux un intégriste libriste et crache sur le reste du monde qui n’est pas à 100% dans le libre. Personnellement, j’aimerais bien être libre à 100%. Mais mon BIOS n’est pas libre. Le micro-code de mon Pentium n’est pas libre. Le code dans la ROM de ma carte réseau n’est pas libre. Le code dans le GPU de ma carte graphique n’est pas libre. Le firmware de mon appareil photo n’est pas libre. Mon baladeur numérique lit des mp3. Une écrasante majorité de la musique que j’écoute n’est pas libre. Les films que je vois ne sont pas libres. Alors personnellement, je philosophe et me satisfais du pilote proprio de NVIdia en me réjouissant du fait qu’il contribue quand même à Linux. Je regarde de temps à autre où en sont les projets de CPU libre, me réjouis de découvrir que tel APN a un firmware libre, offrant le format raw non prévu en standard par ex., etc…
Et je t’avoue que je trouve absolument ridicule un tel intégrisme quasi-religieux en matière de libre, à l’heure actuelle. Surtout quand on regarde dans le détail énuméré ci-dessus et non exhaustif. À moyen terme, j’espère qu’il en sera autrement et alors j’ai déjà fait mon choix.
@Ouattara Azzi
Merci pour tuto. J’ai démarré un petit projet en Python et ça me donne envie de l’héberger sur une forge pour plus de visibilité pour, pourquoi pas, créer des vocations de contributeurs 😉
Je me disais donc que je le ferais sous Launchpad, mais les critiques de Pingoomax m’ont fait réfléchir. J’avais bien vu que Launchpad n’est pas libre, mais ce n’est pas cela qui me chagrine. Et peut-être que tu pourras me répondre (ce qui complètera ton document 😉 )
Voici : si j’héberge mon projet sous Launchpad, et qu’au final celui-ci s’avère être un super-programme-de-la-mort-qui-tue (euh, c’est un modeste petit jeu de réflexion 😉 ), je voudrais quand même que « tout le monde » puisse en faire des paquets pour les intégrer qui dans sa Mandriva, qui dans sa Fedora, qui dans son *BSD, etc… Est-ce que cela reste possible ? Où dois-je préférer Gna ou autre Sourceforge (pour lesquels je n’ai cherché ni vu de tutoriel) ?
A+
Très bonne question. C’est exactement ce qui refoule la plupart des gens sur l’utilisation de Launchpad.
_ Launchpad c’est connoté Ubuntu (pour une majorité de personnes). Ceci est dû au fait que Launchpad a été premièrement créé pour Ubuntu mais l’ambition de ce projet est de fournir à tous les projets opensource, un outil de management convivial et fourni en fonctionnalité. En bref héberger son projet sur Launchpad est équivalent à l’héberger sur SourceForge (aux fonctionnalités près).
_ j’ai choisi d’utiliser Launchpad pour mon projet parce que j’ai une certaine attirance pour BZR et que ce dernier est très bien intégré dans Launchpad . Une seconde motivation de mon choix était la disponibilité et la motivation des équipes de traduction de Ubuntu. Ce qui m’a permis de vite retrouver mon logiciel en partie traduit.
Pour conclure, héberger son projet sur Launchpad n’a rien avoir avec Ubuntu. Tu es libre de fournir ou pas un format debian, rpm et autre ( où juste une install « à la main »)
Je pense écrire quand j’aurais le temps un article sur les fonctionnalités de Launchpad et comment les utilisées (de sorte à ce que l’on ait assez de bagages pour faire son choix entre tous les fournisseurs d’outils de gestion de projets )
Merci pour ta réponse.
Je vais me lancer sur Launchpad. La communauté Ubuntu (sans la comparer à ce qui peut exister ailleurs comme chez Sourceforge et qui m’est inconnu) est aussi un élément déterminant. A+
Super tuto !!
Je l’ai suivi et j’ai 2 remarques :
1) Je eu beaucoup de mal à trouver comment assigner mon projet à mon équipe… Pour le trouver, j’ai du d’abord cliqué sur « Make announcement »…
2) pour faire un push du projet, il semble que la commande ait changé. ça ne marchait pas (en tout cas pour moi). J’ai du remplacer le {{sftp://}} par {{bzr+ssh://}}