Projet Surface LCL : La vidéo

Voici la vidéo du projet dont je parle dans mon dernier billet, cela vous donne un aperçu de cette application :)

 


Tags: ,
Catégories: Divers | Surface

0 Commentaires
Actions: Permalink | Comment RSSRSS comment feed

Projet Surface : LCL à la carte

J'ai participé récement à un beau projet nommé "LCL à la carte pour Microsoft Surface" pour une agence LCL dans Paris. Ce projet a été réalisé avec une talentueuse équipe de Designers (Société externe), de Graphistes (Société externe) et des developpeurs de ma société (Winwise). Ce projet a été réalisé pour la banque LCL (MOA) par la céllule innovation du Crédit Agricole (MOE).

C'est une application NUI (Tactile sur Microsoft Surface) et vous pouvez y aller pour juger par vous même a l'agence LCL du Boulevard Saint-Michel (au 22 du Boulevard dans le 6e à Paris). C'est un projet test qui va permetre de voir l'impact du tactile dans un environement bancaire. L'accent a été mis sur le coté intuitif et l'exploitation complète du surport Microsoft Surface, je vous invite donc a allez tester cette superbe application et nous faire vos retours :)


Tags: ,
Catégories: Divers | Surface

2 Commentaires
Actions: Permalink | Comment RSSRSS comment feed

Gestion des contacts Surface sous XNA 3.1

Aujourd'hui je vous propose une petite librairie pour Surface que j'ai développé. Elle vous permet d'ajouter la gestion des contacts surface dans une application XNA 3.1. Pour télécharger cette librairie c'est par là : XnaTouchManager.rar (7,68 kb).

Cette librairie se compose en deux classes :

XnaTouchManager :

Classe statique qui implémente la gestion des contacts. Pour pouvoir utiliser la classe, il faut apporter deux modifications dans votre application root Surface XNA.

private void InitializeSurfaceInput()
{
  // ...
  // Placer la ligne a la fin de la fonction 

  XnaTouchManager._ContactTarget = contactTarget;
}

protected override void Update(GameTime gameTime)
{
  if (this.m_bIsApplicationActivated || this.m_bIsApplicationPreviewed)
  {
    if (this.m_bIsApplicationActivated)
    {
      XnaTouchManager.Update((float)gameTime.ElapsedGameTime.TotalMilliseconds);
    }

    // ...
    // Reste de la fonction ici
  }
}

Ensuite pour accéder aux fonctions de ce manager il existe des fonctions statiques :

- XnaTouchContact GetContact(int p_iD)
  Cette fonction récupère un contact par son identifiant, elle renvoie NULL si elle ne l'a pas trouvé.

- bool TryGetContact(int p_iD, out XnaTouchContact p_oContact)
  Cette fonction test si un contact existe, si il existe elle renvoie l'instance du contact en paramètre out, le retour de la fonction détermine si le contact a été trouvé.

Et des variables statiques rafraichis a chaque Update :

- _ContactsNew : Liste des nouveaux contacts, cela veux dire qu'ils n'étaient pas présents au dernier Update.

- _ContactsUpdate : Liste des contacts encore présent, cela veux dire qu'ils étaient présents au dernier Update

- _ContactsOld : Liste des anciens contacts, cela veux dire qu'ils étaient présents au dernier Update et que maintenant il n'existe plus.

Cela vous permet donc de gérer facilement la mise à jour de vos conctacts.

Il reste une dernière classe : XnaTouchContact

Elle permet quand vous utilisez les fonctions  GetContact et TryGetContact de vous fournir le contact rechercher et d'où il provient (liste des nouveaux contacts, des mises à jours ou des anciens).

J'espère que cela vous sera utile, je suis aussi preneur de vos retours.


Tags: , ,
Catégories: Surface | XNA

0 Commentaires
Actions: Permalink | Comment RSSRSS comment feed

Surface sous VS2010 et Framework 4.0

Si comme moi vous voulez développer vos applications Surface sous Visual Studio 2010, mais surtout tirer partie du Framework .Net 4.0 avec Surface, il existe un moyen très simple pour y arriver.

