v1.50a
Bienvenue sur mon blog qui a été développé, vous vous en doutez bien, avec WinDev ! J'aborderai ici des sujets de programmation complémentaires au site aaa.windev.free.fr (site consacré à l'apprentissage du WLangage et dont je suis le rédacteur). J'ai également l'intention d'y aborder des sujets plus personnels et qui me tiennent à coeur. Mon plus cher souhait est que le lecteur ne s'y ennuie pas.
Lundi 29 Mai 2006
Je constate avec l'expérience que la qualité que je recherche le plus aujourd'hui c'est la simplicité. C'est aussi vrai pour les personnes que pour les objets. Ca suffit de se prendre la tête pour se déplacer, prendre une photo, réchauffer un plat, envoyer un email, programmer. J'ai choisi dans l'ordre le vélo, un Canon Powershot A420, le micro-onde multifonction avec le bouton rotatif qui fait tout, Gmail et WinDev 10.
La simplicité, c'est aussi une exigence que j'essaye d'appliquer aux programmes que j'écris. En préparant un nouveau site pour une institutrice, j'ai pu observer ses hésitations quand elle utilisait WDGalerie. De retour à la maison, j'ai immédiatement rajouté les petits détails qui vont lui simplifier la vie.
Parallèlement je développe un photoblog avec WinDev 10 et PHP. Ici aussi sobriété et simplicité sont mises en avant. Le site n'est pas encore ouvert, mais il le sera peut-être quand vous lirez ces lignes.
Photoblog développé avec WinDev 10
Lundi 22 Mai 2006
Réaliser un rêve d'enfance n'est pas évident. "Quand je serai grand, je serai pompier", celui-ci reste accessible. Avec "... je serai cosmonaute", évidemment ça se gâte un peu. Mais le plus inaccessible, c'est sans doute "Quand je serai grand, je serai l'homme invisible".
Hé bien, pas du tout ! J'ai réalisé ce rêve très facilement. C'est assez excitant. Vous vous plantez devant les gens, et ils ne vous voient pas. Leur regard vous traverse. Vous pouvez agiter les bras, leur faire des mimiques. Ils restent imperturbables.
J'hésite à vous livrer mon secret, car entre de mauvaises mains, il peut s'avérer dangereux. Bon tant pis, mais je vous aurais prévenus.
Vous voulez être invisible, ignoré de tous. Prenez une bicyclette et baladez-vous en dehors des pistes cyclables et s'il-vous-plaît croyez-moi sur parole si vous souhaitez en revenir vivant.
Hé oui, il y a un nouveau WDGalerie, qui est encore mieux que l'ancien. Vous ne le trouverez pas sur le site habituel, car cette nouvelle mouture a été développée pour un nouveau site auquel je collabore.
Ce site va proposer des ressources éducatives pour la classe de maternelle. On y trouvera notamment quelques programmes que j'ai développés avec WinDev et des galeries photos.
J'ai eu besoin d'un nouveau style de galerie et tant que j'étais dans le source, j'en ai profité pour rajouter quelques fonctionnalités :
Une gestion de profils. Chaque profil correspond à une utilisation de WDGalerie. Il suffit de choisir le profil au lancement de WDGalerie pour récupérer les valeurs par défaut associées à ce profil. Très pratique quand on publie sur différents sites.
La possibilité de diminuer la taille des grandes images. Mon nouvel appareil photo numérique génère des photos en 3000x2000 pixels. C'est largement excessif pour un affichage dans un navigateur. WDGalerie peut maintenant diminuer la taille de ces images.
Plein d'autres petits détails que je vous laisse découvrir.
WDGalerie nouvelle version est disponible ici :
Lundi 15 Mai 2006
La complexité a cette étrange vertu de nous rendre fier de notre code, comme si un bon gros code compliqué affirmait notre supériorité. On se prend facilement à ce petit jeu. Je l'ai vérifié récemment en modifiant WDGalerie.
Voulant ajouter un bouton "Supprimer" sur une liste multisélection, j'ai pondu un code astucieux qui réalisait ceci :
- recherche de tous les élements sélectionnés de la liste
- stockage de ces éléments dans un tableau dynamique
- parcours du tableau et suppression effective des éléments
Après quelques tests, il a fallu peaufiner le code :
- vider le tableau dynamique avant de le réutiliser
- parcourir le tableau en partant de la fin
J'étais particulièrement fier de ce dernier aménagement. En effet, si par exemple on cherche à supprimer dans une liste les éléments 3, 5 et 7, il faut impérativement commencer par l'élément numéro 7. Si on débute par l'élément 3, la liste étant réajustée, l'élément 5 passe en position 4. On ne supprime alors pas les bons éléments. Ce problème est magistralement évité en démarrant par l'indice le plus grand.
Evidemment après un tel exploit, une pause café bien méritée, s'imposait. Funeste pause, que j'ai terminée tout penaud, sous le regard amusé de mes collègues. Tout mon code, tous mes efforts étaient vains. Toutes ces belles lignes de programme s'évaporaient. En effet, quand on travaille avec WinDev, une seule ligne de code suffit.
ListeSupprime(nom_de_la_liste)
Je me suis alors retourné contre la documentation. Pourquoi cette information, dont l'absence m'a fait perdre tant de temps, n'est-elle pas documentée ? C'est alors que cette maxime, que je cite si souvent, m'est revenue dans la figure comme un boomerang : "Quand tout a échoué, lire le mode d'emploi". L'aide de la fonction ListeAjoute indiquait très clairement ce mode de fonctionnement.
Moralité : j'aurais effectivement "développé 10 fois plus vite" (slogan publicitaire de PCSOFT), si j'avais lu un minimum la documentation.
Mardi 09 Mai 2006
Quelle plus grande joie pour un programmeur que de voir ses programmes utilisés ?
Régulièrement je mesure la popularité de WDGalerie en recherchant "WDGAL0001.html" dans Google (c'est le nom de la 1ère page générée par WDGalerie).
La récolte a été plutôt bonne aujourd'hui.
La prochaine fois ce sera peut-être votre galerie ?
Vendredi 05 Mai 2006
Les dinosaures, pour certains scientifiques, étaient trop gros et trop compliqués pour survivre durablement. Nos outils informatiques subiront-ils le même sort ?
Il n'y a pas si longtemp MULTIPLAN (le grand père d'EXCEL) tenait sur une disquette 360 Ko. Je l'utilisais pour faire mes comptes avec une grande satisfaction. Aujourd'hui qui sait faire un tableur de 300 Ko ?
Le problème est général; nous prenons notre voiture, capable de transporter des centaines de kg à des centaines de km, pour aller chercher 200g de pain à 500m de notre porte.
Ces gaspillage d'octets sont nuisibles à notre profession. Ils encouragent la paresse intellectuelle et démotivent les plus vaillants. Qui s'attache à coder des algorithmes performants ? Qui se préoccupe de la mémoire consommée ? Quasiment plus personne.
Les programmes perdent en efficacité, mais le grand perdant c'est le programmeur. J'ai toujours considéré la programmation comme une activité cérébrale stimulante et agréable et je plains sincèrement les "pisseurs de lignes". Serais-je condamné à le rejoindre ? L'avenir nous le dira.
Toutes ces sombres pensées me viennent alors que je termine la lecture de "Pratique de .NET et C#" de Patrick Smacchia (ed. O'Reilly ISBN 2-84177-245-4).
Simple association d'idées ou prémonition ?
Mercredi 03 Mai 2006
Ce weekend j'ai délaissé mon 17 pouces pour un écran 39 pouces marque Juwel modèle RIO 180. J'ai choisi un fond d'écran bleu, sobre, afin de mettre en valeur les couleurs. Dans la partie supérieure, il y a des petites bulles animées du meilleur effet et en bas de l'écran du sable de Hawaï noir et blanc.
Cet écran a un succés fou. Chaque fois qu'une personne passe dans la pièce, elle va se planter devant, s'assoit et passe de longues minutes sans parler. L'effet relaxant est évident.
Deux fois par jour, des paillettes multicolores tombent lentement comme des flocons de neige. L'écran s'agite, les spectateurs ont le nez collé à la vitre. Puis petit à petit, le calme revient.
J'allume l'écran en me levant et je l'ai programmé pour s'éteindre à 22H00. Et chaque fois qu'il s'éteint, les personnes qui sont dans la pièce émettent un long soupir de regret. Mais il faut bien que les poissons dorment aussi.
J'ai vraiment eu une bonne idée d'installer cet aquarium !