Sep.13

S’amuser avec MSN et .NET : DotMSN

DotMSN est un projet OpenSource proposé par la socièté Xih Solutions disponnible à l’adresse : http://www.xihsolutions.net/dotmsn/.
DotMSN est une assembly .NET écrite en C# qui implémente la quasi-totalité du protocole MSN dans sa version 9.
Vous pourrez grâce à DotMSN:

  • gérer les connexions à MSN, les status, données personnels et images perso
  • gérer la ContactList (ajout, suppression, bloquer, autoriser)
  • gérer de multiples conversations, les emoticones, texte décoré, etc…
  • interface avec Hotmail (connexion, avertissement des nouveaux mail, etc..)
  • gestion des transferts (fichiers, emoticones, images perso des contacts)

Bref, grâce à DotMSN vous pouvez redevelopper entierement votre propre client MSN. La seule chose à la limite qu’il manque, c’est la gestion du Wizz 🙂

Toutes les specs de l’assembly sont disponnible à l’adresse: http://www.xihsolutions.net/dotmsn/api
DotMSN contient 3 espaces de nom :

  • XihSolutions.DotMSN : classes de base pour la connexion/deconnexion, conversation, parametres persos, etc…
  • XihSolutions.DotMSN.Core : c’est le moteur, là où se trouve toute l’implémentation du protocole. Nous n’avons pas besoin d’utiliser les classes qu’il renferme.
  • XihSolutions.DotMSN.DataTransfer : toutes les classes en rapport avec le transfert de fichiers, images, emoticones, etc..

Pour démarrer, commencez par instancier la classe Messenger (dans XihSolutions.DotMSN) puis remplir la propriété Credentials avec comme Account et Password votre compte MSN et le ClientID = « msmsgs@msnmsgr.com » et ClientCode = « Q1P7W2E4J9R8U3S5 » pour enfin lancer la méthode Connect

Vous êtes maintenant connecté au service MSN mais pas encore en ligne. Pour cela abonnez-vous à l’évenement SignedIn dans Nameserver de votre objet MSN (AddHandler msn.Nameserver.SignedIn, AddressOf ….). L’évenement sera appellé dès que votre connexion sera effective. En reponse à l’appel de cet evenement, placez le code :

Le code aura pour but de définir votre pseudo ainsi que votre status.

La proprièté Owner permet donc de definir votre profil, nom, image perso, status, etc… Vous trouverez aussi la propriété ContactList pour la liste de vos contacts. Exemple pour afficher votre ContactList :

Il faudra aussi vous abonnez à l’évenement ConversationCreated de la classe Messenger qui averti qu’une nouvelle conversation est crée. Vous recuperez alors l’objet Conversation qui contient la propriété Switchboard pour pouvoir lire les messages, en envoyer, lancer des invitations de transfert de fichiers, etc… A ce titre, dès qu’une conversation est crée, n’oubliez pas aussi de vous abonnez à l’événement Conversation.Switchboard.TextMessageReceived permettant d’être averti de l’arrivée d’un message.

Enfin pour finir, après la connexion du service MSN, oubliez pas non plus de vous abonnez à l’évenement TransferInvitationReceived de l’objet Messenger permettant d’être averti de l’envoi d’une invitation de transfert. Vous pourrez alors l’accepter en mettant True à la propriété Accept de MSNSLPInvitationEventArgs et démarrer le transfert dans TransferSession.StartDataTransfer(False) (False pour un transfert non direct et True pour direct).
Encore une fois, il faudra vous abonnez à l’évenement TransferFinished de la propriété TransferSession pour être averti de la fin du téléchargement.
Pour enregistrer le fichier transferé en dur dans un fichier :

Voila, vous êtes maintenant paré pour ecrire votre propre client MSN ^_^ Le mieux, pour bien comprendre, est de regarder les specs de l’assembly pour trouver tous les evenements et methodes dont vous aurez besoin. Vous trouverez de toute facon, un client de démo avec les sources fournis en téléchargeant l’assembly DotMSN. Si avez des soucis, n’hesitez pas à me contacter 🙂

Dev,.NET

Aug.03

Total Immersion : Réalité augmenté

Patrice m’a présenté cet aprem, les webcasts des DevDays sur la réalité augmentée, un truc complétement ouff 🙂

La 1er question qui vient à l’esprit, qu’est ce que la réalité augmenté? Bah c’est tout simplement la fusion entre le monde réel et le monde virtuel (non non ce n’est pas la Matrice :D) !!!