Tous d'abord vous devez installer le Surface SDK 1.0 SP1, pour ceux qui sont sous un système 64 Bit, il faut tricher sur la procédure d'installation comme je l'ai expliqué sur un ancien billet.

En effet il vous suffit de copier les templates de Visual Studio 2008 vers Visual Studio 2010 dans un répertoire "Surface", et miracle ca marche ! Pour cela suivez ces indications :

1) Copiez tous les fichiers ".zip" du répertoire "C:\Program Files (x86)\Microsoft SDKs\Surface\v1.0\Item Templates\" vers "C:\Users\{Utilisateur Surface}\Documents\Visual Studio 2010\Templates\ItemTemplates\Visual C#\Surface\".

2) Copiez tous les fichiers ".zip" du répertoire "C:\Program Files (x86)\Microsoft SDKs\Surface\v1.0\Project Templates\" vers "C:\Users\{Utilisateur Surface}\Documents\Visual Studio 2010\Templates\ProjectTemplates\Visual C#\Surface\".

Ensuite pour utiliser le template, faire "Nouveau Projet" et miracle, un onglet "Surface" est apparu avec les template :

Vous pouvez aussi rechercher les templates dans la box de recherche en haut à droite :

Créez votre projet puis, pour que cela fonctionne, il faut faire ces deux opérations sur le projet fraichement créé.

1) Ajoutez la référence "System.Xaml".

2) Pour ceux qui sont sous un système 64 Bit, il faut changer la target de compitalion vers "x86" pour forcer la compiltation 32bit.

Et voilà c'est magique ! Vous pouvez exécuter votre projet surface avec Visual Studio 2010 et utiliser toutes les nouveautées du Framework .Net 4.0.


Tags: ,
Catégories: Surface

0 Commentaires
Actions: Permalink | Comment RSSRSS comment feed

Installer le SDK Surface sur Windows 7 - 64 bit

Même si ce que je vais écrire plus bas n'est pas supporté par Microsoft, certains qui comme moi, développent sur Surface et voudraient installer le SDK sur leur machine de salon qui est en 64 bit pourraient être intéressés par ce tutorial. Je vais donc reprendre l'excellent post de Brian Peek sur l'installation du SDK Surface sur une Windows 7 - 64 bit.

Le post de Brian est clair mais en voici une transposition en français et surtout avec quelques petits ajouts suite a ma propre expérience de l'installation. Avant de commencer, il faut savoir que Surface et tous ses assemblies doivent s'exécuter en 32 bit mais sont compilés sous l'instruction Any CPU. De ce fait, l'exécution du SDK Surface sur un système 64 bit ne pose aucun soucis d'autant plus qu'elle n'est pas contre indiqué par le CLR, il faut donc forcer les assemblies à utiliser le CLR en 32 bit

1. Pré requis :

