jeudi, décembre 13 2007

Programme des TechDays 2008

Le programme des techdays de paris 2008 est connu. Toutes les informations se trouvent sur ce lien (silverlight)

mercredi, décembre 5 2007

Synthèse vocale en .net 3.0

En cette soirée d'automne, je me suis lancé dans le test des API de .net 3.0 pour la synthèse vocale... Il y a de belles nouvelles classes dans le namespace "System.Speech.Synthesis". Et la ... ma déception fut grande ;-). En effet, tant cela fonctionne plus ou moins bien lorsque l'on joue dans la langue de Shakespeare ... tant avec la langue de Molière ... je trouve que le rendu sonore est affreux... Le "bonjour. Comment vas-tu ?" devient "BoOoOOnGour. Comment VASSS TOU ?". Bref on repassera .... Voici néanmoins un petit exemple de code ;-)
[csharp]
SpeechSynthesizer speech = new SpeechSynthesizer();
speech.SelectVoice("Microsoft Anna");
speech.Speak("Bonjour. Comment vas tu ?");
MAJ: Lien avec une voix française
Après installation ... cela fonctionne bien mieux =)
[csharp]
SpeechSynthesizer speech = new SpeechSynthesizer();
speech.SelectVoice("ScanSoft Virginie_Dri40_16kHz");
speech.Speak("Bonjour. Comment vas tu ?");

mercredi, novembre 14 2007

Etendre des classes du CLR (et autres) en C# 3.0 (.NET 3.5)

C# 3.0 ajoute une nouvelle fonctionnalité très intéressante qui offre enfin la possibilité au développeur d'ajouter des nouvelles méthodes sur des classes du CLR. Il n'est plus obligé de réaliser une méthode statique ou on passe tel ou tel objet etc... Voici un petit exemple d'ajout de méthodes....

Lire la suite...

dimanche, novembre 11 2007

Création d'un certificat SSL sous Windows Vista

Il faut parfois utiliser du SSL pour sécuriser certaines informations. Il est souvent très facile de le mettre en place sous Unix en copiant certains fichiers mais qu'en est il sous Windows ?

Lire la suite...

mardi, novembre 6 2007

Disponibilité de Visual Studio 2008 + .NET 3.5 fin novembre 2007

Je pense que tout est dans le titre ;-). Je vous conseille néanmoins ce lien pour plus d'informations.

Update : Blog MSDN

mercredi, octobre 24 2007

Hierarchie dans les exceptions en .net

Voici une petite question tout simple:
[csharp]
try
{
    throw new FileNotFoundException();
}
catch (IOException ex2)
{
    Console.Out.WriteLine("Base Exception");
}
catch (FileNotFoundException ex1)
{
    Console.Out.WriteLine("FileNotFound");
}
Question : Quel est le résultat lors de l'exécution ?

Ce code ne fonctionnera pas .. Je dirais même ce code ne compilera pas :-). En effet, le compilateur détecte que l'on a dans l'ordre des catch une gestion des exceptions qui va englober celle définie en dessous. Il est dès lors obligatoire en .net de définir les catch dans l'ordre du plus spécialisé au moins ...

vendredi, octobre 12 2007

Intégrer du WPF dans du WinForms ou Win32 !

L'utilisation de WPF ne se réduit pas à de nouveaux projets. En effet, il est tout à fait possible d'adapter un rendu en fonction de la version du framework .NET disponible sur la machine client. On pourrait avoir à disposition une librairie de génération de graphiques en GDI qui s'affiche si l'utilisateur final n'a pas .NET 3. Cela offrirait de nouvelles possibilités à un logiciel existant tout en garantissant un minimum de compatibilité. C'est ainsi que j'expose en quelques lignes comment intégrer un composant WPF dans une application WinForms et comment mapper des propriétés (que j'expliquerai plus tard dans ce post ;-).

Lire la suite...

mardi, octobre 2 2007

Astuces custom sérialisation .net

Après avoir introduit la sérialisation en .Net et avoir expliqué certains problèmes rencontrés dans un de mes précédents post, j'ai reçu un ou deux mails me demandant comment laisser .net gérer une partie et prendre le contrôle d'une autre partie. Je m'explique. Parfois, il faut simplement se charger de serialiser un objet en le convertissant dans un objet serializable lors de la serialisation et inversement. Il ne faut pas toujours refaire la sérialisation de a à Z. Ce post explique les quelques attributs disponibles pour convertir des objets lors de la serialisation.

