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, 19:28] – 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:// | ||
| + | |||
| + | ---- | ||
| + | |||
| + | // | ||
| + | |||
