Comment Booter sur un VHD ?

Cet article explique comment faire pour démarrer son ordinateur sur un fichier virtuel VHD (virtual hard disk) sur lequel Windows Server 2008 R2 est installé.

Pré-requis à l’installation d’un boot sur disque dur virtuel

  • Windows 7 (seven) doit être installé sur votre ordinateur
  • Avoir Windows Server 2008 R2 Entreprise ou Standard monté sur le lecteur E: (par exemple). Attention: à cause d’une limitation de licence, cette procédure ne fonctionne pas avec Windows Server 2008 R2 Foundation.

Procédure d’installation pour démarrer Windows Server 2008 R2 à partir d’un VHD

Lancer le gestionnaire de disques : Gestion de l’ordinateur puis Gestion des disquesCréer un disque dur virtuel VHD: Clic droit sur Gestion des disques puis choisir Créer un disque dur virtuel.

Choisir l’emplacement physique du fichier VHD, la taille (40 Go) et Taille fixe (impératif).

Patienter une dizaine de minutes.

Une fois que le disque dur virtuel est créé, il faut l’initialiser : Dans la petite case à gauche de la représentation du disque, faire un clic droit puis choisir Initialiser le disque.

Garder l’option par défaut (secteur de démarrage principal activé) et cliquer sur OK.

Formater le nouveau disque en NTFS: Sur la représentation du disque, faire un clic droit et choisir Nouveau volume simple.

Dans l’assistant qui s’ouvre, cliquer sur Suivant sur la page d’accueil.

Dans la page Spécifier la taille du volume, garder les options par défaut et cliquer sur Suivant.

Dans la page Attribuer une lettre de lecteur ou chemin d’accès, attribuer la lettre de lecteur V: (par exemple), laisser les autres options par défaut et cliquer sur Suivant.

Dans la page Formater une partition, garder les options par défaut et cliquer sur Suivant.

Cliquer sur Terminer.

Vous pouvez fermer la Gestion de l’ordinateur.

Télécharger Install-WindowsImage, sur C:UsersadministrateurDownloads (par exemple). Le script PowerShell Install-WindowsImage utilise la DLL (Dynamic Link Library) wimgapi.dll dans Windows 7 ou Windows Server 2008 R2 pour appliquer une image Windows dans un fichier. Wim à un emplacement spécifié.

Il peut être utilisé pour appliquer une image Windows 7 ou Windows Server 2008 R2 sur un disque dur virtuel VHD utilisé pour un démarrage natif ou avec une machine virtuelle Hyper-V.

Débloquer le fichier téléchargé : une fois que le fichier PowerShell est téléchargé, faire un clic droit dessus et choisir Propriétés.

Dans l’onglet Général, cliquer sur le bouton Débloquer et ensuite sur le bouton OK.

Ouvrir une Invite de commandes avec le jeton non filtré : Démarrer > Tous les programmes > Accessoires.

Sur Invite de commandes, faire un clic droit et choisir Exécuter en tant qu’administrateur.

Lancer PowerShell : Dans l’invite de commandes précédemment ouverte, taper PowerShell.

Autoriser l’exécution d’un script non signé: Dans PowerShell, taper set-ExecutionPolicy RemoteSigned

Aller à l’emplacement du téléchargement du script: Dans PowerShell, taper cd C:UsersadministrateurDownloads, par exemple.

Comme un média de Windows Server 2008 R2 peut avoir plusieurs installations disponible, il faut récupérer l’index des installations: Dans PowerShell, taper .Install-WindowsImage.ps1 -WIM E:sourcesinstall.wim, où E: est l’emplacement des fichiers d’installation de Windows Server 2008 R2. Noter le numéro d’index qui correspond au type d’installation que vous voulez faire.

Ce numéro d’index apparaît entre crochets: [3], par exemple. Le numéro d’index devra être tapé sans les crochets [].Exécuter le script Install-WindowsImage: Dans PowerShell, taper .Install-WindowsImage.ps1 -WIM E:sourcesinstall.wim -Apply -Index 3 -Destination V:, où E: est l’emplacement des fichiers d’installation de Windows Server 2008 R2; 3 est l’index de l’installation choisie (Installation complète de Windows Server 2008 R2 Entreprise, par exemple); V: est l’emplacement du disque dur virtuel. Patienter une quinzaine de minutes.