Lire la suite...

mercredi, septembre 26 2007

Interop Ruby / .NET via WebService

Voici un screencast que je viens de réaliser expliquant comment en quelques minutes avoir un service web hébergé sous Linux reposant sur Ruby on rails et un client .NET 3.0 WPF. Il s'agit d'un simple "Hello word" mais je vous annonce déjà d'autres screencast plus pointu sur le transfert d'objets business plus complexe et la gestion transactionnel pour sauvegarde de données sous une base de données PostgreSQL

Lire la suite...

lundi, septembre 17 2007

Visibilité des contrôles au rendu

Chaque contrôle héritant de FrameworkElement a une propriété Visibility permettant de se masquer ou de s'afficher au rendu. Il est important de préciser la différence entre Collapsed et Hidden ;-). En effet, les deux n'affichent pas le contrôle mais "Hidden" réserve l'espace pour s'afficher au contraire de "Collapsed".

samedi, septembre 15 2007

Ruby & .Net .. mes deux amours ;-)

Je regardais depuis quelques temps un petit projet avec admiration ;-). Et ce matin, je me suis décidé à tester la nouvelle version de juin 2007. Vivement la nouvelle release ...
Je vous explique donc en quelques lignes ...
  • Je crée ma petite classe ruby..
    class Utilisateur
    	def Salut(nom)
    		puts "Bonjour #{nom}"
    	end
    end
    
  • Je compile ensuite ma classe ruby en lancant en ligne de commande : "RubyCompiler.exe /t:library Utilisateur.rb".
  • Je rajoute en référence dans mon projet .net deux dll. La première est celle générée via RubyCompiler et la seconde est le runtime "QUT.RubyRuntime.dll".
    Utilisateur utilisateur = new Utilisateur();
    utilisateur.Salut("Jean");
    
  • Je lance mon programme .net et hop miracle, je vois "Bonjour Jean".
Je vous conseille de tester tout ceci plus en détail en téléchargeant les dll etc sur ce site. A noter qu'il est impossible avec la version de juin 2007 de jouer avec des classes ruby héritant d'autres classes que de Object. :/

samedi, septembre 8 2007

NHibernate 1.2 + .NET 3.0

Il est dommage de ne pas pouvoir choisir les collections qui seront initialisées lors du chargement des données etc ... C'est ainsi qu'il faut parfois modifier le code de NHibernate pour avoir tel ou tel option. ;-). J'avais besoin du support de .NET 3.0 et de tout ce qui se trouve dans la classe ObservableCollection. C'est ainsi que j'ai modifié le code pour le supporter. J'en ai des lors profité pour rajouter la gestion de la collection sous des threads différents.


Voici en téléchargement ma petite expérimentation .. Je n'ai implémenté que les "bag" pour les collections d'enfants. En cas de bug, merci de me mailer ;-)))

vendredi, juin 22 2007

IDisposable en détail

Voici un petit lien d'un article qui parait en Juillet 2007 dans le MSDN mag expliquant en détail le IDisposable. Il est parfois intéressant de revoir ses classiques ;-)

URL

mercredi, février 28 2007

MSDN Mag en français !!!

Les MSDN mag sont maintenant disponibles en français en consultation en ligne gratuite ... Merci microsoft !!!

Voici le lien pour le mag de mars.

Videos Tech Days 2007 en ligne

Les videos des techdays 2007 sont disponibles sur le net en suivant le lien ;-)
Il est enfin possible de voir et revoir ce qu'on a pu rater par manque de place ou ce qu'on a mal compris ;)

mardi, janvier 2 2007

Le magnifique monde de la sérialisation en .NET

Le monde .net offre parfois de grandes surprises. Voulant créer un webservice afin d'envoyer mes objets a mon client winform, j'ai été confronté à de gros problèmes. Que faire de mes entités NHibernate 1.2 et ces belles collections IList. Après avoir pas mal lu le net ... voici quelques éléments de réponse.

Lire la suite...

jeudi, novembre 30 2006

Cours gratuit en ligne sur .NET 3.0

Microsoft offre les cours en ligne sur .NET 3.0 gratuit un an ... :-)

Lire la suite...

page 2 de 2 -

Page top