[Blend] Opérations sur les Path

Dans un précédent article je vous avais présenté comment convertir un objet en Path. Dans cet article nous allons voir comment combiner plusieurs objets en un seul Path.

Nous partirons d’une page contenant un canvas et 3 rectangles.

Etat initial

Etat initial

Dans l’onglet « Objects and Timeline » nous allons sélectionner chacun des rectangles en utilisant la combinaison Ctrl + Clic gauche. On commence par le vert, puis le rouge et enfin le bleu. L’ordre de sélectionner a en effet un impact sur le résultat de l’opération suivante.

Sélection des rectangles

Sélection des rectangles

Lorsque chacun des rectangles a été sélectionné on va les fusionner. Pour cela il faut naviguer dans le menu « Object » et dans le sous-menu « Combine » on sélectionne « Unite ».

Sélection de l'opération d'union

Sélection de l’opération d’union

Le résultat est un Path qui représente l’union des trois rectangles. On remarque que la couleur et le nom de l’élément choisis par Blend correspond au dernier rectangle sélectionné. Ici c’est donc le bleu qui l’emporte.

Résultat de l'union

Résultat de l’union

Vous avez sans doute remarqué d’autres opérations disponibles dans le menu Combine. Voici donc un description de chaque opération. Le résultat, en sélectionnant toujours le rectangle rouge en dernier, est quant à lui visible dans le diaporama en dessous.

Substract

La soustraction va retirer du dernier rectangle sélectionné l’union des deux autres.

Intersect

L’intersection va conserver la forme correspondant à la zone où tous les rectangles se superposent.

Divide

La division va découper la forme résultant de l’union des rectangles avec les bords de chaque rectangle laissant ainsi l’aspect général intact mais fournissant plus de bords.

Exclude Overlap

Cette opération va conserver à l’écran toutes les zones qui ne se superposent pas dans sélection.

Pour mieux comprendre le résultat vous pouvez d’abord effectuer l’opération sur bleu et vert, puis sur la forme résultant et rouge.

Manipulation des Path

Certaines opérations sur les Path sont disponibles dans le menu « Object » et le sous-menu « Path ». Une opération intéressante est « Release Compound Path ». Cette opération va générer autant de Path que possible en suivant les divisions d’une forme.

Diaporama des résultats


Conclusion

Blend dispose de capacités de manipulations d’objets très puissantes et qui sont malheureusement assez peu connues.
Maintenant c’est à vous de tester tout cela et de créer des interfaces toujours plus riches.

Liens utiles :

http://msdn.microsoft.com/en-us/library/vstudio/jj171064.aspx

[Blend] Convertir des objets en Path et les manipuler

Blend est un outil pleins de possibilités. Aujourd’hui je vais vous présenter une fonctionnalité assez méconnue et pourtant très pratique.

Pour ceux qui ne connaitrait pas, un Path est un objet XAML permettant décrivant un forme arbitraire. On peut s’en servir pour dessiner un rectangle, une croix ou même une théière, bref tout ce que l’on veux.  Ce Path peut servir de différentes manières. En WPF on peut s’en servir pour générer des Brush. On peut aussi s’en servir pour faire du clipping avec les PathGeometry. Dans WinRT 8.1 on peut les utiliser pour dessiner les formes des boutons des AppBarButton grâce aux PathIcon. Je vous renvoie à la MSDN pour plus d’informations sur les Path.

Mise en pratique

Supposons que comme moi le design n’est pas votre fort mais vous avez quand même cependant besoin d’un Path dans votre application.

Blend vous offre la possibilité d’en créer à partir de la plupart des objets XAML y compris des TextBlock.

Nous allons donc nous servir d’un TextBlock pour générer un joli Path en forme de X. Pour cela on va glisser un TextBlock sur la surface de travail et changer quelques-unes de ses propriétés pour le rendre plus jolie. Ici j’ai changé la police d’écriture, la taille de la police.

BlendConvertToPath1

Pour convertir ce TextBlock en Path il faut aller dans le menu Object, et sélectionner Convert To Path dans le sous-menu Path.

BlendConvertToPath2

Un Path est maintenant généré et remplace notre TextBlock dans le XAML.

En poussant le concept un peu plus loin on peut écrire un texte en Windings et le convertir en Path et avoir une jolie cloche comme dans l’image ci-dessous.

BlendConvertToPath3

Une fois que l’on dispose d’un Path on peut profiter d’une autre fonctionnalité de Blend, les combinaisons de formes.

Commençons par glisser un Rectangle sous notre Path.

BlendConvertToPath4

Dans la partie Object and Timeline sélectionner le Rectangle et le Path (en utilisant la combinaison Shift + Click) en commençant par le Path puisque l’ordre de sélection peut-avoir une influence sur le résultat des opérations.

