Category Archives: Windows

Tout sur les produits microsoft

Convertir VHD en VMDK

Bonjour, en attendant la publications des gros articles dans le pipe (cfr. tweet) un petit “tips” pour convertir des virtual machine Hyper-V et plus globalement des fichiers VHD en VMDK pour les charger dans VmWare Workstation. Après des essais infructueux avec VmWare vCenter Converter, qui reste un très bon outil gratuit de conversion de VM notamment pour pomper une machine physique vers une VM, j’ai testé l’outil WinImage qui a donné de très bon résultats, sauf en terme de compression de donnée (on ne peut pas tout avoir).

L’outil est en shareware 30 jours : Cliquez ici pour l’obtenir

1. L’outil installé et lancé, allez dans Disk -> Convert Virtual Hard Disk Image. Une fenêtre d’exploration s’ouvre, allez sélectionner le VHD à convertir.

2. Un fois le VHD sélectionner vous avez le choix entre un disque à taille fixe ou un disque dynamique. Pour rappel, si on a un disque de 100Go rempli a 50% (donc 50Go) :

  • Fixed : Fichier de 100Go sur le disque mais gain en performance, moins de fragmentation coté hôte, mais consomme plus de place.
  • Dynamic : Fichier de 50Go mais perte de performance et augmente le taux de fragmentation du fichier, mais consomme moin de place.

Pour ma part je m’oriente plus souvent vers du fixed 😉


3. Ensuite, un nouvelle boite d’exploration, n’oubliez pas de préciser le type de fichier cible (vmdk) car le choix par defaut est vhd.

4. Enfin, il n’y a plus qu’a attendre que la conversion soit finie.
J’ai converti un VHD de 150Go sur un 10 000k/rpm  en 1H +/-. (sur ce type d’actions c’est le HDD qui fait goulot d’étranglement)

A bientôt pour les articles sur FxCop et l’écriture de règles, Microsft Common Compiler Infrastructure, la création de custom template dans visual studio et pleins d’autres choses 🙂

Build 2011 : Présentation de Windows 8

Enfin plus d’infos sur Windows 8. Aujourd’hui se tenait la première keynote de l’event Build à Anaheim et franchement… WOAW !
(Désolé pour l’orthographe il est 5H30 du matin et j’en suis à mon 2éme thermo… ^^ )

Microsoft avait déjà publié une preview video d’un 10éne de minute si je me souviens bien sur win8 avant les vacances, vidéo que j’avais publié ici même. Mais là on a eu plus d’infos sur la partie développement et surtout la M3 la se mettre sous la dent. A ce sujet la fin de la keynote s’est conclue sur les prochaines étapes en insistant sur le fait que cela se déroulerait exactement comme avec seven, les spéculation sur la date de sortie vont donc aller de bon train, mais je ne rentrerai pas la dedans.

La conférence peut être divisé en 6 partie : Intro, User interface, Développement, Hardware, Professional et Live.

La dernière partie m’ayant nettement ennuyé je la résume directement : Tout sera externalisé sur le cloud. Y compris la configuration qui peut être roamé. Voila…

Bon, suivant, je passe l’intro, réalisé pour les pressés ne voulant pas attendre la fin et entame la partir User Interface. L’UI reprend la philosophie Metro de phone7. Philosophie qui peut se résumer à « no more chrome », remarque qui, lorsque faite lors de la présentation de ie10 prend un gout tout particulier. Donc un design épuré, des aplats, une navigation horizontal a l’inverse du phone7 qui est vertical.

Le système est orienté touch mais fonctionne très bien au combat clavier/souris. Au pire un clavier visuel est intégré. De même un T9 est intégré pour faciliter la saisie. Durant l’utilisation l’accès aux settings se fait aisément grâce a un menu latéral donnant à la fois accès aux settings système et applicatifs. Les applications peuvent être splitté gauche/droite, comme sous seven, très facilement. Les applicatifs suivent eux aussi la philosophie Metro. Le search a été amélioré puisqu’il peut maintenant en plus faire des recherche au travers des applicatifs installé et sur le web. L’interface classique avec menu démarrer reste toujours disponible pour une utilisation plus professionnelle. Le système semble aussi très orienté social networking avec des API qui semblent intégré de base.

