Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Next Informatik Xperience

Informatique, technologie et développement
.: Blog d'un MSP :.
[WPF] Un dataForm pour vos applications!
Pour tout ceux qui ont rêvé d'avoir le contrôle DataForm de silverlight dans leurs applications WPF, je me suis mis en tête cette semaine de le réaliser. C'est donc avec grand plaisir que je le partage avec vous via codeplex : http://wpfdataform.codeplex.com/
Bien entendu il s'agit d'une première version alors n'hésitez pas à me faire part de toute vos remarques et suggestions afin de l'améliorer.

Happy Coding!
I’am certified!

J’ai enfin réussi à trouver le temps pour passer mes premières certifications de développement sur dotNet.

C’est donc avec un léger stress (juste ce qu’il faut pour se concentrer) que je suis arrivé à l’antenne SUPINFO de Caen pour passer les certifications 70-536 (Microsoft .NET Framework – Application Development Foundation) et 70-505 (Microsoft .NET Framework 3.5, Windows Forms Application Development).

Et comme vous pouvez le constater j’ai passé ces deux certification avec succès ;)

 

MCTS(rgb)_1103

PS : je tenais aussi à remercier les personnes présentes à SUPINFO Caen pour leur excellent accueil.

Hadopi, un film à voir dans tous les ménages de France…

"Hadopi restera dans les mémoires, comme cette loi présomptueuse qui aura voulu atteindre l’horizon, rattraper un progrès qui ira toujours plus vite qu’elle". Un député lucide.

Enfin un lien sur lequel j’ai découvert cette vidéo… parce qu’il vaut mieux en rire qu’en pleurer… quoique…

http://linuxmanua.blogspot.com/2009/04/10-antidotes-anti-hadopi.html

Rencontre technologique en ligne : Mardi 28 Avril - épisode 6 sur 7 de la saga Visual Studio : VSTS

Demain nouvel épisode de la sage Visual Studio. Cette saga même si elle est avant tout à destination des étudiants peut néanmoins être intéressante pour toutes les personnes souhaitant découvrir ou parfaire leurs connaissances sur Visual Studio. Rendez vous donc demain mardi.

clip_image002

Bonjour,

Tu souhaites tout savoir sur VSTS ? Alors viens assister à une rencontre technologique en ligne (Live Meeting) le mardi 28 Avril 2009 de 18h30 à 19h30 (heure de Paris) animée par Florent Santin et Thomas Lebrun.

Sixième live meeting d’une série de 7, ce live meeting sera l’occasion de présenter VSTS.

Viendront par la suite le Live Meeting suivant :

- Dev office – VSTO

Comme d’habitude, la fin du Live Meeting sera consacré aux questions/réponses !

Inscris-Toi pour le Live Meeting du mardi 28 Avril !

 

Happy Coding!

Venez assister à une rencontre technologique en ligne sur WCF

A la suite du live meeting d’hier je vous retransmet la programmation du nouvel épisode de la saga Visual Studio. Cette saga même si elle est avant tout à destination des étudiant peut néanmoins être intéressante pour toutes les personnes souhaitant découvrir ou parfaire leurs connaissances sur Visual Studio. Rendez vous donc mardi prochain.

clip_image002

Bonjour,

Vous souhaitez tout savoir sur WCF ? Alors venez assister à une rencontre technologique en ligne (Live Meeting) le mardi 17 Mars 2009 de 18h30 à 19h30 (heure de Paris) animée par Florent Santin et Thomas Lebrun.

Troisième live meeting d’une série de 7, ce live meeting sera l’occasion de présenter et introduire WCF (Windows Communication Foundation).

Viendront par la suite les Live Meetings suivants :

  • Interfaces riches WPF/Silverlight
  • TFS
  • VSTS -
  • Dev office – VSTO

 Comme d’habitude, la fin du Live Meeting sera consacré aux questions/réponses !

 Inscrivez-vous pour le Live Meeting du mardi 17 mars!

 

Happy Coding!

Venez assister à une rencontre technologique en ligne sur WF 4.0

clip_image002

Venez assister, le mardi 10 mars, à une rencontre technologique en ligne sur le thème de WF 4.0. Deuxième d’une saga de sept rendez-vous, ce sera l’occasion de découvrir WF 4.0 (Workflow Foundation).

La saga présentera plus tard les thèmes suivants : WCF, Interfaces riches WPF/Silverlight, TFS, VSTS, Dev office - VSTO. Inscrivez-vous pour le Live Meeting du mardi 10 mars!