Sur Wikipedia, on peut lire :

Par un système de réalité augmentée on entend un système (au sens informatique) qui rend possible de superposer l’image d’un modèle virtuel 3D ou 2D sur une image de la réalité et ceci en temps réel.

Le principe est simple, on film avec un camera (webcam) et on y ajoute des objets de synthese !

La societe Total Immersion, a developpé cela en mode managé sous .NET en C# + DirectX (vive la puissance de la plateforme), et je peux vous dire que c’est complement dement, tout y est avec une interaction hallucinante entre les deux mondes.

Le mieux est de visionner le webcast des DevDays :
http://www.microsoft.com/france/vision/db/msdn/P00718/
Et les videos officielles :
http://www.t-immersion.com/video_gallery/

C’est un autre monde, en tout cas moi j’adore 🙂

HighTech

Aug.01

WFPad pour Windows Workflow Foundation Beta 2.2

Dans mon petit post d’introduction à WF, je vous avais parlé et donné le lien de WFPad. Malheureusement, la version de ce soft ne marche pas avec la Beta 2 de WF.

Je vous mets donc à disposition, la nouvelle release de WFPad que j’ai un peu modifé (commenté une ligne qui posait problème) : DOWNLOAD HERE

Pour rappel, WFPad est un projet opensource ecrit en C# qui permet la visualisation et l’édition en mode graphique de code XOML (…de Workflow) 🙂

Le post officiel avec les sources de Mark Schmidt’s : CLICK HERE

Workflow Foundation

Jul.20

Windows Sharepoint Service 3 (WSS) : Installation de la beta 2

Windows Sharepoint Service est une sorte de CMS qui permet la création de sites collaboratifs pour le partage de documents et d’informations. On peut par exemple créer des sites communautaires, des wikis, des blogs, etc…

Microsoft a mis à disposition la version 3.0 en bêta 2 de WSS gratuitement pour pouvoir tester l’engin. WSS permet nottament l’intégration à Office (MOSS). Il devient très facile d’ouvrir sont Word 2007, d’y taper un article, un post, … puis de l’enregistrer non pas dans un fichier mais directement sur votre site WSS.

Pour l’installation, il vous faudra un Windows 2003 Server, si possible en R2 et en anglais (je n’ai pas testé, mais je pense pas que l’on puisse l’installer sur une FR). N’oubliez pas de le mettre a jour 🙂
Ensuite, dans l’Ajout et Suppression de programme, installez le Framework .NET 2.0 :

Suite a cela, le plus simple est d’installer seulement les runtimes pour Workflow Foundation plutôt que toutes les briques du .NET Framework 3.0.

Enfin, vous pourrez démarrer l’installation de WSS3 en choissant l’installation « Basic » :

SQL Express sera installé pour faire office de SGDB. Il serait utile aussi d’installer le Management Studio Express pour pouvoir parcourrir les BDD.

Une fois l’installation de WSS terminée, il faudra executer SharePoint Products and Technologies Configuration Wizard pour :

  • Configurer l’accée à la base de donnée. Dans le cadre dans d’une installation « Basic », Microsoft SQL Server 2005 Express Edition sera installé et configuré.
  • Installer et configurer les fonctionnalités et services de WSS.
  • Configurer la sécurité.
  • Créer un site WSS de démo.

Après cela, vous accederez a l’interface Web d’admin du site WSS créé par défaut. Et la c’est QUE DU BONHEUR 😀

Téléchargements :

Note importante : n’installez pas VS2005 avant WSS ou du moins n’installez pas SQL Express avant WSS sinon vous risquez d’avoir des problèmes lors de la configuration de WSS qui se bloque à l’étape 2 : Création de DB…. J’en ai fait les frais : 1 journée de perdu 🙂

WSS

Jun.02

Petit tour du côté d’Atlas

What is ATLAS ?

Atlas is a free framework for building a new generation of richer, more interactive, highly personalized standards based Web applications

En clair, Atlas est une plateforme gratuite pour concevoir des applications Web 2.0 utilisant les concepts de l’AJAX entre autre. Elle est encore en version beta (derniere version a ce jour : April CTP) et est édité par le geant Microsoft.
En une phrase, Atlas est le framework coté client de l’ASP.NET 2.0 mais attention, on est pas obligé de developper en ASP.NET 2.0 pour profiter des librairies Atlas !