L’expérience utilisateur se résumé en :

–          Rapide et fluide

–          Immersif et plein écran

–          « Touch first »

–          Connecté au web et consommation massive de web services

–          Multiplateforme (32/64/ARM)

Coté dev là c’est la surprise… je vous laisse savouré ce schéma et ne ferai aucun commentaire dessus… c’est beau…

Sinon coté blend5, support du html/css et possibilité de simuler le rendu sur différentes position (couché gauche, couché droite, retourné, normal) et différentes résolution. Une fonctionnalité rassurante pour beaucoup d’entre nous évitant ainsi le stress du rendu hasardeux. Coté VS2011 un nouveau menu apparait permettant de directement déployer ses applicatifs sur le Store qui fournit une gestion du licensing avec trial possible, vente et catégorisation. Une série de tests de validation sont effectué comme sous phone7 avec une amélioration niveau traçabilité au travers de 6 étapes : Pre-processing, Security, Technical compliance, Content compliance, Signing and publishing, Release.

La rétro compatibilité avec les applicatifs existant semble être assuré et la migration a Metro de l’existant semble également ultra simple. La « migration » d’application windows 8 vers phone7 se fait ultra simplement en une ligne et une option. Coté web IE10 améliore son moteur de rendu javascript/html5.

Coté hardware, début avec le temp de boot, impressionnant et quasi instantané. Ubuntu qui se vantait de booter rapidement peut aller se rhabiller. Coté consommation mémoire c’est aussi une bonne surprise puisque windows8 est plus leger que seven. Ceci dit seven a été comparé à windows8 sans le superfetch (consommation de 480Mo pour 7 et 250Mo pour 8). Un boot locker a été intégré évitant la catastrophe, démonstration à l’appui avec un rootkit. La consommation en veille a été aussi améliorée et s’approche du quasi nulle. L’usb3 sera supporté et la taille maximal des disque de boot passe de 2TB a 2056TB… de quoi voir venir… Une démonstration avec directx11 a été aussi réalisé afin de mettre en avant l’accélération graphique, ce qui, vu l’utilisation massive de ce qui ressemble à du WPF est logique. Comme sous phone7 la gestion des sensor est intégré et facile a développer. Un hardware de chez Samsung a été présenté comme le Windows 8 Developper PC avec un core i5 seconde génération, 4GBramDDR3, SSD64Gb, écran 11’’ tactile, dock station, système, environnement de développement, sensor, 3g… et un abonnement gratuit d’un an chez AT&T a 2GB/mois.

Ensuite partie Pro et « divers ». Un nouveau task manager apparait avec un mode enduser et avancé. Les processus peuvent être mis en suspend lorsqu’ils ne sont plus au premier plan. A ce moment ils ne consomment plus de CPU. Un historique des applications lancées est également accessible. Les copies de fichier peuvent être mises en pause. Un système de backup a deux niveaux est mis en place, restauration du système (conservation du fichier) et re-init usine. Ce qui existait déjà sous win7 donc j’attends de voir le nouveau dedans. Le remote desktop bénéficie aussi du touch. Coté virtualisation Hyper-V pourra être installé sur win8 et les VHD pourront directement être browsé depuis l’explorer qui intègre maintenant l’ergonomie Ribbon de Office. La gestion du multiscreen a été aussi modifiée avec des wallpaper étendu et des menus démarrés étendu avec une gestion isolée de chacun.

Et enfin la partie Live résumé plus haut.

Je vous conseille tout de même de jeter un oeuil au webcast. Si vous ne parlez pas anglais, je ne sais pas si le CC sera disponible (il ne l’était pas pour moi). Mais ça se passe ici : http://www.buildwindows.com/

Et pour obtenir la M3 de win8 : http://msdn.microsoft.com/en-us/windows/apps/br229516

Sur ce, je vais installer cette M3, chipoter et vous faire une vidéo de preview courant de journée.

Bon amusement 😀

(Désolé pour l’orthographe il est 5H30 du matin et j’en suis a mon 2éme thermo… ^^ )

Windows 8 – Metro 4 all’

