Projet alternance — BTS SIO SLAM

Modifications WinDev — Maintenance applicative

Maintenance corrective et évolutive des logiciels internes Urgence et Akosone développés en WinDev 27 au sein de l'entreprise.

Logiciel interne — non accessible publiquement (pas de démo disponible)
WinDev 27 Maintenance corrective Maintenance évolutive W-Langage HyperFile
Capture d'écran
Exemple de fonction WinDev
WinDev — fonction
Logiciel Urgence — écran facturation
WinDev — Urgence facturation
Démonstration
WinDev — démo
Contexte du projet

Les logiciels Urgence et Akosone sont des applications Windows desktop de gestion hospitalière utilisées en interne par l'entreprise. Ils gèrent des données métier sensibles liées à la gestion des urgences et à la coordination des soins.

La mission de maintenance se décompose en deux volets :
• Maintenance corrective : identifier et corriger les bogues signalés par les utilisateurs (comportements anormaux, erreurs d'affichage, calculs incorrects).
• Maintenance évolutive : implémenter de nouvelles fonctionnalités demandées par les utilisateurs ou le chef de projet (nouveaux écrans, nouvelles règles métier, améliorations ergonomiques).

Le cycle de travail est le suivant : analyse de la demande → reproduction du problème → correction dans le code WinDev → tests fonctionnels → livraison.

Pourquoi WinDev plutôt qu'autre chose ?

WinDev est un environnement RAD (Rapid Application Development) français édité par PC SOFT. Pour des logiciels Windows desktop couplés à une base de données, WinDev permet un développement sensiblement plus rapide que C# WinForms ou Java Swing : l'environnement intègre nativement un éditeur de fenêtres, un moteur de base de données (HyperFile), un générateur de rapports et des assistants de déploiement.

Inconvénients : outil propriétaire et coûteux, peu présent hors des PME françaises, licences WinDev nécessaires pour développer. La compétence WinDev est peu demandée sur le marché général (hors France) comparée à C# ou Java.

En entreprise, le choix préexistait à mon arrivée. La compétence acquise est avant tout la maintenance d'un existant : lire et comprendre du code WinDev inconnu, naviguer dans une base de code volumineuse, et livrer des corrections sans régressions.

Compétences BTS SIO — Annexe 8-3

Grille d'évaluation officielle de l'épreuve E5 — bloc « Support et mise à disposition de services informatiques ».

Bloc de compétence (Annexe 8-3)Application dans ce projet
Répondre aux incidents et demandes d'évolution Chaque ticket de maintenance est une demande d'incident (bug) ou d'évolution. Analyse du signalement, reproduction, correction, test, livraison. Traitement direct des retours utilisateurs.
Travailler en mode projet Cycle structuré pour chaque correction : analyse du bug → reproduction → isolation dans le code WinDev (procédures, fenêtres, requêtes) → correction → test fonctionnel → livraison sur le poste de test → validation utilisateur → mise en production.
Mettre à disposition des utilisateurs un service informatique Déploiement de la correction sur les postes de production. Vérification du bon fonctionnement après mise à jour. Les utilisateurs retrouvent un logiciel corrigé ou enrichi.
Gérer le patrimoine informatique Maintenance d'un code source existant volumin eux. Respect de la structure et des conventions du projet en place. Non-régression : vérification que les corrections n'impactent pas les fonctionnalités existantes.
Organiser son développement professionnel Apprentissage du W-Langage WinDev, de l'environnement PC SOFT, des spécificités du modèle de données HyperFile. Progression vers des outils plus standard (ASP.NET, Angular) sur d'autres projets de l'alternance.
Contribution personnelle Corrections de bogues identifiés sur les écrans métier d'Urgence et Akosone. Évolutions fonctionnelles demandées par les utilisateurs. Chaque unité de correction a été testée et validée avant livraison.
FAQ — Questions probables du jury
Qu'est-ce que la maintenance corrective vs évolutive ?
Maintenance corrective : corriger un bogue existant — l'application se comporte de manière anormale ou incorrecte par rapport à ce qui est attendu. Exemples : calcul erroné, écran qui plante, donnée non sauvegardée.

Maintenance évolutive : ajouter une fonctionnalité nouvelle à la demande des utilisateurs ou du métier. L'application fonctionne correctement, mais les besoins métier ont évolué et de nouvelles capacités sont requises.
Comment avez-vous analysé et corrigé un bug en WinDev ?
  • Reproduction : recréer le bug dans l'environnement de développement avec les mêmes conditions (données, étapes)
  • Isolation : identifier la fenêtre ou la procédure WinDev concernée via les logs et le débogueur intégré
  • Lecture des logs : WinDev génère des traces d'exécution exploitables pour localiser l'erreur
  • Correction : modification dans le W-Langage (procédures, requêtes, liaisons de fenêtres)
  • Test : validation fonctionnelle sur jeu de données représentatif
  • Livraison : déploiement sur le poste de test, validation par l'utilisateur, mise en production
Pourquoi WinDev et pas C# ou Java pour ce type d'application ?
WinDev est un RAD français édité par PC SOFT. Pour des applications Windows desktop couplées à une base de données métier, il offre une intégration native (BDD HyperFile, éditeur de fenêtres, rapports, déploiement Windows), ce qui accélère significativement le développement en PME.

C# WinForms serait plus portable, plus demandé sur le marché international, et le code serait mieux vérsionné (Git natif). Java Swing est multiplateforme mais plus verbeux pour les UI desktop.

En pratique, le choix préexistait à mon arrivée en entreprise. WinDev était pertinent pour les PME françaises qui ont besoin de développer rapidement des logiciels métier Windows sans équipe importante.
Quelle est votre contribution personnelle ?
Ma contribution porte sur les corrections et évolutions effectivement réalisées sur les logiciels Urgence et Akosone :

  • Correction de bogues identifiés sur des écrans métier (affichage, calculs, persistance de données)
  • Évolutions fonctionnelles demandées par les utilisateurs (nouveaux écrans, nouvelles règles métier)
  • Chaque unité de correction a été testée en environnement de test avant livraison en production
  • Respect de la structure du code existant et des conventions de nommage en place
Comment gérez-vous la livraison d'une correction ?
  • Branche dédiée (si versionning disponible) ou copie isolée du projet pour la correction
  • Tests fonctionnels : validation de la correction sur le jeu de données de test en couvrant le cas nominal et les cas limites
  • Déploiement sur poste test : compilation et déploiement WinDev sur le poste de recette
  • Validation utilisateur : confirmation par l'utilisateur concerné que le comportement est correct
  • Mise en production : déploiement sur les postes de production, vérification du démarrage correct