4.4Déploiement : installation & mise à jour automatique
Développer est une chose, LIVRER en est une autre — et c'est ce qui achève un vrai projet. WinDev fournit une chaîne complète. (1) La GÉNÉRATION de l'exécutable : on produit le programme à partir du projet, en choisissant la configuration (32/64 bits, options). (2) La BIBLIOTHÈQUE : les éléments du projet (fenêtres, états, requêtes…) peuvent être empaquetés dans un fichier accompagnant l'exécutable. (3) Le PROGRAMME D'INSTALLATION : un assistant permet de générer un installeur complet (fichiers, raccourcis, prérequis, base de données, désinstallation). (4) La MISE À JOUR AUTOMATIQUE : mécanisme intégré permettant à l'application déployée de détecter et d'installer une nouvelle version — un confort considérable dès qu'il y a plus de quelques postes.
Les points de vigilance d'un déploiement réussi. (1) N'OUBLIEZ RIEN : l'exécutable seul ne suffit généralement pas — il faut le framework WinDev (les bibliothèques d'exécution), les accès natifs à la base, les images et ressources, les états, les fichiers de configuration, les polices particulières. Un déploiement incomplet se manifeste par des erreurs au démarrage chez le client. (2) TESTEZ sur une machine VIERGE, différente de votre poste de développement : c'est la seule façon de repérer ce que vous avez « en trop » sur votre machine. C'est la règle d'or du déploiement. (3) Prévoyez les DROITS nécessaires (installation, écriture dans certains dossiers) et respectez les emplacements standards du système. (4) Gérez les DONNÉES : première installation (créer la base) vs mise à jour (préserver et éventuellement faire évoluer la structure des données existantes — opération délicate). (5) SAUVEGARDEZ avant toute mise à jour chez le client. (6) Prévoyez le RETOUR ARRIÈRE si la nouvelle version pose problème. (7) Documentez et informez les utilisateurs de ce qui change.
Vocabulaire de la section
- Génération de l'exécutable
- Produire le programme à partir du projet, en choisissant la configuration (32/64 bits, options). Première étape de la livraison.
- Programme d'installation
- L'installeur généré par assistant : il pose les fichiers, crée les raccourcis, installe les prérequis, prépare la base de données et gère la désinstallation.
- Mise à jour automatique
- Mécanisme intégré permettant à l'application déployée de DÉTECTER et d'INSTALLER une nouvelle version — confort considérable dès qu'il y a plus de quelques postes.
- Test sur machine vierge (⚠️)
- LA règle d'or : tester l'installation sur une machine DIFFÉRENTE du poste de développement. C'est le seul moyen de repérer les éléments manquants (framework, accès natifs, ressources).
- Évolution de la structure de données
- Lors d'une mise à jour, les données existantes doivent être PRÉSERVÉES et leur structure éventuellement modifiée. Opération délicate : sauvegarder impérativement avant.
Quelle est la règle d'or avant de livrer une application ?
En pratique — Déployer une application
- Générez l'exécutable dans la bonne configuration, puis créez le PROGRAMME D'INSTALLATION avec l'assistant (fichiers, raccourcis, prérequis, base).
- Vérifiez que TOUT est inclus : framework WinDev, accès natifs à la base, images, états, ressources, fichiers de configuration.
- TESTEZ l'installation sur une MACHINE VIERGE, différente de votre poste de développement — la seule façon de détecter ce qui manque.
- Distinguez première installation (créer la base) et mise à jour (préserver les données, faire évoluer la structure) ; SAUVEGARDEZ avant toute mise à jour et prévoyez un RETOUR ARRIÈRE.
Points clés à retenir
- La chaîne de livraison WinDev : GÉNÉRATION de l'exécutable (configuration 32/64 bits), BIBLIOTHÈQUE des éléments, PROGRAMME D'INSTALLATION généré par assistant (fichiers, raccourcis, prérequis, base, désinstallation) et MISE À JOUR AUTOMATIQUE de l'application déployée.
- ⚠️ N'OUBLIEZ RIEN : l'exécutable seul ne suffit pas — il faut le FRAMEWORK WinDev, les accès natifs à la base, les images, états, ressources et fichiers de configuration. Un déploiement incomplet se traduit par des erreurs au démarrage chez le client.
- ⚠️ RÈGLE D'OR : TESTER l'installation sur une MACHINE VIERGE, différente du poste de développement. C'est le seul moyen de découvrir ce que vous avez « en trop » sur votre machine et qui manquera chez le client.
- Gérez les DONNÉES : première installation (créer la base) vs MISE À JOUR (préserver les données et faire évoluer la structure — délicat). SAUVEGARDEZ toujours avant une mise à jour chez le client, prévoyez un RETOUR ARRIÈRE et informez les utilisateurs des changements.
Questions fréquentes
Pourquoi tester l'installation sur une machine vierge est-il indispensable ?
Parce que votre poste de développement contient déjà tout ce qu'il faut (framework, pilotes, accès natifs, polices, composants) : l'application y fonctionne forcément, ce qui masque tout ce qui manquera chez le client — seul un test sur machine vierge révèle la vérité. Le piège du poste de développement : (1) L'atelier WinDev a installé de nombreux éléments : bibliothèques d'exécution (framework), accès natifs aux bases de données, composants, polices, outils. (2) Vous avez peut-être aussi installé au fil du temps des pilotes, des utilitaires, des paramètres régionaux particuliers. (3) Votre application utilise donc peut-être des éléments présents « par accident » sur votre machine — et vous n'avez AUCUN moyen de le savoir tant que vous testez chez vous. (4) Chez le client, ces éléments sont absents : l'application refuse de démarrer, ou plante à la première impression, au premier accès aux données, à l'ouverture d'un écran particulier. (5) C'est LA cause n°1 des déploiements ratés — et le problème se découvre au pire moment : devant l'utilisateur, le jour de la livraison. Ce qu'un test sur machine vierge révèle : (1) Le FRAMEWORK manquant ou incomplet. (2) Les ACCÈS NATIFS à la base non déployés. (3) Les RESSOURCES oubliées : images, états, fichiers de configuration, modèles de documents. (4) Les POLICES spécifiques absentes (les états s'impriment alors de travers). (5) Les DROITS insuffisants : écriture impossible dans un dossier, installation nécessitant des privilèges administrateur. (6) Les PARAMÈTRES RÉGIONAUX différents (formats de date et de nombre — source de bugs sournois). (7) Les chemins codés en dur qui n'existent pas ailleurs. (8) Les prérequis système non installés. Comment tester correctement : (1) Utilisez une machine (ou une machine VIRTUELLE) réellement vierge, avec un système propre correspondant à l'environnement client. La machine virtuelle est idéale : on repart d'un instantané propre à chaque essai. (2) Installez UNIQUEMENT via votre programme d'installation, comme le ferait le client — sans rien ajouter à la main. (3) Testez avec un compte utilisateur STANDARD, pas administrateur : c'est souvent la réalité en entreprise. (4) Parcourez TOUTES les fonctions : ouverture, saisie, recherche, IMPRESSION (souvent oubliée dans les tests), exports, sauvegarde. (5) Testez aussi la MISE À JOUR, pas seulement l'installation initiale : c'est un scénario différent (données existantes à préserver, structure à faire évoluer). (6) Testez la DÉSINSTALLATION. (7) Refaites le test à chaque version majeure. Les bonnes pratiques complémentaires : (1) Tenez une LISTE de contrôle du déploiement (ce qui doit être inclus, ce qui doit être vérifié). (2) Documentez les prérequis pour le client. (3) Chez le client, sauvegardez avant toute mise à jour et prévoyez un retour arrière. En résumé : tester sur machine vierge est indispensable parce que votre poste de développement possède DÉJÀ tout ce dont l'application a besoin — framework WinDev, accès natifs aux bases, composants, polices, pilotes, paramètres régionaux — de sorte que le programme y fonctionne forcément, y compris en s'appuyant sur des éléments que vous n'avez pas pensé à inclure dans l'installeur. Ce test est donc le SEUL moyen de découvrir ce qui manquera chez le client : framework absent, accès natifs non déployés, images, états, fichiers de configuration ou polices oubliés (les états s'impriment alors de travers), droits insuffisants pour écrire dans un dossier, chemins codés en dur, paramètres régionaux différents provoquant des erreurs de dates et de nombres. C'est la première cause des déploiements ratés, et le défaut se révèle au pire moment : devant l'utilisateur, le jour de la livraison. La méthode : une machine VIRTUELLE vierge (facile à réinitialiser) correspondant à l'environnement client, une installation faite UNIQUEMENT par votre installeur, un compte utilisateur STANDARD et non administrateur, puis un parcours de TOUTES les fonctions — sans oublier l'IMPRESSION, souvent négligée. Testez aussi le scénario de MISE À JOUR, différent de l'installation initiale, ainsi que la désinstallation.
Comment gérer les mises à jour d'une application déjà en production ?
Avec méthode : sauvegarder les données AVANT, tester la mise à jour sur une copie, prévoir l'évolution de la structure des données, planifier hors des heures critiques, informer les utilisateurs et garder une possibilité de RETOUR ARRIÈRE. Les enjeux spécifiques d'une mise à jour : (1) Il existe des DONNÉES RÉELLES à préserver absolument — c'est toute la différence avec une première installation. (2) La STRUCTURE des données a peut-être évolué (nouvelles rubriques, nouveaux fichiers, types modifiés) : il faut faire évoluer les données existantes sans rien perdre. WinDev propose des mécanismes de modification automatique des fichiers de données, mais l'opération reste délicate et doit être testée. (3) Des utilisateurs TRAVAILLENT : on ne peut pas interrompre n'importe quand. (4) Un échec est visible immédiatement et peut bloquer toute une activité. La procédure recommandée : (1) SAUVEGARDEZ les données (et l'ancienne version de l'application) AVANT toute intervention. Non négociable — c'est votre seule assurance. Vérifiez que la sauvegarde est exploitable. (2) TESTEZ la mise à jour sur une COPIE des données réelles, dans un environnement de test. C'est le seul moyen de valider la conversion de structure sur des données représentatives — un jeu de test artificiel ne révèle pas les cas particuliers accumulés en production. (3) PLANIFIEZ l'intervention hors des heures critiques (soir, week-end, période creuse) et informez les utilisateurs à l'avance. (4) Vérifiez que personne n'utilise l'application pendant l'opération (surtout si la structure des données change). (5) Déployez : mise à jour automatique si vous l'avez prévue, ou installation manuelle selon le contexte. (6) VÉRIFIEZ après : lancez l'application, contrôlez les fonctions principales, vérifiez quelques données significatives (totaux connus, enregistrements récents), testez une impression. (7) Restez DISPONIBLE les heures suivantes : c'est à l'usage réel que les problèmes apparaissent. Le RETOUR ARRIÈRE : (1) Prévoyez-le AVANT de commencer : comment revenir à l'état antérieur si la nouvelle version pose un problème bloquant ? (2) Cela suppose : la sauvegarde des données, l'ancienne version de l'application conservée, et une procédure connue. (3) ⚠️ Attention : si la structure des données a été convertie, un retour arrière peut être complexe voire impossible sans restaurer la sauvegarde — d'où l'importance capitale de celle-ci. (4) Décidez à l'avance du critère qui déclencherait un retour arrière. La communication : (1) INFORMEZ les utilisateurs : quand, combien de temps, ce qui change. (2) Documentez les NOUVEAUTÉS : une mise à jour qui change des habitudes sans explication génère du rejet et des appels au support. (3) Prévenez du support disponible en cas de difficulté. (4) Recueillez les retours après quelques jours. En résumé : gérez une mise à jour en production comme une opération à risque, avec méthode. SAUVEGARDEZ impérativement les données ET l'ancienne version avant toute intervention, en vérifiant que la sauvegarde est exploitable — c'est votre seule assurance, d'autant plus indispensable que la conversion de structure des données peut rendre le retour arrière impossible autrement. TESTEZ la mise à jour sur une COPIE des données RÉELLES : seul un jeu de données de production révèle les cas particuliers accumulés au fil du temps, qu'un jeu de test artificiel ne montrera jamais. PLANIFIEZ hors des heures critiques, assurez-vous que personne n'utilise l'application pendant l'opération (surtout si la structure change), puis VÉRIFIEZ immédiatement après : fonctions principales, données significatives (des totaux que vous connaissez), et une impression. Prévoyez explicitement le RETOUR ARRIÈRE avant de commencer — procédure connue, ancienne version conservée, critère de décision défini — et restez disponible les heures suivantes, car c'est à l'usage réel que les problèmes se révèlent. Enfin, communiquez : informez à l'avance du créneau et de la durée, documentez ce qui change, car une mise à jour qui bouscule les habitudes sans explication génère rejet et appels au support.