BlendConvertToPath5

Dans le menu Object on va cette fois aller dans le sous-menu Combine et sélectionner une opération. Ici j’ai choisi Exclude Overlap qui va grosso-modo retirer la forme du Path dans le Rectangle.

BlendConvertToPath6

On se retrouve à présent avec un seul Path représentant le résultat de l’opération. Vous noterez la perte de certains styles comme la couleur.

BlendConvertToPath7

Et si on met justement un peu de couleur de fond et de couleur de bordure on remarque qui la forme de la cloche a bien été « creusée » dans le rectangle.

BlendConvertToPath8

Conclusion

Ces opérations sont très puissantes et les possibilités de création très importantes.

A vous maintenant d’essayer un peu tout cela en testant les diverses opérations pour créer des formes compliquées sans forcément pour cela avoir besoin de talents de graphistes.

Consulter et executer des requêtes SQL sur une base SQL CE

Depuis Windows Phone 7 Mango nous avons à notre disposition une base SQL CE et pour pouvoir interagir avec celle-ci il faut utiliser Linq To SQL. Cette façon de fonctionner est très pratique lorsque l’on développe mais parfois on est confronté à des bugs pour lesquels on aimerait pouvoir exécuter du code SQL sur la base de données afin de vérifier les conditions de jointures, les groupements ou tout simplement son contenu.

Dans cet article je vais vous présenter une méthode pour accéder à cette base de données et l’extraire du téléphone afin de pouvoir exécuter des requêtes SQL.

Extraction de la base de données

La première étape consiste à récupérer la base de données contenue dans le téléphone ou dans votre émulateur. Attention cependant, afin que cette méthode fonctionne il ne faut pas que la base de données ait été cryptée. Comme les fichiers SQL CE sont stockés dans l’IsolatedStorage de l’application l’utilisation d’un outil pour y accéder est nécessaire. Dans cet article j’utilise les Windows Phone Power Tools.

Tout d’abord il faut lancer l’outil et choisir l’appareil ou l’émulateur cible.

SqlCe1

Une fois votre choix effectué il faut aller dans la liste des applications. Notez bien que seules les applications installées hors du Store comme avec Visual Studio sont accessibles.

SqlCe2

Localisez le fichier .sdf dans l’IsolatedStorage, c’est la base de données que l’on cherche. Ensuite il ne reste qu’à sélectionner le fichier et appuyer sur GET pour le récupérer. Dans mon cas j’ai sauvegardé le fichier sur le bureau.

Lecture de la base de données

Maintenant que la base de données se trouve sur le pc il faut pour la lire. Pour cela il faut installer SQL Server Compact Toolbox. Cet outil va ajouter une entrée dans la section Outils de votre Visual Studio.

SqlCe3

En cliquant sur le menu tel montré ci-dessus et vous accèderez à l’extension.

SqlCe4

Sélectionnez le nœud SQL Server Compact Data Connections et faites un clic droit dessus pour pouvoir ajouter le fichier .sdf.

SqlCe5

En cliquant sur « Browse » et l’explorateur Windows s’ouvre pour que vous puissiez sélectionner votre fichier (ici sur le bureau)

SqlCe6

Une fois ceci fait il n’y a plus qu’à cliquer sur OK et vous constaterez qu’un nouvel élément a été rajouté à l’arbre précédent.

SqlCe7

Vous pouvez ainsi voir les différentes table de la base, les clefs, les index etc…
Pour lister le contenu d’une table sélectionnez-la et faites un clic droit.

SqlCe8

Le menu qui s’ouvre vous permet de choisir entre plusieurs opérations possibles. Ici nous choisirons « Script as SELECT » pour ouvrir une console SQL avec une requête de sélection pré-remplie.

SqlCe9

Il ne reste maintenant plus qu’à cliquer sur « ! Execute » pour avoir le résultat. Biensûr il est possible de modifier cette requête.

Conclusion

Grâce à ces outils nous pouvons maintenant exécuter toutes les requêtes dont nous avons besoin et donc de pouvoir vérifier la cohérence des données de la base ou encore de tester des requêtes sans avoir à débuguer depuis le téléphone à chaque fois.

Liens utiles

Tour de France Windows 8 et Windows Phone 8 – Mai 2013

Tour de France Windows 8 et Windows Phone 8

Tour de France Windows 8 et Windows Phone 8

Microsoft organise un Tour de France autour des applications Windows 8 et Windows Phone 8

« Apprendre à développer, sécuriser et optimiser vos « back-end » pour vos applications Windows 8 et Windows Phone 8″

Au programme 4 heures de :

  • Formation
  • Démo
  • Code

L’objectif est de vous apprendre, en une demi-journée, à développer, sécuriser et optimiser vos « back-end » pour vos applications Windows 8 et Windows Phone 8.

