mercredi 27 avril 2016

Tuto Git - Bien démarrer avec Git GUI sous Windows

Les tutos sur Git GUI sont rares, Linux oblige et comme on est sous Windows, ils sont difficilement accessibles. En général on tombe sur Gui Bash et des lignes de commandes. Essayons de nous en sortir quand même avec Git GUI sous Windows.

Git Gui Windows
Download - Git GUI pour Windows

Mais pour ceux qui utilisent Git sous Windows, il est quand même plus simple et plus intuitif d'avoir des écrans que la console en mode prompteur :

Git Bash en ligne de commandes

Je prends ici quelques notes, je compléterai par la suite... Voici donc Git GUI :

Git Gui Windows
Git GUI pour Windows - en finir avec les lignes de commandes

Pour "Gitter" un projet (c'est à dire le mettre en gestion des configurations avec Git dans GitHub), cela se passe en trois temps...

1 - Référencer les sources à gitter dans Git
Dans le répertoire que l'on veut "Gitter" faire : bouton droit->Git GUI Here
Choisir le répertoire à Gitter. un répertoire ".git" caché est alors créé. Attention cochez "afficher les fichiers cachés".
La liste des fichiers "Gitter" apparait "en haut" de Git GUI dans "Unstage Changes".

2 - Commiter les sources en cliquant sur le bouton "Commit"
Si on est sous windows alors il faut traiter les CRLF...
La liste des sources à gitter se trouve maintenant en bas dans "Staged Changes".

3 - Uploader sur le "remote repository"
On a créé un repository dans GitHub. Il faut alors faire un "Push" avec les bonnes coordonnées du repositorie distant pour que les sources alors apparaissent en ligne...

Miraculus !

Git GUI - Installation sous Windows

Une fois que vous avez téléchargé l'exécutable Git-2.9.0-64-bit.exe et que vous cliquez dessus, voici quelques copies d'écrans des éléments qu'il vous faudra configurer.

Git Gui - Installation Windows
Git GUI - Installation sous Windows - Choix de l'interface

Franchement, je ne vois pas l'utilité ici de choisir "Use Git from Git Bash only". Nous n'aurions alors que la console Bash à notre disposition.

Git GUI - Installation sous Windows - Choix du mode CRLF ou LF

Il vaut certainement mieux choisir l'option "Checkout Windows-style, commit Unix-style line endings" pour être un peu sympa avec les linuxiens. "as-is" est la meilleure option, c'est à l'utilisateur final de contrôler ce qu'il fait...

Git GUI - Installation Windows - 1
Git GUI - Installation sous Windows - Choisir MinTTY ou default console Windows

Encore quelques efforts ...

Git GUI - Installation sous Windows
Git GUI - Installation sous Windows - Encore des options pfff...

Je choisie cs options pourquoi pas ...

Git GUI - Installation sous Windows
Git - Installation sous Windows - Exécution de l'installation

Ca y est l'installation a démarrée ...

Git GUI - Installation sous Windows
Git - Installation sous Windows - Exécution terminée

Pfff c'est pas trop tôt, j'espère que je pourrais changer l'option "choix du mode CRLF/LF" ... que j'ai choisie peut être un peu vite lors de cette Installation de Git GUI.

Une fois l'installation terminée, vous vous placez dans le répertoire que vous souhaitez Gitter en suite vous cliquez "bouton droit" vous avez l'option Git GUI Here :

Git GUI - Installation Windows
Git GUI - Installation sous Windows - Guitter votre répertoire

Vous venez de créer votre premier Repositorie Git pour Gitter dans GitHub. Pour cela, il vous faut :


Voilà c'est terminé ! Nous avons maintenant à porté de cliquer la puissance du gestionnaire de codes sources Git GUI sous Windows.

Have Fun with Git, don't forget it's only software !

mardi 26 avril 2016

Vous souhaitez savoir à quoi sert Git & GitHub par rapport à TFS & Codeplexe

Vous êtes au bon endroit. Git, ou GitHub si on parle du site en ligne, est un gestionnaire de codes sources. Alors pourquoi après CSV, SNV, ClearCase, TFS et bien d'autres un nouveau gestionnaire de codes sources ?

Franchement, je ne sais pas !

Je ne vais pas décrire Team Foundation Server, je présuppose que l'on connait.

Git est encore un de ces outils Linuxien... comment dire, comment dire sans les vexer... un outil console quoi. Si vous n'avez pas les commandes en tête rien n'est intuitif. Voici la belle console MinGW64 de GitHub :

Git - Console command
Ah, il y a aussi une IHM :

Git GUI - IHM
Et plein de problèmes... au moment de commiter.

Git problem with CRLF
Oh la la, ça recommence, ah oui Linux, le truc qui n'aime pas les CRLF, à moins que se soit Windows qui n'aime pas les LF... bref une prise en main bien dificile.

Et ça continue...

Compress the database now? - Non merci sans façon...
En essayant d'aller un peu plus loin :

Git - Push command
Etant donné le côté ultra-intuitif de cet outil, il faudra maintenant parcourir un bon tuto. Celui-ci n'est pas mal...

https://matthew-brett.github.io/pydagogue/git_gui_windows.html
Mais il est en anglais

Conclusion sur Git Hub

La rapidité est excellente avec Git, c'est vrai. Mais les outils sont du type console, même s'il y a une interface la plus part de l'aide est en lignes de commandes. Il va falloir beaucoup d'investissement pour prendre en main ce gestionnaire de configuration.

Avantage : Vous n'avez pas à installer de serveur, tout se fait dans le cloud en créant un compte Git Hub et les repositories pour y placer vos projets.

Inconvénient majeur de Git Hub

L'inconvénient majeur c'est le référencement. Les pages des Wikis de GitHub ne sont pas faites pour être référencées.

J'ai créé un projet ASP-NET-Survey-Online sur Git hub et quand j'effectue une recherche avec google voici le résultat :
Référencement de mon projet dans Git Hub

On voit très clairement que ce n'est pas mon projet qui est mis en avant mais Git Hub, c'est idiot.

D'abord vous avez ce "GitHub-" qui est mis en avant. En suite : "contribute to " nom du projet "development by creating an account on GitHub.

Ce n'est pas moi qui ai écrit cela mais GitHub qui fagocite mon projet.

jeudi 10 mars 2016

Oracle VirtualBox maîtrise des raccourcis clavier

Comment passer du mode plein écran au mode fenêtré ? Parfois on est désemparé devant la machine virtuelle d'Oracle, on ne sait plus comment sortir du plein écran. Alors comment s'y retrouver ? C'est ici.

Oracle VM Virtual Box - Configuration des touches

Il faut déjà connaitre ce qui existe pour pouvoir éventuellement le reconfigurer, dans Oracle VM (Virtual MAchine) la configuration des touches se trouve dans le menu Fichier->Paramètres :

Oracle VM - configration des touches de raccourcis

Découvrir la touche "Hôte" car c'est elle qui permet, dans la machine virtuelle d'envoyer des commandes spéciales, comme la modification du mode fenêtré. Le problème c'est que l'on passe en mode plein écran et que l'on ne sait pas comment repasser en mode fenêtré.

Oracle VM Virtual Box - La touche "Hôte"

Une combinaison de la touche hôte et d'une autre touche vous permettra d'envoyer des commandes à votre machine virtuelle :

OracleVM - la touche hôte

Par défaut la touche hôte est donc "CTRL DROITE"

Oracle VM - Commandes des modes écran

Dans Oracle VM (Visutal Machine), voici les commandes qui permettent de modifier le mode de l'écran :

Commandes pour modifier le mode de l'écran

L'important ici, c'est le choix de l'écran virtuel. C'est la seule façon de modifier l'écran pour une machine en mode "plein écran". Et sinon elle disparaît !

Oracle VM - Récapitulatif des commandes au clavier

  • Touche host (Ctrl droite) + combinaison Action
  • Host Active (intègre la souris et le clavier dans la machine)
  • Host Désactive le mode capturé (sortir de la machine capturé)
  • Host + Début Affichée la barre de menu en mode intégré
  • Host + A Ajuste la taille de l'écran invité
  • Host + F Passe l'affichage en mode plein écran
  • Host + F Passe l'affichage en mode normal
  • Host + G Ajuste automatiquement la taille et l'écran de l'invité
  • Host + H Arrêt par ACPI
  • Host + I Activation de l'intégration de la souris
  • Host + I Désactivation de l'intégration de la souris
  • Host + L Mode affichage intégré dans le bureau
  • Host + P Mettre la machine virtuelle en pause
  • Host + P Sortir la machine virtuelle du mode pause
  • Host + Q Fermer (quitter) la machine virtuelle
  • Host + R Redémarrer la machine virtuelle
Donc, si vous êtes perdu devant votre écran de machine virtuelle, ne pouvant plus le modifier, c'est que vous êtes passer en mode "redimensionné" et la commande pour repasser en mode "plein écran" c'est :
Touche host + F
C'est à dire :
CTRL DROITE + F

Vous pouvez maintenant sortir votre Oracle Machine Virtuelle du mode "plein écran" et reprendre la main quand vous en avez besoin.

Et voilà !

mardi 8 mars 2016

Oracle VM VirtualBox - Problème du Gestionnaire de médias

Juste pour prendre note sur un "gros problème" à mon sens, du gestionnaire de médias d'Oracle Virtual Machine. Vous avez un problème avec le clonage d'une machine, sous Oracle VM VirtualBox, c'est normal ! Il y a un truc vraiment idiot :
  • vous clonez un machine
  • vous la déplacez
  • vous renommez la machine
Cette nouvelle machine est encore attachée au anciens disques durs à l'ancien emplacement ! Alors vous supprimez les références aux anciens disques, pour y ajouter les références aux nouveaux disques durs et là ... c'est le drame  :

Echec de l'ouverture du fichier de disque dur xxxWindows-xxx-disk1.vhd.
Cannot register the hard disk 'xxWindows-xxx-disk1.vhd' {fdeaf81c-9cea-4e8c-a572-507a4ce10c62} because a hard disk 'xxWindows-xxx-disk1.vhd' with UUID {fdeaf81c-9cea-4e8c-a572-507a4ce10c62} already exists.

Code d'erreur : E_INVALIDARG (0x80070057)
Composant : VirtualBox
Interface : IVirtualBox {fafa4e17-1ee2-4905-a10e-fe7c18bf5554}
Code retourné : VBOX_E_OBJECT_NOT_FOUND (0x80BB0001)

Bla bla bla bla ... tout ceci n'est que foutaises, il vous faut Gérer les médias, Menu "Fichier" cliquez sur : "Gestionnaire de médias..." :

Oracle VM Virtualbox - Gestionnaire de médias

Dans la liste des médias gérés par Oracle VM VirtualBox, vous verrez des icônes triangle jaune indiquant que OVM ne trouve plus ces médias, c'est icônes ne sont pas présentes ici car je l'ai déjà fait ;) :