Bonjour à tous,

Microsoft a dévoilé publiquement pour la première fois officiellement une preview de son système d’exploitation Windows 8 qui devrait normalement sortir vers 2013(1). Ce dernier reprend dans les grandes lignes la philosophie d’UI Metro, déjà utilisé sur les plateformes mobiles de Microsoft (phone7). Cette dernière est très efficace d’un point de vue expérience utilisateur sur des smart phone, mais le sera-t-elle sur des ordinateurs plus traditionnels ? N’ayant pas et ne comptant pas investir dans un écran 50” tactile comme dans la démo, cette ergonomie me fait pour ma part un peu peur, heureusement on voit que il est toujours possible d’utiliser conjointement a l’ergonomie Metro l’ergonomie de windows 7 (3”00 dans la vidéo). Cela ayant été dit je suis donc rassuré sur la prochaine mouture de Microsoft qui vise a unifier toutes les plateformes sur une interfaces communes. A noter aussi que ce sera la première fois que le menu démarrer ne sera plus central dans l’ergonomie d’utilisation du système. (Hors Windows 3.1 et <).

Une conférence aura lieu en septembre concernant le développement sur cette futur plateforme, qui, comme on peut déjà s’imaginer sera orienté principalement autour du WPF. (Iil serait étonnant que microsoft garde encore les winforms pour d’autre raison que la retro compatibilité).

Howto : Windows password recovery

Salut tout le monde, fait un bail que je n’ai plus rien publié donc voici un petit howto sur comment reprendre la main d’une machine windows xp/vista/seven quand on a perdu ses credentials.

Le howto est disponible sur Scribd : http://www.scribd.com/doc/55294877/chntpw

Et en téléchargement ici : chntpw

Je vais également publier courant de semaine prochaine 1 article et deux classes. Lesw deux classes : une première pour gérer les mmi (dans le but de lecture media), une second encapsulant de l’interop win32 permettant de manipuler l’écran et ses résolutions. L’ article : dev windows phone 7 ^^

A très bientôt

Windows XP en routeur

Beaucoup de gens pensent que faire du routage sous windows comme on le ferait sous linux est impossible. Déjà à ce niveau, c’est entièrement faux, windows xp fait du routage vu que en shell, on obtient toutes les routes définies sur la machine via la commande route PRINT. De plus windows XP comporte tous les outils nécessaire pour faire du routage avancé comme sous linux grâce à la commande netsh, qui est, je pense, une des commandes les plus complexe et polyvalente que j’ai rencontré tout système confondu et presque aucun système ne regroupe sous une même commande autant de fonctionnalités réseau/système.

En fait, on commet un abus de langage, car par routage, on entend le plus souvent de l’ip forwarding et du NAT, dans les applications “domestique” du routage. Petite précision sur ce qu’est l’ip forwarding ; Il s’agit de permettre aux différentes interfaces d’une même machine de se transmettre les paquets entre elles. Le NAT, Network Address Translation, lui sert a réécrire l’adresse se trouvant dans les paquets (de manière très très basique et simplifié pour que vous compreniez, le NAT est en fait beaucoup plus complexe, et plusieurs articles pourraient lui être entièrement consacré). Retenez simplement que le NAT permet de modifier les adresses sources.

Considérons la situation suivante :
Interface WAN -> ip : 212.212.2.2 / netmask : 255.255.255.0 / route par defaut : 212.212.2.1
Interface LAN -> ip : 192.168.1.1 / netmask : 255.255.255.0 / route par defaut : !!!! rien !!!!

