# Wapt (logiciel)

WAPT est un logiciel de déploiement, de mise à jour et de suppression automatisé des paquetages pour Windows, Linux et macOS.
Il peut être utilisé pour installer des paquetages logiciels tels que des programmes d'installation, les mises à jour Windows, des Services Packs, des hotfix depuis un serveur central WAPT ou serveur web répliqué.
Il peut être lancé en tant que service, afin d'installer des logiciels en tâche de fond, sans interaction avec l'utilisateur. Configuré comme tel, il peut fonctionner même si l'utilisateur qui ouvre la session ne bénéficie pas de privilèges administrateur. Les paquets peuvent être téléchargés pendant l'utilisation de l'ordinateur et les installations seront exécutées lors de l'arrêt.
WAPT permet de packager des installeurs comme les fichiers MSI, Installshield, Inno Setup, NSIS, de la configuration comme des clés de registre et les fichiers INI, des fichiers exécutables sans installeurs, etc.
WAPT peut également proposer aux utilisateurs non-administrateurs de leur poste un catalogue logiciel présent dans le dépôt WAPT via le Self-service.
Le logiciel WAPT a reçu le 14 février 2018 la Certification de sécurité de premier niveau de l'Agence Nationale de la sécurité des systèmes d'information pour la version WAPT Enterprise 1.5.0.13.

## Historique

Le projet WAPT a vu le jour en avril 2012. Le nom WAPT est un néologisme dérivé de la concaténation de l'initiale de Windows et du nom de l'outil APT. APT est l'outil d'installation de paquet sur les environnements Debian et ses dérivés comme Ubuntu ou Linux Mint. L'objectif initial était de porter sous Windows le fonctionnement de l'outil de déploiement de logiciel de Debian. Dans ses premières versions, WAPT pouvait être utilisé uniquement en ligne de commande à l'aide de la commande wapt-get.exe, et ne disposait pas d'agent tournant en tant que service. Contrairement à la commande apt-get sous Linux, ces premières versions de l'utilitaire wapt-get.exe ne permettaient ni le gestion à distance depuis une console centralisée, ni les remontées d'inventaire ou de statut d'installation des paquets.
La version WAPT 1.0.0 est sortie en février 2015 et disposait à la fois d'une console d'administration, d'une gestion d'inventaire basique et d'un service WaptAgent résident sur les postes Windows. Les versions 1.1 et 1.2 sont arrivées rapidement dans l'année qui a suivi pour corriger les bogues remontés par une communauté d'utilisateurs de plus en plus importante.
En novembre 2016 est sortie la version WAPT 1.3 qui, avec ses sous-versions, est restée la version majeure grand public pendant un an et demi. Elle a bénéficié d'un grand ensemble de correctifs. Elle a apporté le support des serveurs sous CentOS 7 en plus des serveurs Debian, Ubuntu et Windows.
La version WAPT 1.5.0 a été une version intermédiaire publiée uniquement en version Enterprise et a servi de base pour le passage de la Certification Élémentaire de Premier Niveau de l'ANSSI.
WAPT 1.5.1 est sorti en mars 2018 et a introduit plusieurs changements technologiques :
* la base de données MongoDB est remplacée par PostgreSQL
* la connexion entre la console et l'agent ne se fait plus à travers un port ouvert sur l'agent, mais à travers une WebSocket qui reste ouverte sur le serveur WAPT
* la signature des paquets a été améliorée pour plus de sécurité et l'algorithme de hashage SHA-1 a été remplacé par SHA-2
* le serveur web Apache 2 a été remplacé par Nginx qui gère mieux les grands nombres de WebSocket
* seuls les serveurs 64 bits sont supportés
Un changelog exhaustif est disponible dans la documentation WAPT elle-même.
En mars 2021, WAPT profite de la sortie de sa version 2.0 pour procéder à quelques changements : sa version libre WAPT Community ne sera plus maintenue par la société Tranquil IT à partir du 1er juillet 2021 et est remplacée par une version gratuite propriétaire WAPT Discovery.

## Aperçu de WAPT

