Au fil de l'eau

Aller au contenu | Aller au menu | Aller à la recherche

mardi, février 28 2006

Petite satifaction

Parfois on a l'impression d'avoir fait du bon travail, et ça fait plaisir. S'appercevoir que l'on a fait un bon design quand on revient sur son code plus tard est assez gratifiant par exemple.

L'autre jour j'ai eu a revenir sur un bout de code que j'avais fait pour ajouter un nouveau cas à traiter. Total des modifs :

  • ajout d'une constante dans 1 enum
  • ajout d'un élément à un tableau de constantes
  • ajout de 2 lignes de codes

C'était un bon design. :-)

lundi, novembre 29 2004

Visual Source Safe

Au boulot on utilise Visual Source Safe. C'est un système de controle de source simple d'utilisation et assez répandu, avec ces qualités et ses défauts. Une de ses particularités, c'est de l'obligation d'associer un répertoire de travail à un projet. Rien de bien méchant jusque là, pourtant aujourd'hui, j'ai perdu une bonne partie de ma matinée à cause de cette fonction !

Les dossiers de travail de mon projet étaient normalement configurés pour pointer sur un répertoire d'un lecteur réseau (G:), mais pour certains des sous-projets, le chemin était exprimé par le chemin UNC (de la forme \\serveur\dossier\). Je ne sais pas trop pourquoi c'est devenu comme ça, surement une fausse manip à un moment quelconque. Bref, ce n'était pas très génant, après tout, les répertoires étaient les bons.

Seulement, pendant le week-end, nos répertoires personnels ont été transférés sur un autre serveur. Le lecteur réseau G: a été mis à jour, mais du coup, les chemins UNC ne sont plus bon ! Et mes répertoires de travail sont dans les choux. Enfin, la moitié seulement, mais c'est pas tellement mieux. Je me dis, bon, je n'ai pas envie de passer tous les répertoires en revue, en plus comme à chaque fois que je veux changer le répertoire il cherche pendant 1mn l'ancien répertoire, c'est pas une solution pratique. Alors je me mets à chercher un moyen de réinitialiser tous les dossiers de travail globalement pour pouvoir réaffecter le projet racine d'un seul coup.

Et bien je n'ai pas trouvé cette solution miracle. J'ai cherché dans l'aide, sur Internet, dans sur le disque dur, dans la base registre, mais impossible de trouver où cette information est stockée.

Maintenant que j'ai bien perdu mon temps à changer les répertoires à la main, je viens enfin de trouver où l'information est stockée. Sur le serveur Source Safe, bien sur ! C'est une information qui ne concerne que le client, qui est spécifique à chaque machine et à chaque utilisateur, mais l'information est sur le serveur. La logique de certains développeurs m'échappe parfois.

jeudi, octobre 7 2004

SQLite

Je viens de découvrir SQLite. Il s'agit en fait d'une bibliothèque écrite en C qui permet d'utiliser une base de donnée fichier avec des requêtes SQL. Cela me semble l'idéal pour faire des applications simples mono-utilisateur qui gèrent une base de donnée, par exemple quelque chose comme BDGest.

Les avantages que je vois :

  • Pas d'exécutable serveur de type MySQL ou Oracle
  • Facile à porter sur plusieurs plateforme gràce au code source
  • Facile à distribuer en compilant la bibliothèque statiquement

L'autre nouvelle, c'est que des travaux sont effectués pour utiliser SQLite pour la gestion du cache et de l'historique dans Mozilla. Cela passe par l'implémentation d'un composant et d'une interface (XPCOM je suppose), qui sera, je l'espère, accessible pour les utilisateurs de Mozilla en temps qu'environnement de programmation. Ce qui signifie qu'il sera possible de développer facilement les applications dont je parle plus haut en XUL. Couplé avec le XULRunner, ça va être le pied ;-).

vendredi, août 20 2004

Ombrages

Mozilla ne supporte pas encore les effets d'ombrages CSS, mais on peut les simuler en partie à l'aide de XBL. C'est une technologie propriétaire Mozilla qui cependant fait l'objet d'une note au W3C. XBL permet, entre autre, d'étendre le langage HTML assez facilement (il permet notamment d'implémenter l'horible balise <marquee>).

