lundi 19 janvier 2009

Utilitaires: Capture, Total Commander, TomBoy, etc

Utilitaires super léger  - Windows
Parmis les utilitaires, ma préferences va certainement aux logiciels légers (moins de 2 Méga-Octets) mais pleinements fonctionnels. La puissance d'un logiciel tient plus souvant de son ergonomie que de la multitude des fonctionnalités.
Capture d'écran
FastStone screen capture est pour moi l'un des incontournable. Simple et pratique, ce logiciel de capture dispose de plusieurs modes de prise de vue (avec une loupe pour ne pas rater un pixel). Cet utilitaire dispose également de fonctions de floutage et d'annotation (ajout de texte, boites et flèche).
Je n'en veux pas un autre
Voir ici pour plus d'info.

Total Commander
Je suis, par exemple, un aficionados de "Total Commander" que je ne remplacerais pour rien au monde par l'Explorer de Windows. Ce logiciel est dédié à la manipulation de fichier... et l'affichage de deux listes (source & destination) facilite grandement mes tâches journalières.
Il faut avouer que j'ai un sacré penchant pour les raccourcis claviers.

Malheureusement, il est payant... mais vaut bien son prix.

Free ISO burner
Joli petit logiciel de 750 Kb permettant de réaliser la gravure d'une image disque au format ISO.
Gratuit, léger et portable... voici un logiciel intéressant. Plus d'info ici et téléchargement .

Express Burn (et les autres)
Logiciel partiellement gratuit et sans fioritures, Express Burn permet de graver des CD vos données, de copier ou créer un des CD audio. Reste encore les options de de vérification de disques, de finalisation, d'overburning et de normalisation des fichiers audios.
Plus d'info ici et téléchargement .

Parmis les autres logiciel de gravure gratuit, il y a:
Restoration
Excellent utilitaire dédié à la récupération de fichiers effacés.
Voir cette fiche descriptive sur Clubic pour plus d'information (ou pour du téléchargement).
Par contre, pour effacer efficacement vos fichiers (car il est bien trop facile de les restaurer), aller jeter un oeil sur l'utilitaire SDelete pour "Safe Delete" de SysInternals (maintenant repris par Microsoft).

Utilitaires systèmes pour Windows
Série d'utilitaires très puissants à ne surtout pas mettre dans les mains d'un néophyte (il pourrait tout casser!).
Aujourd'hui, les utilitaires gratuit de SysInternals sont repris par Microsoft et reste disponible gratuitement.
Voir ici pour plus d'information.

Source: Sources personnelles et en autre Cet article sur Clubic

Tomboy - Windows & Ubuntu
TomBoy est un logiciel écrit en C# et fonctionnant à l'origine sous Mono.
J'utilise ce logiciel de prise de note à la volée (Post-it) depuis presqu'un an sur mon PC Ubuntu.

J'apprends maintenant qu'il en existe une version Windows. Toutes les versions de logiciel "Post-It" m'ayant profondément déçu, j'ai tenté l'expérience de TomBoy sous Windows.
Pour faire fonctionner TomBoy sous Windows, jeter un oeil sur cet article. contenant la plupart des ressources utiles.

Dans mon cas:
  • J'ai installé GTK# Runtime 2.10
  • Fixer un problème d'installation pour Vista (même si installé sous WinXP SP2).
    Voir cet article.
  • Redémarré le PC (primordial).
  • Installé TomBoy.
Finalement, après quelques essais, je me suis retrouvé dans l'impossibilité d'installer le kit GTK# sous Windows. C'est bien dommage :-(

18/02/2009: Un nouvel article concernant l'installation sur Win 32 vient d'être publié.
Il décrit la marche à suivre que voici.

dimanche 18 janvier 2009

Trouble Déficitaire de l'Attention (TDA) et la rilatine

La Rilatine est un médicament utilisé pour augmenter la durée de concentration des enfants atteints de "Trouble Déficitaire de l'Attention"(TDA).

Attention:
Cet article n'a aucune vocation médicale (je ne fais par ailleurs pas partie du corps médical). Je suis donc susceptible de faire des erreurs que je corrigerai lorsqu'elles seront reportées.
Dans cet article j'essaye de transmettre au mieux et le plus simplement possible le peu de savoir que j'ai engrangé. C'est qu'en tant que parent, je suis concerné au premier plan par ce sujet.

Mise à jour, le 4 mai 2011:
D'autres articles relatifs au TDA, TDA/H (ou ADHD en anglais) sont disponibles dans la catégorie TDA/H.
Cliquer ici pour afficher tous les articles de la catégorie TDA/H.

Présentation du TDA
Voici une petite émission Canadienne qui explique assez bien le "Pourquoi" et le "Comment".



