Version 1.0 d’Orchard

Le projet Orchard a récemment sorti la version 1.0 de leur produit. J’en avais parlé précédemment ici, je me suis permis de l’installer de nouveau.

Installation 

L’installation se fait via le Web Platform Installer et j’ai aussi utiliser le Web Matrix sur une machine virtuel pour faire mes tests. L’installation se fait de façon quasi-automatique et est très agréable. Pas besoin de faire de configuration obscure.

Une fois installé, il suffit de partir le site Orchard avec l’interface de Web Matrix pour voir la page de configuration initiale du site (Nom du site, usager d’administration, mot de passe, base de données). Encore une fois, c’est très simple et très intuitif.

L’expérience Orchard

Le thème par défaut est très simple et contient quelques sections. D’autres thèmes sont disponibles, mais en nombre limités (4) pour l’instant. Évidemment, moi ce qui m’intéresse principalement est le module permettant de traduire le contenu en français et anglais et cela sans trop d’effort, ce que la plupart des autres logiciels similaires n’offrent pas

Du coté administration, les interfaces sont simples et la plupart sont claires et facile à comprendre sans manuel d’utilisation. Mais j’ai dû chercher quelques fois pour effectuer certaines des tâches, ne trouvant pas le menu contenant le bon lien. Je crois qu’il y a un peu d’amélioration à faire de ce coté.

Conclusion

Malgré un concept plus intéressant et l’utilisation de ASP.Net MVC, Orchard n’est pas encore un produit mature, donc on va attendre encore un peu pour l’installer en production. En espérant que des modules et thèmes supplémentaires feront leurs apparition d’ici la prochaine version.

Microsoft Gadgeteer

Je viens de tomber sur le site de Microsoft Gadgeteer en faisant quelques recherches pour La Machine.

Gadgeteer permet de créer rapidement des prototypes sans connaitre nécessairement l’électronique, il suffit de brancher, écrire quelques lignes (en NETMF bien sûr) et le tour est joué. Vous pouvez voir une démonstration complète sur le site de Channel 9 (Incluse ci-dessous).

Get Microsoft Silverlight

Pour l’instant, ce produit est encore dans l’enceinte de Microsoft Research, mais on pourrait espérer le voir être commercialisé d’ici le printemps ou l’été 2011.

La Machine

Dans une publication précédente, je vous disait que j’avais acquis un FEZ Domino. J’ai donc entrepris le projet de me monter une plateforme robotique à partir de celle-ci et ainsi l’améliorer avec le temps. Donc voici le début de La Machine.

Composantes

J’ai acheté quelques composantes chez RobotShop pour débuter la construction de La Machine:

J’ai aussi utilisé une manette de jeu USB Logitech Dual Action pour me permettre de contrôler le robot. Le Fez Domino supporte les joystick, clavier et souris, donc pas de driver à écrire.

Construction

Je ne vais pas détaillé la construction, car j’ai suivi le tutoriel de Rug Community pour l’assemblage, mais voici quelques points à noter:

  • INSTRUCTIONS DE MONTAGE INEXISTANT! Même si le tutoriel vidéo de Rug Community est très pratique, il aurait été intéressant d’avoir tout de même des instructions.
  • Ils ont monté la plaque supérieure à l’envers, donc ils n’ont pas été capable de viser leur Arduino Romeo sur la plaque. Les FEZ Panda et Domino ainsi que les Arduino sont facilement à monter.
  • Il y a maintenant 4 entretoise incluses dans le kit de la plateforme, ceci permet de surélever votre microcontrôleur.

Voici quelques photos du travail terminé:

snapshot-1snapshot-2snapshot-3snapshot-4

Le code

Pour bien faire fonctionner le robot, j’ai dû créer un driver pour le blindage pour le contrôleur des moteurs. Vous pouvez retrouver le code sur Fezzer.com. J’ai aussi écrit une petite application pour permettre d’intéragir avec La Machine à partir de ma manette. Par ici pour le code de cette première application. Et voici une petite vidéo pour vous permettre d’admirer La Machine en action:

Mon robot à l’œuvre

Conclusion

