Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
tutoriel:comment_publier_une_application_java [Le 04/10/2014, 22:51] – ladeche | tutoriel:comment_publier_une_application_java [Le 06/04/2020, 11:29] (Version actuelle) – 176.137.136.78 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag> | ||
+ | |||
+ | ====== 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. | ||
+ | |||
+ | 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' | ||
+ | |||
+ | ===== Pré-requis ===== | ||
+ | |||
+ | ===== Compte launchpad et ppa ===== | ||
+ | |||
+ | Il est indispensable de créer un ppa sur launchpad.net. Cette [[http:// | ||
+ | Pour ce faire il faut : | ||
+ | * Se créer un compte sur launchpad.net | ||
+ | * Se créer une clef gpg (à l'aide de SeaHorse ou Kgpg) | ||
+ | * Créer le ppa et le configurer. | ||
+ | |||
+ | Pour la suite nous considérons que le launchpad créé est " | ||
+ | L' | ||
+ | |||
+ | ===== Préparation en local ===== | ||
+ | * Créer un répertoire local ou seront construits les builds. Par exemple / | ||
+ | * Dans $PPA_HOME, créer un sous-répertoire avec le nom de l' | ||
+ | * Puis dans ce dernier répertoire un sous-répertoire avec la version de l' | ||
+ | A l' | ||
+ | |||
+ | / | ||
+ | |__ monappli | ||
+ | | ||
+ | | ||
+ | |__ monapplibis | ||
+ | |||
+ | |||
+ | Pour la suite nous allons essayer de packager monappli. | ||
+ | |||
+ | ===== dh_make : initialisation des fichiers debian ===== | ||
+ | |||
+ | Dans le répertoire $PPA_HOME/ | ||
+ | < | ||
+ | dh_make --single --native --copyright apache --email moi@email.com | ||
+ | </ | ||
+ | A noter que le paramètre " | ||
+ | Il est également important que l' | ||
+ | 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/ | ||
+ | < | ||
+ | rm debian/*.ex debian/*.EX | ||
+ | </ | ||
+ | |||
+ | Voyons maintenant les fichiers importants sous $PPA_HOME/ | ||
+ | ==== Fichier changelog ==== | ||
+ | Ce fichier contient les informations décrivant les changements opérés depuis la dernière version. Vous devez avoir cela : | ||
+ | < | ||
+ | monappli (0.1.0) unstable; urgency=low | ||
+ | |||
+ | * Initial Release. | ||
+ | |||
+ | -- Moi < | ||
+ | </ | ||
+ | A modifier pour obtenir quelque chose de plus pertinent : | ||
+ | * Remplacer " | ||
+ | * Compléter les éléments de modification. | ||
+ | * Changer éventuellement la date en conservant le formalisme. | ||
+ | Finalement : | ||
+ | < | ||
+ | monappli (0.1.0) trusty; urgency=low | ||
+ | |||
+ | * Initial Release. | ||
+ | * Ma première publication | ||
+ | |||
+ | -- Moi < | ||
+ | </ | ||
+ | |||
+ | ==== Fichier control ==== | ||
+ | Ce fichier est un descriptif de l' | ||
+ | < | ||
+ | Source: monappli | ||
+ | Section: unknown | ||
+ | Priority: optional | ||
+ | Maintainer: Moi < | ||
+ | Build-Depends: | ||
+ | Standards-Version: | ||
+ | Homepage: <insert the upstream URL, if relevant> | ||
+ | #Vcs-Git: git:// | ||
+ | # | ||
+ | |||
+ | Package: test | ||
+ | Architecture: | ||
+ | Depends: ${shlibs: | ||
+ | Description: | ||
+ | < | ||
+ | </ | ||
+ | |||
+ | Il convient de changer la section. Typiquement on peut mettre " | ||
+ | Le plus important est la zone " | ||
+ | Au final on a quelque chose comme ça : | ||
+ | |||
+ | < | ||
+ | Source: monappli | ||
+ | Section: utils | ||
+ | Priority: optional | ||
+ | Maintainer: Moi < | ||
+ | Build-Depends: | ||
+ | Standards-Version: | ||
+ | Homepage: <insert the upstream URL, if relevant> | ||
+ | #Vcs-Git: git:// | ||
+ | # | ||
+ | |||
+ | Package: test | ||
+ | Architecture: | ||
+ | Depends: ${shlibs: | ||
+ | Description: | ||
+ | | ||
+ | </ | ||
+ | |||
+ | ==== Fichier install ==== | ||
+ | Ce fichier décrit la destination des différents fichiers composant le paquet lors de l' | ||
+ | A l' | ||
+ | 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' | ||
+ | < | ||
+ | monappli /usr/bin | ||
+ | monappli-0.1.0.jar / | ||
+ | monappli.png / | ||
+ | monappli.desktop / | ||
+ | monappli_icon.png / | ||
+ | </ | ||
+ | |||
+ | Ci-dessous un exemple de fichier monappli.desktop | ||
+ | < | ||
+ | Version=0.1.0 | ||
+ | Name=monappli | ||
+ | Comment=Simple tool | ||
+ | Exec=monappli | ||
+ | Icon=monappli_icon | ||
+ | Terminal=false | ||
+ | Type=Application | ||
+ | Categories=Utility | ||
+ | Keywords=Utility | ||
+ | StartupNotify=true | ||
+ | </ | ||
+ | |||
+ | ==== Autres éléments ==== | ||
+ | Il reste à copier dans le répertoire $PPA_HOME/ | ||
+ | Vous pouvez également prévoir un répertoire src pour le source. | ||
+ | |||
+ | L' | ||
+ | |||
+ | |||
+ | ===== debuild : construction du package ===== | ||
+ | Sous $PPA_HOME/ | ||
+ | < | ||
+ | debuild -S | ||
+ | </ | ||
+ | L' | ||
+ | * monappli_0.1.0.dsc : descriptif technique du paquet | ||
+ | * monappli_0.1.0_source.build : journal d' | ||
+ | * 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' | ||
+ | |||
+ | ===== dput : upload sur launchpad ===== | ||
+ | Il ne reste plus qu'à uploader le package sur launchpad.net. Sous $PPA_HOME/ | ||
+ | < | ||
+ | dput ppa: | ||
+ | </ | ||
+ | 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:// | ||
+ | |||
+ | 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). | ||
+ | |||
+ | Cliquer sur le lien "view package details" | ||
+ | |||
+ | Une liste cliquable des paquets apparait. En cliquant sur le lien " | ||
+ | |||
+ | ===== Installation du package par le gestionnaire de logiciel ===== | ||
+ | Pour pouvoir installer l' | ||
+ | < | ||
+ | sudo add-apt-repository ppa: | ||
+ | sudo apt-get update | ||
+ | </ | ||
+ | |||
+ | Il reste à installer l' | ||
+ | < | ||
+ | sudo apt-get install monappli | ||
+ | </ | ||
+ | |||
+ | ===== Mise à jour des versions ===== | ||
+ | Si vous faites évoluer votre application, | ||
+ | Par exemple sous $PPA_HOME/ | ||
+ | < | ||
+ | cp -r monappli_0.1.0 monappli_0.2.0 | ||
+ | </ | ||
+ | |||
+ | ===== Voir aussi ===== | ||
+ | |||
+ | * **(en)** [[http:// | ||
+ | * **(en)** [[https:// | ||
+ | |||
+ | ---- | ||
+ | |||
+ | // | ||
+ | |||