Les thèmes suivants (autour de Windows 8 et Windows Phone 8) seront abordés :

  • Tour d’horizon de la plateforme
  • Concepts fondamentaux pour la mise enplace d’API et les best pratices d’utilisation dans vos applications
  • L’implémentation de services de notification et de push
  • Les différentes approches pour sécuriser vos API et la mise en oeuvre de ces mécanismes
  • L’optimisation des ressources et des services mis enplace ainsi que la montée en charge de vos applications mobiles avec Windows Azure.

Les intervenants :
Ce Tour de France sera animé par des intervenants MCNEXT :

  • John Thiriet, consultant DotNET et MVP Expression Blend
  • Guillaume Leborgne, chef de projet et expert DotNET

Ils ont développé de nombreuses applications Windows 8 et Windows Phone 8 présentes dans le Microsoft Store. Ce sont leurs retours d’expériences autour de Windows 8 et Windows Phone 8 qu’ils souhaitent vous apporter.

Le public visé :
Développeurs généralistes
Niveau technique : 300

Pour en savoir plus :
http://www.mcnext.com/evenements/microsoft/Pages/tour-de-france-windows-8-et-windows-phone-8.aspx

Microsoft Dev Camp : Réussir la partie serveur de vos applications Windows 8 et Windows Phone Jeudi 2 mai 2013

Microsoft Dev Camp : Windows 8 et Windows Phone

Microsoft Dev Camp : Windows 8 et Windows Phone

Rendez-vous le Jeudi 2 mai 2013 à partir de 13h30 !

Qu’est-ce qu’un Dev Camp ?

Le Dev Camp est un événement destiné aux développeurs professionnels comme non professionnels animé par les experts Microsoft et ses partenaires.

Au programme 4 heures de :

  • Formation
  • Démo
  • Code

L’objectif de ce Dev Camp est de vous montrer comment développer, sécuriser, et optimiser les API et les services qui vous permettront d’exposer vos données pour des applications mobiles.

Les intervenants :
Cet après-midi sera animé par des intervenants MCNEXT :

  • John Thiriet, consultant DotNET et MVP Expression Blend
  • Guillaume Leborgne, chef de projet et expert DotNET

Ils ont développé de nombreuses applications Windows 8 et Windows Phone 8 présentes dans le Microsoft Store. Ce sont leurs retours d’expériences autour de Windows 8 et Windows Phone 8 qu’ils souhaitent vous apporter.

Lieu  :
Campus de Microsoft – Issy les Moulineaux

Pour en savoir plus : http://www.mcnext.com/evenements/microsoft/Pages/microsoft-dev-camp-reussir-la-partie-serveur-de-vos-applications-windows-8-et-windows-phone.aspx

Microsoft Dev Camp : Faire des jeux pour Windows 8 et Windows Phone 8 Jeudi 14 mars 2013

Microsoft Dev Camp Windows 8 et Windows Phone 8

Microsoft Dev Camp Windows 8 et Windows Phone 8

Rendez-vous le Jeudi 14 mars 2013 à partir de 13h30 !

John Thiriet, consultant .NET au sein de MCNEXT, présentera son retour d’expériences concernant le développement de jeux pour Windows 8 et Windows Phone 8 (au programme portable library, mvvm, asynchronisme et performance).

Qu’est-ce qu’un Dev Camp ?

Le Dev Camp est un événement destiné aux développeurs professionnels comme non professionnels animé par les experts Microsoft et ses partenaires.

Au programme 5 heures de :

  • Formation
  • Démo
  • Code

L’objectif est de faire découvrir aux développeurs des outils d’aide lors du développement de projets applicatifs Windows 8 et Windows Phone 8.

Lieu :
Campus de Microsoft – Issy les Moulineaux

Pour en savoir plus : http://www.mcnext.com/evenements/microsoft/Pages/Microsoft-dev-camp-windows-8-et-windows-phone-8.aspx

MCNEXT intègre le Microsoft Apps Circle

Hier a eu lieu le lancement du Microsoft Apps Circle : http://www.microsoft.com/france/partenaires/appscircle.

MCNEXT a été sélectionné par Microsoft France pour faire partie de ce cercle restreint de partenaires reconnus pour leurs compétences sur :

  • La réalisation d’applications Windows 8
  • La réalisation d’applications Windows Phone
  • Et également sur l’ergonomie et le design des applications « Modern UI »

Les logos de compétences Apps Circle

 

Vous souhaitez vous lancer sur la plateforme Windows 8, venez concrétiser vos idées avec MCNEXT !

Windows Phone 8 – A quoi s’attendre ?