Les +
  • Le kit de la plateforme du robot:
    • est plutôt simple à monter
    • semble plutôt robuste (je n’ai pas fait de off-road)
    • Moteurs performants
  • FEZ:
    • La programmation en C# est très simple
    • Une grande communauté entourant les  FEZ, donc beaucoup de support
Les -
  • Le kit de la plateforme du robot:
    • j’ai trouvé les moteurs un peu de basse qualité, car tout en plastique.
    • Peu de place pour installer les encodeurs de DFRobot sur les moteurs, trop collés à la paroi avant ou arrière.
    • Pas d’instructions!

Prochaines étapes

  • Souder certaines connections
  • Remplacer les batteries non-rechargeables avec un kit de chargeur, donc cela va permettre de débrancher mon Fez Domino de mon laptop pour avoir un peu plus de liberté.
  • Réfléchir aux autres étapes (communication, senseurs, vision, etc.)

C# 5.0 : Programmation asynchrone

Pour ceux qui ne sont pas au courant, vous pouvez télécharger le Visual Studio Async CTP pour avoir un aperçu de ce qui s’en vient dans le monde asynchrone! Ce n’est que la version CTP, donc entre cette version et la version officiel, il peut y avoir du changement.

Aussi, visitez le blog de Eric Lippert pour en savoir plus sur le sujet.

Pyxis 2–Un OS pour le .Net Micro Framework

 

Pyxis 2 est un OS roulant sous .Net Micro Framework (NETMF). Il peut rouler (théoriquement) sur toute les plateforme NETMF, mais il est présentement configuré que pour les produits de GHI Electronics (Tinyclr.com).

Pour en savoir plus, allez lire le blogue de l’équipe NETMF ou le site officiel. Le code est disponible en open source au pyxis2.codeplex.com. Voici un vidéo pour vous mettre l’eau à la bouche:

Pyxis 2 Beta Released!

Documentation de référence

Dans l’édition de novembre de MSDN Magazine, Peter Gruenbaum explique comment écrire une bonne documentation de référence pour les APIs dans sont article intitulé “A Coder’s Guide to Writing API Documentation”.

Mon attention s’est particulièrement portée sur la Figure 2 et 3, qui explique comment commenter tout en gardant une homogénéité au travers de tout l’API. Je vous les ai reproduit ici:

Figure 2 Reference Documentation Style

Type Guideline Examples
Class Start with a word like “Represents” “Represents a user’s photo album.”
Methods and functions Start with a verb

“Returns the number of contacts for the specified area.”

“Pauses the video.”

Properties Use a noun or start with verbs such as “Gets” or “Gets and sets”

“The user’s tasks.”

“Gets and sets a collection of the user’s tasks.”

Events Start with a phrase such as “Raised when” or “Occurs when” “Raised when the response from server is received.”
XML elements Use a noun-based phrase “The city’s postal code.”
Boolean values For Boolean properties, start with “Indicates whether”; for Boolean return values on methods and functions, start with “Returns whether”

“Indicates whether the control is visible.”

“Returns whether two regions intersect.”

Figure 3 Reference Documentation Example

Class or Member Type Description
Class description Class Represents a Windows button control.
Button constructor Constructor Initializes a new instance of the Button class.
Focus Method Sets input focus to the control.
Visible Property Gets or sets a value indicating whether the control and all its child controls are displayed.
Click Event Occurs when the control is clicked.

Et cela ne s’applique pas seulement pour les API! Et vous, avez-vous des standards comme celui-ci?

[VS2010 Tips] Insertion multi-lignes

En lisant l’article de MSDN permettant de convertir des applications VBA en C# 4.0, je me suis rappelé la fameuse fonction ALT+[Sélection] permettant d’insérer le même texte/code sur plusieurs ligne à la fois. Alors, voici la version française de cette partie de l’article:

Appuyer sur ALT et sélectionner l’endroit ou vous désirez insérez votre code (sélection en bleu pâle dans l’image ci-dessous:
image
Tapez votre code et boom! Toutes les sélectionnés ont été remplis de votre code:

image

Et comme un commentaire dans l’article le spécifie, cela peut aussi s’appliquer pour la fin d’une ligne, tel qu’ajouter les ; à la fin de vos ligne!