Liens de la semaine – #14

Technologie

.NET

  • Un truc, très cool, pour intégrer la puce de traçage Google Analytics sans pénaliser votre score de performance Google Page Speed.
  • Une liste de validations à effectuer pour votre site ASP.NET.

Web

  • Une grande annonce de la part de l’équipe jQuery. La vision d’avenir de la librairie a été documentée et annoncée au public. Il est, notamment, question de jQuery 2.0 qui retirera la prise en charge des navigateurs Internet Explorer 6, 7 et 8.
  • Tout ce que vous devez savoir au sujet du z-index.
  • La prise de position de Google au sujet de l’avenir de JavaScript. La stratégie se divise en deux branches : faire évoluer EcmaScript et développer un nouveau langage nommé Dash.
  • Plain Text Offenders est une encyclopédie des sites et services en ligne qui envoie des noms d’usager et mots de passe en clair par courriel.

Divers

Découverte de la semaine : Glimpse

Glimpse est un outil permettant au développeur ASP.NET d’avoir une vue client sur se qui ce passe du côté serveur. Il agit comme l’équivalent de Firebug pour votre code côté serveur.

Installation

L’inclusion de Glimpse à votre projet se fait par NuGet, bien évidemment. La spécificité est reliée à sa configuration dans celui-ci.

Une fois l’installation complétée, votre projet contiendra tous les éléments nécessaires à la mise en action. Il y a notamment votre fichier web.config qui sera modifié pour son utilisation.

En ce qui concerne l’activation, il s’avère que l’outil n’est pas activé par défaut dans votre projet. Il faut visiter l’adresse /glimpse.axd pour accéder à la page de configuration. Avec cette page, vous pouvez l’activer, le désactiver et même personnaliser le nom de session utilisé.

config
La page de configuration /glimpse.axd

Il est à mentionner que les liens présents dans cette page sont, en fait, des bookmarklets pouvant être ajoutés à votre barre de favoris afin qu’ils soient encore plus accessibles.

L’autre utilité de cette page est de vous permettre de réviser vos paramètres de configuration. Bref, un guichet unique pour tous vos besoins.

Utilisation et remarques d’utilisation

En assumant que Glimpse est activé pour votre navigateur, vous devriez y voir une petite icône à l’image de celui-ci apparaître dans le coin droit de votre fenêtre. C’est par là que vous pourrez activer la fenêtre d’inspection de requêtes.

Avec cette fenêtre, il y a un paquet d’informations qui peuvent être consultées. Chaque onglet contient des informations qui vous permettre d’analyser un volet de la requête qui vient d’être exécutée.

Timeline de Glimpse
Timeline de Glimpse

Par exemple, l’onglet Timeline permet de consulter le détail du fil d’exécution de la requête détaillant le temps d’exécution pour chaque étape ainsi que les informations sur les fonctions qui ont été exécutées.

Une autre fonctionnalité très utile est l’onglet permettant d’identifier à quelle route appartient votre requête. Vous pouvez savoir, en quelques clics, si vous avez des routes qui sont inutilisées.

Conclusion

La beauté de tout cela est que Glimpse est un projet open source présent sur Github. Cela veut aussi dire que vous pouvez contribuer au projet si cela vous le dit.

Au moment d’écrire ce billet, le mot a même couru sur la liste de distribution du projet qu’ils étaient à la recherche de contributeurs afin de rehausser la documentation des différentes fonctionnalités de la librairie. Cela peut être une bonne façon de se mouiller et d’apprendre le fonctionnement d’un projet.

Dans ce billet, j’ai présenté uniquement la partie ASP.NET MVC de la librairie. Sachez qu’il y a aussi une adaptation pour Rack (le serveur web Ruby), PHPWSGI (Python Web Server Gateway Interface) et même ASP.NET. Alors, pour moi, il est hors de tout doute que Glimpse va maintenant faire partie de chacun de mes projets à partir de maintenant.

ASP.NET 4.5 – Présentation de certaines nouveautés

ASP.NET est sur le marché depuis le début de l’année 2002. Depuis toutes ces années, il est au centre de la stratégie web de Microsoft.

L’aventure a débuté en étant le digne successeur à ASP classique. À travers le temps, cette technologie a évolué en un Framework web solide basé sur .NET.

Depuis, mi 2012, la version 4.5 d’ASP.NET est accessible aux développeurs. Tel que le veut la tradition des numéros de version de .NET, celle-ci est basée sur .NET 4.5.

Il y a beaucoup de nouvelles fonctionnalités qui ont été ajoutées ou améliorées dans cette version. Notamment avec la venue du typage dynamique dans .NET et des appels de fonction asynchrone.

Sans tourner autour du sujet trop longtemps, en voici quelques-unes qui ont retenu mon attention. Il est aussi à mentionner que le sujet est beaucoup plus large que ce qui va être énuméré. ASP.NET 4.5 est une mise à jour importante du Framework.

ASP.NET Core

Modules et Handlers Async

Avec la venue de l’amélioration de la prise en charge de l’asynchronicité dans le langage C#, les API des Modules et des Handlers HTTP a été mis au goût du jour. Il est maintenant possible d’écrire ceux-ci afin que le Thread d’exécution ne soit pas dépendant de leur résultat d’exécution pour faire autre chose.

Par exemple, un HttpHandler async doit hériter de la classe HttpTaskAsyncHandler et dériver la méthode ProcessRequestAsync pour que la magie s’opère.

Inclusion de la librairie AntiXSS

