Dot.Blog

C#, XAML, WinUI, WPF, Android, MAUI, IoT, IA, ChatGPT, Prompt Engineering

Les propriétés de dépendance et les propriétés jointes sous WPF (article à télécharger)

En voilà un beau sujet ! Vous allez me dire qui irait investir deux jours à taper 25 pages sur ce sujet, il faut être totalement givré ! Et bien vous en avez un devant vous (par blog interposé) ... donc pas de remarques désobligeantes sur ma santé mentale, hein !

Certes les propriétés de dépendance et les propriétés jointes de WPF et Silverlight ne semblent pas être un sujet aussi exitant que quelques astuces LINQ ou la meilleure façon d'intégrer de la 3D dans Silverlight 3 (miam!)... Je vous le concède. Mais en revanche c'est un sujet capital car derrière ces propriétés bien particulières se cache l'un des piliers de la puissance de WPF, un mécanisme qui autorise la gestion des styles, des animations, du Data Binding et de bien d'autres choses sans lesquelles WPF ne serait pas ce qu'il est.

Savoir ce qu'est une propriété de dépendance ou une propriété jointe, savoir en déclarer et savoir les utiliser représente une base impossible à zapper.

Alors, pour tout savoir sur le sujet, téléchargez mon dernier article "Propriétés de dépendance et propriétés jointes (WPF/Silverlight)" !

L'article est fourni en PDF avec les sources du projet exemple (utilisable sous VS 2008 ou Blend 2).

NB: Pour mieux comprendre cet article si vous n'êtes pas encore un expert de WPF, je vous conseille la lecture de mon précédent article "10 bonnes raisons de préférer WPF".

Bonne lecture,

... Et Stay Tuned !

Techdays 2009, Le grand rush !

Les Techdays 2009, ce temple des annonces, cette grand'messe de la technologie, que dis-je, ce rendez-vous INCONTOURNABLE à la gloire de notre passion commune et de nous outils préférés, et bien les Techdays 2009 ont commencé depuis hier !

Plein de nouveautés et d'annonces croustillantes et plein de choses à voir et de conférences à entendre !

... bon... seulement voilà, j'aurai bien voulu vous en dire plus mais, hélas, mes obligations professionnelles m'ont interdites d'être sur Paris cette semaine :-( Du coup, et pour la première fois, ce n'est pas moi qui vais vous donner des informations toutes fraiches et exaltantes (même si je suis ce qui se trame de loin !), mais c'est à vous, qui êtes aux Techdays ou qui en revenez, de bien vouloir me tenir au courant, moi et les autres lecteurs de Dot.Blog bien entendu ! :-)

N'hésitez pas à laisser en commentaire ici ce qui vous a le plus marqué, ce que vous avez le plus aimé !

We need you ! Engagez-vous, rengagez-vous et commentez !

... et bonne balade aux Techdays !

Astuce du jour : chercher des ebook avec google

Légal / pas légal, that is the question... Sur le Web on trouve de tout, à vous de savoir ce que vous téléchargez.

Je ne suis pas là pour vous faire la morale mais plutôt pour vous donner une astuce sur la syntaxe de google qui permet de retrouver facilement des ebook.

Pour chercher des ebook ajouter tout simplement la ligne qui suit à votre recherche :

-inurl:htm -inurl:html intitle:"index of" +("/ebooks""/book") +(chm pdf zip)

La syntaxe peut être facilement adaptée. On voit que l'astuce consiste à cherche dans les URL la présence de certains mots comme ebook ou book et plus spécifiquement des répertoires de sites Web s'appelant comme ça. On remarquera aussi la fin de la recherche permettant de chercher chm pdf et zip. On peut supprimer zip ou chm si on ne veut que des pdf ou ajouter d'autres extensions qu'on recherche.

Bonne lecture !

J'ai testé pour vous Windows 7 !

Testez la bêta de la nouvelle version du système d’exploitation : Windows 7 !

l'Annonce Microsoft