WAPT permet de réaliser des installations, mises à jour et suppressions sur les postes de travail.
Il est aussi possible d'exécuter des scripts python personnalisés sur les postes de travail, comme la synchronisation du temps, les paramètres d'impression, des changements de permissions ou des ajouts d'entrées dans la base de registre.
Le client WAPT peut fonctionner avec ou sans domaine Active Directory (mode Workgroup).
Le fonctionnement standard de WAPT se base sur un service tournant sur le poste client, l'agent WAPT, qui permet de faire les installations et mises à jour en arrière plan sans nécessiter d'interaction avec l'utilisateur. Cela dit si la situation le nécessite il est possible d'utiliser WAPT uniquement en ligne de commande avec le service désactivé.
Voici un résumé des fonctions de WAPT :
* déploiement de logiciels dans n'importe quel format (MSI, exécutables, etc.),
* déploiement de logiciels sur différents groupes ou sur une seule machine,
* installation, suppression et mise à jour de logiciels,
* lancement de scripts personnalisés,
* remontée d'informations, d'inventaire matériel et logiciel des postes,
* intégration de GLPI (logiciel d'inventaire),
* gestion des ACLs (Control Access List),
* gestion de la maturité des paquets,
* gestion des Windows Update,
* gestion des dépôts secondaires,
* déploiement d'OS par installation automatisée.
Le serveur WAPT peut s'installer sur différents systèmes en version 64bit :
* serveur Debian Linux version 10, 11 et 12
* serveur RHEL 7, 8 et 9 et dérivés
* serveur Windows Server 2016 et supérieur
* serveur Ubuntu 20.04 et 22.04
Le client WAPT est multiplateforme et peut donc s'installer sur les postes de travail et les serveurs fonctionnant avec :
* les versions supportées de Microsoft Windows en 32 et 64 bits, ainsi que les versions hors support Windows 7 et Windows 8 et les versions serveur correspondantes. Windows XP est encore supporté avec la version 1.8.2 Entreprise de l'agent qui reste compatible avec le serveur WAPT récent ;
* MacOS (Sierra, High Sierra et Mojave, Big Sur, Monterey et Sonoma) sur les processeurs Intel et Apple M1 (à partir de la version 2.2.3)
* Debian Linux version 9, 10, 11 et 12
* RHEL 7, 8 et 9 et dérivés (CentOS, AlmaLinux, Rocky Linux, Oracle Linux
* Ubuntu 16.04, 18.04, 20.04 et 22.04
Dans la présentation schématique du fonctionnement de WAPT ci-dessous, le dépôt de paquet et l'inventaire sont sur la même machine s'il n'y a qu'un seul serveur WAPT:

## Console WAPT

WAPT dispose, depuis la version 1.0.0 sous Windows puis depuis la version 2.4 sous Linux et macOS, d'une console graphique en Lazarus / Free Pascal permettant une gestion plus intuitive des paquets déployés. Le mot de passe de l'administrateur du serveur WAPT est requis pour y accéder et elle permet de visualiser tous les postes reliés, les paquets et logiciels installés dessus ainsi que diverses informations sur ces postes.
La console WAPT ne nécessite pas de connexion vers les postes utilisateurs, mais uniquement vers le serveur WAPT. En effet, toutes les actions effectuées dans la console passent par le serveur WAPT, et sont tunnelées vers le poste à travers une WebSocket.

## Gestion des mises à jour Windows

À partir de la version 1.7, sortie en février 2019, WAPT gère les mises à jour Windows et peut remplacer un serveur WSUS. Le service WAPT gère le moteur de calcul WUA (Windows Update Agent) et télécharge les KB qui ont été téléchargées sur le serveur WAPT. Le calcul des mises à jour nécessaires est effectué par le moteur WUA ce qui permet de garantir que toutes les mises à jour nécessaires seront bien installées. Cependant, cette fonctionnalité est disponible uniquement dans la version WAPT Enterprise.

## Déploiement d'OS

À partir de la version 2.2 sortie en février 2022, WAPT Enterprise supporte avec l'extension WADS l'automatisation du déploiement d'OS Windows en version 10 et 11. Il s'agit d'un déploiement similaire à celui de MDT de Microsoft et non d'un système d'image à la mode Ghost.
Le démarrage de la machine à installer se fait sur un environnement WinPE téléchargé en PXE ou bien chargé à l'aide d'une clef USB bootable. Ensuite l'environnement WinPE télécharge et lance l'installeur de Windows en mode automatique avec un fichier unattend.xml. A la fin de l'installation Windows l'agent WAPT est installé ce qui permet d'installer les paquets WAPT nécessaire à la machine et ainsi terminer son installation.
WAPT WADS intègre la fonctionnalité djoin de Microsoft qui permet de préparer la jonction de la machine en amont de son déploiement en pré-créant le compte dans l'AD et en générant un fichier djoin binaire qui est fourni à la machine lors de son installation. Cela permet d'éviter d'avoir à inscrire des identifiants et mot de passe du compte Active Directory de jonction dans le fichier unattend.xml.

## Développement de paquet WAPT

Le store WAPT propose une liste de plusieurs centaines de paquets logiciels déjà préparés et packagés. Si le logiciel dont on a besoin n'est pas déjà présent sur le store, WAPT propose un environnement de travail pour créer des nouveaux paquets basés sur PyScripter ou Visual Studio Code sous Windows, et basés sur VSCode pour les environnements Linux et MacOS.
Il est possible de générer automatiquement un paquet à partir d'un MSI et ce à partir de la console ou en ligne de commande avec l'utilitaire wapt-get make-template.
Pour les logiciels plus complexes, on peut lancer un environnement PyScripter qui accompagne l'administrateur dans sa création de paquet.

## WAPT en environnement académique

Les établissements scolaires ont été parmi les premiers à déployer massivement WAPT. Par exemple, la région Bretagne a équipé les 60000 postes gérés par l'académie répartis sur 300 sites. L'Académie de Lille propose également des tutoriels directement sur son site pour l'installation à destination de ses établissements scolaires.
Plusieurs universités en sont également équipées, comme les universités de Lille et de Valenciennes. WAPT est aussi au programme pour certains BTS SIO, notamment dans l'académie de Limoges.
WAPT est aussi utilisé dans les laboratoires de recherche tels que ceux d'INRAE/Institut Agro Montpellier.
WAPT était un sujet de présentation à la dernière conférence JRES (Journées des réseaux). D'ailleurs un groupe d'administrateurs réseau a été constitué pour mettre un dépôt commun de paquets dédiés aux laboratoires de recherche sous l'impulsion de l'Université de Strasbourg.

## Licence

WAPT Community 1.3 est un logiciel libre publié sous la licence GPL v3.
À partir de la version 1.5, WAPT adopte un modèle Open core avec une version WAPT Community 1.5 en GPL v3, ainsi qu'une version WAPT Enterprise 1.5 sous licence propriétaire.
Le 26 novembre 2020, Tranquil IT annonce, sur son forum, sa décision d'arrêter ses contributions au développement de WAPT Community, en évoquant son constat d'une absence de contributions extérieures au cours des huit dernières années. L'entreprise révèle son choix de basculer vers la stratégie d'un modèle freemium entièrement sous licence propriétaire, en proposant une version limitée gratuite nommée Discovery. Elle indique également avoir prévu de soutenir sa communauté dans la reprise de la version Community jusqu'à l'été 2021.
La sortie de WAPT Discovery a pris du retard et a finalement été mis à disposition le 15 mars 2022 en même temps que WAPT Entreprise 2.2.0. À la suite de la mise à disposition du public, la société Tranquil IT a annoncé l'arrêt de sa contribution à la version WAPT 1.8.2 Community pour le 30 avril 2022.

## WAPT Starter

Au-delà des deux solutions de gestion de parc informatique, les éditions Community et Enterprise, un programme est mis gratuitement à disposition des utilisateurs d'ordinateur isolé fonctionnant avec Windows : WAPT Starter. Il permet de bénéficier des fonctionnalités d'installation, de mise-à-jour et de désinstallation des logiciels de la logithèque maintenue par Tranquil IT Systems ou d'un autre dépôt de son choix.