C'est un effet très expérimental, et peu paramètrable, mais il a le mérite d'exister. Et je suis sûr que des gens plus calés peuvent améliorer le concept. Allez, encore un petit paragraphe pour la route.

Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vivamus mattis dapibus libero. Nam placerat mattis lectus. Fusce quis urna. Nulla pede. Proin fringilla accumsan wisi. Pellentesque nec wisi. Aenean ac nulla. Quisque venenatis orci eu tortor. Vivamus eget nunc vel eros vestibulum posuere. Cras libero felis, suscipit at, facilisis sit amet, porta nec, leo. Mauris malesuada condimentum justo. Integer tortor erat, fringilla at, elementum eu, pulvinar id, eros. Donec sed sem. Maecenas vitae erat nec libero faucibus consequat. Aliquam faucibus enim eget nibh. Phasellus varius vehicula nunc. Nunc lorem. Duis consequat. Sed viverra, ipsum ut placerat nonummy, ante nibh vulputate justo, molestie rutrum tortor neque sed libero. In velit wisi, venenatis at, ultricies non, scelerisque vel, elit.

mardi, mars 9 2004

Chicken of the VNC

J'ai corrigé un bogue majeur dans Chicken of the VNC. Pour info, Chicken of the VNC est un client VNC pour Mac. Il fonctionne pas mal, mais la dernière version du serveur VNC posait un problème avec ce client. Selon mon analyse du bogue, c'est la documentation technique du protocol qui est erronée. Je vais vérifier de ce pas dans les sources du client officiel.

SOAP & la sécurité

De part son architecture multi-tiers, le problème de la sécurité se pose quand on utilise SOAP. Je me pose quelques intérogations quand aux moyens de sécurilser un service SOAP.

D'abord, comment s'assurer que le client SOAP a le droit d'exécuter les procédures du service ? Est-ce que quelque chose est prévue dans la norme ou bien faut-il se rabatre sur des mécanismes existants comme l'authentification HTTP ?

Ensuite, on peut facilement oublier que faire des valiations coté client ne suffit pas. De la même façon qu'avec la programmation Web, il y a nécessité de faire les validations sur le serveur, car ce n'est pas forcément un client maitrisé qui va envoyer la requête.

Enfin, je pense à un problème potentiel avec Delphi et les "datasets clients" : on peut agir sur les tables de la base de données sans avoir la sécurité d'un contrôle du SGBD.

En conclusion, il faut être très vigilant avec les services SOAP. Il vaut mieux éviter de rendre accessible sur Internet un service disposant de trop grands pouvoir sur la machine serveur, et même sur un intranet, il faut prendre toutes les précautions pour ne pas avoir à subir des conséquences désastreuses.

lundi, février 23 2004

Support des "vieux" OS

Parfois, je suis chagriné quand des logiciels modernes sont obligés d'avoir des vérues pour supporter les "vieux" OS comme WinNT4, Win95, ou MacOS 9. Mais quand je suis obligé d'en utiliser un pour le boulot, je suis bien content que Mozilla Firefox fonctionne correctement avec les antiquités quand même.

vendredi, février 6 2004

De l'importance des formats ouverts

Un client nous a demandé de récupérer des données d'une ancienne application qui utilise un format propriétaire inconnu pour stocker ses données. Et bien, on n'est pas arrivé à les relire ! Pourtant on avait la dernière version du logiciel qui a servi à la développer, mais apparemment il n'était pas capable de récupérer les données des anciennes versions. Merveilleux !

lundi, janvier 19 2004

Changeur de style

Je viens d'implémenter un changeur de style javascript pour cette page. Ça a l'air de marcher pas trop mal sur les navigateurs suivants :

  • Navigateurs Gecko (Mozilla, Firebird, etc.)
  • IE 5.5 (et plus ?) pour Windows