La communication dans le cerveau
En complément de l'émission, voici quelques mots et vidéos expliquant le fonctionnement normal de la communication au sein du cerveau.
Pour commencer, les deux animations ci-dessous (bien qu'en anglais) présentent assez bien ce processus de communication où l'impulsion électrique est transformée en message chimique.
Par la suite, une planche explicative mettra le focus sur le processus de diffusion de la dopamine à l'origine du TDA. Ce processus de diffusion de la Dopamine est l'étape finale (chimique) du transfert de l'impulsion électrique.

première vidéo présentant la communication au sens général.

deuxième vidéo présentant l'émission et le recyclage de la dopamine.
La dopamine sont les petits points bleus qui voyage d'un côté à l'autre.


Diffusion de la dopamine
Sous l'effet d'une impulsion électrique, le bulbe émetteur émet de la dopamine (neuro-transmetteur). Cette dopamine est libérée par l'émetteur dans l'espace situé entre l'émetteur et le récepteur (pointillés en rouge).
La dopamine voyage alors jusqu'au récepteur... transmettant ainsi l'impulsion électrique sous forme d'un message chimique.
Ce qu'il est important de savoir, c'est qu'une petite partie de cette dopamine est re-capturée en très faible proportion par l'émetteur (pointillés en vert) et recyclée... le reste de la dopamine atteignant le récepteur.

Schéma de transmission de la dopamine entre le bulbe émetteur et le récepteur (cliquer pour agrandir).



Source du trouble de l'attention
Dans le cas du TDA, la dopamine (neurotransmetteur) n'atteint pas le récepteur  en quantité suffisante.
Au lieu de cela, la dopamine est recapturée par le bulbe émetteur dans une proportion excessive.
Ainsi donc, le message chimique n'est pas transmit au mieux... ce qui,d'une façon générale,  provoque un mauvais fonctionnement de la communication au sein du cerveau.

La Rilatine
La Rilatine (existant aussi sous de nombreux autres noms) est constituée principalement de méthylphénidate. Cette molécule est un inhibiteur de recapture présynaptique de la dopamine (source: ici sur Wikipédia).
En d'autres termes, la Rilatine empêche le bulbe émetteur de re-capturer trop de dopamine (les points bleus). Cela augmente donc la quantité de dopamine pouvant atteindre le récepteur. La connexion pouvant ainsi fonctionner dans de meilleures conditions.

Ce n'est pas une camisole chimique

La rilatine à beaucoup de détracteurs... considérant que l'on "drogue" nos enfants trop difficiles.
Malheureusement, il est fort à parier qu'il ne s'agit pas d'avis éclairés.
En tant que néophyte, il est parfois difficile de juger d'une situation si l'on n'a pas le nez dedans. Je sais de quoi je parle, pour avoir moi même un enfant souffrant de TDA, je peux vous assurer que la vie est épuisante à plus d'un titre.

Les enfants souffrant de trouble de l'attention sont actifs et il n'est pas rare qu'ils aient certains comportements HyperActifs.  
Il y a une différence fondamentale à faire avec des enfants turbulents... et les spécialistes ne s'y trompent pas.
La rilatine n'est pas en vente libre et ne se prescrit pas sur le coin d'une table. Cette prescription est du ressort du spécialiste qui lui même s'appuie sur différents critères.
La rilatine est un médicament que l'on peut placer dans la catégorie des excitants (famille des amphétamines, stimulant du système nerveux central). Utilisée dans les conditions appropriées l'on peut obtenir le résultat adéquat. Si la Rilatine n'était pas la prescription appropriée, cela se ressentirait rapidement dans le comportement de l'enfant ("éteint/amorphe" ou sur-excité).
Il faut cesser les idées reçues, il y a donc peu de risque (voir aucun) de mettre indûment un enfant sous Rilatine (la "camisole" de ses détracteurs) pour faciliter la vie de parents indignes.

L'exemple par le vécu
Mon enfant ( 7 ans) est sous Rilatine depuis peu... et cela semble un choix approprié. Aujourd'hui, j'ai un peu d'espoir... celui de voir mon enfant apprendre normalement et combler son retard d'apprentissage déjà accumulé. L'effet de la Rilatine augmente déjà ses capacités de concentration de façon évidente.
Je peux maintenant me mettre aux jeux de constructions (lego ou autres) pendant plus de 5 minutes.

Je ne serais pas le premier à me plaindre si, au passage, la vie de famille était un peu plus sereine à la maison.
  • Plus de petits bruits/cris aigus incessants/inappropriés lors de chacune de ses activités (lecture, jeux sociaux, ordinateur, ...) 
  • Pouvoir regarder en famille, un film ou un dessin animé, sans qu'il ne perturbe les autres enfants et adultes par ses mouvements impulsifs et perpétuels.
  • Pouvoir profiter de jeux demandant plus de 5 à 10 minutes de concentration.
  • Cesser de s'énerver sur lui parce qu'il semble ne pas intégrer les consignes de vie en famille / groupe. Surtout sachant qu'il a démontré la capacité intellectuelle de comprendre les demandes, mais subit l'incapacité physique de se maitriser.
  • Cette difficulté se ressent aussi par un comportement d'inconscience de soi et des autres. Aller rouler en vélo en famille (à 6) devient alors un vrai parcourt du combattant. Il faut sans cesse surveiller l'enfant qui ne peut se concentrer un minimum. Prévoir les dangers à sa place afin qu'il ne devienne pas un danger pour lui et les autres.
    Cette constatation est d'autant plus frappante, lorsque je regarde le comportement de sa soeur (2 ans plus jeune), capable de faire attention en vélo sur la route.
  • Vraiment regarder avant de traverser un passage pour piéton au lieu de se jeter devant le premier véhicule présent sans même s'être rendu compte de sa présence.
    Lors de demande de regarder avant de traverser, il tourne la tête de gauche à droite, mais de façon évidente, il ne "regarde" pas. Il fait parfois même ce geste avec les yeux fermés, complètement insoucient du danger et des raisons de nos demandes.
  • Incapable de marcher en ligne droite, un pied devant l'autre, mais plutôt toujours se comporter comme un "scoubidou", un savon qui vous échappe perpétuellement des doigts. C'est un enfant qu'on n'ose pas laisser marcher seul sans le tenir par la main... surtout lorsqu'il semble fatigué par sa journée.
  • Cesser d'être harcelé compulsivement par les mêmes questions auxquelles les réponses que nous fournissont ne sont pas écoutées par manque d'attention. Dès la question posée/réponse donnée, la question  est reposée immédiatement sans même se rendre compte que l'adulte a répondu.  Ou parfois reposée après 1 minute, comme s'il avait déjà oublié la réponse.
    Ces remarques sachant que tous les enfants sont impatients, répétitifs ou ont le besoin d'être rassurés, mais dans ce cas, le caractère compulsif/inattentif est remarquable.
  • Cesser d'avoir un enfant qui zappe de contexte de conversation toutes les minutes. Vous n'imaginez pas à quel point il est alors difficile d'avoir une discussion cohérente avec lui.
  • Incapable de se souvenir de façon cohérente de ses activités de la journée. Chose qui peut être vécue dans les deux sens: soit ne pas s'en souvenir, soit affabuler un passé manifestement incohérent.
  • Oublis multiples d'affaires (à l'école par exemple) de façon incontrolée et incontrolable...et ce sans même en avoir conscience.
    Là, la Rilatine l'aidera juste à se concentrer, et potentiellement à s'en souvenir. Pour le reste, comme tous les enfants, c'est une question de confiance en soi et de maturité - moment où vient l'ordre et l'organisation.
  • Plus tous les autres exemples auxquels nous ne pensons pas à l'instant.
