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:

2 Comments

  1. GoThi

    6 janvier 2022 - 0 h 14 min
    Reply

    Bon … Je suis assez d’accord avec ce qui a été écrit 🙂
    Cependant … il y a toujours un moyen de contournement.

    Hyperfile
    Il existe plein de connecteurs à d’autres BDD, certains payant je l’admet (SQL Server, Oracle, …).

    Langage
    Rien n’empêche d’écrire en anglais … je plaisante 🙂 (même si c vrai).
    J’admet que le langage n’est pas évident, pas spécialement pour le français, mais surtout sur certaines logiques … illogiques, notamment dans les suffixes.

    Interopérabilité
    Entièrement d’accord.
    C la raison pour laquelle j’utilise MySQL et des API en PHP plutôt que des webservices PcSoft 🙂

    Progiciels
    Je pense effectivement que trop de clients ne tiennent pas compte du besoin de posséder ses informations.
    Perso, quand j’utilise HyperFile, c toujours en CS avec le serveur installé chez le client, donc en sa possession.

    Pour moi qui ne fait quasiment que des applis « gestion » sur le serveur du client, honnêtement, c super rapide et, je l’avoue, assez rentable 🙂
    Maintenant, dans l’ensemble, je partage assez tes propos.

    • Nicolas BESNARD

      18 janvier 2022 - 9 h 17 min
      Reply

      Merci pour le retour, de la part de quelqu’un qui connait le produit. Juste pour ajouter, je ne pense pas qu’hyperfile est mauvais en soi, ce que je lui reproche c’est son manque d’ouverture sur des standards du marché ODBC/JDBC et une conformité SQL qui permettrait d’intégrer ces applications dans SI plus facilement. Et je pense que cela contribuerait en plus à pérenniser le produit !

      Nicolas.

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.