Another Nakou's Blog

Mar 29

Comment faire des miracles avec un système de merde (Windows 7).

Bonjour à tous, petit tuto du matin qui porte sur un système d’exploitation un peu plus connu que GNU/Linux : Microsoft Windows 7.

Vous avez sans doutes eu le problème suivant un jour dans votre vie de nerd :

Vous avez acheté un nouvel ordi, ou une nouvelle carte mère pour votre ordi, dans le but de booster vos performances et pouvoirs dépasser les 15 FPS à Dalaran sur World of Warcraft. Vous l’installez, montez votre nouvelle carte, votre nouveau processeur, votre RAM, vous remontez votre disque dur, vous lancez l’ordi, et là, patatra, au lancement du système, votre Windows vous gratifie d’un merveilleux BSOD (Blue Screen Of Death), vous fais un joyeux fuck et s’éteint. Pour les systèmes plus récents, comme Vista ou Seven, qui accueillent un WinRE (partition de récupération Windows), le système va alors tenter de réparer l’erreur, et va, comme solution miraculeuse, vous demander de reformater votre partition système (si vous en avez une) ou tout votre disque (si vous n’aviez pas prévu le coup).

De rage, donc, vous projetez violemment votre nouvelle carte mère par dessus la rambarde de la fenêtre, et remontez tout votre ancien matériel afin d’effectuer une sauvegarde de vos précieux fichiers de porn personnels.

PAS DE PANIQUE!

Nakou à creusé la question, lui même confronté à ce problème hier soir. Mon dernier reformatage datant de moins de 6 mois, je n’avais aucune envie de reformater, et de perdre ainsi mon iTunes bien rempli, mes jeux et tout ce que je glandouille sur mon PC fixe, même si la perte n’aurait été que temporaire, vu que je fais des sauvegardes (Règle de l’Administrateur Système n°1 : Assurez vous toujours de la redondance de vos sauvegardes).

Avant propos et Explications

Il est important de comprendre déjà pourquoi est ce que Windows est si compliqué à ce niveau là, alors qu’un Linux peut se lancer simultanement sur plusieurs machines via un montage NFS, avec des materiels differents (carte mère, RAM, disques et carte graphiques) sans souci.

En fait tout deux sont d’une conception radicalement différente. Alors que Linux s’appuis sur son noyau modulaire, et sur sa capacité à configurer ses périphériques depuis la couche utilisateur, Windows lui inscrit lui presque tout en dur dans le système à l’installation.

Ce qui nous pose problème ici en fait, c’est l’inscription dans les clés de registres des contrôleurs, issues de la carte mère. Ces contrôleurs vont permettes à Windows d’utiliser son matériel, mais ces derniers ne correspondront plus au nouveau une fois transférer, ce qui nous pose problème ici.

Solution

La solution est donc la suivante. Nous allons utilisé un outil, inclus dans Windows 7, qui permet normalement d’initialiser un système Windows en vue de son déploiement sur un nombre important. Il était évident qu’il existait quelque chose chez Microsoft pour faire ça. Imaginez que vous ne puissiez jamais cloner un système, et qu’il vous faut le déployer sur une centaine de machine. Cela impliquerai donc de prendre le temps d’installer Windows sur toutes les machines. Impensable. En temps normal, on installe un seul et unique système, configuré et possédant les programmes nécessaires, puis on le déploie sous forme de clone dans le parc informatique.

J’ai donc trouvé cet outil. C’est l’outil “Sysprep” pour “System Preparation” qui permet, une fois une machine installée, de purger la base de registre et le magasin de Microsoft pour en extraire les valeurs correspondantes au matériel.

Ici nous allons détourner son utilisation afin de changer d’ordinateur ou de matériel sans changer de système.

Procédure

Uniquement pour Windows 7.

A ne faire qu’une fois la sauvegarde de votre système effectué correctement, sur support externe comme un disque dur externe ou une clé USB.

Donc démarrez votre Windows sur votre ancien matériel, allez dans le menu démarrer. Dans le champ recherche, tapez “cmd” et entré.

Vous voici dans l’invite de commande.

tapez :

cd c:\Windows\System32\Sysprep\

vous êtes maintenant dans le dossier du sysprep et vous devriez voir :

c:\Windows\System32\Sysprep>

maintenant vous allez taper :

> sysprep.exe -generalize -oobe

Une boite de dialogue va s’afficher pour lancer la purge de votre base de registre.

Une fois terminé, l’ordinateur va s’eteindre correctement.

Vous pouvez donc prendre votre disque dur système, et le transférer sur votre nouveau matériel.

Et maintenant priez. Priez très fort. Car il y a tout de même une chance que vous deviez réinstaller tout votre système.

Si le logo au dessus de “Démarrage de Windows” s’unifie et se forme correctement, et commence à pulser, c’est gagné, le chargement de la carte mère est en début de processus. Si ça plante après, c’est très certainement une autre partie de votre matériel qui déconne.

Au démarrage, il va démarrer comme un système tout neuf, vous demander un nom d’utilisateur et de machine :

PAS DE PANIQUE

Votre/Vos utilisateur(s) existe(nt) toujours, d’ailleurs si vous cherche à mettre un pseudonyme identique à celui que vous utilisez, il va vous envoyer péter disant qu’il est déjà pris, ce qui était pour moi, dans un moment de panique, un putin de bon signe. Une fois ce passage passé, le système va créer une nouvelle base de registre pour le matériel, et inscrire les partie effacée par le sysprep.

