Oui, programmer peut être Fun. Surtout quand les développeurs ne se prennent pas au sérieux. Et chaque année pendant les TechDays de Microsoft, la session Coding for fun le rappelle à coup de programmes aussi ingénieux, inutiles, qu'hilarants. Pour sa dernière participation à l'exercice, David Catuhe, monsieur Internet Explorer chez Microsoft, a codé le parfait navigateur pour sa future petite fille. Son nom : Edge pour Extreme Defense Grid Explorer.
Son principe ? Evidemment bloquer l'accès à certains sites. Mais Edge se distingue par sa capacité à remplacer à la volée les images et photos offensantes par... des petits poneys.
Démonstration sur YouPorn où mêmes les GIFs animés les plus sordides se transforment en de gentils petits animaux arc en ciel. Ses filtres fonctionnent également sur les moteurs de recherche et sur Wikipédia. Les mots offensants sont alors purement et simplement supprimés.
Pour le sourire et la beauté du geste ?
Comment s'y prend-il ? Tout d'abord, en partant d'une classique liste blanche de sites autorisés. Il exploite ensuite la fonction Webview du langage C#. Mais plutôt que la rediriger vers internet, il l'envoie vers un « Pony Proxy » chargé du nettoyage. Celui-ci utilise le HTML Agility Pack, un parseur de pages web que chacun peut intégrer à son application. C'est à travers lui que l'on supprime les mots incongrus avant affichage.Les images offensantes, elles, sont impossibles à énumérer dans une liste ; donc à nettoyer par le Pony Proxy. Une fonction avancée a alors été créée : le Pony Augmented Protection Analyzer ou PAPA. Il analyse le code HTML et fait pointer tous les tags « image » vers des images de poneys aléatoires (idem pour les vidéos qui pointeront vers des extraits du dessin animé).
Le Pony Augmented Protection Analyzer est assez malin pour ne pas se faire berner par les requêtes dynamiques et les images chargées à la volée. Il utilise pour cela un injecteur JavaScript qui remplace les objets image ou vidéo par leur équivalent poney. Une façon ingénieuse de garder le contrôle sur des photos que l'on ne maîtrise pas.
Ce navigateur a été codé avec le sourire uniquement pour la beauté du geste. Mais il résout au passage le principal problème des navigateurs pour enfant actuels. Autoriser l'accès aux moteurs de recherche et à YouTube en filtrant le contenu pour ce qu'il est et non selon d'où il provient.
A lire également :
- Applications universelles : faut-il migrer depuis Silverlight vers WinRT ?
- Spartan : Microsoft rattrape son retard avec GamePad, Web Audio et ECMAScript 6
- Un développeur aura toujours un avenir s'il est curieux et ouvert
- Développer des applications Windows Store pour l'entreprise : quelques conseils