Améliorer l'agilité, la productivité et la sécurité

L'intégration continue (CI, pour Continuous Integration) est la pratique consistant à fusionner plusieurs fois par jour toutes les copies de travail des développeurs vers une version centralisée, hébergée dans un référentiel partagé.
L'automatisation des déploiements conduit à la livraison continue (CD), une extension fréquente de l'intégration continue.
Afin de déployer des versions fiables, la livraison continue implique de vérifier la conformité des builds avec les exigences de qualité, de stabilité et de sécurité grâce aux tests automatisés et à l'analyse statique du code, afin de détecter les bugs, les problèmes de qualité et les vulnérabilités (SAST).
Chaque mise à jour du code est donc automatiquement vérifiée et, si elle est acceptée, peut être déployée en production.
En définitive, un workflow CI/CD augmente l'agilité et la productivité de votre équipe de développement, ainsi que la qualité et la sécurité du code.
Avant de soumettre leur code au référentiel, les développeurs doivent d'abord le mettre à jour pour prendre en compte les modifications apportées depuis qu'ils ont récupéré leur copie.
Un workflow CI/CD comporte généralement les étapes suivantes :

Les tests unitaires peuvent être exécutés manuellement, ou écrits et automatisés selon les pratiques de développement piloté par les tests.
Tous les tests unitaires doivent réussir dans l'environnement local du développeur avant que ses modifications soient intégrées dans la version principale. Cela évite que son travail en cours ne casse les copies des autres développeurs.
Outils & Ressources
Les développeurs soumettent leurs modifications au référentiel et fusionnent leur branche de code avec la version principale.
Un serveur de build compile le code périodiquement, voire après chaque commit, et transmet les résultats aux développeurs.
PowerBuilder 2025 et 2025 R2 renforcent l'intégration continue avec un nouveau compilateur haute performance (éditions CloudPro et Professional) et des processus d'automatisation simplifiés.
Les versions récentes de PowerBuilder offrent un ensemble de fonctionnalités qui simplifient ce processus :
PBAutoBuild est l'outil de build autonome en ligne de commande de PowerBuilder, disponible depuis PowerBuilder 2021. Il compile et déploie les projets en dehors de l'IDE, ce qui en fait le point d'entrée d'un workflow CI/CD. Il ne nécessite ni l'IDE PowerBuilder ni licence PowerBuilder sur la machine de build : seuls PowerBuilder Utilities et PowerBuilder Runtime sont requis (ainsi que PowerServer Toolkit pour les projets PowerServer).
PBAutoBuild peut compiler :
Dans PowerBuilder 2025, PowerBuilder Compiler (PBC) est intégré à PBAutoBuild250.exe : les scripts PBC existants continuent de fonctionner en ajoutant le paramètre /pbc. PBAutoBuild propose également une option "deploy only" (déploiement seul).
Si vous utilisez PowerBuilder 2019 ou 2017, consultez cet article pour savoir comment utiliser l'outil précédent "PowerBuilder Compiler".
PowerBuilder s'intègre nativement aux systèmes de contrôle de version tels que GIT, SVN ou des systèmes externes compatibles avec l'API SCC. Cela simplifie le partage d'une version commune du code et sa récupération à des fins de CI/CD.
Remarque : l'API SCC et PBNative ne fonctionnent qu'avec le format workspace traditionnel ; le format Solution introduit dans PowerBuilder 2025 prend en charge Git et SVN.
Le langage ORCAScript est destiné à effectuer des opérations de contrôle de version et à construire des bibliothèques, des workspaces et des exécutables PowerBuilder sans intervention humaine.
La compilation ORCAScript ne s'applique qu'au format workspace : les solutions sont compilées avec PBAutoBuild.
Outils & Ressources
La vérification du code s'appuie sur l'analyse statique pour identifier les vulnérabilités de sécurité, les bugs, les problèmes de performance et de qualité, en contrôlant le code source à l'aide de règles prédéfinies. Dans un workflow CI/CD, les résultats aident les équipes à évaluer la qualité du code et à déterminer si un build est prêt à être déployé.
À mesure que les assistants IA accélèrent le développement, garantir la qualité du code devient encore plus important. Chaque modification doit être vérifiée, que le code ait été écrit par un développeur ou généré par l'IA. La vérification automatisée fournit un contrôle cohérent et indépendant sur l'ensemble du code.
Mais la détection des défauts n'est que la première étape. Améliorer la qualité du code exige un processus continu : vérifier le code, analyser et prioriser les résultats, évaluer l'impact des corrections envisagées, corriger, puis vérifier à nouveau pour confirmer leur résolution.
Dans un workflow CI/CD, la vérification doit s'exécuter automatiquement à chaque build, couvrir à la fois le code applicatif et le code de base de données, et produire des résultats qui aident à décider si le build peut être déployé.
Par exemple, Visual Expert permet de vérifier le code PowerBuilder et le code de base de données :
Tableau de bord des défauts : indicateurs de qualité et tendances d'une analyse à l'autre
À mesure qu'une application grandit, une seule vérification peut remonter des centaines de résultats. Sans processus structuré, ces résultats sont difficiles à prioriser, les responsabilités restent floues et l'avancement des corrections est difficile à mesurer. Les équipes ont donc besoin de pouvoir :
Visual Expert accompagne ce processus en conservant les défauts, les décisions, les statuts, les responsables et l'historique d'une analyse à l'autre.
Dans les applications PowerBuilder et de bases de données, un même objet, une même procédure ou une même table est souvent utilisé à de nombreux endroits. Le modifier sans savoir ce qui en dépend peut introduire de nouveaux défauts ailleurs.
Avant d'appliquer une correction, les équipes doivent savoir ce que la modification va affecter. Par exemple, l'analyse d'impact de Visual Expert montre quels objets, procédures et tables dépendent du code modifié, ce qui aide les équipes à définir le périmètre de la modification et les tests à réaliser ensuite.
L'assistance de l'IA peut accélérer les corrections, à condition que chaque modification proposée soit relue par un développeur, puis vérifiée à nouveau.
Par exemple, avec Visual Expert AI, les développeurs peuvent utiliser Suggérer une solution sur un défaut issu des résultats de vérification. Visual Expert propose un code corrigé, accompagné de commentaires dans le code et d'une explication des modifications, pour aider les développeurs à examiner la correction proposée. Les développeurs gardent la main : ils examinent la proposition, l'adaptent si nécessaire, puis l'appliquent.
Lorsque le code est peu familier, Expliquer la logique peut également fournir un résumé de ce que fait une fonction ou une procédure.
Une correction n'est terminée qu'une fois vérifiée. Une nouvelle analyse confirme que le défaut n'est plus détecté, et son statut ainsi que son historique sont mis à jour. Répétée à chaque build, cette vérification continue permet de détecter rapidement les régressions, d'éviter l'accumulation de défauts non résolus et de maintenir la qualité et la sécurité du code dans la durée.
Outils & Ressources
L'intégration continue vise à automatiser les tâches pour vérifier et générer des builds déployables aussi souvent que possible.
Les tests sont une étape essentielle de ce processus, et leur automatisation est indispensable pour atteindre cet objectif : chaque build est testé en profondeur et les indicateurs générés automatiquement permettent d'évaluer s'il est déployable.
Évidemment, chaque équipe teste ses produits.
Pourtant, toute livraison comporte des défauts.
Les testeurs s'efforcent de les détecter : certains passent toujours entre les mailles du filet, tandis que d'autres réapparaissent, quelle que soit la rigueur des tests manuels.
Un outil d'automatisation des tests est un moyen très efficace de compléter vos tests manuels, pour améliorer l'efficacité et la couverture de vos opérations de test.
En savoir plus : étapes de création de tests automatisés