Je pense que ça marche avec IE 5.0 pour Windows. Safari ne supporte pas encore la création dynamique d'éléments de formulaire, donc ça ne marche pas. Avec la version d'IE pour Mac que j'ai, ça ne marche pas non plus. Avec Opera, je ne sais pas.

Mes objectifs à court terme sont d'externaliser le script, et de l'utiliser dans les pages archives puis de sauvegarder le choix dans un cookie.

samedi, janvier 10 2004

Mozilla comme aide au développement

Au boulot, il y a une vieille appli avec des combos personnalisées. Malheureusement, les boutons avec la flêche vers le bas étaient moches, car ils ne ressemblaient pas assez aux vrais boutons de combos. J'ai donc cherché à les améliorer.

Je me suis rappelé que les combos de mozilla, bien que n'étant pas natif, étaient dessinés par le système d'exploitation. J'ai donc cherché dans le code source de mozilla, grace à LXR, et j'ai trouvé ! Maintenant, j'ai des jolis combos.

lundi, novembre 10 2003

Acronym 0.5

Acronym 0.5 est une extension pour le système de gestion de blogues que j'utilise. Il permet d'ajouter automatiquement aux abréviations et aux acronymes courants le balisage nécessaire pour faire apparaitre une bulle d'aide. Exemples : HTML, W3C, ASCII, IE.

Le dictionnaire par défaut contient surtout des acronymes anglais liés à l'informatique, mais il est très facile d'ajouter de nouvelles entrées. Je ferai donc des ajouts en fonction de mes besoins.

Ça fonctionne bien, il ne me reste plus qu'à supprimer le balisage manuel contenu dans mes anciens billets.

mardi, septembre 16 2003

Style du plan d'ophiuchus

Chose promise, chose due. Sylvain m'avait demandé une explication du style du plan d'ophiuchus, c'est maintenant fait.

Détails sur le style du plan d'ophiuchus.org.

lundi, avril 21 2003

Youpi !!!

Un rien me fait plaisir, me direz vous, mais ça y est. Mon article a été accepté et publié par OpenWeb. Mes premiers pas comme rédacteur d'articles sur les standards, ou bien phénomène éphémère, je ne le sais pas encore. En tout cas, je vais faire des efforts pour poursuivre l'expérience !

jeudi, avril 17 2003

Problèmes d'Opera sur mon blog

Enfin ! Je viens de comprendre et de contourner le problème d'Opera avec mon paneau de gauche. Cela venait du fait qu'Opera ne comprend pas la valeur none pour la propriété max-height. Il faut mettre la valeur 0 pour lui dire l'équivalent. Le problème, c'est que si on interprète à la lettre une hauteur maximale de 0, et bien, ça fait réellement une hauteur de 0… Pour satisfaire tout le monde, j'utilise donc la valeur inherit, qui me donne la valeur nécessaire pour ne pas avoir de restriction dans les conditions d'utilisation courante.

mercredi, avril 16 2003

Jeux de mot

Pour le HTML, qui sémantique, sème moderne !

mercredi, avril 9 2003

Test caractère Euro

Est-ce que le symbole € (Euro) s'affiche bien chez vous ? N'hésitez pas à m'écrire pour le dire.

mardi, avril 8 2003

Nouvel article

J'ai une idée pour un nouvel article CSS : l'explication des règles de cascade et d'héritage des propriétés. Je vérifie qu'il n'y a rien de prévu sur ce sujet sur OpenWeb, et je m'y mets. En plus, ça devrais m'aider à bien comprendre le sujet ;-) .

Archives

Bon ; demain je m'attaque au patron des archives. Il est grand temps de s'y mettre.

vendredi, mars 21 2003

Openweb

Openweb, le nouveau site sur les standards du Web est enfin ouvert ! Chouette ! Peut-être que mon article (je sais, je suis un peu borné :-) ) y trouvera une place ?

dimanche, mars 9 2003

Article (2)

Ca y est, mon article est fini. Je l'ai envoyé à la relecture sur la liste de diffusion Pompeur/CSS. On va voir ce que je vaux comme rédacteur :-) .

- page 1 de 2