Le vendredi 22 juin 2012 chez Microsoft France a eu lieu le Squat de la communauté des développeurs Windows Phone. La date de cet évènement n’était pas choisie au hasard. En effet, deux jours auparavant Microsoft faisait des révélations sur le successeur de l’actuel Windows Phone 7, nommé comme on pouvait s’y attendre Windows Phone 8.

Parmi les nouveautés on retrouve le support des processeurs multicoeurs, d’un plus grand nombre de résolutions d’écrans, des puces NFC, de DirectX et du code natif ainsi que les mise à jour Over-the-Air alias OTA (elles étaient déjà présentes avec WP7 mais n’avaient cependant jamais été utilisées).

On apprend aussi que toutes les applications WP7 fonctionneront sous WP8, y compris les applications XNA et celles utilisant des petits hacks (les équipes ayant décidée de reproduire les bugs qui permettaient ces hacks) le tout sans recompilation.

On aura donc dorénavant trois tailles d’écrans possibles :

  • WVGA 15:9 (800×480)
  • WCGA 15:9 (1280×768)
  • 720p 16:9 (1280×720)

On constate que les deux premières résolutions offrent le même ratio hauteur/largeur mais pas la dernière. Les détails concernant comment WP8 allait gérer cette différence n’ont pas été dévoilés, mais Microsoft semble assurer qu’aucun travail particulier ne sera nécessaire au développeur pour en profiter.

Suite à l’introduction de nouvelles tailles d’écrans on a aussi l’introduction de nouvelles tailles de tuiles :

  • Normal (212×212)
  • Small (100×100)
  • Big (436×212)

Là encore Microsoft assure qu’aucun travail particulier ne sera nécessaire au développeur bien que la taille des anciennes tuiles était de 173×173.  Les tailles Small et Normal seront calculées à partir de l’ancienne, cependant la taille Big devra être ajoutée.

Avec ces nouvelles tailles d’écrans et nouvelles tuiles Microsoft en a profité pour introduire un nouvel écran de démarrage (Start Screen) pour Windows Phone 8;

Wp8 Start Screen - Réalisé par Rudy Huyn pour la plénière

Wp8 Start Screen – Réalisé par Rudy Huyn pour la plénière

Microsoft a par ailleurs annoncé le support des cartes MicroSD pour le stockage des photos, musiques et applications mais tout ceci de manière non cryptée.

Autre information très importante, la VOIP offrira la même expérience que la téléphonie classique, ceci grâce à la mise en place d’une API spéciale. Il est intéressant de noter que Skype en profitera mais ne sera pas mieux loti que les autres applications de VOIP.

Une nouvelle qui ravira pas mal de monde est que Bing Map sera dorénavant remplacée par la carte issue de la société de cartographie de Nokia (Navtek) dont la réputation n’est plus à faire. Un mode offline sera aussi présent ! Maintenant on pourra retrouver son chemin même sans réseau 3G et ça c’est un grand pas en avant !

Concernant l’ajout du support des puce NFC on sais qu’une des principales différences avec Android est que la sécurité sera dans la carte SIM et non dans le téléphone.

On a aussi appris que les téléphones tournant sous WP7 actuellement ne pourront pas bénéficier d’une mise à jour vers WP8 pour des raisons matérielles. En effet le kernel WP8 est fait pour fonctionner en multi-coeur alors que le kernel WP7 est très optimisé pour du mono-coeur. Cependant les téléphones actuels recevront une mise à jour nommée WP7.8 qui bénéficiera de la plupart des améliorations de WP8 et particulièrement du nouvel écran d’accueil.

Maintenant que les nouveautés générales ont été présentées je vais parler d’améliorations et de nouveautés qui intéresseront surtout les développeurs.

Avec WP8 on aura l’ajout d’une fonctionnalité très attendue : le In-App purchase. Ce dernier existera en deux catégories :

  • Durable (Le contenu acheté dure dans le temps et persiste)
  • Consommable (Achat unique)

Celà permettra à pas mal de scenarii de voir le jour spécialement dans le domaine des jeux vidéos (niveaux supplémentaires, difficultés supplémentaires, vêtements pour vos héros etc..)

Pas mal de développeurs se demandaient aussi ce qu’il en serait des applications Qt, et on a appris que Qt ne serait pas supporté sur la plateforme.

Concernant la portabilité du code entre Windows 8 et Windows Phone 8 des précisions ont été apportées :

  • Non il ne sera pas possible de faire une seule application W8 et WP8
  • Non il n’y aura pas d’achat commun d’applications entre les deux plateformes
  • Non il ne sera pas possible de faire du HTML/JS natif sous WP8
  • Par contre oui il est possible de partager une grande quantité de code entre les deux plateformes, spécialement en C#.

Je terminerai sur le fait que le SDK de WP8 est prévu pour sortir cet été sans plus de précisions.

A vos téléphones maintenant !