Les générations d'outils précédentes avaient la réputation de demander trop d'efforts pour créer et maintenir les tests, ce qui allait à l'encontre de l'objectif de gain de productivité.
Elles reposaient souvent sur 2 stratégies :
Les outils modernes offrent une approche différente, basée sur la reconnaissance d'objets :
En savoir plus
Comparons les deux stratégies à l'aide d'indicateurs clés :
| Manuel | Auto | ||
| Précision | ❌ | ✓ | Les tests manuels sont moins précis en raison des erreurs humaines possibles. Les tests automatisés sont cohérents et fiables. |
| Productivité | ❌ | ✓ | L'exécution de nombreux tests manuels prend du temps et coûte cher. Les tests automatisés sont plus rapides. Aucun coût supplémentaire pour les répéter autant de fois que nécessaire. |
| Démarrage | ✓ | ❌ | Vous pouvez commencer à exécuter des tests manuels immédiatement. Les tests automatisés nécessitent un travail préalable pour définir les tests et les actions. |
| Flexibilité | ✓ | ❌ | Le test manuel est plus flexible : il permet de tester de manière aléatoire ou d'improviser à la volée des tests approfondis sur une zone très précise. Ce n'est pas le cas du test automatisé. |
Les tests automatisés apportent évidemment des avantages majeurs, mais ne peuvent pas remplacer entièrement les tests manuels.
La meilleure stratégie consiste à combiner judicieusement les 2 approches en fonction :
Pour aller plus loin :
Vous pouvez utiliser AscentialTest pour automatiser les tests des applications PowerBuilder et PowerServer
Outils & Ressources
Les outils modernes permettent d'automatiser diverses tâches dans un workflow CI/CD. La prise en charge multilingue en fait désormais partie.
Si votre application est déployée dans plusieurs pays, vous la traduisez probablement pour mieux servir vos utilisateurs. Une fois en production, vous devez systématiquement mettre à jour les traductions afin de maintenir une expérience utilisateur cohérente.
Outils & Ressources
Enable for PowerBuilder sépare les traductions du code et inclut des fonctionnalités spécifiques pour l'intégration dans un pipeline CI/CD :
Vous pouvez ajouter une tâche multilingue à votre workflow, par exemple :
Remarque : les phrases sont généralement traduites par des traducteurs professionnels. Ceux-ci renvoient les traductions, qui sont importées automatiquement dans la base de données multilingue. Ce second processus est indépendant du processus de build.
Remarque : AscentialTest fournit une fonctionnalité de traduction des tests, afin que le même ensemble de tests puisse être utilisé pour tester l'application cible dans toutes les langues prises en charge.