Controls Toolkit
En plus des libraires que nous propose la plateforme Atlas, on peut aussi télécharger une panoplie de « Controls » pouvant etre integrés a VS.net. Parmis ces Controls, on y trouve :

  • DragPanel : permet de drag&dropper des Panels
  • DropShadow : permet de cacher des Panels avec animation
  • ModalPopup : permet de créer des « pseudo-fenêtre »
  • PopupControl : permet d’afficher des controls dynamiquement
  • Et bien d’autres….

Ce qui est génial, c’est que tout est automatique… J’ai réalisé une petite page avec un Panel deplacable où l’on veut sur la page, avec un calendrier affiché dynamiquement au clique d’un textbox, et plein de petit gadget en moins de 15min et avec 0 ligne de code juste en utilisant ma souris !!!!!


La fenêtre est déplacable, même les bords arrondis sont gérés par un des controls (RoundedCorners), le message est un ModalPopup et le calendrier (control Calendar) est affiché dynamiquement par le control PopupControl. Et je rappelle que je n’ai ecrit AUCUNE ligne de code pour faire cette simple page !! (….. »Que du bonheur » :-D)

Tous les controls Atlas et leur demo : http://atlas.asp.net/atlastoolkit/

Démarrer avec Atlas
Si vous voulez vous y mettre, j’espere que .net 2.0 & VS2005 sont déjà installés sur votre machine 🙂
Il vous faudra ensuite le framework Atlas et je vous conseille aussi de télécharger le ControlsToolkit :
http://atlas.asp.net/default.aspx?tabid…..
A regarder, la video de Scott Guthrier, le directeur général de .NET : http://download.microsoft.com/download/…../asp_net_atlas.wmv
Toutes les docs sur Atlas sont dispo ici : http://atlas.asp.net/docs/default.aspx

Des démos de sites
Enfin pour finir, voici quelques sites utilisant ATLAS :

Et sans oublier le site officiel : http://atlas.asp.net

.NET,Atlas

May.31

MySudoku

Et voila, ce sur quoi je travaillé ces derniers temps MySudoku est enfin « releasé » et vient d’être publié sur SUPINFO Project comme projet chef d’oeuvre !

MySudoku est un petit jeu du Sudoku développé en C# sous .NET 2 qui reprend les « bases » de mes Sudoku’ Days (n°1n°2) 😉

Fonctionnalités :

  • Chargement/Enregistrement des grilles
  • Génération automatique de grille
  • Création manuelle de grille
  • Résolveur de grille de tout niveau
  • Fonctions de verification de grille
  • Capture et Impression de grille
  • Application Anglais/Francais
  • Programme d’installation (en francais uniquement) avec installation des codes sources.

Prérequis :

  • Framework .NET 2.0

Le programme d’installation : click here
Les codes sources : click here

C’est bon maintenant je rompe définitivement avec le sudoku 😀

Perso,Dev,.NET

May.25

Newsletter au Laboratoire Microsoft

Mon cher ami Benuts et moi même sommes fier de vous annoncer en exclusivité la sortie prochaine (fin de semaine?) de la Newsletter au Laboratoire Microsoft (www.labo-microsoft.com) !!! 😀

Benuts se sera occupé de faire la « template », en gros le design et la forme de la Newsletter (le coté visible) et moi comme à mon habitude, la partie background, soit non visible, bref le systeme de génération et d’envoi de la newsletter…

La 1er newsletter sera envoyé à plus de 30.000 destinataires (inscrit sur le site) en fin de semaine théoriquement…

Coté technologique, j’ai utilisé l’ASP.NET 2 pour faire l’application de génération et d’envoi ! J’attire votre attention sur le fait que maintenant, en ASP.NET 2, les classes pour le Mail ne se trouvent plus dans le namespace System.Web.Mail (enfin si, mais le compilo nous informe que cela est obsolete) mais sur le namespace System.Net.Mail !

On y trouve notamment, la classe SmtpClient pour l’envoi et surtout la classe MailMessage pour la génération de l’email. Les propriétés To, CC et Bcc sont maintenant des collections de la classe MailAddress !
De plus, la fonction SendAsync() de la classe SmtpClient fait son apparition, nous permettant d’envoyer le mail de facon asynchrone, donc de facon détaché au thread qui l’appel, bref, comme dirait Redo : QUE DU BONHEUR 😀 !

Pour les curieux : la bible MSDN sur le System.Net.Mail
Et biensûr le labo ICI !!!!

Have a nice night 🙂

Dev,.NET