Nous avons donc deux interface, une dans le lan et une sur le wan.
Sur l’interface WAN se trouve le modem, il a l’ip publique et la route par defaut. La plupart du temps, cette interface est configurée via le DHCP du provider internet et on ne doit pas  se soucier de sa configuration (configuration automatique via dhcp)
L’interface LAN sera le plus souvent branché sur un switch avec d’autres ordinateurs du réseau mais ne doit pas contenir de route par defaut.
Pourquoi pas de route par défaut ? Imaginez que vous ayez deux routes par défaut, le but d’une route par défaut est : “Si je n’ai pas dans ma table de routage une route vers l’ip que je veux joindre, j’envoi le paquet à l’ip indiqué comme route par defaut, elle se chargera d’acheminer le paquet a la bonne destination et de me renvoyer les réponses”. Dans ce cas ci par exemple, le pc ne connais que deux réseau, 212.212.2.0/24 et 192.168.1.0/24, si on veux joindre 10.10.10.1, le pc ne sait pas où se trouve ce réseau, il envoi donc tout à la route par défaut qui se charge du reste. Il ne peut donc pas il y avoir deux routes par défaut sur la MEME MACHINE ! car sinon, le pc ne saura pas a qui envoyer les paquets qui sont pour des réseaux qu’il ne connaît pas. Par contre, toutes les machines ont besoin d’une route par défaut pour joindre les réseaux qu’elles ne connaissent pas.
Nous voulons donc que les ordinateurs du LAN puisse sortir (sur le lan) par l’intermediaire de l’interface WAN, aller sur internet en clair.
Les clients eux, sont configuré de sorte à ce que leurs default gateway (route par defaut) soit l’ip de l’interface LAN du PCrouteur (192.168.1.1 dans ce cas), ainsi, si ils veulent joindre l’ip de google, qui n’est pas dans le réseau 192.168.1.0/24, on envera le paquet au PCrouteur, avec une interface sur le WAN, et si ce dernier ne sait pas où se trouve non plus l’ip google, il l’enverra également à sa route par défaut sur le WAN et ainsi de suite.
Nous devons dans un premier temps activer l’ip forwarding sur le routeur afin que l’interface LAN quand elle reçoit des paquets pour un réseau non connu puisse les transférer à l’interface du WAN et que l’interface WAN qui recoit des paquet a destination du LAN puisse les lui transféré. Pour ce faire on tape Windows + R et regedit afin d’obtenir l’éditeur de registre.
Ensuite il faut cherché
. la clef suivante : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
A ce niveau, on édite la valeur de IPEnableRouter, de type DWORD et on la passe à 1. Ainsi toutes les interfaces sur le routeur peuvent s’échanger des paquets “directement” comme si un câble les reliaient sur un switch à l’interieur du pc. (En fait, c’est à peu près cela, vu que ces interfaces sont toutes reliées virtuellement sur l’interface localhost de windows xp, et oui, il y aussi une localhost sous windows xp, mais elle n’est pas accessible comme sous linux)
Voila déja une première chose de faite. Testons l’installation dans l’etat actuel des choses en allant sur google.
Ca ne marche pas ! Pourquoi ?
Allons sur google, notre machine, a l’ip 192.168.1.2 veut joindre l’ip de google.com, 10.10.10.1 par exemple.
Le réseau n’est pas connu, on transfère donc le paquet au routeur (192.168.1.1), jusque là tout va bien. Le routeur lui reçoit le paquet sur l’interface LAN, regarde aussi dans sa table de routage et voit qu’il ne connait pas 10.10.10.1, il transfère donc à l’interface WAN pour l’envoyer à la default gateway du provider, ensuite de routeur en routeur, selon le même principe, le paquet arrive à google. Le problème, c’est que google lui, quand il veut répondre, cherche à répondre à l’ip qui a émit le paquet, c’est a dire 192.168.1.2, l’ip de la machine cliente. Mais 192.168.1.2 n’est pas une ip publique, c’est à dire que c’est un ip qui n’est pas utilisé sur internet. En fait tous les ip commençant par 192 ne peuvent pas être utilisé sur le net. Nous avons une ip publique, c’est à dire, utilisable sur internet, l’ip fournie par le provider. C’est d’ailleurs ça que l’on paye avec notre abonnement, d’une part une ip publique, d’autre part, une default gateway qui nous permet de joindre les réseaux que l’on ne connaît pas. (de manière shématique, on paye aussi d’autres choses, mais ce sont les seules choses nécéssaires à notre échelle pour acceder au net). Nous devons donc faire du NAT. C’est à dire, quand un paquet venant d’un client part vers l’exterieur, on change l’ip à laquelle il faut répondre par notre ip publique. Ainsi google par exemple, répondra à 212.212.2.2 (notre ip public) et non plus à 192.168.1.2, qui n’est pas utilisable sur le net. L’interface du WAN elle, garde en mémoire un tableau de NAT, une fois que google aura répondu, il regardera dans sa table, quelle est l’ip locale qui avait fait la demande, et rechangera l’adresse publique par l’addresse privé, 192.168.1.2