Happy Coding!

[WPF] Besoin du PropertyGrid?

Suite à des besoins personnels je me suis mis en tête de reconstruire en WPF un contrôle approchant du PropertyGrid de WinForm.

Je vous livre donc aujourd'hui la toute première version en beta :

screen1

Vous pourrez retrouver un zip contenant la dll et l'exe de la démo ici : http://www.william-pottier.fr/docs/DemoPropertyGrid.zip

Pour l'utiliser rien de plus simple. Vous l'ajouter dans votre xaml :

screen3

(On remarque d'ailleurs une propriété AfficherDescription qui permet d'afficher ou de masquer le zone de description)

Ensuite vous créez une classe métier :

screen2

Vous disposez d'ailleur d'un attribut "PropertyGridDescriptionAttribute" qui vous permet de spécifier la description d'un champ.

Enfin il vous reste à attribuer votre instance à la PropertyGrid, puis de récupérer au moment voulu :

screen4

 

Pour toutes questions, suggestions, rapport de bug,... merci d'utiliser les commentaires de ce post en attendant que je mette le projet sur CodePlex.

Happy Coding!

[WPF] Binding et Thread

[Je republie ce billet qui n'était pas passé correctement la première fois]

Pour continuer sur WPF voici une petite note à propos du Binding et des Thread avec WPF.

Le binding est une technique très puissante permettant de ne pas avoir à se préoccuper de l'écriture de dizaines de lignes de code pour effectuer la liaison entre l'interface (wpf) et une couche métier (gestion réseau, base de donnée,.......). Un des grand avantage est que vous pouvez faire que votre interface soit mise à jour alors que la modification de l'objet métier lié ce fait dans un autre thread. Et ce sans aucune ligne de code supplémentaire.

Mais cependant il convient de porter une attention particulière à l' instance de l' objet métier que vous utilisez comme DataContext : en effet l'instance de cette objet doit être crée dans le même thread que celui qui héberge votre UI. Cela peut être gênant quand on travail sur une application avec des thread bien séparé (par exemple : le modèle MVC avec un thread par couche).

A noter aussi que ceci ne provoque pas d'exception (ou tout du moins pas directement intercepté par vs2008) mais par contre quand vous stopper le débuggage vous aurez le droit à un crash pur et simple de votre IDE préféré (VS 2008 SP1 pour ma part).

Si cette note permet de vous évitez des heures de recherche et d' interrogation elle aura remplie sa mission.

[C#] Article sur les nullable

Je suis tombé aujourd'hui sur un article que je voulais vous faire partager au sujet des nullable dans c#2.0 (cela reste valide pour c#3).
Vous pouvez retrouver cet article ici : http://dotnet.developpez.com/articles/types-nullables/

Pour ceux qui ne maitrisent pas encore cette notion on y apprend aussi bien l'utilisation standart mais aussi quelque détails quand au comportement du compilateur, l'usage du "null coalescing operator",...


Bon lecture et Happy Coding!

Sortie de la béta Française d'Office Live Workspace

Les utilisateurs peuvent se connecter dès maintenant à ce nouveau service gratuit  pour stocker, modifier et partager en ligne leurs documents Microsoft Office depuis n’importe quel ordinateur.

Les Ulis - le  20 mai 2008 - Après l’annonce de la sortie de la béta en langue anglaise en mars dernier, Microsoft annonce aujourd'hui la disponibilité gratuite de la bêta en langue française de Microsoft Office Live Workspace  (http://workspace.officelive.com). Ce nouveau service web permet aux utilisateurs d’accéder à leurs documents Microsoft Office et de collaborer en ligne. C’est une étape complémentaire de Microsoft dans sa stratégie Software + Services. Microsoft présente également plusieurs nouvelles fonctionnalités d’Office Live Workspace, telles que le volet d’activité, les notifications, les liens directs, et le téléchargement multi-fichiers.

Office Live Workspace est à présent disponible en anglais, en français, en espagnol, en allemand, et japonais (http://workspace.officelive.com).

Accès en tout lieu, partage et extension de l’expérience Microsoft Office

Avec Office Live Workspace, les utilisateurs organisent leurs documents et leurs projets en ligne et les utilisent à partir de l’ordinateur de leur choix. Ils peuvent enregistrer plus d’un millier de documents Microsoft Office vers un emplacement unique en ligne, et les partager via le Web. Ils peuvent visualiser et faire des commentaires sur les documents, à partir du navigateur, créer des listes et des notes Web simples, et partager leurs documents en temps réel grâce à l’intégration avec Microsoft SharedView. L’intégration avec Microsoft Office est complète grâce à des composants additionnels qui permettent d’ouvrir, de modifier et d’enregistrer en ligne des documents Word, Excel, PowerPoint directement à partir de son poste de travail.

Enfin, Office Live Workspace offre la possibilité de synchroniser son agenda, ses contacts et ses tâches avec Microsoft Outlook.

Par ailleurs, à la suite des commentaires des premiers utilisateurs de la version bêta, Microsoft a ajouté plusieurs nouvelles fonctionnalités au service :

  • Volet d'activité. Un nouveau volet d’activité affiche en un coup d’œil toutes les opérations de l’espace de travail.
  • Notifications. Les utilisateurs peuvent désormais recevoir des notifications par courrier électronique sur les changements apportés à leur espace de travail ou à leurs documents.
  • Liens directs. Les utilisateurs peuvent créer un signet pour leur espace de travail, ou un élément de leur espace, via une URL unique dans une fenêtre de navigation.
  • Importation multi-fichiers. Cette fonctionnalité permet aux utilisateurs d’importer plusieurs fichiers par simples opérations de glisser-déposer à partir de leur poste de travail.
  • Partage amélioré. Les nouvelles fonctions de partage incluent une interface utilisateur simplifiée et la suggestion automatique des adresses de messagerie électronique.

 

Bonne journée

C# : Bien utiliser les switch

Pour avoir récemment eu la question voici un petit rappel quand à l'utilisation de switch en c#.

Tout d'abord il convient de rappeler le principe d'un switch. Un switch est un structure permettant de spécifier un comportement en fonction d'une variable donnée. Ainsi les deux codes suivant sont équivalent en comportement :

Fig. 1

switch(maVariable) { case 0: // Action à réaliser break; case 1: // Autre action à réaliser break default: // Action par defaut break; }

Fig. 2

if(maVariable == 0) { // Action à réaliser } else if(maVariable == 1) { // Autre action à réaliser } else { // Action par defaut }

Ces 2 exemples ont le même comportement. Néanmoins il est important de noter qu'une structure en switch (figure 1) est plus performant qu'une structure en if (figure 2). Ceci s'explique aisément par le fait que lors d'un structure en if chacune des condition (les unes à prés les autres bien entendu) doivent être évalué jusqu'à trouvé une correspondance. Le switch utilisant un label celà permet un accés plus rapide.


Contraintes pour maVariable :

  • maVariable doit être uniquement d'un type primitif (ex : string, int); Si vous avez besoin d'utiliser d'autre type (ex : float, double,...) vous devez utiliser une structure en if (comme figure 2).
  • Les label de case doivent être une expression constante (ex : 42, "toto"). Si vous voulez calculer les valeurs ou utiliser des variables vous devez utiliser une structure en if (comme figure 2)
  • Chaque label de case doit être unique.
  • Chaque case contenant du code ne doit pas passer au case suivant implicitement (voir plus bas)

Il est à noter qu'un switch peut utiliser un type nullable dés l'instant qu'il respecte les règles ci-dessus.

Fig. 3

int? maVariable = null switch(maVariable) { case null: Console.WriteLine("Aucune valeur"); break; default: Console.WriteLine(maVariable); break; }

Maintenant abordons le saut de case en case dans notre structure. Contrairement à d'autre langage le c# ne supporte pas le passage implicite d'un case à l'autre à moins que celui-ci soit vide. Concrètement ce code ne compilera pas :

Fig. 4

switch(maVariable) { case 0: Console.WriteLine(maVariable); case 1: Console.WriteLine("1"); }

Par contre celui-ci compilera correctement :

Fig. 5

switch(maVariable) { case 0: Console.WriteLine(maVariable); break; case 1: case 2: Console.WriteLine("1"); break; }

Mais alors comment obtenir le comportement souhaitez à la figure 4?

Tout simplement en spécifiant explicitement qu'il faut effectuer le saut par l'intermédiaire de l'instruction "goto".

Fig. 6

switch(maVariable) { case 0: Console.WriteLine(maVariable); goto case 1; case 1: Console.WriteLine("1"); goto default: default: Console.WriteLine("default"); break; }

Happy Coding!

Vous aussi vous avez du mal à mémorisez la structure de vos connectionString...?

Si comme moi vous avez un peu de mal à mémoriser certaine structure de connectionString, ce site est fait pour vous : http://www.connectionstrings.com/

Ce site regroupe toute les chaînes de connexion aux fournisseurs de données allant de SQL Server à Exchange en passant par Oracle, MySQL ou encore DB2.

Happy Coding :)

TechDays 2008 : Stand du GUWHoSe... OK, Billet de Train... OK

Bon cette fois c'est la toute dernière ligne droite pour les techdays 2008. Mes collègue du guwhose on préparer le stand,

TechDays08_dim (19)

mes billet sont prêt et je décolle de Caen à 6h13 pour arriver à Paris à 8h26.

Bref rendez vous demain ;)

On me fait signe en coulisse que j'allais oublier de vous parler du jeu-concours organiser par le GUWHoSe :pendant 3 jour nous vous fesons gagner un logiciel toutes les heures. N'hésitez pas à passer nous voir.

Vous faites quoi début de semaine prochaine?

Moi je serais au TechDays 2008. Pour rappel les retardataire peuvent encore s'inscrire ici : S'inscrire au TechDays .

Sinon pour ceux qui y seront vous pourrez probablement me retrouvez soit au conférence (quand même ^^), soit du cotés des stands communautés (MSP, GUWHoSe, GUWiV, GUWiSe,...)

Rendez vous là bas donc!

Blogtechdays.fr ou quand les msp partent en ballade au TechDays


Voici une petite annonce à quelques semaines de l'ouverture du salon Tech-Days.

Quelques MSP (dont je fait partit) emmené par Christopher MANEU ont décidé d'ouvrir un blog pour convrir l'évenement des TechDays.

Intitulé "MSP @ TechDays 2008" ce blog est accessible à l'adresse http://www.blogtechdays.fr .

Rendez-vous est donc pris pour le 11 février.


Publication de NetAccess 2.0 Béta 2

Bonjour à tous.

Juste un petit message pour inaugurer une nouvelle année de blogging et pour vous annoncer la publication de la version béta 2 de NetAccess sur csharpfr : http://www.csharpfr.com/codes/NETACCESS-BETA-LIBRAIRIE-APPLICATION-CLIENTS-SERVEUR_44032.aspx

Au menu de cette nouvelle version on pourra noter l'apparition notable du cryptage des transactions ainsi que l'amélioration de l'algorithme d'envoi/réception des données.

La version 2 entre donc ainsi dans sa dernière ligne droite qui devrait s'achever aux TechDays ;).

Fonctionnalités :

  • Gestion clients/serveur threadés (oui on s'en serait douté);
  • Gestion des clients améliorée depuis le serveur
    • possibilité de forcer la déconnection d'un client et de lui transmettre un message d'explication
    • transmission d'information aux clients lors de l'arrêt du serveur
    • gestion de la capacité en place du serveur (-1 pour illimité)
    • possibilité de refuser explicitement la connexion d'un client
    • vérification de la compatibilité entre le client et le serveur
  • Compression des données utilisant l'algorithme GZip;
  • Cryptage à la demande des transactions client <-> serveur en utilisant RSA combiné à Rijndael
  • Ping client <-> serveur
  • Log avec différents niveaux de rapport (les logs sont désormais basés sur la librairie externe log4net disponible ici : http://logging.apache.org/log4net/)
  • Système de gestion des échanges réseau permettant une bonne montée en charge (correction de plusieurs bugs de la version précédente)

 

Prochaine Version :

La prochaine version (numérotée 2.1) intégrera la gestion de l'envoi de packets en UDP à la demande. Ainsi l'utilisation de NetAccess dans les jeux vidéo nécessitant la transmission de certains types de messages de façon très fréquente (exemple : refresh de position) sera améliorée. Bien entendu cette amélioration ne se limite pas au seul domaine du jeu vidéo puisque d'autres types d'applications pourront y trouver leur compte (transmission de vidéo,...).

Information Complémentaire :

S'agissant encore d'une version béta, je vous invite bien entendu à me laisser vos impressions, avis, idées, rapport de bug,... Dans les commentaires de ce post ou dans ceux de la source sur csharpfr.

Happy Coding ;)

Astuce : Sérializer un tableau d'object, quel type de tableau choisir?

Comme celà fait quelques temps que je n'ai pas posté sur le développement je vais vous faire part ici d'une petite étude que je viens de faire concernant la sérialisation binaire de tableaux d'object.

Tout d'abord de quoi parle-ton?

Imaginer dans une application que vous ayez besoin de stocker des données de types trés variés (ou inconnu au moment de la conception : dans une library par exemple). Vous avez la possibilité d'utilisé principalement trois types :

  • List<object>
  • ArrayList
  • object[]

Les deux premiers ayant l'avantage d'être dynamique (il est possible de rajouter/enlever des éléments à souhaits)

Mettons maintenant que pour une raison x ou y, vous aillez besoin de sérializer binairement votre tableau. Je pense qu'un des facteurs de choix pourra alors être la taille de l'objet une fois sérialisé. Notamment si celui-ci doit être transmit par le réseau par exemple.

J'ai donc réalisé un petit bench pour mesurer la taille prise par des tableaux de dimensions identique (et contenant les mêmes données).

Voici le tableau récapitulatif (données affichées en octets) :

  4 els. 16 els. 64 els. 256 els. 1024 els. 2048 els.
List<object> 236 524 932 2564 9092 17796
ArrayList 137 425 833 2465 8993 17696
object[] 59 347 755 2387 8915 17619

 

On peut donc noter que :

List<object> prend 99 octets de plus que ArrayList, ArrayList prend 78 octets de plus que object[]. Et enfin List<object> prend 177 octets de plus que  object[].

Bien entendu ce facteur n'est pas le seul à prendre en compte de la cadre de la conception d'un logiciel. Il faut aussi tenir compte des coûts en temps pour le traitement et l'utilisation des différents types en fonction de leurs contraintes.

Sur ce, Happy Coding!

Montagne, neige et compagnie

Suite au post de themit, voici un petit lien que je voulais faire découvrir (ou redécouvrir) à tous les amoureux des domaines du grand massif et des portes du soleil.

http://www.vivehc.com/

Avec notamment des webcam des deux domaines : http://vivehc.free.fr/ski2/inter.php?dom=GM&stat=&RM=webcam (pour le grand massif par exemple)

Monopoly

Il y a quelque temps hasbro avait organiser un concours pour choisir les prochaines villes de l'édition français du monopoly (remplacant donc la rue de la paix et ses conseurs).

Ceux souhaitant connaitre le résultat on à attendre jusque vendredi prochain (9 novembre) et à vous rendre sur ce site : http://www.monopoly.fr

Réalisez un chat avec Silverlight

Je viens de tomber presque par hasard sur un article de Benjamin Roux via developpez.com expliquant clairement comment réaliser un Chat en silverlight. Je recommande vivement la lecture de cette article qui peut représenter un bon cas pratique d'application de silverlight.

Lien : Réaliser un chat en silverlight

Plus de Messages Page suivante »


Les 10 derniers blogs postés

- Comment mapper une vue SQL sur une collection de complex type? par Matthieu MEZIL le il y a 7 heures et 33 minutes

- SQL Server : Query Notification ou comment être notifié de modifications de données côté application (SqlDependency) par SQL Server vu par Christian Robert le il y a 13 heures et 33 minutes

- [WF4] Un Binding Activity/ActivityDesigner qui passe mal? par Blog de Jérémy Jeanson le il y a 14 heures et 56 minutes

- MyTIC – SharePoint 2010 : déjà un mythe Microsoft ? par Le Blog (Vert) d'Arnaud JUND le il y a 19 heures et 44 minutes

- TechDays 2010 Genève : Retrouvez-moi pour une session sur la Haute disponibilité et le ScaleOut avec SQL Server par SQL Server vu par Christian Robert le 03-18-2010, 15:45

- [MIX10] Keynote deuxième journée – Internet Explorer 9, Html5, Visual Studio 2010, OData par Atteint de JavaScriptite Aiguë [Cyril Durand] le 03-17-2010, 19:40

- Certifications beta .NET 4 par Kévin Gosse le 03-17-2010, 19:33

- [Mix 2010] – Microsoft Translator Technology Preview V2 par RedoBlog - The .NET Gentleman !!! le 03-17-2010, 18:53

- Lancement en Preview de Cyclone lors des TechDays 2010! par Blog de Frédéric Queudret le 03-17-2010, 16:30

- [WP7] Je ne veux pas d’un nouvel iPhone par Le blog de FremyCompany le 03-17-2010, 13:11