Pour pouvoir utiliser le SDK il faut avoir préalablement installé XNA Game Studio 2.0 (le Runtime suffit) qui est nécessaire pour la suite des festivités. Bien sûr, on pourra par la suite utiliser les templates Surface sous Visual Studio 2008 avec XNA Game Studio 3.0 (que je vous conseil d'installer avant le SDK Surface), mais ceux ci ne sont pas des pré requis.

Ensuite il vous faudra vous procurer le programme ORCA qui permet la manipulation des MSI, si vous ne savez pas ou le trouver cliquez ici.

Dernière vérification, sous qu'elle forme se présente votre MSI du SDK Surface ? Si il correspond a la capture suivante passez à l'étape 2, sinon suivez les instructions en bas de la capture :

Si vous n'avez pas le SDK sous cette forme c'est que vous possédez seulement le fichier SurfaceSDKWE.msi. Pour arriver a l'image ci-dessus, exécutez ceci en ligne de commande (remplacez bien sûr les chemins par les vôtres et vérifiez que tous les répertoires existent déjà) : 

msiexec /a "C:\Surface\SurfaceSDKWE.msi" /qb TARGETDIR="C:\Surface\Extract"

Cela va extraire les fichiers du MSI afin de faire une manipulation à l'étape 2.

2. Modification du MSI d'installation :

Si vous tentez d'installer le MSI maintenant, vous aurez le message comme quoi votre système ne répond pas aux pré requis d'installation, cela est dû au fait que vous êtes en 64 bit. Pour pouvoir contourner ça nous allons utiliser ORCA, l'outil téléchargé plus haut. Il va nous permettre de retirer cette condition. Faite click droit sur le MSI et cliquez sur Edit with Orca.

Allez dans la section LaunchCondition, sélectionnez les deux conditions suivante :

  • Installed OR (VersionNT=600 AND ServicePackLevel>=1)
  • Installed OR NOT VersionNT64

Puis faite click droit Drop Row et pour finir faite File > Save. Maintenant le SDK Surface pourra se lancer sur votre machine 64 bit.

Il reste une dernière étape avant d'installer le SDK. En effet dans les répertoires d'installation du SDK Surface, il y a un exécutable nommé [répertoire d'extraction MSI]\Surface SDK 1.0 SP1\Microsoft Surface\v1.0\setupcustomaction.exe. Cet exécutable est lancé pendant l'installation du SDK et doit impérativement se lancer en 32 bit mais lui aussi est en Any CPU. Il va donc falloir redéfinir les flags de l'assembly, pour cela nous allons utiliser l'utilitaire corflags qui est fournis avec Visual Studio.

Lancez le Visual Studio 2008 Command Prompt. Allez dans le répertoire ou se trouve le setupcustomaction.exe puis lancer la ligne de commande suivante :

corflags setupcustomaction.exe /32bit+ /force

Attention, cette opération va retirer la signature (nom fort) de l'assembly (il en sera de même pour tous les corflags que l'on fera par la suite). Une fois cette opération terminée, vous pouvez enfin installer le SDK Surface sur votre ordinateur !

3. Modifier les Assemblies Surface :

Maintenant que le SDK est installé (pour tout ce qui va suivre je prendrais comme hypotèse que le SDK est installé à cet emplacement : C:\Program Files (x86)\Microsoft SDKs\Surface\v1.0\ et C:\Program Files (x86)\Microsoft Surface\v1.0\ ) il faut modifier les exécutables du SDK pour que le CLR les exécute en 32 bit. Cette opération sera la même que pour le setupcustomaction.exe a savoir l'utilisation de corflags.

Lancez le Visual Studio 2008 Command Prompt et allez dans le répertoire C:\Program Files (x86)\Microsoft SDKs\Surface\v1.0\Tools\Simulator\, depuis ce répertoire lancez la ligne de commande suivante : 

corflags SurfaceSimulator.exe /32bit+ /force

Cela va modifier le simulateur Surface afin qu'il fonctionne correctement (a savoir en 32 bit), mais il va falloir le faire avec tous les autres exécutables du SDK, pour cela j'ai fait un batch qui est téléchargeable ici, il va faire un corflags sur tous les exécutables du répertoire C:\Program Files (x86)\Microsoft Surface\v1.0\.

4. Modifier les Samples :

Si vous voulez utiliser les samples par défaut de la table Surface dans le simulateur, vous devez déjà extraire ceux-ci. Pour cela, allez dans le répertoire C:\Program Files (x86)\Microsoft SDKs\Surface\v1.0\Samples\ et décompressez le fichier Surface Code Samples.zip dans ce même répertoire (il va créer un répertoire SDKSamples). Une fois décompressé, allez SDKSamples et éditez le fichier InstallSamples.bat avec un éditeur texte. Dans ce fichier, remplacez tous les SOFTWARE\Microsoft par SOFTWARE\Wow6432Node\Microsoft, enregistrez et lancez le batch en question.

Par la suite il faudra aussi exécuter un corflags sur les exécutables générés pour les samples, pour cela Lancez le Visual Studio 2008 Command Prompt et exécutez les deux batchs que j'ai fait pour vous, qui sont téléchargeables ici pour le premier et là pour le second.

 

Voilà vous avez fini, vous pouvez maintenant profiter du SDK Surface sur votre machine avec Windows Seven 64 bit.


Tags: , ,
Catégories: Surface

2 Commentaires
Actions: Permalink | Comment RSSRSS comment feed