Oracle VM VirtualBox - Gestion des médias

Supprimez les médias précédés de cette petite icône jaune et vous pourrez attacher vos nouveaux disques clonés à votre nouvelle machine.

Le monde n'est-il pas formidable ?

mercredi 3 février 2016

Windows Sysinternals - Disk2vhd - Comment sauver votre vieux serveur en perdition ?

Disk2vhd transforme un disque dur physique en disque virtuel (fichier). Cet outil, Disk2vhd va vous permettre de sauver vos machines en perdition, de transformer vos disques physiques en disques virtuels utilisable par n'importe quelle machine virtuelle.

Vous avez une ancienne machine que vous souhaitez conserver car elle fait encore tourner très correctement une suite logicielle que vous ne souhaitez pas mettre à jour alors cet outil est pour vous.

Voilà, je me dois de rendre un vibrant hommage à cet outil car il m'a permis de retrouver la totalité des informations de mon vieux serveur dédié qui partait à la casse.

Voici son l'interface de Disk2vhd, elle est toute simple  :

Interface de Disk2vhd
J'ai administré pendant plusieurs année un PC physique dans un RAC au fin fond d'un DataCenter et puis un jour, il a fallut passer à autre chose. Cette machine devenait obsolète et je savais pas comment faire pour continuer de l'exploiter ou du moins récupérer le tout pour le mettre ailleurs.