Il me semble qu’il y a un redémarrage et Tadaaa, votre session, vos fichiers et vos programmes sont de retours.

La suite

Sachez qu’après une telle opération, je conseille de faire quand même une défrag et un check disk, pour éviter que la vitesse de votre nouveau matériel ne pâtisse de la fragmentation désastreuse des systèmes microsoft =).
Sachez aussi que votre version de Windows ne sera plus considérée comme activée, il vous faudra donc faire clic droit sur “ordinateur” dans le menu démarré, propriété, et à descendre tout en bas de la page pour le réactiver.

https://twitter.com/#!/Nakou/media/slideshow?url=pic.twitter.com%2Fri98nH8Q
https://twitter.com/#!/Nakou/media/slideshow?url=pic.twitter.com%2FXGAeqPwU

Voila, votre système fonctionne, nous vous souhaitons, moi, Sykrim et ma grosse bestiole, bonne continuation, et à bientôt pour un nouvel article!

Mar 26

Feb 27

“Gource” pour vos dépôts Git

Bonjour à tous!

Petit billet plein de légèreté et de beauté aujourd’hui. Vous, brillants administrateurs systèmes qui tombez par hasard sur ce blog en quête de réponses improbables, n’avez jamais rêvé d’un peu de couleur et de folie pour vos environnement de développement?

Donc aujourd’hui je vais vous parler d’un petit logiciel sympatoch nommé gource.

Gource est un logiciel de visualisation de projet git/svn qui permet de voir les dossiers, les branches, les commits et les membres à partir des logs sur le projet en question. Niveau professionnel, l’intérêt est plus que limité, mais d’un point de vue visuel, qu’est ce que ça en jette ;D.

Voici par exemple ce que des petits malins ont générés à partir des dépôts git de php. On y voit les contributions et les évolutions au fur et à mesure, comme la naissance de php 4 puis 5.

Pour vous amuser à visualiser vos projets, voici donc la marche à suivre :

Etape 1 : Installer les dépendances et les librairies.

Ce logiciel fonctionne avec les librairies SDL compilées en C++ (j’ai d’ailleurs été bien surpris de voir à quel point ces librairies commençaient à devenir intéressantes, ne se contentant plus de faire du 2D SNES, je devrais plus me tenir au courant).

Pour ce faire donc, sur une machine debian (Ubuntu 11.10 dans mon cas) envoyer la commande suivante :

sudo apt-get install build-essential libsdl1.2-dev libsdl-image1.2-dev libftgl-dev libpcre3-dev libpng12-dev libjpeg62-dev

Etape 2 : Installer “Gource”.

Les versions de “gource” sont disponibles à la page suivante : http://code.google.com/p/gource/downloads/list

Etant codé en C++, ces derniers nous gratifient joyeusement d’une versions Win32 ce qui satisfera nos chers utilisateurs de Microsoft :).

Une fois les sources décompressées, il s’agis maintenant de les compiler afin d’obtenir un exécutable. Les commandes classiques suffisent :

cd /Repertoire_de_Gource
./configure
make
sudo make install

Si vous n’avez pas fait de connerie, normalement, si vous envoyez dans votre terminal :

gource -h

Vous devriez voir apparaître la liste d’aide (assez complète) pour gource et donc que votre installation sera un succès.

Etape 3 : Utiliser “Gource”.

Maintenant que gource est installé, il ne vous reste plus qu’a vous rendre dans votre dossier ou siège votre clone local de git (le dossier qui contient le .git in fact).

cd Dossier_du_Projet

Et à lancer la commande suivante, qui est la commande standard pour avoir un rendu vif et dynamique :

gource —seconds-per-day 80 —auto-skip-seconds 0.1 —file-idle-time 500 —max-files 500 —multi-sampling -1280x720 —stop-at-end —elasticity 0.1 -b 000000  —hide filenames,dirnames  —disable-progress —user-friction .2 —disable-bloom

Les arguments de commande sont suffisament clair pour faire ce que vous voulez. Par défaut la visualisation est en fenetré, mais vous pouvez le faire facilement passer en plein écran (et épater vos colègues) avec l’argument supplémentaire
“-f” ou “—fullscreen”.
Voila, grâce à Gource, vous allez pouvoir faire tomber les filles en soirée en montrant “Voila ce que c’est qu’être développeur!”.
C’est comme jouer de la guitare mais en mieux.
Etape bonus : compresser votre résultat en vidéo.
Si vous voulez faire baver le monde devant vos réalisations et pouvoir les héberger sur YoupornTube, il faut donc envoyer tout ça en enregistrement vidéo.
Pour ça je vous conseil de consulter la page ici présente : http://code.google.com/p/gource/wiki/Videos
Elle contient toutes les indications pour encoder proprement vos vidéos en mp4.
Je ne fais pas de tuto détaillé là dessus pour la simple et bonne raison que je me suis complètement vautré dans l’installation de codecs ffmpeg et qu j’ai flingué une partie des lectures vidéos sur mon linux, ce sont des choses qui arrivent u_u’…
Donc je vous souhaite bon courage et une bonne journée à tous!