Seuls ceux qui connaissent cette situation peuvent comprendre.

Finalement,
avec quatres enfants à la maison (dont une plus jeune), nous ne manquons pas de points de comparaison. Comme tous les enfants, il a déjà démontré une intélligence manifeste en relation avec son âge (impertinent, moqueur, capable d'humour, ...), seul son apprentissage général présente un degré de retard +/- important suivant les domaines (scolaire et social).
Je n'attend pas de la Rilatine qu'il soit un médicament miracle. Mais SI son attention augmente ALORS les performances/aptitudes de mon enfant s'amélioreront certainement dans tous ses domaines déficitaires.

Sources
  • Synapse et transmission synaptique sur wikipedia.
  • Notice du médicament Rilatine (disponible ici).
  • Usage du méthylphénidate (ici).
  • Rilatine Forum (à lire avec du recul).
  • Les différentes animations

mardi 13 janvier 2009

Configuration du séparateur décimal sur IIS Web Server

Introduction
Voici un article tout droit issus du cauchemar du jour.
D'un côté, nous faisons fonctionner une application Web dans laquelle nous demandons à nos utilisateurs d'encoder les valeurs numériques avec un point comme séparateur décimal.
D'un autre côté, le serveur Web fonctionne sous Windows. Nous utilisons des fonctions de conversion pour transformer les nombres encodés (texte) en valeur numérique avant de les stoquer en mémoire.
Ces mêmes fonctions de conversion s'appuyant sur les paramètres de Windows pour effectuer cette conversion.

Windows est un système d'exploitation suffisament flexible pour permettre de définir le format des nombres.
Suivant les distributions de Windows, pour un Anglais le séparateur décimal sera un "point" tandis que pour un Français (ou un Belge Néerlandophone), ce même séparateur sera une "virgule".

Le noeud du cauchemar

Pour des raisons historiques, les routines de conversions de notre application s'appuie sur Windows.
Nous n'avons pas de problème si le système d'exploitation Windows sur lequel fonctionne le Serveur Web est en Anglais. En effet, dans ce cas nous convertissons du texte contenant des nombres utilisant le "point" comme séparateur décimal et Windows utilise également ce même "point" comme séparateur décimal.
Par contre, si le Serveur Web est une distribution  Française... c'est nettement moins marrant!
Dans ce cas, nous essayons de convertir une zone de texte contenant un nombre utilisant le "point" comme séparateur décimal. Cependant, en configuration française, Windows utilise la virgule comme séparateur décimal et... le point comme sépareteur de milliers! C'est la catastrophe.
Suivant la configuration de la machine, le texte "4.001" peut être soit converti/interprété comme un peu supérieur à 4 (Windows en anglais) soit comme la valeur 4001 (Windows en français).


Une solution simple

Et bien, dans le cadre d'un utilisateur quelconque, il suffit simplement de modifier les "régional settings" (paramètres régionaux) pour remplacer le séparateur décimal.
Le graphique suivant montre quel est la suite d'opération à effectuer (Cliquer pour agrandir):


Cependant, cela ne saurait pas être aussi simple pour un serveur web.
Un serveur WEB utilise un utilisateur d'impersonification (et non l'utilisateur courant manipulant le PC) pour initialiser les paramètres du serveur WEB. Modifier la configuration de l'utilisateur courant n'aura aucun effet sur la configuration du serveur web.