Mettre à jour les informations de démarrage : Dans PowerShell, taper: V:WindowsSystem32bcdboot V:Windows, où V: est l’emplacement du disque dur virtuel.

Fermer complètement la fenêtre PowerShell.

Démarrer sur un VHD avec Windows Server 2008 R2

Redémarrer: une nouvelle possibilité de démarrage apparaît avec l’intitulé Windows Server 2008 R2 Entreprise.

Un nouveau redémarrage sera probablement nécessaire après la mise à jour des périphériques.

 

Livre Unicode 5.0 en pratique de Patrick Andries

Unicode 5.0 en pratique

Dans sa préface, Mark Davis énonce qu’il n’existe pas d’autre ressource qui soit aussi claire et accessible. Pour le moins, c’est un livre qui contient une quantité impressionnante d’informations sur le sujet.

Pourtant, l’auteur précise d’emblée que ce livre sert aussi bien la communauté des spécialistes que celles des informaticiens, des programmeurs, des linguistes, etc. Il ne s’adresse pas uniquement aux lecteurs des langues orientales.

Il est écrit dans un français clair, agréable à lire. Visiblement, l’auteur a réellement cherché à se mettre à la place du lecteur néophyte.

Sur le contenu, l’approche est aussi très satisfaisante. La présentation d’Unicode 5.0 est aussi l’occasion d’expliquer des termes et des concepts que nous croisons souvent sans pour autant comprendre de quoi il s’agit. Par exemple, les différences entre un graphème, un caractère et un glyphe. Ou encore, les notions clairement expliqués de jeux de caractères codés : ASCII, ISO Latin-1, Windows Latin 1, etc.

Sur Unicode, nous avons enfin une explication claire d’UTF-8, UTF-16, UTF-32 avec ses variantes UTF-32BE & UTF-32LE.

Les difficultés évoquées précisément pour les séquences de tri sont aussi remarquablement limpides. L’auteur explique bien d’autres difficultés insoupçonnables liées aux caractères.

L’auteur a une connaissance époustouflante des notions liées aux caractères. Toutefois, il sait se mettre à notre portée sans jamais faire preuve de pédantisme, ni de morgue.

Vulnérabilité dans Microsoft SharePoint Server

Une vulnérabilité a été corrigée dans Microsoft SharePoint Server

Elle permet à un attaquant de provoquer une élévation de privilèges.

Il s’agit d’une vulnérabilité d’élévation de privilèges, celle-ci est causée lorsque SharePoint Server est abusée par une application spécialement conçue dans ce but et qui utilise le modèle d’extensibilité de SharePoint pour exécuter du code JavaScript arbitraire avec les droits de l’utilisateur authentifié courant.

Le danger réside dans le fait qu’un attaquant pourrait créer une application spécialement conçue pour exploiter cette vulnérabilité, puis convaincre les utilisateurs de l’installer afin d’exploiter la faille si elle n’est pas corrigée.

L’application peut contourner la gestion des autorisations et exécuter du code arbitraire dans le contexte de sécurité de l’utilisateur connecté.

Un attaquant qui parviendrait à exploiter cette vulnérabilité pourrait utiliser une application spécialement conçue pour exécuter du script arbitraire dans le contexte de sécurité de l’utilisateur connecté. Par exemple, le script pourrait agir sur le site SharePoint affecté avec les mêmes autorisations que l’utilisateur connecté.

Cette vulnérabilité concerne:

  • Microsoft SharePoint Server 2013 avec ou sans SP1
  • SharePoint Foundation 2013 avec ou sans SP1

Le bulletin de sécurité de Microsoft: Microsoft Security Bulletin MS14-050.

Scripting Windows

Dans un domaine Active Directory, l’installation automatisée d’un logiciel peut se faire avec des GPO (Group Policies Objets ou en français : Stratégies de groupes).

Cependant tous les sites ne s’appuient pas sur un annuaire Active Directory pour l’identification et l’authentification des ressources. Dans ce cas, l’installation automatisée d’un logiciel peut être scriptée même si le logiciel à installer ne dispose pas d’un fichier MSI.

Le package MSI contient les informations nécessaires à la réalisation de l’installation. Le fonctionnement de MSI et Windows Installer est détaillé en français dans cet excellent document.

Installation automatisée des Logiciels

Même dans les cas les plus complexes (interactions avec l’utilisateur, redémarrage nécessaire de l’ordinateur avec poursuite du script, etc.), il est possible d’automatiser complètement l’installation.