Résumons avant de passer à la pratique.

  1. Mon client, 192.168.1.2, veut joindre 10.10.10.1
  2. Mon client regarde dans sa table de routage et voit qu’il ne connait pas de route vers ce réseau.
  3. Mon client envoi donc le paquet à la route par defaut configuré, 192.168.1.1, l’ip LAN du routeur.
  4. Le routeur reçoit un paquet de 192.168.1.2 pour 10.10.10.1, il regarde dans sa table de routage et voit qu’il ne connait pas le réseau, il s’apprete donc à envoyer le paquet à sa route par defaut, celle du provider.
  5. Le routeur, transfère le paquet de l’interface LAN vers l’interface WAN
  6. Le routeur, reçoit un paquet sur son interface WAN, venant de l’interface LAN, avec comme destination 10.10.10.1 et comme source 192.168.1.2
  7. Le routeur va remplacer l’ip source, 192.168.1.2 par son ip publique, 212.212.2.2
  8. Le routeur envoi à sa route par defaut le paquet avec comme destination 10.10.10.1, et comme source, non plus l’ip locale, mais 212.212.2.2, son ip publique.
  9. Le provider internet (routeur avec comme ip la route par defaut) envoi le paquet au serveur de google (en résumé)
  10. Google (10.10.10.1) reçoit un paquet pour lui, venant de 212.212.2.2
  11. Google (10.10.10.1) réponds, par exemple en envoyant une page internet, à 212.212.2.2
  12. Le routeur reçoit, sur l’interface WAN, la réponse de google.
  13. Le routeur, d’après la liste qu’il a en mémoire, change l’ip publique, par l’ip locale, 192.168.1.2
  14. Le routeur, regarde dans sa table de routage s’il connaît le réseau 192.168.1.0, voit que oui, et que son interface LAN est dans ce réseau
  15. Le routeur transfère le paquet de l’interface WAN vers l’interface LAN
  16. Le routeur, envoi le paquet au client, 192.168.1.2, depuis l’interface LAN, 192.168.1.1, via le switch (résolution arp etc)
  17. La page de google est reçue par le client et s’affiche dans le navigateur internet

Et tout ceci se passe en un 10éme de seconde ^^
Maintenant que nous savons exactement comment cela fonctionne, nous allons donc activer ce NAT, afin de pouvoir changer notre ip privée par l’ip publique quand on veut aller sur internet.
On tape donc Windows + R, puis cmd. Le shell (prompt) de windows s’affiche.
On va tout d’abord installer le NAT sur le routeur avec cette commande :
netsh routing ip nat install
Ainsi, les fonctionnalitées de NAT seront disponibles.
Maintenant nous allons définir quelle est l’interface publique, c’est a dire, celle par laquelle “on sort”, dans ce cas, l’interface WAN qui s’appelle : “Connection réseau locale 1”
Il suffit de taper la commande suivante avec entre guillemets, le nom de l’interface réseau.
netsh routing ip nat add interface “Connection réseau locale 1” full
Maintenant, nous allons rajouter les interfaces “privées”, c’est à dire les interfaces “sources”, dans ce cas-ci, l’interface LAN qui s’appelle : “Connection réseau locale 2”
netsh routing ip nat add interface “Connection réseau locale 2” private

Et c’est fini. Voici un résumé barbare de la procédure :

  1. Ouvrir l’editeur de registre
  2. Aller a la clef : “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters”
  3. Mettre la valeur de “IPEnableRouter” à 1
  4. Ouvrir un shell
  5. Installer le nat avec la commande : netsh routing ip nat install
  6. Ajouter l’interface publique : netsh routing ip nat add interface “<Nom_De_L’interface>” full
  7. Ajouter la/les interfaces privées : netsh routing ip nat add interface “<Nom_De_L’interface>” private

Ce qui, au final, ressemble fort à linux :