Modifier le séparateur décimal
Voici un petit guide pratique pour modifier la configuration du séparateur décimal utilisé par le serveur Web.

Identifier l'utilisateur d'impersonification
Cette étape va identifier l'utilisateur d'impersonification utilisé par le serveur web pour initialiser ses paramètres. 
1) So Logger comme administrateur sur la machine.

2) Start | Settings | Control Panel
3) Sélectionner l'entrée "Administrative Tools" puis "Internet Information Services"
4) Effectuer les opérations suivantes dans la console Internet Information Services - IIS pour les intimes (voir graphique ci-dessous).
5) L'utilisateur d'impersonification identifié (IUSR_W2KSRV-SP4 dans le cas présent), modifier le mot de passe à utiliser pas IIS (pour cet article il sera initialisé a PASSWORD).


(Cliquer pour agrandir)


Modifier les droits de l'utilisateur d'impersonification
Pour pouvoir modifier les paramètres de l'utilisateur d'impersonification, il convient d'abord de lui donner plus de droits.
Dans le cas contraire, toutes les modifications apportées au profil IUSR_W2KSRV-SP4 seraient perdues lorsque la machine serait redémarrée.
Effectuer les étapes suivantes:

Etape 1 - Modifier le mot de passe

1) Menu démarrer | Paramètres | Panneau de Control
2) Sélectionner "Administrative Tools" (Outils administratifs)
3) Sélectionner "Computer Management" (Gestion de l'ordinateur)
4) Dans la fenêtre "Computer Management":
4.1) Sélectionner le noeud "Local User and Groups"
4.2) Sélectionner le noeud "Users"
Dans dans l'exemple ci-dessous l'utilisateur d'impersonification IUSR_W2KSRV-SP4 est visible dans la liste (cliquer pour agrandir).

4.3) Sélectionner l'utilisateur d'impersonification (IUSR_W2KSRV-SP4 dans le cas présent).
4.4) Invoquer le menu contextuel et sélectionner "Set Password". 
Introduire le mot de passe tel qu'encodé précédemment dans la console d'IIS (dans cet article, le mot de passe est PASSWORD).


Etape 2 - Modifier les groupes
Par défaut, l'utilisateur d'impersonnification IUSR_W2KSRV-SP4 n'appartient qu'au groupe "Guests" (invités).
Ce groupe n'offre pas de privilèges suffisants pour modifier les paramètres de cet utilisateur de façon permanente.

Effectuer les opérations suivantes en repartant du point 4.3 de l'étape 1.

a) Invoquer le menu contextuel et sélectionner "Propiétés".
b) Selectionner le volet "Member of" (membre de). Ce volet ne présente que le groupe "Guests" (invités).
c) Ajouter les groupes "Users", "Administrators", "Power Users" (voir image ci-dessous).
Normalement, l'ajout du groupe "Users"devrait être suffisant pour mener l'opération à bien.

Modifier les paramètres de l'utilisateur d'impersonification
1) Faire un log-out de l'utilisateur courant (normalement Adminsitrator)
2) Se logger comme utilisateur  IUSR_W2KSRV-SP4 avec le mot de passe adéquant (dans notre exemple, il s'agit de PASSWORD)

3) Tout comme au début de l'article, modifier les paramètres pour changer le séparateur décimal a notre convenance (un point).

Dans notre cas, nous avons également modifié l'option de localisation à "English (United Kingdom)"


Application des paramètres
Pour que les paramètres soient sauvés de façon permanente et appliqués au serveur WEB, le plus facile est encore de rebooter/redémarrer la machine.

Note: lors de nos essais, il a été constaté qu'un IISReset ne fonctionnait pas comme attendu. En effet, les nouveaux paramètres de l'utilisateur d'impersonification n'étaient pas correctement appliqués. C'est probablement parce que l'utilistaire IISReset tue sauvagement certains processus du serveur web avant de les redémarrer.

La sécurité
Maintenant que les paramètres de  IUSR_W2KSRV-SP4 sont correctement sauvegardés dans le système, il faut re-modifier son profile pour ne pas laissé de trous de sécurités béants.
Il est impératif de retirer les groupes que nous avons ajoutés à l'utilisateur d'impersonification IUSR_W2KSRV-SP4. Seul le groupe "Guests" présent à l'origine doit rester sélectionné.

Sans cette modification de sécurité, n'importe quel bug dans l'application internet fonctionnant sur le serveur web offrirait une porte dérobée aux hackers expérimentés. Sans modification, le serveur web utiliserait le compte IUSR_W2KSRV-SP4 avec des droits d'administrations (groupe "Administrators"). En cas de bug, le hacker pourrait alors prendre le contrôle complet de la machine sans aucune difficulté.



