Pourquoi vous devriez abandonner Windev ?

Après un peu plus de 25 ans dans l’informatique j’avais toujours réussi à éviter cet AGL. Ma dernière expérience m’a confronté à la fois à un ERP maison développé en Windev et également à une pléthore de progiciels utilisant également cette technologie. Du coup même si j’avais un apriori négatif, je me suis dit qu’il devait quand même y avoir un intérêt.

Avant d’aborder les différentes raisons qui me font dire qu’il vaut mieux passe son chemin, je tiens quand même à dire que Windev est un AGL très complet et permet très facilement (et probablement trop) de développer des applications que ce soit pour des plateforme desktop ou mobile. Au fil des années cet outil a fédéré en France une communauté assez large de développeurs, mais pour les raisons suivantes il n’a jamais percé au-delà d’une certaine taille d’entreprise et de nos frontières.

1 La base de données hyperfile

La base de données / ou système de gestion de fichier hyperfile est un véritable argument commercial, et si vous lisez les présentations vous aurez l’impression que finalement il ne s’agit que d’une base de données classique et que vous pourrez facilement l’interfacer avec vos autres SGBD. Première erreur, pour un sgbd soit disant respectant certain standard, vous ne trouverez pas de driver jdbc (même propriétaire), donc il ne sera pas possible de l’interfacer avec la pluspart des outils/etl utilisant ce standard. Il n’existe en fait qu’un driver ODBC et un driver OleDB qui sont très particulier à configurer. J’en parle en connaissance de cause, j’ai déjà travaillé avec de l’oracle, du db2 as400 et zOs et là je pense que c’est le summum du truc propriétaire. Donc vous l’aurez compris la connectivité de la base de données avec l’extérieur est réduite au minimum.

Qu’à cela ne tienne, il existe dans la doc des mécanismes de synchronisation et de réplication. J’ai dû lire de travers car bêtement j’avais compris qu’il était possible de synchroniser une base de données hyperfile avec une base de données mysql via le moteur de réplication. Là encore je suis tombé dans une impasse. La réplication ne semble être disponible que pour hyperfile, tout est fait pour garder la donnée et les développeurs dans l’environnement windev (alors qu’actuellement toutes les autres technologies font tout pour s’ouvrir vers l’extérieur !!!).

2 Le langage

Je passerais rapidement sur le fait d’écrire dans un langage de programmation en français qui fait bizarre quand dans tout ce que j’ai pratiqué auparavant c’est l’anglais qui prédomine. J’aime qu’on défende le français mais pour un langage de programmation je pense qu’il y avait d’autre combat à mener.

Je vais plutôt vous parler de ce que j’ai pu comprendre dans les structures de commandes permettant de manipuler les fichiers hyperfile. La où vous avez l’habitude d’ouvrir une connexion sur une base de données, à partir de cette objet effectuer des requêtes et au besoin ouvrir une autre connexion vers une autre base de données pour faire d’autres manipulations, et bien là c’est pas possible …. J’ai du m’y prendre comme une andouille mais aucun des exemples que j’ai pu tester ne fonctionnait. Ce qu’il y a de très perturbant est également l’absence de modèle objet, et le mélange des genres où ce que vous croyez avoir créé comme un objet se manipule plus loin comme une chaîne de caractère.

3 L’interopérabilité

Un des enjeux majeur dans les systèmes d’information aujourd’hui est de faire communiquer les logiciels entre eux, quelque soient leur techno, l’endroit où ils sont déployés et le système sur lequel ils fonctionnent. En se référant à la documentation on se dit qu’il existe tout ce qu’il faut pour faire des webservices REST ou SOAP et en consommer dans l’application. Effectivement l’ensemble des fonctions permettant de consommer des webservices fonctionnent plutôt très bien. En suivant les assistants, Windev permet de créer une API à partir d’un modèle de base de données (analyse dans le langage de Windev). La structuration de l’API REST proposé semble parfaite et là je me suis dit cool je vais pouvoir exposer facilement la base de données HFSQL pour communiquer avec le reste du système information. Encore une fois, la fougue du débutant a vite été rattrapé par la réalité, vous ne pourrez créer votre API que si vous achetez et vous déployez la brique Webdev qui correspond à leur serveur d’application 😡😡…. J’ai regardé un peu les prix, il n’y a rien d’extraordinaire mais le fait de continuer à enfermer l’entreprise dans ces technologies complètement fermées m’a bloqué.

4 Les progiciels

En plus d’un ERP métier utilisant cette technologie j’ai pu récupéré quelques progiciels métier développés avec cette technologie. Et bien au moins c’est bien les éditeurs de ces soft ont bien compris la philosophie de l’environnement fermé, et ils l’ont appliqués à la lettre … Pas d’API, des accès aux données hyper complexe, alors que même si nous achetons ou louons un progiciel, cela reste les données de l’entreprise ….

Bilan

J’ai un peu de pain sur la planche pour rendre l’ensemble d’application plus cohérents, mais les prochaines décisions sur les choix de softs et techno sont déjà tracé :

  • API obligatoire,
  • Données accessible sur un serveur de données SQL dont je reste l’administrateur
  • Et Windev va finir au musée de l’informatique là où il aurait du rester ! 😁

Tagged in:

0 Comments

Leave a Reply

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.