Concrètement, nous utilisons l’environnement Microsoft WSH et les langages VBScript ou JScript pour automatiser les installations. Ils présentent l’avantage d’être compris par tous les systèmes Microsoft depuis Windows NT 4.0 jusqu’à Windows Server 2008 R2, y compris les postes clients (par exemple: Windows XP, Vista, Seven).

Powershell de Microsoft, apparu avec Vista, fonctionne sur un nombre plus limité de plateformes. Toutefois, si vous devez procéder à une installation qui nécessite une forte interaction avec l’interface graphique, privilégiez AutoIt pour sa simplicité.

Par exemple, l’écriture du mot questcequecest.com dans une boîte de dialogue, se traduira par:

WshShell.SendKeys « {q}{u}{e}{s}{t}{c}{e}{q}{u}{e}{c}{e}{s}{t}{.}{c}{o}{m} » . . . en WSH
Send(« questcequecest.com ») . . . en AutoIt

Le langage de script AutoIt a bien d’autres avantages

Il permet de créer des boîtes de dialogues riches:

Interface Graphique Réalisable Avec Autoit

Si vous regardez bien l’image, vous verrez que tout ce qui est nécessaire est présent.

COM/OLE est implémenté: toutes les manipulations d’objets de WSH sont gérées à l’identique dans AutoIt. De plus, AutoIt interagit avec les contrôles Windows, les services Windows, le système de fichiers. Il appelle directement les DLL externes et les API Windows.

Enfin, il gère les expressions régulières et il est compilable sans la nécessité d’un runtime quelconque.

AutoIt fonctionne ainsi sur les OS Windows 95, 98, ME, NT4, 2000, XP, 2003, Vista, Seven, 8, 8.1, 2008, 2008 R2, 2012, 2012 R2.

Sur Vista et OS ultérieur, il prend en compte UAC (User Account Control ou en français : Contrôle des comptes utilisateur).

AutoIt est gratuit. Aussi, vous pouvez l’utiliser pour bien d’autres choses que les installations de logiciels.

D’autres utilisations des Scripts

Le langage de script d’AutoIt, qui est semblable à WSH/VBSCript, vous permet d’accroître considérablement votre productivité pour les tâches d’administration.

Pour cette raison, vous avez intérêt à généraliser l’utilisation des scripts, y compris pour les langages de scripts classiques comme WSH/VBSCript/JSCript ou PowerShell. Outre les installations de logiciels ou d’imprimantes, les scripts permettent d’automatiser l’analyse statistique des documents qui vous sont remis.

SharePoint: Stratégie de gestion des informations

L’intérêt pratique des stratégies de gestion des informations est de pouvoir appliquer des règles spécifiques à certains types de documents. Une stratégie est constituée de plusieurs règles.

De plus en plus de contraintes s’exercent sur le cycle de vie du document. Celui-ci doit être conforme à des réglementations légales ou obligatoires. Dans le cadre d’un Business Process Management (BPM), le document subit généralement des modifications. Un audit doit pouvoir vérifier la conformité de ces modifications.

Les stratégies de gestion de l’information SharePoint peuvent vous aider à gérer vos informations et répondre aux exigences de conformité, y compris de rétention spécifique ou d’audit.

Dans SharePoint, des stratégies spécifiques peuvent être appliqués à une bibliothèque de documents ou pour un type de contenu précis. Dans le cas de l’application d’une stratégie à un type de contenu précis, celle-ci peut s’appliquer à l’ensemble des bibliothèques de documents, des sites ou des collections de sites.

Application d’une stratégie de rétention sur une bibliothèque

A des fins pédagogiques, je vais mettre en place une stratégie basée sur une règle de rétention sur une bibliothèque précise.  Cette règle énonce que si un document de la bibliothèque n’a eu aucune modification depuis plus de 3 ans, toutes les versions brouillons doivent être supprimées.

Cela se fait dans les paramètres de la bibliothèque.

Paramètres de la stratégie de gestion des informations

Dans la section Planification de rétention basée sur des bibliothèques, cliquez sur le lien Modifier la source. Dans l’écran suivant, dans la section Source de rétention, cliquez sur Bibliothèque et dossiers: validez la fenêtre qui vous informe que vous remplacez les stratégies par défaut.

La section Planification de rétention basée sur des bibliothèques apparaît. Cliquez sur le lien Ajouter une étape de rétention: la fenêtre Propriétés de l’étape s’affiche.