lundi 12 janvier 2009

Windows Azure - la platforme qui révolutionnera l'informatique

Voici un article entamé il y a plusieurs mois et agrémenté au fil du temps.
J'essaye d'y faire la synthèse des informations glanées, ci et là, sur la plateforme Windows Azure et ses relations avec les autres technologies "made in" Microsoft.
Malheureusement, le domaine est vaste et la synthèse qui en découle difficile à conduire en un seul article.
Même s'il a été composé au mieux, je ne dispose plus de temps à lui allouer (même pour du fignolage).
Il sera donc publié en l'état, ainsi, soyez donc indulgent si je me suis offerts des largesses orthographiques avec le contenu.
Bonne lecture.

 
Introduction
Déjà abordé dans l'article "Windows Azure - Le cloud computing façon Microsoft" (à lire), la nouvelle plateforme de Microsoft serait bien en passe de modifier profondément le paysage logiciel de la prochaine décennie.
Google et ses différents services ayant déjà démontré depuis des années que ce modèle est plus que fiable, pourquoi Microsoft s'y lancerait-il pas?


Déjà bâtie sur les fondations d'un data center et environnement "cloud computing", Azure permettra aux petites sociétés de mettre en place des logiciels d'envergures sans devoir obligatoirement lever des fonds pour investir et maintenir une infrastructure couteuse.
Les "data centers" Cloud Computing prenant en charge les problématiques de bande passante, disponibilité de temps machine et de ressources, Windows Azure se présente comme une plateforme + solution attractive.
Ainsi, avec l'excellent et populaire environnement .Net comme autre pierre angulaire, Microsoft s'assure le support d'une très large communauté de développeurs pour sa nouvelle plateforme Azure.
Et cela, c'est sans compter sur "la réplication" transparente dans les data centers "Cloud Computing" et quelques autres concepts avancés par Microsoft.
Si Microsoft est loin d'avoir tout inventé, il faut reconnaître de l'assemblage s'organisant autour de la plateforme Azure est prometteur.

Windows Azure... pas seulement du pure Web
De prime abord, l'on pourrait penser que Windows Azure et son modèle Cloud Computing n'intéresserait que les sociétés envisageant des logiciels/services Web.
Mais qui peut aujourd'hui se targuer d'ignorer le Web. Même si certaines applications n'ont pas de front-end sur le Web, Internet peut permettre d'offrir des services (Web Services) complémentaires aux clients.
Demain, Windows Azure permettra de mettre en ligne des applications pour lesquelles l'on n'envisageait pas d'avenir orienté Web (des ERP, des logiciels de Compta, gestion de stock, CRM, etc) et ce avec la même rapidité qu'une application stand-alone.
Même les plus réticents aux "Web" trouverons leur bonheur car Windows Azure n'impose pas l'exécution ou le stockage de l'application sur le Web (voir détails plus loin).

