Sites


L'art de la programmation

L'empaquetage et la publication

L'empaquetage et la publication interviennent à la phase finale d'une
étape de développement. Ils consistent à produire un ensemble
consistant pour le logiciel, les tests et la documentation, prêt à
être publié à un instant donné.

D'autres termes répandus s'emploient pour désigner l'étape de "publication":
"release" en anglais, et "livraison" dans l'industrie.

La notion "d'empaquetage" se rapporte à la forme que prendra la publication.

En effet, un vrai programme constitue un tout, il s'intègre dans une
environnement complet. Il faut penser à sa compilation, son
installation et sa configuration.

Selon les cas, le logiciel sera fourni sous forme de code source ou de
binaire, ainsi que quelques documents indispensembles, de fichiers de
configuration par défaut et quelques exemples, et accompagné ou non de
la documentation complète, des tests et de leurs résultats.

Parfois, ils seront fournis dans une variété de déclinaisons, avec ou
sans la documentation, ou les tests intégrés.

Une structure bien pensée (voir "Structurer son projet") facilite
l'empaquetage et la publication.

Enrichie d'un outil d'installation et publication bien fait, cela
permet de produire facilement le projet en différentes déclinaisons.

Pour les manières de fournir un logiciel "prêt-à-construire" ou
"prêt-à-l'emploi", je vous invite à vous référer à la documentation
propre à chacun des langages de programmation.

Sachant que des applications peuvent être constituées de langages
multiples et portables sur plusieurs plateformes
("cross-platforms"). Pour ce dernier cas, il existe des outillages
qui apportent des fondations solides pour une compilation
multi-plateformes (par exemple autoconf et automake).

Pour avoir une guidance sur les manières de construire le contenu du
projet à publier, vous pouvez vous référer à:
 - les standards de codage GNU (https://www.gnu.org/prep/standards/standards.html)
 - http://python-packaging.readthedocs.org/en/latest/minimal.html
 - http://stackoverflow.com/questions/193161/what-is-the-best-project-structure-for-a-python-application
 - https://www.jeffknupp.com/blog/2013/08/16/open-sourcing-a-python-project-the-right-way/

Enfin, au-delà d'un livrable pour un projet compatible
multi-plateforme, chaque système d'exploitation dispose de ses
habitudes et exigences en matière de fourniture d'un logiciel.

Dans les systèmes GNU/Linux, il sera question de "paquet" pour une
distribution donnée.

La plupart du temps, ceux-ci sont distribués sous forme de paquetage
source et de paquetage binaire. Outre, le programme du projet
lui-même, le paquetage prévoit toutes les données de configuration, et
une installation conforme aux attentes du système (en matière de
répartition des composantes du projet dans les répertoires cibles et
de configuration par défaut).

Je vous renvoie aux différentes distributions pour connaître les
modalités spécifiques à la création d'un paquetage.

Il y a une erreur de communication avec le serveur Booktype. Nous ne savons pas actuellement où est le problème.

Vous devriez rafraîchir la page.