"Annoncé par Steve Balmer lors du keynote du CES 2009 de Las Vegas, la bêta de Windows 7 est maintenant disponible sur le site Windows. Cette bêta vous permettra de vous faire une idée concrète de ce que sera  le prochain système d’exploitation de Microsoft: de meilleures performances, encore plus de simplicité, tout en permettant à l’utilisateur professionnel et particulier de vivre de nouvelles expériences numériques ! Découvrez la nouvelle interface, le nouveau centre de gestion des périphériques, la « recherche unifiée » ou encore la fonction « homegroup » pour créer un réseau chez soi ou pour sa TPE en quelques clics . Dépêchez vous seuls 2,5 millions de bêta sont disponibles pour le grand public au niveau mondial ! " (source Microsoft)

Mon avis

Installation sous Virtual PC (ou Hyper V si vous l'avez) 

N'ayant pas de machine libre pour "jouer" avec une bêta j'ai choisi l'option Virtual PC 2007 (que Microsoft diffuse gratuitement, n'oubliez pas le SP1 non plus). Comme W7 n'est pas encore reconnu il suffit lors de la création d'une nouvelle machine virtuelle de choisir Vista. Choisissez un emplacement, une taille raisonnable pour la RAM et le disque (j'ai testé avec 1 Go dédié à W7 et un fichier de 20 Go). Au premier boot la machine virtuelle vous dira comme n'importe quelle PC qu'elle ne trouve pas le boot (ou bien stoppez la recherche de boot réseau si jamais ça cherche trop longtemps). Allez dans les options de VPC et montez le fichier ISO comme un CD. Et là ça boote et ça installe W7 sans l'ombre d'un souci. Une fois l'OS installé complètement, installez aussi (par les menus de VPC) les extensions de la machine virtuelle. Cela permet entre autre une utilisation plus fluide de la souris. Une fois l'OS arrêté, vous pouvez aussi regardez les réglages de la machine virtuelle dans VPC, par exemple la connexion réseau si la votre n'est pas reconnue d'emblée. Pour moi il n'y a eu aucun problème mon réseau a été reconnu tout de suite sans avoir à toucher aux réglages.

Ce que j'en pense

Ceux qui ont refusé d'installer Vista seront soit très contents, soit très déçus. Déçus s'ils s'attendent à "autre chose" que Vista, car W7, comme je l'ai dit maintes fois, c'est avant tout un Vista. Contents, ils le seront si ce qui les gênait dans Vista c'était une certaine lourdeur, car si W7 c'est un Vista, c'est un Vista revu et corrigé, amélioré et surtout plus rapide.

Sous Virtual PC la carte graphique détectée est une S3 Trio, un truc très vieux, vraiment minimaliste, donc pas d'effets 3D ni de jolies transparences. Si vous voulez voir W7 dans toute sa splendeur il faudra l'installer sur une vraie machine et pas en virtuel.

En dehors de l'absence des effets cosmétiques, le test sous Virtual PC a un grand mérite : faire fonctionner l'OS avec peu de RAM, une simulation de disque dur plus lente qu'un vrai disque, une carte graphique pourrie, osons le dire, et assez peu de puissance processeur, le tout pendant que XP ou Vista (selon votre config) tourne en dessous... Pire comme conditions de test c'est dur à faire, même un portable grand public à 400 euros fait mieux aujourd'hui...

Et bien j'ai été très surpris du peu de mémoire consommé (384 Mo) ainsi que de la vitesse d'exécution ! Windows 7 c'est un Vista qui ne passerait pas les contrôles anti-dopage (sauf sur le Tour de France, mais là c'est normal) !

Rapide, peu gourmant, et beaucoup de petites modifications ergonomiques très agréables et intelligentes. C'est un Vista en mieux donc. Tout ce qu'on pouvait reprocher à Vista est parti, et tout ce qui faisait de Vista un très bon OS est resté ou a été amélioré.

Internet Explorer 8 fait partie de la livraison et je n'avais pas eu le temps de le tester jusqu'à là, l'occasion a donc été idéale. Conclusion pour IE8, la même que pour Windows 7 vis à vis de Vista : c'est de l'IE7 en mieux, en plus rapide, et avec des améliorations ergonomiques vraiment bien. On trouve enfin une barre de recherche pour Ctrl-F, seul truc dinosauresque qui m'agaçait vraiment sous IE7.