AntiXSS est une librairie, développée par Microsoft, d’utilitaires permettant l’encodage d’entrée utilisateur à partir du web. Elle fait partie d’un grand ensemble appelé Microsoft Web Protection Library.

Il est possible d’utiliser directement les fonctionnalités publiques exposées par AntiXSS. Toutefois, la façon de faire la plus préconisée est de l’utiliser comme encodeur par défaut par ASP.NET. Cette technique permet, de façon transparente, à travers les différents API d’encodage d’ASP.NET. Dans ces API, il y a les fonctions HtmlFormUrlEncode et HtmlEncode, par exemple.

Support natif pour WebSocket

WebSocket est un protocole de communication web permettant un échange bidirectionnel de données sur une seule et même connexion TCP. Le protocole est maintenant largement supporté et implémenté par les principaux navigateurs. De plus, il est reconnu par l’IETF sous le joli nom de RFC 6455.

Le support pour WebSocket a maintenant été ajouté à .NET grâce à System.Net.WebSockets.WebSocket. De plus, il possède tout l’attirail d’outils vous permettant d’invoquer ses fonctions de façon asynchrone.

Bundling et minification

L’une des premières optimisations qui est à faire à votre site web est de réduire la quantité et le volume en kilooctets de fichiers JavaScript et CSS à télécharger. Pour faire cette compression et cette minification, il faut utiliser un outil automatisé pour y arriver. Pour les projets pré-.NET4.5, il fallait requérir à une librairie comme Cassette, par exemple.

Dans cette nouvelle version d’ASP.NET intègre le bundling et la minification sans librairie externe. Un guide d’utilisation détaillé se trouve sur le site asp.net. Cette technique fait même partie des projets par défaut ASP.NET MVC. Utilisez-la!

Hébergement

Prefetch

Prefetcher est un composant initialement destiné aux applications de type bureau. Il permet l’accélération du démarrage d’une application en analysant les tendances d’utilisation du disque dur. La principale technique utilisée est de regrouper les fichiers activement utilisés dans un seul répertoire pour accélérer leur accès.

Avec .NET 4.5 et Windows 8 / Windows Server 2012, prefetcher a été intégré et peut être activé pour vos application web ASP.NET. Cette fonctionnalité s’active en activant l’attribut enablePrefetchOptimization.

Forms

Model Binding

Le pendant Forms d’ASP.NET n’a pas été négligé. Il est possible d’associer un contrôle associé à une collection d’éléments (Ex : Gridview, Repeater, etc.) et de pouvoir accéder directement aux propriétés du type associé. Une image vaut mille mots :

typed_repeater

Encodage automatique de vos expressions en HTML

Vous pouvez maintenant faire en sorte que vos données texte soient automatiquement encodées en HTML en utilisant le deux-points dans vos expressions de databinding. Par exemple, <%#: Item.Name %>

Conclusion

Il a été mentionné, plus haut dans cet article, qu’il y a beaucoup plus que ce que j’ai énuméré dans ce billet. Par exemple, il a des changements au support HTML5 de l’éditeur de contenu qui n’ont pas été couvert dans cet article et qui vont probablement vous émerveiller.

Émerveiller, dans le sens que vous allez probablement vous demande pourquoi cela n’était pas là avant? À ce point-là, je vous le dis.

Les prochaines semaines et mois vont nous permettre d’explorer les nouvelles fonctionnalités offertes par cette mise à jour. Soyez vigilants!

Liens de la semaine #9

Je vous souhaite de passer un agréable temps des fêtes. Profitez de l’occasion pour décrocher de votre ordinateur et profiter du bon temps avec votre famille!

Développement

  • Intéressant : Firebase, une base de données destinée à une utilisation côté client. Est hébergée totalement dans le cloud.
  • Qu’est-ce qui se passe lorsqu’on vous oblige à utiliser MSBuild pour votre intégration continue. Amusante et très drôle prise de positions agencée d’images sur certains sujets associés au développement web.
  • De quelle façon vous vous y prenez pour lire du code? Une expérimentation avec une visualisation des interactions entre le sujet de test et le code en question.
  • Un bogue? À qui la responsabilité? Une belle histoire d’un développeur de longue date ayant même développé sur le jeu Stat Craft.

Web

.NET

  • this.Log(), une extension C# permettant le logging sans trop de friction et fonctionnant avec une majorité de frameworks de logging comme log4net, par exemple. Disponible sur NuGet, aussi.
  • La mise à jour ASP.NET and Web Tools 2012.2 arrive à grand pas. La Release Candidate a été dévoilée cette semaine.

Informatique

Science

Mes liens de la semaine – #3

Technologie – Général

.NET

  • Tout ce qui est à savoir au sujet des  prochaines versions et orientations futures d’ASP.NET est ici.
  • Noda Time, un projet développé par le vénérable John Skeet, a officiellement gradué en version 1.0. Cette librairie se dédie à la manipulation des dates dans .NET. Il s’agit d’une adaptation de la librairie Joda Time pour Java.

Web

  • Lorsque Twitter a introduit la limite de 100 000 jetons utilisateur pour les applications tiers, ils n’entendaient pas à blaguer. Si vous atteignez cette limite, votre application est radiée de l’API Twitter. Tweetro l’a appris à ses dépens.
  • Un gars a documenté une technique permettant de tracer ses visiteurs web à l’aide de requêtes 301 afin de contourner les nouvelles lois européennes sur le consentement aux cookies. Sommairement, il se repose sur un identifiant associé à un fichier Javascript qui est passé de requêtes en requêtes. Cela me semble un peu trop de trouble pour la peine.

iPhone