Avec Disk2vhd :


J'ai transformé mon vieux serveur en .vhd. J'ai découpé ensuite ce .vhd en archives de taille acceptable pour un transfert par FTP, des archives de 716 8000 Ko chacunes.

Disk2vhd sur le site de Sysinternals
J'ai rapatrié toutes les archives sur ma machine, j'ai reconstitué le DD System grâce à 7zip et je l'ai branché à une nouvelle machine Virtual PC, le tour était joué.

Je n'en croyais pas mes yeux. J'ai pu balancer mon vieux serveur physique à la casse, pardon je veux dire l'envoyer au recyclage ;-)
 

vendredi 20 mars 2015

Eclipse - Langage C - MinGW-w64 - Error : prefix lib devant mon exécutable !?

Je me retrouve avec mon exécutable préfixé de "lib". C'est plutôt ésotérique Eclipse et MinGW. Je ne suis pas loin d'écrire qu'Eclipse est le pire des outils de développement pour le langage C.

Eclipse fait trop de choses de façon automatique, vous renommez quelque chose quelque part et il parse à tout va il renomme un tas de truc partout.

Alors que je tente de créer une Librairie en C, utilisable par un projet en C : Console1.exe, oui du pure langage C pas de C++. Je me retrouve avec mon exécutable préfixé de "lib" : libConsole1.exe. Evidemment plus rien ne fonctionne !

Eclipse en Langage C exécutable préfixé - Solution

La solution se trouve dans : Sur le projet, bouton droit puis :Properties->C/C++ Build->Settings->Build Artifact->Out put prefix : "lib"

Je mettrais ma main à couper que c'est parce que je cherchais à utiliser ma lib en ajoutant le chemin d'include du .h et en cherchant à compiler le projet avec ma lib qu'Eclipse a cru bon de rajouter ce "lib" à cet endroit. Certainement qu'il croyait bien faire mais l'enfer est pavé de bonnes intentions.

Hope this help !

lundi 9 mars 2015

Développer en Langage C avec Eclipse et MinGW