Dans cette nouvelle fenêtre, sélectionnez la période Modifié, dans la case Durée saisissez 3, et laissez années dans la liste déroulante Unité de temps.

Sous Action, sélectionnez Supprimer les brouillons précédents.

Sous Périodicité, cochez la case : les informations de périodicité se mettent à jour automatiquement en fonction des informations saisies préalablement.

Vérifiez puis validez tout.

Règle de rétention

Vous pourriez rajouter d’autres étapes et choisir la séquence d’exécution de ces étapes. La séquence des actions doit être planifiée correctement car certaines actions risquent de ne pas s’exécuter comme vous le souhaitez.

Les actions possibles sont:

  • Déplacer vers la Corbeille,
  • Supprimer définitivement l’élément sans l’envoyer dans la Corbeille,
  • Transférer vers un autre emplacement (sous condition qu’un autre emplacement ait été défini),
  • Démarrer un flux de travail (sous condition qu’un flux de travail ait été défini),
  • Passer à l’étape suivante sans modifier l’élément,
  • Déclarer un enregistrement (sous condition que la fonctionnalité Enregistrements ait été activée sur le site),
  • Supprimer tous les brouillons précédents du document,
  • Supprimer toutes les versions précédentes du document (la version en cours est gardée).

En plus de stratégies applicables aux bibliothèques, il est possible d’associer des stratégies à des types de contenu.

Application d’une stratégie de type de contenu

L’avantage d’appliquer des stratégies à des types de contenu est de pouvoir choisir la granularité d’application: bibliothèques, sites ou des collections de sites.

Par exemple, je crée un type de contenu intitulé SOCT_BPM sur mon site via Actions du site > Paramètres du site > Types de contenu de site > Créer. C’est un type de contenu de type Document.

Par ailleurs, Je l’ai associé à plusieurs bibliothèques.

Stratégie de type de contenu

Cliquez sur le lien Paramètres de la stratégie de gestion des informations. Vous avez le choix entre 4 stratégies:

Rétention: Cette fonctionnalité permet de spécifier une séquence d’étapes de rétention. L’objectif est de gérer à la fois le coût et les risques associés avec le maintien de contenu périmé. Le principe est strictement identique à l’exercice précédent.

Audit: Cette fonctionnalité permet de suivre finement les événements intervenus sur un document. L’objectif est de pouvoir auditer ces événements. Les événements sont: ouverture ou téléchargement, affichage dans des listes ou affichage des propriétés, modification, archivage ou extraction, déplacement ou copie, suppression ou restauration.

Toutes les informations d’audit sont stockées dans un journal d’audit unique sur le serveur. L’administrateur du site peut exécuter des rapports à ce sujet.

Codes-barres: Cette fonctionnalité permet d’ajouter un code-barres à un document grâce à une douchette et une application Microsoft Office comme Word. L’objectif est d’automatiser la création d’un code-barres dans le document lors de son enregistrement ou de son impression.

Étiquettes: Cette fonctionnalité permet d’ajouter automatiquement une étiquette personnalisée à un document lors de son enregistrement ou de son impression. L’objectif est d’accroître la sensibilisation des utilisateurs à la sécurité et d’améliorer le traitement des documents sensibles. Si par exemple, un document a une étiquette CONFIDENTIEL en haut du document, il devient difficile d’ignorer que le document était sensible.

L’étiquette est ajoutée à partir de Microsoft Office Word, PowerPoint et Excel (version 2007 minimum).

Stratégie de type de contenu

Cliquez sur OK pour appliquer automatiquement cette stratégie à tous les documents de type de contenu SOCT_BPM.

Rapport du plan de gestion des fichiers

La mise en place de stratégies de gestion des informations conduit à automatiser le plus possible le cycle de vie du document.

Afin de piloter les stratégies, SharePoint permet de produire des rapports sur les stratégies mises en place.  Vous pouvez obtenir des rapports au niveau d’une collection de sites, d’un site ou d’une bibliothèque.

Au niveau d’une bibliothèque, le rapport permet d’avoir une vue synthétique de l’application de toutes les stratégies.

Cela se fait aussi dans les paramètres de la bibliothèque.

Paramètres du Rapport du plan de gestion des fichiers

Cliquez sur ce lien. Ensuite, il suffit d’indiquer où va être stocké le rapport qui est au format Excel. C’est une bonne pratique d’avoir une bibliothèque unique, intitulée Rapports par exemple.

