5. Structure d’un paquet WAPT¶
Note
Les paquets WAPT ayant pour suffixe -template sont des modèles génériques conçus pour être adaptés à des besoins spécifiques. Ils ne devraient pas être installés directement sans modification préalable.
Ces paquets requièrent une personnalisation pour satisfaire les spécifications techniques et les politiques internes de votre organisation ou service informatique.
Structure du paquet WAPT affichée dans l’explorateur Windows¶
Un paquet WAPT est un fichier .zip contenant plusieurs éléments :
Un fichier
setup.pyà la racine.Un fichier ou plusieurs fichiers binaires.
Un fichier ou plusieurs autres fichiers additionnels.
Un fichier
controldans le dossierWAPT.Un fichier
icon.pngdans le dossierWAPT.Un fichier
certificate.crtdans le dossierWAPT.Un fichier
manifest.sha256dans le dossierWAPT.Un fichier
signature.sha256dans le dossierWAPT.Un fichier
wapt.psprojdans le dossierWAPT, ce fichier est utilisé pour stocker les données de configuration PyScripter pour le paquet WAPT.Depuis WAPT 1.8, un dossier caché
.vscodequi contient un fichierlaunch.jsonet un fichiersettings.jsonutilisés pour stocker les données de configuration VScode pour le paquet WAPT.
5.1. Le fichier control¶
Le fichier control est la fiche d’identité du paquet.
package : tis-firefox-esr
version : 140.9.1-109
architecture : x64
section : base
priority : optional
name : Mozilla Firefox ESR
categories : Internet
maintainer : WAPT Team,Tranquil IT,Jimmy PELÉ,Simon FONTENEAU
description : Mozilla Firefox Extended Support Release (ESR) is an official version of Firefox developed for large organizations like universities and businesses that need to set up and maintain Firefox on a large scale
depends :
conflicts : tis-firefox,tis-firefox-multi-esr,tis-firefox-multi
maturity : PROD
locale : fr
target_os : windows
min_wapt_version : 2.0
sources : https://www.mozilla.org/firefox/all/#product-desktop-release
installed_size : 220643328
impacted_process : firefox
description_fr : Mozilla Firefox Extended Support Release (ESR) est une version officielle de Firefox développée pour les grandes organisations comme les universités et les entreprises qui ont besoin de configurer et de maintenir Firefox à grande échelle
description_pl : Mozilla Firefox Extended Support Release (ESR) to oficjalna wersja Firefoksa stworzona dla dużych organizacji, takich jak uniwersytety i firmy, które muszą skonfigurować i utrzymywać Firefoksa na dużą skalę
description_de : Mozilla Firefox Extended Support Release (ESR) ist eine offizielle Version von Firefox, die für große Organisationen wie Universitäten und Unternehmen entwickelt wurde, die Firefox in großem Umfang einrichten und pflegen müssen
description_es : Mozilla Firefox Extended Support Release (ESR) es una versión oficial de Firefox desarrollada para grandes organizaciones como universidades y empresas que necesitan configurar y mantener Firefox a gran escala
description_pt : Mozilla Firefox Extended Support Release (ESR) é uma versão oficial do Firefox desenvolvida para grandes organizações como universidades e empresas que precisam de instalar e manter o Firefox em grande escala
description_it : Mozilla Firefox Extended Support Release (ESR) è una versione ufficiale di Firefox sviluppata per le grandi organizzazioni, come le università e le aziende, che hanno bisogno di configurare e gestire Firefox su larga scala
description_nl : Mozilla Firefox Extended Support Release (ESR) is een officiële versie van Firefox, ontwikkeld voor grote organisaties zoals universiteiten en bedrijven die Firefox op grote schaal moeten opzetten en onderhouden
description_ru : Mozilla Firefox Extended Support Release (ESR) - это официальная версия Firefox, разработанная для крупных организаций, таких как университеты и предприятия, которым необходимо установить и поддерживать Firefox в больших масштабах
audit_schedule :
editor : Mozilla Foundation,Mozilla Corporation
keywords : web,browser,navigateur,firefox,mozilla
licence : MPL 2.0
homepage : https://www.mozilla.org/
package_uuid : b11e603a-6151-4b9e-9630-565caea6ff23
valid_from :
valid_until :
forced_install_on :
changelog : https://www.mozilla.org/firefox/releases/
min_os_version : 10
max_os_version :
icon_sha256sum : 2dc82eade364831757e067169d0039e6e0c9b693f343ea9a62db709eb1942c9e
signer : ca-wapt-jarnaud
signer_fingerprint: 8b95ee105e5cad84a2d25cf0184fd05fc58f9c4cae539d0bb515bf733f21dcf9
signature_date : 2026-04-10T09:29:31.000000
signed_attributes : package,version,architecture,section,priority,name,categories,maintainer,description,depends,conflicts,maturity,locale,target_os,min_wapt_version,sources,installed_size,impacted_process,description_fr,description_pl,description_de,description_es,description_pt,description_it,description_nl,description_ru,audit_schedule,editor,keywords,licence,homepage,package_uuid,valid_from,valid_until,forced_install_on,changelog,min_os_version,max_os_version,icon_sha256sum,signer,signer_fingerprint,signature_date,signed_attributes
signature : ZA7v9ZkYcxmbpnJJOktMdsco1ZEu4clTRwsvTPFULwQSupQY4iqQScYpVopiiwIW9SsdDfmRdsU/vibS08TfvWWDPW2Q3KaQAiCL7HDLUaiYQZEry0GmArGfHkiPaGcRvUpk//9JfIBjlcPUsbLqGAP4xQ887W3WC6EgBQMT4uyAXvXJhOhJQ3ivQeyvXmtycor+6FdBdRNSR+8XOrZn2adx6y6JAnFLy1DlziJ8tdJKxoXe6PFxRi3qgJ+pJ+MIAAT5RiBQziUBxU1jMbz4CH7IxLlLZKSrQZaFV/XliW8sTbn7l0Njxr2sYUrOn+KtHep9q2obS56ieXG/qf0Kng==
Paramètres |
Description |
Exemple de valeur |
|---|---|---|
|
Nom du paquet WAPT, sans accent, sans espace, sans caractère spécial, sans majuscule. |
tis-geogebra |
|
Définit la version du paquet (note : la version NE DOIT PAS contenir plus de 5 délimiteurs, le dernier chiffre étant le numéro de version du paquet). La version DOIT commencer par la version du logiciel packagé (chiffres seulement) divisée par des points (.) et DOIT se terminer par la version du paquet WAPT séparée par un caractère tiret (-). |
5.0.309.0-1 |
|
Définit l’architecture du processeur sur lequel le paquet WAPT sera installé. Un paquet prévu pour une architecture x64 ne sera pas visible avec un Agent WAPT installé sur un poste équipé d’un processeur x86. Valeurs possibles :
|
x64 |
|
Définit le type de paquet WAPT ( Valeurs possibles :
|
base |
|
Définit la priorité d’installation du paquet WAPT (facultatif). Cette option n’est pas prise en charge pour le moment. Ce champ sera utilisé pour définir la priorité d’installation des paquets. Cette fonctionnalité sera utile pour définir les mises à jour de sécurité obligatoires. |
Non pris en charge pour le moment |
|
Indique la maturité du paquet. Indiquer l’adresse email peut être utile. |
Arnold Schwarzenegger <terminator@mydomain.lan> |
|
Description du paquet qui apparaîtra dans la console et dans le self-service. Ajouter un champ description_fr ou description_es permet par exemple de préciser une description pour une langue précise. Si la langue n’existe pas, l’Agent wapt utilisera la champ description classique. |
The Graphing Calculator for Functions, Geometry, Algebra, Calculus, Statistics and 3D |
|
Description du paquet dans une langue précise. |
Calculatrice graphique |
|
Définit quelle(s) dépendance(s) doit(doivent) être satisfaite(s) avant d’installer le paquet WAPT, par exemple tis-java devra être installé avant le paquet LibreOffice. On peut définir plusieurs dépendances en les séparant par des virgules (,). |
tis-java |
|
Définit les packages WAPT qui Doivent être supprimés avant l’installation du package, par exemple tis-firefox Doivent être supprimés avant l’installation du package tis-firefox-esr, ou OpenOffice Doivent être supprimés avant l’installation de LibreOffice. Fonctionne exactement à l’inverse de depends. On peut définir plusieurs conflits en les séparant par des virgules (,). |
tis-graph |
|
Définit le niveau de maturité du paquet WAPT ( Un agent verra par défaut les paquets PROD et les paquet sans maturité. Pour qu’un client puisse voir un paquet d’un autre niveau de maturité, il faudra définir l’attribut |
PROD |
|
Définit la langue pour le paquet WAPT. Un Agent WAPT verra par défaut les paquets qui sont configurés pour son (ses) environnement(s) linguistique(s) et les paquets sans langue spécifiée. Pour qu’un ordinateur puisse voir un paquet dans une autre langue, vous devrez configurer les locales dans La casse et l’ordre n’ont pas d’importance. Si vous voulez respecter un ordre pour les maturités, vous devrez définir l’ordre dans le fichier de configuration |
fr,en,es |
|
Indique le système d’exploitation prévu pour le paquet. Un Agent WAPT verra par défaut les paquets prévus pour son système d’exploitation et les paquets avec un champ Depuis la version 2.3 l’attribut |
windows, mac, linux, debian-bullseye, redhat_based, centos8, debian(>8), ubuntu, almalinux8 |
|
Définit la version minimale de Windows pour que le paquet soit vu par l’Agent WAPT. Pour un Depuis la version 1.8, il peut également définir la version minimale de Mac OS. Nous conseillons de ne pas l’utiliser avec Linux car il existe plusieurs distributions différentes. |
6.0 |
|
Définit la version maximale de Windows pour que le paquet soit vu par l’Agent WAPT. Pour un windows target_os, il définit le maximum Windows Operating System Version. Par exemple, cet attribut peut être utilisé pour installer sur Windows7 des versions plus récentes d’un logiciel qui ne sont plus supportées par Windows XP. Depuis la version 1.8, il peut également définir la version minimale de Mac OS. Nous conseillons de ne pas l’utiliser avec Linux car il existe plusieurs distributions différentes. |
10.0 |
|
Définit la version minimale de l’Agent WAPT pour que le paquet WAPT fonctionne correctement. Le code de WAPT évoluant, certaines fonctions que vous aurez utilisées dans vos anciens paquets peuvent devenir obsolètes avec les nouvelles versions des Agents WAPT. |
1.3.8 |
|
Définit le lien de stockage des versions historisées du paquet (commande wapt-get source). Définit un dépôt pour le versionnement des paquets WAPT, par exemple https://svn.mydomain.lan/sources/tis-geogebra-wapt/trunk/. Cela permet de versionner le paquet et de concevoir collaborativement le paquet. Le versionnage de paquets est particulièrement utile lorsque plusieurs personnes créent des paquets de manière collaborative. Cette fonction est également utile pour retracer l’historique d’un paquet si vous êtes soumis à une réglementation particulière dans votre secteur d’activité. |
https://srv-svn.mydomain.lan/sources/tis-geogebra-wapt/trunk/ |
|
Définit l’espace disque libre minimum requis pour installer le paquet WAPT. Le test d’espace disque disponible est fait sur le dossier La valeur renseignée dans installed_size doit être en bytes. Pour convertir des valeurs de stockage en bytes, visiter https://www.convertworld.com/fr/mesures-informatiques/. |
254251008 |
|
Indique une liste de processus impactés lors de l’installation du paquet WAPT. Ce champ est utilisé par les fonctions install_msi_if_needed et install_exe_if_needed si killbefore n’est pas renseigné. impacted_process est également utilisé lors de la désinstallation d’un paquet. Cela permet de fermer l’application si l’application est ouverture avant sa désinstallation. |
firefox.exe |
|
Définit la périodicité d’exécution de la fonction d’audit dans le paquet WAPT. La valeur peut être indiquée de plusieurs manières :
|
60 |
|
Éditeur de logiciels des binaires intégrés dans le paquet base de WAPT. La liste des valeurs pourra être utilisée dans la console et dans le selfservice pour trier les paquets. |
Mozilla |
|
Indique la page d’accueil du site officiel de logiciel intégrée dans le paquet. La liste des valeurs pourra être utilisée dans la console et dans le selfservice pour trier les paquets. |
GPLV3 |
|
Définit un ensemble de mots-clés décrivant le paquet WAPT. La liste des valeurs pourra être utilisée dans la console et dans le selfservice pour trier les paquets. |
Productivité, Traitement de texte |
|
Indique la page d’accueil du site officiel de logiciel intégrée dans le paquet. La liste des valeurs pourra être utilisée dans la console et dans le selfservice pour trier les paquets. |
|
|
Identifiant unique du packaging. Il est généré automatiquement lors de la construction du packaging. |
dc66ccd1-d987-482e-b792-04e89a3803f7 |
|
Date / heure après laquelle le paquet peut être installé. L’Agent WAPT refusera de l’installer avant cette date. La chaîne est formatée selon la norme ISO8601 : YYYY-MM-DDTHH:MM:SS. Lorsque la date est dépassée, WAPT installera le paquet lorsqu’un « update » sera déclenchée. |
2022-02-23T00:00:00 |
|
Date / heure après laquelle le paquet ne peut plus être installé. L’agent refusera de l’installer après cette date. La chaîne est formatée selon la norme ISO8601 : YYYY-MM-DDTHH:MM:SS. |
2022-02-23T00:00:00 |
|
Date / heure après laquelle l’Agent WAPT déclenchera une installation forcée du paquet. La chaîne est formatée selon la norme ISO8601 : YYYY-MM-DDTHH:MM:SS. |
2022-02-23T00:00:00 |
|
Définit le CN du signataire du paquet WAPT. Il s’agit généralement du nom complet du signataire. La valeur est automatiquement insérée lors de la signature du packaging WAPT. |
Tranquil IT |
|
Fournit l’empreinte digitale de la signature du titulaire du certificat. La valeur est automatiquement insérée lors de la signature du packaging WAPT. |
2BAFAF007C174A3B00F12E9CA1E74956 |
|
Fournit le hachage SHA256 du paquet WAPT. La valeur est automatiquement insérée lors de la signature du packaging WAPT. |
MLOzLiz0qC(…)hsEjGRaMLBlod/p8w== |
|
Indique la date de signature du paquet. La valeur est automatiquement insérée lors de la signature du packaging WAPT. |
20180307-230413 |
|
Listes des attributs du fichier La valeur est automatiquement insérée lors de la signature du packaging WAPT. |
package, version, architecture, section, priority, maintainer, description, depends, conflicts, maturity, locale, min_wapt_version, sources, installed_size, signer, signer_fingerprint, signature_date, signed_attributes |
Attention
Si le fichier control comporte des caractères accentués, le fichier doit être enregistré en format UTF-8 (No BOM).
PyScripter - UTF-8 (No BOM)¶
5.2. Le fichier setup.py¶
Cette ligne se trouve au début de chaque paquet WAPT qui contient un
setup.py:from setuphelpers import *
Nous demandons au paquet d’importer toutes les fonctions depuis la librairie
Setuphelpers.Setuphelpers est la librairie intégrée à WAPT, elle embarque des fonctions simplifiées pour aider à créer des paquets fonctionnels rapidement.
suivi d’une liste
uninstallkeypour associer une liste de clés de désinstallation au packaging WAPT.uninstallkey = ['tisnaps2','Mozilla Firefox 45.6.0 ESR (x86 fr)']
Nous déclarerons ici une liste des clé de désinstallation associées au paquet. Quand un paquet est supprimé, l’Agent WAPT recherche dans la base de registre la clé de désinstallation correspondant au paquet. Cette clé de désinstallation indiquera à l’Agent WAPT les actions à déclencher pour supprimer le logiciel.
Même s’il n’y a pas de clé de désinstallation pour le paquet, il faudra quand même déclarer une clé de désinstallation vide :
uninstallkey = []
suivi de fonctions telles que
def_install(),def_uninstall(),def_session-setup()etdef_audit()Ces fonctions décrivent les recettes du paquet WAPT, l’ensemble des instructions qui seront exécutées pour installer, supprimer, configurer et auditer un paquet WAPT.
5.3. Le fichier wapt.psproj¶
On trouve dans le dossier WAPT un fichier wapt.psproj.
Il s’agit du fichier projet PyScripter pour le paquet WAPT.
Pour éditer un paquet avec PyScripter, il suffira d’ouvrir ce fichier.
5.4. Le fichier icon.png¶
On trouve dans le dossier WAPT un fichier icon.png.
Il permet d’associer une icône au paquet.
Indication
L’icône est utilisée dans le Self-Service, elle est téléchargée avec sa somme MD5 pour la sécurité ; si la somme MD5 n’est pas bonne, l’icône est supprimée.
L’icône DOIT être au format .png en 48px par 48px.
5.5. Le fichier manifest.sha256¶
On trouve dans le dossier WAPT un fichier manifest.sha256.
Il contient l’empreinte sha256 de chaque fichier du package.
5.6. Le fichier signature¶
Le fichier signature est situé dans le dossier WAPT.
Le fichier contient la signature du fichier manifest.sha256.
A l’installation du paquet WAPT, wapt-get vérifie :
Que la signature de
manifest.sha256correspond au fichiermanifest.sha256actuel (l’agent vérifiera les certificats publics dansC:\Program Files (x86)\wapt\sslsous Windows et/opt/wapt/sslsous Linux et macOS).Que l’empreinte sha256 de chaque fichier est identique à celle contenue dans le fichier
manifest.sha256.
5.7. Le fichier certificate.crt¶
Le fichier certificate.crt est situé dans le dossier WAPT.
C’est le certificat du mainteneur qui a signé le paquet.
Lors de l’installation d’un paquet, wapt-get vérifie que le certificate.crt ou son parent correspond aux certificats présents dans C:\Program Files (x86)wapt\ssl sous Windows et /opt/wapt/ssl sous Linux et macOS. Si le certificat n’est pas validé, le paquet ne sera pas installé.
5.8. Autres fichiers¶
D’autres fichiers peuvent être embarqués dans le paquet WAPT. Par exemple :
Un installeur à côté du
setup.pyà appeler dans le setup.py.Un fichier de réponses à passer à l’installeur du logiciel.
Un fichier de licence.
Etc.