En abordant une vue plus large, les Web Services,Applications Web, etc peuvent être utilisés pour dynamiser le business d'une société existante en permettant aux clients, fournisseurs et partenaires d'interroger une partie de l'infrastructure de la société.
Une grande partie de la population est déjà familière avec ce principe car qui ne connait pas l "Internet Banking" ou les services/sites web des mutuelles. Les constructeurs automobiles y ont également largement recours dans leurs processus de distribution (ce n'est pas les concessionnaires qui le démentirons).
 
Windows Azure va stimuler, faciliter et sécuriser la création de tels éco-systèmes de services ou applications que cela soit sur site propre, sur le web ou en fonctionnement hybride (site-propre + web).

Les quelques points développés ci-dessous vont levé une partie du voile sur l'infrastructure Azure.
En y regardant de plus prêt et en assemblant les blocs, les plus clairvoyants y verront probablement les prochaines environnements de développements.

Data Center ou On-Promise
Bien que prévu pour fonctionner dans les data-centers de Microsoft, les applications écrites pour la plate-forme Windows Azure pourront être exécutées sur site propre (dénommé "On-Promise").
Les plus réticents pourront ainsi créer un environnement de type Azure au sein de leur propre société.
A l'heure actuelle, les seuls Data Centers disponibles pour la plateforme Azure se trouvent aux USA mais Microsoft planifie une extension en Europe (probablement Dublin et Amsterdam).

Avantages des data-centers:
L'utilisation de Windows Azure en Data Center présente un certain nombre d'avantages.
En voici quelques-uns:
  • Réplication des informations stockées (usuel dans le modèle "Cloud Computing").
  • Prise en charge de la maintenance et mise-à-jour des systèmes d'exploitation.
  • Serveurs d'applications ("services" seraient probablement plus approprié)
  • Service de transfert de données.
  • Pas de down-time.
  • "Pay as you go" (payer pour ce que l'on consomme).
  • Eco-système complet basé sur la platforme .Net, WCF, Asp, WPF, SilverLight
  • Disponibilité d'une DB relationnelle (Sql Azure, incluant la réplication)
  • etc
Pin-Point
Pin-point est une boutique en ligne de Microsoft permettant aux développeurs Azure de vendre leurs applications.
Avec l'aide des data-centers de Microsoft destinés à la plateforme Azure, la vente ou l'achat et le déploiement d'applications devient un jeux d'enfant (ou presque).
Se faire connaitre en tant que développeur ou société de développement Azure est forcement facilité.
L'achat, le test et le déploiement d'application Azure devient Trivial et d'une incroyable rapidité (plus besoin de trouver les machines de tests, d'acheter du matériel supplémentaire, etc).

Avec Pin-point et Azure le déploiement de software .Net s'apparente au modèle "Appliance" utilisé pour bon nombre d'applications (distribution d'application sous forme de machine virtuelle pré-configurée).
La principale différence réside dans le déploiement de code source plutôt que de fichiers binaires.

Dallas
A l'instar des AppStore (boutique en ligne permettant d'acheter des application), Dallas est une boutique en ligne permettant d'acheter de l'information.
Il est ainsi possible de publier et consommer des flux d'information de façon uniforme... mais en plus de pouvoir envisager de les rentabiliser.

Avantage:
Plus besoin de concevoir, implémenter et gérer par soi-même une solution de publication payante (et son infrastructure) lorsque l'on veut vendre de l'information.

Cas d'utilisation:
Publication d'article/journaux payant (le soir, le monde, etc), cotations et traitement d'information sur les marchés boursiers, informations statistiques diverses, info-traffic, indices de consommations, quantification anonyme de consommation de produits (médicaments) dans les officines, consommation food et no,-food dans les chaînes de magasin, résultat d'étude marketing, etc.

Un certain nombre d'information apparemment sans valeur peuvent être valorisée à l'aide d'outil statistique et être revendue (ou offerte) sur le net. J'imagine que bon nombre de résultats d'études "type universitaire" pourrait être partagé de cette façon.
Dallas peut devenir une plateforme et une plaque tournante du partage de l'information.
C'est qu'avec Dallas, il n'y a plus besoin de mise en page (et publication sur magazine ou net) pour l'émetteur d'information et le consommateur n'aura plus de besoin de traitement et réintégration de l'information dans un système informatique tiers; Dallas offre une interface "unifiée" pour partager l'information.

Service Bus, un layer de communication
La plateforme Azure dispose de son propre layer de communication (Service Bus) basé sur Windows Communication Foundation (WCF). Le Service Bus permet aux applications Azure de communiquer ensembles et ce de façon sécurisée (peu importe qu'elles soient prise en charge sur le Cloud ou On-Promise).
La communication entre les différentes applications se présente comme des "services" d'accès/de communications, "service" rendu par la plateforme Azure.
Ce service bus fonctionnant sur le Cloud, il permet également aux applications Azure (ou non) de communiquer avec d'autres applications Azure (ou non).
Un serveur d'une société X faisant fonctionner un ERP Z pourrait ainsi communiquer avec une application Azure (qu'elle soient prise en charge sur le Cloud ou On-Promise) ou bien encore directement avec un autre ERP-Y d'une Société H; Dans ce cas de figure étriqué, le "Service Bus" de la plateforme Azure prendrait en charge la communication entre les différents intervenants.

La vidéo ci-dessous présente un introduction (cas pratique de "Dinner now!") au Service Bus.
Ce cas d'utilisation néanmoins complexe met en avant la flexibilité du Service Bus. 

Get Microsoft Silverlight

Plus d'articles et de vidéos a propos de "Windows Azure Service Bus" sur channel 9.
Cet articles aborde d'ailleurs la mise en place (coding) autour du service bus.

Le cout

Concernant la politiques des couts, Microsoft n'a pas l'intention de prétendre être plus économique qu'une infrastructure physique réelle.
Selon le principe "Pay as you go", les factures mensuelles reprendront en charge votre consommation réelle de ressource.


A noter quand même que la plateforme Azure permet d'éviter les couteux problèmes de planifications et investissements matériels ainsi que les problèmes de redondance, mise-à-jour, down-time et de personnel.  

Voici, a titre d'exemple officieux, les cout qui auraient étés en application pour des projets pilotes:
  • 0,08 Eur par heure d'utilisation processeur.
  • 0,10 EUR / mois par la location d'un Giga-Octect (1 Go) de stockage.

Les coûts s'articulent autour de 3 éléments faisant l'objet d'une structure de prix propre.
A savoir:
  • L'utilisation de Windows Azure (l'utilisation du système d'exploitation)
  • La base de donnée "Sql Azure"
  • Le serveur d'application.

Regroupement des équipes Microsoft
Windows Azure est probablement destiné à devenir le principal business de Microsoft.
Microsoft en est d'ailleurs convaincu et réorganise son savoir faire de façon stratégique.
C'est ainsi que l'on apprend que Microsoft fusionnement ses entités Windows Serveur et Windows Azure (sources: articles Microsoft et PcInpact).
Si le message ne semble pas assez claire, il n'est pas bien risquer de considérer qu'à terme "Windows Azure sera aussi important de Windows Server sur tous les plans".


SilverLight 
Basé sur l'environnement .Net, Silverlight permet d'exécuter du code .Net sur une machine cliente.
A la base, Silverlight se présentait comme une alternative au Flash Player d'Adobe.
Mais puisqu'il est basé sur .Net, Silverlight bénéficie d'extensions intéressantes comme Windows Presentation Foundation, Windows Communication Foundation. Ainsi, Silverlight dispose intrinsèquement d'outils puissants pour exécuter une application de type "Windows" sur le client. La couche Windows Communication Foundation fournissant un accès au support de stockage distant.

En effet, de part son principe Silverlight est une extension du Web n'autorisant pas de stockage d'information (ou modification de la configuration) sur le poste client.
Mais de source officieuse, cela pourrait changer prochainement... et avec l'avènement de Windows Azune, Silverlight devient une nouvelle pierre angulaire. En effet, Silverlight pourrait exécuter localement des applications de type Windows qui stockent (ou pas) localement leurs informations de traitements.
Windows Azure et WCF offrent le support de communication et de stockage, la disponibilité de l'information, des services Webs et les applications à exécuter sur les postes clients.

C'est un peu comme télécharger ses applications à la demande en fonction de ses besoins. Elles fonctionneraient indépendamment de la même façon au travail, chez un client ou à la maison.
Seul besoin... Un navigateur internet et Silverlight. Pour les visionnaires, on est à mis chemin entre le poste de travail et les applications de type "Web Pure".
 
Il faut aussi savoir que Silverlight propose (ou proposera prochainement) un support matériel bien plus étendu que les produits concurrents (eg: Flash Player, etc).
Hormis la traditionnelle Webcam, le restant du matériel de la machine peut (pourra) être accessible depuis Silverlight. Une machine rudimentaire équipée de Silverlight et d'un scanner Code Barre peut alors devenir un puissant "point of sale".

Finalement et non des moindres, en plus de l'environnement internent (via le browser Internet), la prochaine mouture de SilverLight (v4) supportera de façon transparente les périphériques mobiles et les télévisions.

Avec un peu d'imagination, j'imagine qu'il soit facilement possible de créer un logiciel de comptabilité fonctionnant sous SilverLight ayant la capacité:
  1. De se télécharger depuis une plateforme Azure (et donc toujours à-jour).
  2. De dialoguer avec la plateforme Azure pour le traitement/stockage des informations.
  3. De dialoguer avec des applications tiers (pour l'intégration de service).
Bien que n'ayant jamais testé Office 2010, il me semble raisonnable de penser que la version Web d'Office 2010 puisse être bâtie sur cette nouvelle mouture de Silverlight et Windows Azure (gestion d'accès concurrents).

Le site de Clubic publie également l'article "S.Guthrie : les nouveautés de Silverlight 4 en vidéo".

Avis personnel
Google dispose déjà d'une solution Cloud Computing depuis quelques années (AppEngine).
Mes quelques recherches sur le sujet fûrent des plus captivant et force est de constater que Google dispose d'une force de calcul astronomique (ses data centers) et d'une main-mise sur l'information.
Google dispose donc de l'infrastructure adéquate laissant Microsoft loin derrière lui dans le domaine du Cloud computing... jusqu'aujourd'hui.

Si Microsoft sort maintenant du bois pour sauter dans les nuages (the Cloud :-) ), il ne dispose malheureusement pas des avantages de Googles.
Par contre, la très populaire plateforme .Net de Microsoft peut, elle, faire la différence.
Cet avantage là est indéniable!!!
Par le passé, l'émergence de la plateforme .Net, des technologies WCF (Windows Communication Foundation) & WPF (Windows Presentation Foundation) pouvaient être perçus comme des actions informatico-marketing pour "faire vendre" les produits de la société de Redmond.
Cette course aux nouvelles technologies et le manque de compatibilité ascendante en résultant (en lieu et place d'une consolidation des technologies Microsoft), ont souvent été mal reçu et mal perçu par le monde économique.
C'est que l'investissement constant que nécessite les plateformes Microsoft agace les professionnels. Vista en à d'ailleurs fait les frais puisqu'il est un cuisant échec dans le monde professionnel!.

Aujourd'hui, l'existence de la plateforme .Net, WCF, WPF, SilverLight, ASP.NET (supportant nativement, rapellons le, le caching et les Web-Farms) s'inscrivent en droite ligne dans l'exploitation d'une solution Cloud Computing.
Microsoft se lance dans le Cloud Computing en disposant déjà de tous les outils nécessaires; la plateforme et les technologies .Net déja bien éprouvées sont supportés par une large communauté de développeur.
Il ne reste plus à Microsoft qu'à se concentrer sur son infrastructure et l'ouverture de ses data-centers.

Microsoft et Google disposent chacun de leurs propres avantages stratégiques.
Mais Microsoft pourrait avoir envisager la meilleure des approches.

vendredi 9 janvier 2009

Regular Expression (exemples)

Voici quelques exemples de régular expressions

Remplacer les quotes
L'exemple suivant (en javascript) remplace toutes les simples et doubles quotes dans une chaine de caractères.
L'option g est utilisé pour faire un remplacement global (de toutes les occurences).

_ObjRemark.value = sValue.replace( /\"|\'/g , ' ' ); 

Remplacer du texte
Dans l'example suivant (en javascript), l'object _RemarkIcon (une image) peut faire référence soit à l'image RemarkFilled.gif, soir a l'image Remark.gif.
Quelque soit le cas de figure, le nom de fichier (gif) doit être substitué avec une nouvelle valeur.

_RemarkIcon.src = _RemarkIcon.src.replace( /Remark\w*.gif$/ , 'RemarkFilled.gif' )

\w indique n'importe quel caractere alpha.
\w* une suite quelquonce de caratere alpha.
gif$ se terminant par gif ($ étant la fin de string/ligne)

Autre example
text

Regular Expression (ressources et Livres)

Faisant suite à un précedent article, voici quelques ressources complémentaires concernant les régular expressions.

Livres
Dans la gamme des très bons ouvrages, je retiendrais "Mastering Regular Expression", de l'éditeur O'Reilly dont il n'est plus nécessaire de mentionner la qualité des ouvrages.
    
Regular-Expressions.info
Site web très fournit relatif à l'utilisation des régular expressions dans différents domaines (Delphi, .Net, PowerShell, Grep, etc). Ce contient également un tutorial.

RegExBuddy
Utilitaire permettant de tester, collection et inspecter en détail des expressions régulieres.
Voir ici pour plus d'informations.

Cours sur W3School????

mercredi 7 janvier 2009

Encryption de données

TrueCrypt est un projet open-source qui mérite d'être plus connu.
Il permet de créer des disques/partitions entièrement encryptés à la volée.
Pour ce faire, TrueCrypt utilise des algorithmes robustes tel que AES ou TwoFish.
Ce qui est également intéressant, c'est que TrueCrypt peut être utilisé pour activer un disque virtuel encryptant des données à la volée sur une clé USB!!! C'est une combinaison idéal pour la protection des données sensibles.
Finalement, et non des moindres, TrueCrypt fonctionne aussi bien sur Windows XP/2000/Vista que Linux (Ubuntu/...).

Voir le site officiel pour plus d'info.

Installation sur Ubuntu
Pour l'installation de TrueCrypt sur ubuntu:
  • Se rendre sur www.truecrypt.org, télécharger la version Linux depuis la section "download".
  • Utiliser le gestionnaire d'archive pour décompresser l'archive, cela décompresse un exécutable (ex: truecrypt-7.0a-setup-x86).
  • Exécuté le programme d'installation (./truecrypt-7.0a-setup-x86).
    Le programme d'installation reconnait la distribution Ubuntu et s'installe correctement.
    L'icone est ajoutée dans le menu "Applications|Accessoires". 
  • Effacer l'archive et le programme d'installation.
Pour plus d'information sur l'utilisation et l'installation sur Ubuntu, voir cet article sur ubuntu-fr
Personnellement, je recommande vivement la lecture de la documentation Pdf de TrueCrypt, elle est complète et explique étape par étape la constitution d'un volume encrypté.

Dismount failed sous Ubuntu
J'ai remarqué qu'il était visiblement impossible de faire un Dismount d'un volume encrypté sur mon Ubuntu 10.10 - nommée Maverick Meerkat.
Chaque tentative se terminant par le laconique message "device-mapper: remove ioctl failed: Périphérique ou ressource occupé Command failed".
En furetant sur le Net, j'ai trouvé quelques informations qui m'ont permises de faire mon Dismount en toute sécurité (du moins, en apparence).
Pour commencer, il faut savoir que mon volume encrypté est la deuxième partition de mon lecteur USB (myPasseport), il me faudra aussi retirer le volume non encrypté du système avant de débrancher physiquement le disque.
J'ai donc mon lecteur physique myPasseport (/dev/sdb):
  • Partition 1 (/dev/sdb1) 5Go monté par Ubuntu - DeviceName: MY PASSEPORT
  • Partition 2 (/dev/sdb5) 293Go monté avec TrueCrypt - DeviceName: truecrypt1
Voici la marche à suivre:
  1. S'assurer qu'il n'y a plus aucun soft qui utilise l'un des deux volumes (MY PASSEPORT ou truecrypt1).
  2. Démarré un terminal et passer en mode administrateur (sudo -i)
  3. Taper la commande suivante:
    umount /media/truecrypt1 && truecrypt -d && rm -rf /tmp/.truecrypt_aux_mnt1/
    TrueCrypt affichera le message d'erreur... mais inutile d'y faire attention.
  4. Utiliser le navigateur de fichier (le volume truecrypt1 à déjà disparu) et éjecter l'autre volume USB (MY PASSEPORT dans mon cas).
  5. Aller dans TrueCrypt, ce dernier répertorie toujours le volume truecrypt1 même s'il n'est plus connecté.
    Faire un "Dismount All" rafraîchit la liste et met visiblement de l'ordre.
Après toutes ces opérations, je peux librement disposer de mon lecteur USB externe et même remonter le volume encrypté sans devoir rebooter mon PC.