Le fichier Excel possède 3 onglets: Résumé, Détails de la rétention, Détails du dossier.

Les détails de la rétention donnent la liste des règles qui s’appliquent sur la bibliothèque:

Détails de la rétention

SharePoint: Le concentrateur ne réplique plus un type de contenu

Un souci est apparu en lien avec le concentrateur.

Le concentrateur réplique les types de contenu d’un site « maître » à travers les collections de sites de la ferme, ou d’autres fermes à l’aide du service proxy.

La consultation du journal des erreurs des applications de services de type de contenu a permis d’identifier ce problème. Ce journal conserve les erreurs de publication de type de contenu pour tous les sites d’abonnés.

Journal des erreurs des métadonnées

Le concentrateur ne réussissait pas à répliquer le type de contenu de site SOCT-GUIDES de la collection de sites SOCT vers celle de SOS Utilisateurs.

La réplication était impossible car le type de contenu existait déjà sur le site SOS Utilisateurs.

Résolution

le principe de résolution est simple car il consiste à supprimer le type de contenu de site SOCT-GUIDES du site SOS Utilisateurs.

Cependant, dans la pratique, c’était un peu plus compliqué car ce type de contenu était déjà utilisé sur le site. Il fallait donc d’abord supprimer les références à ce type de contenu dans les bibliothèques du site SOS Utilisateurs avant de supprimer le type de contenu.

Méthode manuelle

Les premières suppressions ont été faites manuellement. L’administrateur s’est aidé de l’excellent outil gratuit SharePoint Manager pour identifier les utilisations du type de contenu.

Usages d'un type de contenu dans SharePoint Manager 2010
L’image montre une copie d’écran lors de l’utilisation de SharePoint Manager pour connaître la liste des listes qui référencent un type de contenu. Dans cet exemple, le type de contenu est Annonce.

Comme le type de contenu SOCT-GUIDES était utilisé abondamment, cette méthode s’est révélée assez fastidieuse.

De plus des documents se référant à ce type de contenu (via leurs bibliothèques) avaient été supprimés.

Il était donc nécessaire de vider la corbeille et la corbeille de la collection de sites.

Méthode automatique

Afin d’améliorer le processus, il a été recommandé d’utiliser l’excellent script PowerShell Remove-SPSiteContentType.ps1 du site The SharePoint Project.

Ce script astucieux permet de supprimer un type de contenu d’une bibliothèque si un autre type de contenu pré-défini existe aussi.

Dans ce cas, il supprimait le type de contenu SOCT-GUIDES, si le type de contenu Document existe. Vous pouvez spécifier le type de contenu pré-défini que vous voulez: Dublin Core Columns, etc.

Dans la pratique, il est basé sur une fonction qui :

  • Parcourt chaque site de la collection de sites,
  • Parcourt chaque bibliothèque de documents du site en cours,
  • Vérifie si la bibliothèque contient le type de contenu pré-défini,
  • Vérifie si la bibliothèque contient le type de contenu à supprimer,
  • Vérifie si le type de contenu est en lecture seule,
  • Passe le type de contenu en mise à jour, s’il est en lecture seule,
  • Supprime le type de contenu à supprimer de la bibliothèque,
  • Envoie un rapport par email.

Bien évidemment, vous avez tout intérêt à vérifier le bon fonctionnement du script sur un site de test !

Un prochain article vous expliquera comment générer automatiquement un environnement de tests SharePoint à partir d’un environnement de production. Ce n’est pas complètement trivial.

SharePoint: le concentrateur ne publie pas les modifications d’une colonne de site

En complément de l’article sur les métadonnées gérées, j’ai pensé qu’un exemple réel de résolution de pannes serait utile.

Lors d’un test préparatoire, l’équipe rencontre le problème suivant: le concentrateur de métadonnées gérées ne publie pas les modifications d’une colonne de site précise.

La colonne de site s’intitule Type de document. Elle est définie sous forme d’une métadonnée gérée.

La notion de type de documents étant suffisamment large,  cette colonne de site est présente dans tous les sites et collections de sites.

Le rôle du concentrateur est de publier les types de contenu sur les collections de sites qui ont été abonnées à ce service. Le concentrateur est piloté à travers l’application de services Métadonnées gérées.

Le concentrateur ne sait répliquer que des types de contenu. La colonne de site Type de document avait donc été rattachée préalablement à un type de contenu.