Activer le forwarding :
Linux (shell) : echo 1 > /proc/sys/net/ip/ipv4/ip_fowarding
Windows (prompt) : reg ADD HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters /v IPEnableRouter /t DWORD /d 1

Activer le NAT :

Linux (shell) (eth0=WAN, eth1=LAN) :  iptables -t nat -i eth1 -o eth0 -A POSTROUTING -j MASQUERADE
Windows (prompt, version une commande avec les opérateurs & et &&) : netsh routing ip nat install && netsh routing ip nat add interface “WAN” full & netsh routing ip nat add interface “LAN” private

Liens Utile :

Documentation netsh : http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/netsh.mspx?mfr=true
Documentation reg : http://www.computerhope.com/reg.htm
La base de registre : http://leregistre-fr.net/astuces/bases/Comprendre-la-base-de-registre-23.html
Base du batch : http://commandwindows.com/

Tips : Visionner “On est pas couché” sans Silverlight et/ou sous Linux


Ajourd’hui j’ai trouvé comment regardé les videos de “On est pas couché” quand on ne dispose pas de Silverlight ou tout simplement qu’on est sous Linux.

En effet, le projet Moonlight, qui est la version OpenSource de SilverLight et développé par Microsoft a un temps de latence par rapport à l’original. Et la version de SilverLight nécéssaire pour regarder les videos sur le site de France 2 n’est pas disponnible dans le projet Moonlight. De plus, France 2 ne donne plus les “direct-links” vers sa video et l’utilisation de SilverLight est obligatoire. Ceci-dit, leur application n’es qu’un player de flux mms ^^ Donc, il y a bien un fichier quelque part qui est lu.
Pour le trouver, aller dans le code source de la page (sous firefox : Affichage -> afficher le code source)
Dans le code qui est affiché, cherchez après :

<span>Vous regardez <span> Emission du 3 avril 2010 </span> <br />
<a href=”IMG/asx/onpc-48.asx”>Voir la vidéo</a>

(si on est le 3 avril)
Ensuite, ouvrez la page en dessous dans la balise href et la class video : “IMG/asx/onpc-48.asx”
Dans ce fichier on a +/- :

<asx version=”3.0″>
<title>emission du samedi 4 avril 2010</title>
<entry>
<ref href=”mms://a988.v101995.c10199.e.vm.akamaistream.net/7/988/10199/3f97c7e6/ftvigrp.download.akamai.com/10199/horsgv/regions/siege/france2/on-n-est-pas-couche/emission.wmv” />
</entry>
</asx>

Et voila, le tour est joué.
On a le lien vers le fichier. On peux le regarder en streaming via le mms ou alors remplacer mms:// par http:// et dans ce cas le télécharger

Allez
Bon visionnage a tous ^^

Serveur VLC 1/3 : Streamer un fichier local sur le réseau


Voici un petit tutorial en 3 partie. La première partie pour diffuser un fichier via vlc (streaming), un second pour diffuser le “mixage audio”, c’est a dire tout ce qui passe par la carte son et enfin un dernier pour configurer le client.

Commençons par la configuration du serveur de stream vlc pour un fichier

1. On désactive le Firewall. Le mieux c’est de créé un exception mais bon… Je vais pas détailler les procédure pour tout les firewall. Donc on a compris que le firewall peux poser problème !)

2. On Ouvre VLC (oui, c’est For Dummies donc…)

3. On vas dans Media/Diffusion

4. On clic sur ajouter et on sélectionne les médias à diffuser. Puis on clic sur Diffuser



5. On clic sur Suivant

6. On Prend HTTP et on fait “ajouter” On rentre l’ip de l’interface sur lequel se connecterons les clients et le port.
Sous Windows, pour connaitre son ip, faire : Demarrer -> Executer -> CMD.
Dans la fenêtre qui s’ouvre taper ipconfig.
Sous Linux, ifconfig dans un shell.
ATTENTION : si vous avez d’autres serveurs sur votre machine, faite attention aux conflits de ports ! (un petit netstat pour verifier Wink )
Enfin on clic sur suivant et sur Diffuser.


Voila le serveur de stream de fichier est bon.