Côté réseau, mon réseau local a été vu tout de suite sans problème, même entre l'hôte XP et la machine virtuelle Windows 7, ainsi qu'avec toutes les autres machines du réseau. Les petits problèmes rencontrés avec Vista à ce sujet sont donc oubliés.

En terme de vitesse, l'accès et l'affichage des pages Web complexes sous IE8/Windows 7 en machine virtuelle était 2 à 3 fois plus rapide que sous l'OS natif avec IE7 ! Quelle est la part de IE8 et celle de W7 dans ces performances je n'en sais rien, mais tout cela est vraiment rassurant.

Conclusion

Sous ma machine dual boot XP/Vista je suis maintenant très impatient de pouvoir effacer et reformater sous Windows 7 ma partition Vista ! Windows 7 s'avère rapide, peu gourmand, agréable à utiliser. Je conserverais certainement encore ma partition XP pour toutes les vieilleries (et pour certains dossiers clients), mais il est clair que dès la mise sur la marché de la finale de Windows 7 il deviendra mon OS par défaut.

Les liens de téléchargement

http://www.microsoft.com/france/windows/products/windowsvista/enterprise/default.mspx

http://technet.microsoft.com/fr-fr/evalcenter/dd353205.aspx

Visual NDepend un outil d'analyse de code original et puissant

A partir d'une certaine taille le code d'une application devient difficile à maintenir même s'il est bien conçu. De même, la maintenance évolutive oblige souvent à mettre les mains dans un code écrit par d'autres (si ce code est assez ancien, on peut s'y perdre même en en étant l'auteur d'ailleurs !). Auditer un code est ainsi un besoin fréquent dans le travail de tous les jours d'un développeur. Si on effectue des missions d'audit ce besoin devient alors impérieux car il est nécessaire d'entrer rapidement dans un code "étranger" et toujours complexe (je n'ai jamais été appelé en audit pour des logiciels de 20 lignes...).

Les outils d'analyse de code sont ainsi des compagnons indispensables. Hélas ils ne sont pas si nombreux que ça et comme tout ce qui touche la qualité, ils sont un peu "oubliés".

Je voulais ainsi vous présenter un excellent outil : Visual NDepend.

NDepend est puissant, il permet de construire et visualiser des comparaisons, d'auditer la qualité du code, et surtout de mieux visualiser la structure d'une application. Le tout quantitavement (métriques), qualitativement (l'information est pertinente) et graphiquement (le logiciel propose de nombreux diagrammes et schémas permettant de visualiser ce qui est invisible en lisant le code source : structures, dépendances, ...).

NDepend ne se limite pas seulement à l'audit de code, c'est aussi un excellent outil de refactoring.

On notera aussi, côté puissance, l'intégration d'un langage d'interrogation, le CQL (Code Query Language), permettant à la façon de SQL de "questionner" un projet et son code comme s'il s'agissait d'une base de données. La comparaison s'arrête là avec SQL car CQL "comprend" le code alors que SQL ne comprend pas le sens des données qu'il manipule. Cette grande différence confère à NDepend une très grande souplesse et beaucoup d'intelligence.

Par exemple il est très simple de faire des requêtes du type "montre moi toutes les méthodes privées dont le nombre de lignes de code est supérieur à 20", très utile pour repérer rapidement dans un projet les lourdeurs ou la nécessité de refactoring. Une telle interrogation se formule en la requête CQL suivante "SELECT METHODS WHERE NbLinesOfCode > 20 AND IsPrivate".
On peut bien entendu créer des requêtes plus sophistiquées comme rechercher toutes les types qui sont une définition de classe et qui implémentent telle ou telle autre interface !

NDepend est ainsi un outil de grande qualité dont on ne peut que conseiller l'utilisation. Réalisé par Patrick Smacchia, un acteur connu de la scène .NET et Microsoft MVP C#, NDepend est vendu 299 euros en licence 1 utilisateur, c'est à dire pas grand chose au regard des immenses services qu'il peut rendre.

Il y a beaucoup de choses à dire sur cet outil et surtout à voir. Le mieux si vous êtes intéressés est de vous rendre sur le site du logiciel www.ndepend.com où vous pourrez visionner de nombreuses petites vidéos qui vaudront mieux que de longs discours.

Bon refactoring !