WebDev pour un développement rapide mais pour qui ?

L’outil WebDev édité par PCSOFT est un atelier de développement pour la création de site web dynamique. S’inspirant du principe RAD il permet de faire des pages web de façon visuelle et de partir de la base de données pour créer automatiquement ou presque les pages en accès CRUD. Le langage propriétaire, WLangage, est en français et facile d’accès car d’abord procédural et objet optionnellement.

La prise en main de l’outil est vraiment aisée. La facilité et la rapidité des créations d’un site en CRUD avec le RAD est bluffante. Toutefois toute belle fille ne peut donner plus qu’elle n’a. Si Webdev permet de baisser drastiquement la barrière de compétence pour développer, quelles sont les limites informatiques dans l’architecture du SI quand on mise ses développements sur Webdev ou tout outil équivalent ?

En premier lieu le choix de Webdev est judicieux pour permettre une population ancienne technologie d’accéder, sans montée en compétence, à des technologies nouvelles. La terminologie utilisée par Webdev sent bon l’ancien temps avec la notion de fichier ou de rubrique pour les tables et les colonnes. Le langage possède même une instruction GOTO ! En même temps l’outil propose sur simple clic d’accéder à des techniques dans l’air du temps: Ajax, Webservice… Cette dualité ouvre la porte au plus grand nombre aux dernières innovations sexy de l’informatique et cela dès la lecture d’une publicité commerciale ou du manuel utilisateur de Webdev…

Malheureusement la forme n’est pas tout et les organisations ont des besoins différents. Webdev est-il le graal ? La réponse est évidement non. Un raisonnement par l’absurde suffit à nous convaincre. L’échec des projets de développement informatique ne se conjurent pas par l’utilisation des AGL et le succès des projets utilisant des technologies non RAD dans les secteurs concurrentiels (banque, e-commerce…) montre la pertinence de ces choix technologiques.

Les secteurs où la technique relève d’un critère concurrentiel ne peuvent se permettre d’attendre la prochaine version de l’AGL pour offrir la dernière technologie à la mode à ces clients. L’accélération du monde fait que le “time to market” est parfois vital. Une bonne idée ce n’est pas suffisant, il faut la mettre en œuvre avant les autres.

Le modèle des appliccations WebDev promeut un développement CRAD (mélange de RAD et de CRUD). En effet la rapidité de développement pousse à la paresse conceptuelle. La conception consiste à modéliser (et faire apparaître) des objets artificiels qui ne sont ni issus du métier ni même technologiques (je n’utilise pas le terme technique pour bien préciser ma pensée). Cette tâche de conception nécessite de vrai compétence informatique que le public visé par Webdev n’a pas. L’approche RAD se focalise sur l’analyse qui n’est n’y plus ni moins qu’un modèle meurisien orienté données. La tentation est alors grande de se laisser enfermer dans l’outil et de ne pas passer par la case conception logicielle. La préjudice ne se voit pas si la logique métier est peu présente dans l’application;.. Mais on fait alors l’impasse sur l’évolutivité, la scalabilité et donc la pérénité de l’application.

Les organisations ayant une SI de grande ampleur où l’interconnexion des systèmes occupe une place importante ne peut se contenter du modèle applicatif proposer par WedDev. En effet la notion de réutilisation semble re dans WebDev qu’un partage de bibliothèques qui nécessiteront un “redéploiement” (livraison) de toutes les applications qui les utilisent. Pourtant des technologies datant de la fin des années 90 adressent ces problématiques comme les EJB ou plus anciennement les ORB Corba.

Si on replace dans l’utilisation de l’outil, la présentation du code est bien pensée en regroupant sur un écran les codes de différentes natures qui concourent au fonctionnement d’une page ou d’un bouton. Dommage que des bugs mineurs tels que le crash de l’IDE quand l’assistant de saisie présente les paramètres de la procédure Milieu() utilisée dans le premier exemple de l’auto-formation (Ce bug est répétable sur plusieurs machines de mon organisation, peut-être un problème de master spécifique). Ce n’est toutefois pas très gênant.

Pour conclure ce billet auquel d’autres succéderont au fil de mon utilisation de WebDev, je dirais qu’il faut prendre cet AGL pour ce qu’il est: un moyen de développer rapidement sans prétention. Il faut donc savoir faire le deuil de toute agilité du SI et pour cela bien analyser la typologie de son SI.

Table MySQL elgg_objects_entity corrompue

The official logo of the database query MySQL
Image via Wikipedia

Est-ce que cette table est plus sujette que les autres à des problèmes dans Elgg ? Peut-être. En tous les cas le message signalant que la table elgg_objects_entity est marquée comme “ayant craché et que la réparation automatique a échoué” n’est pas rare sur le web dans les moteurs de recherche. Cette table étant centrale dans Elgg, l’application ne fonctionne plus du tout.

Cependant la situation se règle rapidement avec l’outils d’administration de MySql. Sans aucune connaissance spécifique à ce SGBD, ou connaissance en ligne de commande, l’utilisateur peut réparer la table.

Pour cela il suffit de se positionner sur la base (schéma) de Elgg puis sur la table elgg_objects_entity pour lancer la commande de réparation via le menu contextuel. Sans même utiliser les options proposées, la réparation est un succès et l’instance de Elgg est de nouveau fonctionnelle.

Transfert des photos et vidéos du N900 vers un DVD

DVD-R bottom side
Image via Wikipedia

Le N900 permet de prendre des photos en 2576×1936 et des vidéos en 848×480. Ces résolutions sont plus que suffisantes pour produire des DVD contenant film et diaporama. Ce billet montre comment réaliser un DVD vidéo à partir de ces fichiers en utilisant des logiciels libres.

Le logiciel Imagination disponible dans le dépôt d’Ubuntu s’acquittera de la tâche de transformation des photos en diaporama. Il propose la rotation des photos manuellement (ne lit pas les données exif), l’ajout de transitions parmi plusieurs dizaines et d’ajoindre une bande son musical au diaporama (plusieurs formats sont supportés). Le diaporama produit s’exporte diretement en fichier VOB.

Les fichiers vidéo produits par le N900 sont au format en MPEG4. Le transcodage en MPEG2 utilisé par le DVD se fera avec l’outil ffmpeg. Supposons que l’on veuille transcoder le fichier 20110717_078.mp4, il faudra faire:


ffmpeg -i 20110717_078.mp4 -f pal-dvd 20110717_078.mpeg

La mise en forme des vidéos (découpage, concaténation, transition…) se fera avec l’incontournable Cinelerra. On fera attention à ne pas prendre en entrée les fichiers MP4 brutes du N900 car leur manipulation par le logiciel est lourde et le rendu sonore des vidéos incorrect (son coupé). Il faut prendre en entré les vidéos déjà transformées en MPEG2. Une fois le montage effetué, il faut exporter c’est-à-dire effectuer le rendu de la vidéo. On utilisera le format DV (attention trés gourmand en espace disque).

Enfin quand les fichiers vidéos sont prêts (diaporamas en VOB, vidéos montées en DV, fichier viédos brutes en MP4), on utilise le logiciel DVDStyler. Ce dernier permet la création de DVD Vidéo avec des menus interactifs. Il est egalement possible d’ajouter un fond musical sur les menus. La génération du DVD peut se faire directement par gravure, ou par création d’un fichier ISO ou bien par génération de l’arborescence du DVD.

Le résultat testé sur PC et dans un lecteur de salon (XBox 360) est trés convaincant. Le N900 étant largement issu du monde linux, il est donc tout à fait possible de produire des DVD amateurs avec du libre de bout en bout.