Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
tutoriel:comment_publier_une_application_java [Le 04/10/2014, 21:26] ladeche |
tutoriel:comment_publier_une_application_java [Le 11/09/2022, 12:25] (Version actuelle) moths-art Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892) |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ---[ le modèle commence ICI ]--- | + | {{tag>tutoriel java publier application ppa launchpad}} |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | ---- | + | |
- | + | ||
- | <note tip>Les [[:wiki:tags|tags]] d'une page "tutoriel" sont à introduire dans l'ordre suivant :\\ ''Versions((versions d'Ubuntu pour lesquelles la page est valide)) tutoriel autres_tags((facultatif, à choisir parmi les [[:thesaurus|tags existants]])) BROUILLON''\\ | + | |
- | //Pour en savoir plus sur l'usage des tags : [[:wiki:tags|voir ici]].// | + | |
- | </note> | + | |
====== Comment publier une application java ====== | ====== Comment publier une application java ====== | ||
+ | ===== Introduction ===== | ||
Ce tutoriel décrit une méthode pour publier une application java et la rendre installable via un ppa. | Ce tutoriel décrit une méthode pour publier une application java et la rendre installable via un ppa. | ||
+ | |||
+ | A noter que cette méthode peut également être utilisée pour publier une application réalisée dans un autre langage et dont l'installation ne requiert pas une re-compilation des sources. | ||
===== Pré-requis ===== | ===== Pré-requis ===== | ||
- | |||
- | <note tip>Si des pré-requis sont nécessaires pour la suite des opérations, indiquez-les. Citons quelques exemples :</note> | ||
- | * Disposer des [[:sudo|droits d'administration]]. | ||
- | * Disposer d'une connexion à Internet configurée et activée. | ||
- | * Avoir [[:tutoriel:comment_installer_un_paquet|installé le paquet]] **[[apt>//cafe|cafe]]**. | ||
===== Compte launchpad et ppa ===== | ===== Compte launchpad et ppa ===== | ||
Il est indispensable de créer un ppa sur launchpad.net. Cette [[http://developer.ubuntu.com/publish/apps/other-forms-of-submitting-apps/ppa/|page]] vous y aidera. | Il est indispensable de créer un ppa sur launchpad.net. Cette [[http://developer.ubuntu.com/publish/apps/other-forms-of-submitting-apps/ppa/|page]] vous y aidera. | ||
- | Pour ce faire il faut : | + | Pour ce faire il faut : |
* Se créer un compte sur launchpad.net | * Se créer un compte sur launchpad.net | ||
* Se créer une clef gpg (à l'aide de SeaHorse ou Kgpg) | * Se créer une clef gpg (à l'aide de SeaHorse ou Kgpg) | ||
Ligne 49: | Ligne 38: | ||
===== dh_make : initialisation des fichiers debian ===== | ===== dh_make : initialisation des fichiers debian ===== | ||
- | Dans le répertoire $PPA_HOME/monappli/monappli-0.1.0 : | + | Dans le répertoire $PPA_HOME/monappli/monappli-0.1.0 : |
<code> | <code> | ||
- | dh_make --single --native --copyright apache -- moi@email.com | + | dh_make --single --native --copyright apache --email moi@email.com |
</code> | </code> | ||
A noter que le paramètre "copyright" indique la licence sous laquelle vous souhaitez publier votre oeuvre (ici apache). Pour plus de détails : [[http://developer.ubuntu.com/publish/apps/choosing-a-license/|ici]] | A noter que le paramètre "copyright" indique la licence sous laquelle vous souhaitez publier votre oeuvre (ici apache). Pour plus de détails : [[http://developer.ubuntu.com/publish/apps/choosing-a-license/|ici]] | ||
Il est également important que l'email soit le même que celui avec lequel vous avez la clef GPG. | Il est également important que l'email soit le même que celui avec lequel vous avez la clef GPG. | ||
- | Ceci va créer un sous-répertoire debian contenant différents fichiers. Les fichiers avec les extensions .ex et .EX sont sans intérêts. Donc sous $PPA_HOME/monappli/monappli-0.1.0 : | + | Ceci va créer un sous-répertoire debian contenant différents fichiers. Les fichiers avec les extensions .ex et .EX sont sans intérêts. Donc sous $PPA_HOME/monappli/monappli-0.1.0 : |
<code> | <code> | ||
rm debian/*.ex debian/*.EX | rm debian/*.ex debian/*.EX | ||
</code> | </code> | ||
- | Voyons maintenant les fichiers importants sous $PPA_HOME/monappli1/version1/debian : | + | Voyons maintenant les fichiers importants sous $PPA_HOME/monappli/monappli-0.1.0/debian. |
==== Fichier changelog ==== | ==== Fichier changelog ==== | ||
- | Ce fichier contient les informations décrivant les changements opérés depuis la dernière version. Vous devez avoir cela : | + | Ce fichier contient les informations décrivant les changements opérés depuis la dernière version. Vous devez avoir cela : |
<code> | <code> | ||
monappli (0.1.0) unstable; urgency=low | monappli (0.1.0) unstable; urgency=low | ||
Ligne 70: | Ligne 59: | ||
-- Moi <moi@email.com> Sat, 04 Oct 2014 19:07:31 +0200 | -- Moi <moi@email.com> Sat, 04 Oct 2014 19:07:31 +0200 | ||
</code> | </code> | ||
- | A modifier pour obtenir quelque chose de plus pertinent : | + | A modifier pour obtenir quelque chose de plus pertinent : |
* Remplacer "unstable" par une version d'ubuntu ("trusty" par exemple pour la 14.04). | * Remplacer "unstable" par une version d'ubuntu ("trusty" par exemple pour la 14.04). | ||
* Compléter les éléments de modification. | * Compléter les éléments de modification. | ||
* Changer éventuellement la date en conservant le formalisme. | * Changer éventuellement la date en conservant le formalisme. | ||
- | Finalement : | + | Finalement : |
<code> | <code> | ||
monappli (0.1.0) trusty; urgency=low | monappli (0.1.0) trusty; urgency=low | ||
Ligne 81: | Ligne 70: | ||
* Ma première publication | * Ma première publication | ||
- | -- Moi <moi@email.com> Sat, 05 Oct 2014 21:00:00 +0200 | + | -- Moi <moi@email.com> Sun, 05 Oct 2014 21:00:00 +0200 |
</code> | </code> | ||
==== Fichier control ==== | ==== Fichier control ==== | ||
- | Ce fichier est un descriptif de l'application et ressemble à cela : | + | Ce fichier est un descriptif de l'application et ressemble à cela : |
<code> | <code> | ||
Source: monappli | Source: monappli | ||
Ligne 104: | Ligne 93: | ||
</code> | </code> | ||
- | Il convient de changer la section. Typiquement on peut mettre "utils". Plus de détails [[https://www.debian.org/doc/debian-policy/ch-archive.html#s-subsections|ici]] | + | Il convient de changer la section. Typiquement on peut mettre "utils". Plus de détails [[https://www.debian.org/doc/debian-policy/ch-archive.html#s-subsections|ici]]. |
- | Le plus important est la zone "depends" qui décrit les dépendances d'autres paquets. Pour une application java, manifestement on doit dépendre du paquet java. | + | Le plus important est la zone "depends" qui décrit les dépendances d'autres paquets. Pour une application java, manifestement on doit dépendre du paquet java. |
Au final on a quelque chose comme ça : | Au final on a quelque chose comme ça : | ||
Ligne 130: | Ligne 119: | ||
A l'installation le shell lanceur devra se trouver dans /usr/bin, les autres élements nécessaires à l'exécution dans /usr/lib/monappli. | A l'installation le shell lanceur devra se trouver dans /usr/bin, les autres élements nécessaires à l'exécution dans /usr/lib/monappli. | ||
Typiquement pour une application java on va trouver un jar (monappli-0.1.0.jar) contenant le bytecode, un shell (monappli) pour lancer le programme, éventuellement des ressources comme des images (monappli.png). | Typiquement pour une application java on va trouver un jar (monappli-0.1.0.jar) contenant le bytecode, un shell (monappli) pour lancer le programme, éventuellement des ressources comme des images (monappli.png). | ||
+ | |||
Egalement à l'installation on voudra créer un raccourci (monappli.desktop) dans le menu et y associer une icône (monappli_icon.png). | Egalement à l'installation on voudra créer un raccourci (monappli.desktop) dans le menu et y associer une icône (monappli_icon.png). | ||
<code> | <code> | ||
Ligne 139: | Ligne 129: | ||
</code> | </code> | ||
+ | Ci-dessous un exemple de fichier monappli.desktop | ||
+ | <code> | ||
+ | Version=0.1.0 | ||
+ | Name=monappli | ||
+ | Comment=Simple tool | ||
+ | Exec=monappli | ||
+ | Icon=monappli_icon | ||
+ | Terminal=false | ||
+ | Type=Application | ||
+ | Categories=Utility | ||
+ | Keywords=Utility | ||
+ | StartupNotify=true | ||
+ | </code> | ||
+ | ==== Autres éléments ==== | ||
+ | Il reste à copier dans le répertoire $PPA_HOME/monappli/monappli-0.1.0 tous les fichiers nécessaires au fonctionnement de l'application (jar, shell, ressources, icône, .desktop, ...). | ||
+ | Vous pouvez également prévoir un répertoire src pour le source. | ||
+ | L'ensemble est désormais prêt à être packagé. | ||
+ | ===== debuild : construction du package ===== | ||
+ | Sous $PPA_HOME/monappli/monappli-0.1.0 : | ||
+ | <code> | ||
+ | debuild -S | ||
+ | </code> | ||
+ | L'exécution de cette commande crée un ensemble de fichier sous $PPA_HOME/monappli : | ||
+ | * monappli_0.1.0.dsc : descriptif technique du paquet | ||
+ | * monappli_0.1.0_source.build : journal d'exécution du build | ||
+ | * monappli_0.1.0_source.changes : autre descriptif technique du paquet | ||
+ | * monappli_0.1.0.tar.gz : le package proprement dit | ||
+ | A noter que lors de l'exécution le programme vous demandera la passphrase que vous avez utilisé pour créer la clef GPG. | ||
+ | ===== dput : upload sur launchpad ===== | ||
+ | Il ne reste plus qu'à uploader le package sur launchpad.net. Sous $PPA_HOME/monappli/monappli-0.1.0: | ||
+ | <code> | ||
+ | dput ppa:monlaunchpad/monppa ../monappli_0.1.0_source.changes | ||
+ | </code> | ||
+ | A la suite de cette commande, les fichiers (.tar.gz, .dsc, .changes) sont chargés sur launchpad.net. Un mail vous est envoyé sur moi@email.com pour vous indiquer que la paquet a été accepté dans launchpad.net. En vous connectant sur https://launchpad.net/~monlaunchpad/+archive/ubuntu/monppa vous devez voir votre package. | ||
- | ===== Conclusion ===== | + | Par contre il n'est pas forcément directement opérationnel car des process en background sur launchpad vont construire des paquets .deb directement opérationnels (1 en amd64, 1 en i386) ce qui peut prendre un peu de temps (de quelques minutes à 1h). |
- | Voila, vous savez maintenant faire le café avec Ubuntu ! | + | Cliquer sur le lien "view package details". |
- | ===== Problèmes connus===== | + | Une liste cliquable des paquets apparait. En cliquant sur le lien "monappli-0.1.1", vous voyez apparaitre le détail du package : au minimum un fichier .dsc et un .tar.gz. Si launchpad a déjà effectué son travail vous voyez également un fichier amd64.deb et un i386.deb, sinon il faut attendre. |
- | Si votre café est trop fort, saisissez la commande suivante dans un [[:terminal]]: ... | + | ===== Installation du package par le gestionnaire de logiciel ===== |
+ | Pour pouvoir installer l'application monappli il faut ajouter le ppa à votre liste : | ||
+ | <code> | ||
+ | sudo add-apt-repository ppa:monlaunchpad/monppa | ||
+ | sudo apt-get update | ||
+ | </code> | ||
+ | |||
+ | Il reste à installer l'application via le gestionnaire de logiciel ou via la ligne de commande : | ||
+ | <code> | ||
+ | sudo apt-get install monappli | ||
+ | </code> | ||
+ | |||
+ | ===== Mise à jour des versions ===== | ||
+ | Si vous faites évoluer votre application, pour publier la version suivante, il suffit de copier le sous-répertoire de la dernière version, d'en actualiser le contenu (fichiers changelog, control, install, ...) et de reprendre les commandes depuis l'étape "debuild : construction du package". | ||
+ | Par exemple sous $PPA_HOME/monappli : | ||
+ | <code> | ||
+ | cp -r monappli_0.1.0 monappli_0.2.0 | ||
+ | </code> | ||
===== Voir aussi ===== | ===== Voir aussi ===== | ||
- | * **(en)** [[http://bidule.org/projects/bidule/|un autre tutoriel intéressant à propos du café sous linux]] | + | * **(en)** [[http://developer.ubuntu.com/publish/apps/other-forms-of-submitting-apps/ppa/|sur le site des développeurs ubuntu]] |
- | * **(fr, en)** [[http://www.bidule.org|Manuel d'utilisation du logiciel Bidule]] | + | * **(en)** [[https://www.ebower.com/docs/ubuntu-ppa/|Tutoriel en anglais dont cette page est largement inspirée]] |
- | * [[http://forum.ubuntu-fr.org/viewtopic.php?id=64840|Discussion "Tutoriel pour faire le café"]] sur le forum ubuntu-fr | + | |
---- | ---- | ||
- | <note help>Si vous considérez que votre contribution à la page de documentation est significative et/ou que vous souhaitez pouvoir être contacté par les lecteurs, vous avez la possibilité de la signer en ajoutant votre identifiant dans la ligne ci-dessous. Vous pouvez aussi vous abonner aux modifications de la page en cliquant sur "S'abonner à la page" (menu en haut à gauche). | + | //Contributeurs principaux : [[:utilisateurs:ladeche|ladeche]]// |
- | </note> | + | |
- | //Contributeurs principaux : [[:utilisateurs:votre_identifiant|votre nom ou pseudonyme]], [[:utilisateurs:autre_identifiant|nom ou pseudo autre]].// | ||
- | <note help>Si vous vous êtes basé sur un document existant pour écrire votre article, citez la source originale ! Ceci est indispensable afin de respecter les droits d'auteur.</note> | ||
- | |||
- | //Basé sur [[http://www.document_source.com|« Titre original de l'article »]] par Auteur Original.// | ||
- | |||
- | |||
- | ---[ Modèle à copier/coller ]--- | ||
- | |||
- | <code> | ||
- | |||
- | |||
- | </code> |