Quelques notes sur l'utilisation de l'environnement MinGW (Minimalist GNU (système d'exploitation constitué de logiciels libres (GNU means "not for unix"))  for Windows). Et l'IDE Eclipse dont la release actuelle est Luna.

Installation d'Eclipse

Il n'y a pas d'installeur pour Eclipse ! Il suffit de dézipper l'archive dans un répertoire. Aussi lorsque la boite de dialogue suivant apparaît :

Démarrage d'Eclipse
Elle indique qu'Eclipse ne peut pas fonctionner sans le Java Development Kit (JDK) et que celui-ci n'a pas été trouvé, il ne vous reste plus qu'à l'installer ...

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

Installation du Jave SE Development Kit
Pour moi ce n'a pas été la peine d'ajouter un chemin vers Java dans le path ... Eclipse s'est lancé tout seul comme un grand :

Eclipse Luna - Ecran d'accueil

Installation de MinGW

Allons directement sur le lien de sourceforge : MinGW - Minimalist GNU for Windows
Les dédales du site www.mingw.org sont impénétrables ...

Une fois le mingw-get-setup.exe télécharger les choses commencent, d'abord il va créer une arborescence dans : C:\MinGW\bin et puis envoyer un tas de messages d'alertes, d'erreurs, d'insultes, comme quoi il ne peut pas télécharger les packages ?! Ne pas s'affoler, trouver l'exe dans le répertoire C:\MinGW\bin\mingw-get.exe et relancer tranquillement l'exécutable : mingw-get.exe et l'installation recommence, faire les choix des packages à installer :

Exécutable de configuration de MinGW
C'est l'outil qu'il faut maîtriser pour configurer MinGW.

Mon premier projet MinGW GCC avec Eclipse

Lancer Eclipse : File->New :

Création d'un projet en Langage C avec Eclipse et MinGW
Eclipse création d'un projet en langage C avec MinGW comme compilateur
Evidemment, après, c'est l'erreur, ou l'horreur au choix !

Errors (1 item) - Program "g++" not found in PATH !

Errors : g++ not found in Path !

Sur le sujet, on pourra lire par exemple, la page suivante :
On y préconise entre autre, de faire un reset ... chaque fois que l'on trouve le bouton "Reset defaults", tout un programme.

Pourquoi cela ne fonctionne pas ?

Eclipse est un IDE multi-plateforme, capable d'adresser une multitude de chaînes de compilations.

Imaginez que vous développiez vous même votre compilateur, linker, débugger, vous pourriez l'utiliser avec Eclipse. Mais pour que cela fonctionne, il faut que le tout, Eclipse, MinGW, et tous les autres plugins soient installés correctement. Cela passe par le PATH de chacune des chaines de compilations mais toutes ne sont pas compatibles sur le même poste de développement. Par exemple 

D'abord vous allez découvrir que le projet MinGW est abandonné, même s'il semble vivre encore, une branche est en train de lui couper l'herbe sous le pied c'est MinGW-w64. Donc mingw-get-setup.exe l'installeur hyper compliqué impossible à maîtriser ne doit pas être utilisé ... !?? Lui succède mingw-w64-install.exe. Le problème : cela se ressemble trop.

Vous aurez perdu un temps fou à maîtriser tout cela mais ce ne sera pas totalement perdu car il faut maintenant recommencer avec MinGW-w64 (pour x86, win32 et win64 notez au passage).

Eclipse et MinGW enfin le début d'une solution propre

Utiliser MinGW-w64 au lieu de MinGW :

Comment configurer le Tout !

Installation d'Eclipse

Help->Install New Software->Working with Juno

Eclipse Management Packets

Installation de MinGW-w64

I use here the TDD gcc x64, a well done installer for MinGW64
Et là, je découvre enfin le Graal, un nouvel outils d'installation MinGW-w64 : TDD gss x64 ... je cours l'essayer ... Pour moi cela à fonctionné, mon programme à compilé du premier coup, l'installeur avait ajouté : C:\TDM-GCC-64\bin dans le path, j'ai pu lancer l'exécution en Debug

J'avais un nouveau template de MinGW :

Eclipse Template - MinGW-w64
Et quand j'ai créé mon projet :

MinGW-w34 configuré correctement pour une utilisation avec Eclipse
Au hasard de mes lectures, je trouve cette page :

Informations techniques sur l'installation de l'environnement MinGW 64. C'est un peu technique mais utile s'il on veut en savoir plus.

Error : Toolchain "MinGW GCC" is not detected

Toolchain "MinGW GCC" is not detected. Refer to "C/C++ Development User Guide", "Before you begin" how to install toolchains. 

Vous trouverez le page dans la documentation et là on vous dira d'installer correctement MinGW mais ce n'est pas MinGW-w64 !

Vous avez installé une version de MinGW-w64 par exemple dans : C:\Program Files (x86)\mingw-w64\i686-4.8.2-posix-dwarf-rt_v3-rev4, tout va bien mais il n'y a rien à faire ! MinGW-w64 n'est pas correctement supporté par Eclipse. Le souci c'est, si vous voulez utiliser par exemple MinGW-w64 i 686 v4.8.2 v3 rev 4, vous ne pourrez pas créer de nouveau projet : File->New->C++ Project MinGW GCC n'est pas présent dans la liste. Et pourtant votre projet fonctionne.

J'ai même recopier tout le contenu de C:\Program Files (x86)\mingw-w64\i686-4.8.2-posix-dwarf-rt_v3-rev4\mingw32 dans C:\MinGW cela n'a pas fonctionné ! Il est vrai que lorsque l'on regarde la page suivante qui nous explique l'algo d'Eclipse pour trouver MinGW on n'est pas surpris que cela ne fonctionne pas :

Astuce pour créer un nouveau projet MinGW-w64

Je n'ai rien trouvé de plus brillant, j'ai un MinGW (et non un MinGW-w64) d'installé dans C:\MinGW, je peux alors créer un nouveau projet et lorsque je souhaite utiliser la chaîne de développement MinGW-w64, je renomme le répertoire C:\MinGW en autre chose, tout simplement.

Et puis finalement, j'ai décoché la case "Show porject types and toolchains only if they are supported on the platform" :

Création d'un projet MinGW-w64 avec Eclipse
Et cela à fonctionné.

Cela vous aidé ? Nous ne sommes rémunéré que par la publicité alors n'hésitez pas à cliquer et n'oubliez pas,
Have Fun!

lundi 9 février 2015

Partagez la souris, le clavier et le presse-papier entre plusieurs ordinateurs

J'ai deux ordinateurs, oui c'est deux fois plus de puissance CPU, lorsque l'un est occupé je me retourne vers l'autre et c'est très puissant. Seulement j'avais aussi deux claviers, deux souris, un répertoire partagé pour servir de transfert entre mes deux PC.

Quand je me suis posé cette question : N'y aurait-il pas un logiciel capable de distribuer les ordres de ma souris et de mon clavier à travers mon réseau pour piloter mes deux ordinateurs ?

Et voici ce que j'ai touvé : Input Director 1.2.2

Input Director

Retrouvez "Input Director" sur le site de PC-Astuces :

http://www.pcastuces.com/logitheque/input_director.htm

Une fois téléchargé, vous avez accès à une documentation complète, pour configurer le Master et les Slaves.

Une remarque: Ne vous embêtez pas avec le hostname de l'ordinateur slave, pour moi cela n'a pas fonctionné. Input Idector me répondait tout le temps : "C'est le nom de ce système choisissez un autre nom.". C'est sans doute lié à mon réseau Windows mal configuré. En fait Input Director fonctionne tout seul.

Entrez directement l'adresse Ip de l'ordinateur slave :

Input Director - Adresse IP de l'ordinateur slave

Le petit plus auquel on ne s'attend pas : le partage du Presse-papier c'est très pratique pour partager des données entre PC sur un réseau privé.

Mise à jour de la version InputDirector v2.1.2

Je viens de revenir ici car j'ai besoin de travail avec mon ordi de poste et mon ordi portable mais pour me simplifier la vie, je coller mes deux écrans l'un à côté de l'autre et je les contrôle avec le même clavier et la même souris pratique non ?

Je télécharge et j'installe donc la dernière version d'InputDirector v2.1.2 et c'est encore plus fort. une fois installé sur mon ordi maître et mon ordi esclave Inputdirector se débrouille tout seul.

Si je m'arrête sur l'icône systray d'Input Director son mon ordi portable je vois directement son adresse IP sur mon réseau interne :

Input Director me donne directement l'adresse IP à configurer
Input Director me donne directement l'adresse IP à configurer

Mais encore mieux quand je vais configurer l'ordi maître, InputDirector me propose de scanner le réseau interne :

InputDirector - Scan Network to find candidate

Rien à faire InputDirector trouve tout seul l'ordi à piloter pour partager mon clavier ma souris entre ces deux ordinateurs et n'oublions le Presse-papier.

InputDirector - LastNews pour les nouvelles fonctionnalités

Have fun!

jeudi 22 janvier 2015

Langage Python - Zope Community Open Source

Voici une communauté open source en langage Python : Zope. Quoi de mieux pour maîtriser le langage Python que de plonger directement dans les sources d'un programme aussi abouti que celui de la communauté Zope ?


Malheureusement ce n'est peut être pas si simple. Il ne suffit pas de télécharger puis d'exécuter le programme Zope. C'est même un super bordel à en voir les posts : How to install Zope on Windows?

Alors c'est quoi Zope ? Le Monde de Zope
un moyen de développer des sites web en python ...





jeudi 17 juillet 2014

Outils de gestion de projets en mode collaboratif

Vous êtes le Chef de Projet et l'on vous demande de mettre en oeuvre une plateforme collaborative de gestion de projet. En effet cela serait bien pratique car votre équipe est étendue et dispersée en plusieurs centres de développement. Alors que faire ? Laquelle d'entre toutes ces plateformes choisir ?

Cycle de gestion de projet
Je pense qu'il y a actuellement un nombre incalculable d'outils collaboratifs de gestion de projet actuellement en ligne :

Ma première recherche me conduit vers un blog qui présente des outils collaboratifs et en allant vers le Tag : "gestion de projet" on obtient la page suivante :
http://outilscollaboratifs.com/tag/gestion-de-projets/

Sur cette page il n'y a pas moins de cinq outils présentés :

proofHQ

PlaneZone

VoteIt

Advanseez

EverNote


Alors comment classer ou comment trouver l'outil qui va convenir à la gestion de votre projet ? Je n'ai pas de solution toute faite d'autant que ces outils collaboratifs présentent des fonctionnalités sensiblement différentes. Il s'agirait donc de pratiquer chacun d'entre eux afin de pouvoir les classer, de pouvoir les comparer.

Fonctionnalités d'un outil collaboratif de gestion de projet

Il faut faire la liste des fonctionnalités que l'on attend dans un outil de gestion de projet
spécifier
planifier
partager des tâches
rendre compte

Workflow de soumission et d'acceptation d'un projet 

On peut imaginer dans une entreprise qu'un outil collaboratif permette de créer un projet à des fin de soumission et d'acceptation. Ce serait une sorte de boite à idées où l'on pourrais déposer un projet qui serait en suite valider et accepté par les membres identifiés.

C'est l'objet de proofHQ (en anglais uniquement) qui s'intègre avec les outils BaseCamp et SharePoint

Faciliter la prise de décision à plusieurs

La prise de décisions est un des aspect essentiel de la gestion de projet, ce n'est pas toujours le même qui a les bons éléments pour prendre la bonne décision. Les outils collaboratifs permettent de valoriser les connaissances de chacun afin de prendre la meilleure décision en toute connaissance de cause.

Attribution et suivi des tâches, au sein d'un projet

C'est l'objet de Planezone qui s'intègre parfaitement aux outils Google ...

Archivez, classez tout les éléments concernant votre travail

Effectivement un projet c'est une somme de documents de notes de réunion, archiver et classer sont des fonctionnalités indispensables.

Outils de gestion de projet en ligne ou en téléchargement

J'aurais tendance à privilégier un outil collaboratif de gestion de projet en ligne sans rien avoir à installer sur son poste de travail. Evernote propose un téléchargement pour chaque plateforme et c'est étonnant, les données sont-elles consolidées quelque part sur un serveur mutualisé ? A creuser.

Prix des outils de gestion de projets collaboratifs

A mon avis le prix devrait dépendre du nombre d'utilisateurs et de l'espace de stockage.
Comme souvent pour ce type d'outil il est difficile d'estimer le prix et j'ai beau relire la page suivante pour proofHQ je ne peux pas calculer exactement combien va me coûter cet outil, c'est fâcheux !

Pour Planezone, on trouve des informations suivante :
Business
179 €/mois
50 projets
50 utilisateurs
500 Go de stockage
Gantt multi-projets
Toutes les fonctionnalités

Une période d'essai de 14 jours est dite totalement gratuite ... à vérifier, l'inscription ne doit pas comporter d'inscription de moyens de paiement sinon nous pourrions avoir des surprises.

Evernote propose quelque chose pour 10 €/utilisateur/mois mais il semble que se soit un logiciel à télécharger ... Impossible sans perdre de temps de savoir exactement ce que l'on va pouvoir faire avec ça.

Question dont on doit trouver la réponse avant de commencer : Est-il facile de résilier les abonnements une fois que le projet est terminé ?

Le meilleur outil collaboratif de gestion de projets

L'auteur du blog Fidel Navamuel met en avant Evernote qui semble être pour lui le meilleur outil collaboratif et je n'ai pas encore les éléments pour me faire  ma propre idée ma propre critique.

Ce travail n'est pas terminé, je compléterai par la suite. Nous avons fait un tour rapide et je pense que le meilleur outil n'est pas encore présenté ici. Aidez-moi en partageant votre savoir faire.

Mise à jour - février 2017

Il est vrai que depuis la première écriture de cet article moi j'ai fais connaissance avec les outils Atlassian - JIRA & Confluence donc mon réflexe serait de les mettre en avant pour dire que se sont les meilleurs outils de gestion de projet en mode collaboratif.

Atlassian JIRA Confluence
C'est pour dire à quel point la tâche est ardue de vouloir classer et même seulement répertorier ces plateformes.

En tous cas moi je vais poursuivre ce travail de façon plus sérieuse dans mon nouveau blog : Application Collaborative dédié entièrement aux Applications Collaboratives

Alors venez me rejoindre !



jeudi 26 septembre 2013

Windows - Informations sur votre CPU

Si les informations que vous obtenez par le menu démarrer->Tous les programmes->Accessoires->Outils systèmes->Informations système ne vous suffisent pas :

Windows XP - Outils d'informations système
Alors pour obtenir des informations sur la configuration de votre CPU, il existe une fonction C++ :

BOOL WINAPI GetLogicalProcessorInformation(
  _Out_    PSYSTEM_LOGICAL_PROCESSOR_INFORMATION Buffer,
  _Inout_  PDWORD ReturnLength
);

La page de documentation de cette fonction dans le Developer Network est Ici.

La mise en oeuvre de cette fonction dans un petit utilitaire .exe (346 KB) du TechNet, vous la trouverez Ici.

C'est grâce à cet utilitaire que j'ai découvert que mon processeur était incompatible avec Windows 8 !

Vous  trouverez également sur cette page du TechNet une foule d'outils complémentaires qui permettent de gérer en profondeur votre système Windows.

Windows OS Version

Concernant la version de votre Windows j'ai découvert également cette page :

Utilitaire en Visual Basic un peu idiot mais il liste les différentes version de Windows et c'est intéressant !


mercredi 25 septembre 2013

Machines Virtuelles - Oracle Virtual Box

Lorsque l'on développe dans plusieurs environnements de développements, plusieurs plateformes Windows, Linux, plusieurs chaines de développement, Visual Studio, Eclipse, plusieurs frameworks .NET, Qt C++. C'est un plaisir et un confort sans pareil de pouvoir installer une machine propre avec juste ce qu'il faut et de ne pas surinstaller des outils sur d'autres outils, ce qui rendrait votre machine de développement instable à coup sûr.

Pour cela nous faisons appel à des machines virtuelles.

Oracle VM Virtual Box

Ayant tenté d'installer une machine virtuelle avec Virtual PC 2007 et une image ISO de Windows 8.1 sans succès, me voici en train d'installer "Oracle VM Virtual Box" sur mon Windows XP SP 3 et voici la dialog box que le programme d'installation me renvoie :

Continuer l'installation de ce logiciel peut mettre en péril ou déstabiliser le bon fonctionnement de votre système, maintenant ou dans l'avenir.
Oracle VM Virtual Box - Installation Microsoft Warning Message
Je me permets de prendre note ici de cette erreur d'installation car c'est la première fois que je vois une telle erreur d'installation, une mise en garde où l'on a l'impression que tout va sauter !

Détails de l'erreur :

Continuer l'installation de ce logiciel peut mettre en péril ou déstabiliser le bon fonctionnement de votre système, maintenant ou dans l'avenir. Microsoft recommande fortement que vous arrêtiez cette installation maintenant et contactiez le fournisseur du logiciel pour obtenir le logiciel qui a été validé lors du test permettant d'obtenir le logo Windows.

Solution

Cliquez sur "Continuer", mais Oui ! Alors il est vrai qu'Oracle VM Virtual Box installe nombre de logiciels en stoppant votre Network (réseau) puis en le redémarrant et que vous devrez cliquez environ une dizaine de fois sur "Continuer" mais il fini par s'installer.





vendredi 28 juin 2013

Outils d'intégration continue

Quand on a pratiqué l'intégration continue entièrement intégrée avec Team Foundation Server, on est un peu désarçonné par l'ensemble de tous les outils qui peuvent être utilisés afin de mettre en place une stratégie d'intégration continue avec d'autres chaînes de développement que TFS. 

Cet article est là pour faire un petit récapitulatif de ce qu'est l'intégration continue.

Team Foundation Server

Les principes d'intégration continue permettent de distinguer un développement artisanal d'un développement industriel ou développement maîtrisé de façon professionnelle.+

En intégration continue, vous avez forcément un serveur dédiée sur lequel le produit logiciel est déployé afin de faire une vérification complète du produit avant de déployer sur une cible finale, ce n'est pas le cas dans le cadre d'un développement artisanal.

Les Principes de l'Intégration Continue

  • le code source est partagé et versionné dans un gestionnaire de code source (un référentiel ou repository unique)
  • les développeurs intègrent (commit ou checkin) leur code le plus souvent possible (chaque jour par exemple)
  • des tests unitaires sont développés et des tests d'intégration permettent de valider l'application sur un serveur d'intégration (ou serveur de build)

La mise en place de ces principes permet de :

  • tester immédiatement les unités modifiées et leur compatibilité entre elles
  • découvrir immédiatement des codes manquants ou incompatibles
  • les problèmes d'intégration sont réparés pour éviter les problèmes de dernière minute
  • une version est toujours disponible pour un test une démonstration ou une distribution

Qu'est ce que l'intégration continue sur le site de So@t

Intégration continue des bases de données : RedGate avec SQL Toolbelt comparaison de schémas de base de données. BD SQL Server ou Oracle.

Team Foundation Server pour :
Gestion de Projet
Gestion de prérequis
Versionnement de code source
Gestion de cas de test
Automatisation de build
Génération de rapports

Configuration du serveur TFS : Team Server Foundation en pas à pas

Sur le Blog de Julien Carnelos : L'intégration continue Open Source en .NET

Principe : Tout ce qui peut-être automatisé doit l'être.
Contrôle de codes sources : SVN (Subversion)
Tests Unitaires : NUnit
Compilation et Build : NAnt
Contrôle de construction : CruiseControl.NET et CCTray

Pour aller plus loin : Mise en place d'outils d'analyse de codes sources de génération de métriques. Terminer le Build NAnt par la génération d'un package d'installation prêt pour la livraison. L’envoi d'un email de notification à un client ou mieux à une équipe de QA (Assurance Qualité).

Je me propose de recopier ici quelques bonnes phrases du blog de J.Carnelos car les liens cassent ...

On oppose généralement l’aspect industriel du développement à l’artisanal. Pour mieux saisir la signification de ce terme, je vous propose une petite histoire :

Après quatre mois de développement, c’est le grand jour de la livraison. Georges, après avoir testé une dernière fois que son code compile, décide de déployer la version finale du site Intranet de la mairie. La démarche est maîtrisée puisque cela fait maintenant une vingtaine de fois qu’il a répété l’opération. Comme à chaque fois, il commence par demander à son collègue sur quels fichiers il a travaillé. La liste connue, il récupère par le réseau ces fichiers, puis tente de compiler le projet. Chance, tout compile.

La suite est plus délicate, Georges doit se connecter à distance au serveur, migrer la base de données et insérer les données mis à jour. Vient ensuite la partie copie des fichiers sur le serveur et redémarrage du serveur. A ce moment, si tout va bien, le site devrait être mis à jour. Malheureusement, au premier test, impossible de se logger.

Si cette scène vous rappelle quelque chose, pas d’inquiétude car c’est courant et aujourd’hui de nombreuses sociétés fonctionnent dans ce mode de gestion. Mais l’industrialisation et l’automatisation sont maintenant un but plus facile que jamais à atteindre grâce à de nombreux outils. Preuve en est également l’implication de Microsoft sur le thème « Gestion du cycle de vie logiciel » et la fourniture d’une offre complète avec la suite Team System et son serveur Team Foundation Server.

Néanmoins pour des raisons de simplicité, nous nous attacherons ici à présenter les concepts de l’intégration continue à l’aide uniquement d’outils open-source.

Concept

Schéma d'une chaine d'intégration continue

L’intégration continue est un concept qui se base sur l’analogie avec une usine automatisée. Sauf qu’au lieu de construire des voitures, on construit un logiciel. Cette « usine » est construite sur enchaînement suivant :

  1. Un développeur travaille en local. Lorsque ses modifications sont terminées, il archive son code sur un serveur gestionnaire de sources.
  2. A la détection d’un changement (ou suivant une règle temporelle paramétrée), le serveur d’intégration récupère la dernière version des sources et déclenche la construction (« build ») de la solution.
  3. En étape facultative mais intéressante, il est possible d’appliquer des métriques et des tests sur la solution et d’en générer des rapports
  4. Enfin, la solution et le bilan de la construction sont déployés sur un serveur de résultat accessible à l’équipe projet. Dans le cas d’un sous traitance, ce portail peut aussi être mis à la disposition du client pour qu’il puisse constater l’avancement du projet. (Particulièrement utile dans le cadre d’une démarche agile).

Documentation des codes sources

On ne crée pas de bons codes sources sans bonne documentation.

NDoc : Open Source Documenter, Générateur de documentation pour .NET

Sous TFS : SharePoint, oups ce n'est pas aisé d'utiliser cet outil que je trouve un peu archaïque

Outils d'analyse des codes sources

Fédérer une équipe autour d'un développement passe par le partage d'un certain nombre de bonnes pratiques, on appelait cela les coding guidelines aujourd'hui des outils permettent d'automatiser cette tâche en analysant les codes sources.

StyleCop : analyse syntaxique du code source C# sur le CodePlex : StyleCop

StyleCop provides value by enforcing a common set of style rules for C# code.

ReSharper de JetBrains : payant

Un outil d'analyse de code dans Visual Studio Express 2012

FxCop : curieux on note Framework 2.0, semble ne plus exister

Contrôle de codes sources, gestionnaire de versions

C'est un serveur, un endroit centralisé pour récupérer les codes sources créés par les développeurs, un outil permettant de versionner. Permet de résoudre les conflits de réaliser un merge entre plusieurs développements.

Outils :

TFS

SVN ou Subversion

CVS

Git

Perforce 

Tests Unitaires

Il existe MSTest mais il semble que cet outils de tests unitaires soit maintenant supplanté par NUnit ...

MSTest vs. NUnit with Visual Studio 2010 & TDD

NUnit vs xUnit parmi les modules de Tests Unitaires lequel choisir ?

Sur la plateforme .NET : NUnit

Sur le site du code project, rapidement comprendre NUnit : Unit Testing Using NUnit

NUnit permet d'écrire des tests unitaires du genre :

Assert.AreEqual(expected, actual)

NUnit permet l'utilisation de Mock Objects (simulateur d'objets)

A priori le projet NUnit n'est plus hébergé sur source forge mais Ici

Serveur d'intégration ou serveur de builds

C'est un élément clef de l'intégration continue souvent manquant dans les organisation "amateurs".

Les opérations à effectuer grâce aux outils de builds sont :

Nettoyer le répertoire de sortie (les binaires)

Compiler le code source

Exécuter les tests unitaires

Exécuter le programme


Mais aussi :

zip de fichier

transfert ftp

redémarrage de serveur web

En partant des sources, effectuer toute la livraison jusqu’à l’étape déployable (ou même déployé).


Intégration continue avec Team Foundation Server
MSBuild

NAnt qui possède l'avantage d'être multi-plateforme, s'exécute en ligne de commande et prend en paramètre un fichier XML qui décrit les différentes étapes pour emmener le code source dans l'état prêt à l'exécution.

CruiseControl.NET

TeamCity : de JetBrains

For .NET :

Building Visual Studio solutions; native support for MSBuild, Powershell or NAnt
Code analysis for C#, VB.NET, XAML, and many other languages powered by ReSharper
Testing with .NET testing frameworks, including: NUnit, MSTest, MSpec, xUnit and all Gallio-based frameworks
Code coverage with dotCover, NCover or PartCover
Best-in-class NuGet support

Je compléterai plus tard ... vous avez des suggestions d'amélioration et de complétion de cet article, n'hésitez pas à le commenter. Vous avez compris l'intégration continue concerne toutes les phases de développement du logiciel et l'utilisation des outils qui permettent d'automatiser tout ce qui peut l'être.

To Be Continued

jeudi 27 juin 2013

Outils pour scanner les espaces de vos disques durs

Vous cherchez un outils qui vous donne une représentation rapide de l'encombrement de vos disques durs afin de trouver de la place ou d'y faire le ménage.

Je fais ici référence à un outil super pratique pour scanner l'espace de vos disques durs et se rendre compte de ce qui prend de la place. Je l'ai écris dans le blog de l'admin windows parce qu'il sert essentiellement à l'admin pour gérer les espaces des disques durs.

http://www.steffengerlach.de/freeware/
La dernière fois que je cherché un tel outil, je ne suis tombé que sur des daubes, alors le voici :

https://administration-windows.blogspot.fr/2015/06/freeware-utilitaire-de-gestion-de.html

Je vous redirige vers le Blog de l'Administrateur Windows ...