Impossible de démarrer IIS

Il y a des astuces que j’estime devoir propager sur Internet, car ça peut éviter quelques arrachages de cheveux.

Symptôme: quand on souhaite démarrer IIS (6), ce dernier plante avec l’erreur “Une erreur 0×8ffe2740 inattendue s’est produite“.

Lisez la suite de cette entrée »

Publié dans Développement. Tags : , , . 1 Commentaire »

Les Settings en .Net

La plateforme .Net fournit un mécanisme pour gérer les paramétrages. Il en existe 2 types : ceux de l’application et ceux de l’utilisateur. Au début de l’existance, il y avait la bonne vielle méthode du fichier *.ini, mais aujourd’hui le XML et devenu LE standard pour écrire des données dans un fichier “lisible” et structuré.

Il existe un autre standard : les applications .Net possède un fichier “mon_application.exe.config” qui n’est autre qu’un XML contenant le paramétrage de l’appliation. Ce fichier est structuré en 2 grosses parties: l’entête avec la section “configSections” qui décrit les sections du XML et les “parser” qui vont lire ces dernières. Puis il y a les sections proprement dites.
Lisez la suite de cette entrée »

un iMac illumine mon salon

Enfin, après une longue attente, de nombreuses hésitations, l’iMac illumine mon salon!

A chaud voici mes premières impressions: Lisez la suite de cette entrée »

Publié dans Blabla. Tags : , , , . 4 Commentaires »

Intelligence Artificiel

Étant un véritable Geek fanatique de science, je m’intéresse bien sûr à l’Intelligence Artificielle. L’idée de programmer mon “animal de compagnie virtuel” me trotte dans la tête depuis un moment. Le plus simple étant de faire un “bot” qui essaye de répondre “intelligemment” à ce que je lui demande; avec une approche “déterministe”.

L’étape supérieur serait qu’il puisse me répondre avec une approche “euristique” à l’aide d’une éducation. Cette étape nécessite donc de maitriser les Réseaux de neurones.

Lisez la suite de cette entrée »

Publié dans Blabla. Tags : , , . 2 Commentaires »

Winforms sous Linux

Après 4 ans de développement, la communauté Mono est enfin parvenu à l’implémentation complète des Winforms : http://tirania.org/blog/archive/2008/May-13.html

On peux se demander “oui, mais pourquoi faire?” et je ne trouve pas de réponse à la question. En effet, il arrive souvent qu’une application .Net possède du Legacy et donc des dépendances COM ou P/Invoke. Dans ce cas, on ne peut pas la migrer (pour tester si une migration est possible: http://www.mono-project.com/Moma)

Mais comme je suis exigent en terme d’interface, je n’aime pas avoir une application “alien” qui ne ressemble pas à mon environnement Linux (GTK/QT). Certes, il est prévu d’avoir un meilleur support du moteur de thème lors du prochain GSoC, donc wait and see.

Rappelons que les Winforms sont une sur-couche .Net de l’API WIN32. Cette dernière n’existant pas sous Linux et MacOS, j’en profite alors pour féliciter les équipes de Mono pour leur implémentation “from scratch”.

D’un autre coté, l’implémentation WPF chez Mono avance plutôt vite. D’ailleurs, la première release de Moonlight vient de sortir. Il n’y a pas de dépendance WIN32 dans ce cas, et je vois plus l’avenir des applications .Net dans ce sens. Mais l’approche WPF est d’avoir un thème propre à l’application, comme c’est le cas pour les sites Web, on obtient la même interface sous Linux et Windows (et MacOS). Mais finalement je trouve que ces interfaces ne s’intègrent à aucun des 3 environnements.

Lisez la suite de cette entrée »

Publié dans Blabla, linux. Tags : , , , , , , . 3 Commentaires »

Appeler du Java depuis .Net

Deux mondes s’affrontent: Java et .Net. Chacun choisi son camp, ou choisi les deux… moi j’ai la double nationalité :) Mais quand les deux mondes doivent alors communiquer? Je fais l’interprète. Voila le topo:
J’ai une application .Net qui a besoin de manipuler des classes Java, et pour se faire je passe par C++/CLI: comment avoir un pied dans du .Net et un autre dans du natif C++.
Lisez la suite de cette entrée »

Un iMac en vue?

Hier j’ai eu un petit coup de stress: je suis allé à tout hasard sur le site d’Apple et “oh joie” l’iMac a bénéficié d’une mise-à-jour… mais ce qui m’a le plus emballé c’est l’adoption d’un Nvidia 8800GS! Oui, ce n’est plus un ATI spécialisé dans le multimédia, mais bien une Geforce!
Lisez la suite de cette entrée »

Publié dans Blabla. Tags : , , , . 8 Commentaires »

A la conquête du Web 3.0

J’ai eu une discutions intéressante ce midi au sujet du buzz en ce moment: Adobe open-source Flash! Je vois ça comme un premier pas vers la conquête du Web 3.0. Une guerre déjà entamé entre Adobe, Microsoft et le monde libre.
Lisez la suite de cette entrée »

Timeout WCF au bout d’un certain nombre d’appels

Rien de plus stressant que de passer une journée entière sur un bug. Surtout si on n’a aucune idée du problème (pas d’exceptions, ni d’erreurs dans les logs) et que les recherches sur Internet sont infructueuses.
Contexte : une application Web Asp.Net communique avec un service WCF.
Problème : au bout d’un certain nombre d’appels (invariant) l’application Web n’arrive plus à joindre le serveur (Timeout).

Lisez la suite de cette entrée »

Utiliser des *.resx externes (avec Spring.net)

On a parfois besoin de livrer une application .Net avec les fichiers de ressources, afin qu’un traducteur, voir même un intégrateur, puisse faire les traductions au dernier moment.

Si cette personne doit recompiler l’application pour voir le fruit de son travail, ce n’est pas très pratique voir impossible: allez lui expliquer que VisualStudio n’est pas nécessaire et qu’il est possible de créer des ressources avec ResGen.exe (et al.exe pour faire des assembly satellites). Très franchement, les traducteurs ne veulent pas de quelque chose d’aussi et vont vous fuir comme la peste si vous leur demander d’être des développeurs.

Lisez la suite de cette entrée »