Journal des erreurs

Le journal des erreurs des applications de services de type de contenu fournit le détail des explications en cas de problèmes.

Journal des erreurs des métadonnées

Cette liste permet de connaître les erreurs de publication de type de contenu pour tous les sites d’abonnés.

L’ouverture du journal affiche la liste de toutes les erreurs liées aux types de contenu.

Erreurs des métadonnées

L’ouverture de l’erreur qui concerne la colonne de site Type de document, renseigne sur le problème rencontré.

Détail d'une erreur des métadonnées

Dans cet exemple, il existe un conflit de nom interne (« Type_x0020_de_x0020_document »). Le nom interné étant unique, la réplication ne peut pas se faire.

Un administrateur avait créé manuellement une colonne de site portant le même nom sur le site destinataire. Après suppression de cette colonne, la réplication a été relancée et elle a pu se faire sans erreur.

Comme cette erreur est assez répandue, une vérification périodique du journal des erreurs des applications de services de type de contenu permet de les identifier puis de les résoudre rapidement.

Comment supprimer la Bibliothèque de remise dans SharePoint ?

La fonctionnalité de site Organisateur de contenu crée des règles basées sur des métadonnées qui transfèrent le contenu de la bibliothèque, intitulé Bibliothèque de remise, dans la bibliothèque appropriée.

Au moment de l’activation de cette fonctionnalité dans SharePoint 2010, la bibliothèque de remise (« DropOff Library ») est automatiquement créée si elle n’existe pas déjà.

Si vous désactivez la fonctionnalité Organisateur de contenu, cette bibliothèque n’est pas supprimée automatiquement.

Par ailleurs, vous ne trouverez pas l’option Supprimer le composant bibliothèque de documents dans les paramètres de la bibliothèque de remise créée par la fonctionnalité de site Organisateur de contenu.

Malgré tout, il est possible de la supprimer.

Suppression de la Bibliothèque de remise

Pour cela, ouvrez une session sur un serveur frontal SharePoint puis téléchargez et installez SharePoint Manager 2010 du site CodePlex.

Ouvrez SharePoint Manager 2010: patientez car il prend plusieurs secondes avant de récupérer la configuration de votre ferme. Ensuite, parcourez l’arborescence jusqu’à trouver la bibliothèque puis définissez la propriété AllowDeletion à vrai:

Paramètre d'autorisation de suppression de la Bibliothèque de remise

Enregistrez vos modifications:

Menu de suppression de la Bibliothèque de remise

Retournez dans les paramètres de la bibliothèque, vous verrez le lien de suppression de la bibliothèque:

Menu de suppression de la Bibliothèque de remise

Si vous cliquez sur le lien de suppression et que vous confirmiez l’opération, la Bibliothèque de remise est bien supprimée.

HTML5 JavaScript CSS3

https://developer.mozilla.org/en-US/docs/Web/API

http://html5please.com/

http://caniuse.com/

https://github.com/necolas/normalize.css

http://html5boilerplate.com/

https://developers.google.com/chrome-developer-tools/

https://developer.mozilla.org/en-US/docs/Tools

http://devtoolsecrets.com/

http://www.modern.ie/fr-fr

http://yeoman.io/

http://www.paulirish.com/2012/box-sizing-border-box-ftw/

http://fr.learnlayout.com/

http://learn.shayhowe.com/advanced-html-css

http://lea.verou.me/css3-gradients/#intro

http://lab.hakim.se/ladda/

http://twbs.github.io/bootstrap/

http://www.smacss.com/

http://google-styleguide.googlecode.com/svn/trunk/

http://mobitest.me/

http://www.gridpak.com/

http://bradfrost.github.io/this-is-responsive/

http://tympanus.net/Development/PageTransitions/

http://html5pattern.com/

http://www.wufoo.com/html5/

http://responsejs.com/

http://dataurl.net/#dataurlmaker

http://fortawesome.github.io/Font-Awesome/

http://www.icnfnt.com/#/

http://www.igvita.com/2012/09/12/web-fonts-performance-making-pretty-fast/

http://appcachefacts.info/

http://flailingmonkey.com/application-cache-not-a-douchebag

https://github.com/jamesgpearce/confess

https://developers.google.com/chrome/whitepapers/storage

http://webdevchecklist.com/

http://platform.html5.org/

http://philippe.im/

Consultant IT, Ingénieur de développement logiciel, Formateur