Un hôtel à Calvi

by Alain 28. mars 2012 13:34

Pour les amoureux de la Corse et de la Balagne, voici une hôtel tout proche de calvi très sympathique.

Accueil chaleureux dans un village au calme, il ne vous faudra que quelques minutes pour rejoindre les plages de Calvi ou d'Ile-Rousse. A découvrir impérativement.

Tags:

Humeur | Loisirs/Divers

Déboguer une application à distance

by Alain 27. octobre 2011 15:10

Tutoriel pour déboguer une application à distance avec Visual Studio 2008 et Visual Studio 2010

http://www.certifieddotnet.com/confluence/pages/viewpage.action?pageId=1015867

Tags:

.NET

Installer Windows 8 sous VirtualBox

by Alain 26. octobre 2011 16:49

Virtualisation de Windows 8 Beta avec Virtual Box


 

Sommaire

 

Pré-requis.

Récupération de l’outil de virtualisation VirtualBox.

Installation de VirtualBox.

Récupération de l’ISO Windows 8.

Préparation de l’environnement avec VirtualBox.

Installation de Windows 8 sur la machine virtuelle.

Problèmes rencontrés.


 

Pré-requis

Vous pouvez vérifier que votre ordinateur dispose d’une configuration adéquate à la virtualisation grâce à cet outil de Microsoft (pour PC donc). Un PC récent fonctionnera sans soucis. Mais il est toujours bon de s’en assurer.
http://www.microsoft.com/Windows/virtual-pc/support/configure-bios.aspx

Récupération de l’outil de virtualisation VirtualBox

Avant tout, vous devrez récupérer VirtualBox ici : https://www.virtualbox.org/wiki/Downloads

VirtualBox est un outil gratuit qui permet de faire tourner des machines virtuelles sur des machines compatibles avec xxxxxx. C’est désormais ORACLE qui assure le suivi de cet outil initialement mis au point par InnoTek.

Ce tutoriel a été réalisé avec VirtualBox 4.1.4-74291 pour Windows.

Installation de VirtualBox

Procéder à l’installation par défaut de VirtualBox. L’installation par défaut consistant en exécuter le programme d’installation puis cliquer sur NEXT chaque fois que cela est demandé J

Récupération de l’ISO Windows 8

Pour récupérer Windows 8, rendez-vous sur le site de Microsoft et choisissez l’édition qui vous convient.
http://msdn.microsoft.com/en-us/Windows/apps/br229516

Pour ce tutoriel nous avons décidé d’installer Windows 8 Developer Preview with developer tools English 64 bits.

Préparation de l’environnement avec VirtualBox

Exécuter VirtualBox.
Cliquer sur le bouton Créer pour demander la création d’une nouvelle machine virtuelle. L’assistant (le wizard) démarre, et vous pouvez cliquer sur SUIVANT.

L’écran qui suit vous demande quelques infos comme le nom de machine virtuelle (nous l’appelons Windows8beta dans notre cas) et dans cette version VirtualBox nous propose un environnement Windows 8 ce qui est donc idéal pour préparer notre machine virtuelle.

 

L’écran suivant vous demande de sélectionner la quantité de RAM à allouer à la machine virtuelle. Plus il y en a mieux c’est ! Et même si Windows 8 demande en théorie 1 Go, mieux vaut compter plus. Nous mettons donc 2 Go :

 

 

L’étape qui suit vous demande de créer un disque dur virtuel pour Windows 8. Sélectionnez CREER UN NOUVEAU DISQUE DUR puis cliquez sur SUIVANT. Cela va lancer l’assistant de création de disque virtuel. Vous pouvez choisir VDI.


VDI est le format que l’on utilise quand on crée un nouveau disque virtuel pour une nouvelle machine.
VMDK est le format de virtualisation utilisé notamment par VMWARE.
VHD est le format utilisé par Microsoft.
HDD est le format utilisé par Parallels.

 

L’écran suivant vous demande de spécifier la taille de disque virtuel à allouer pour votre système Windows 8. Préférez une taille fixe pour maîtriser votre système global. La taille minimum préconisée pour Windows 8 est de 20 Go. C’est ce que nous allons choisir.

 

 

 L’écran de récapitulatif vous permet de finaliser/confirmer la création du disque virtuel.

 

Il va maintenant falloir patienter le temps que le disque dur virtuel tout soit préparé.

 

Le disque virtuel prêt, un nouvel écran récapitulatif vous propose de valider la création de la machine virtuelle.


Votre machine virtuelle est désormais prête !

Il nous fait maintenant installer Windows 8… Pour cela faire un clic droit sur la machine virtuelle fraîchement créée et cliquer sur Configuration dans le menu contextuel.

 

Sélectionnez Affichage puis cocher assurez vous que l’accélération 2D et l’accélération 3D sont cochées.

 

Si, comme sur l’écran ci-dessus, un message d’alerte relatif à la mémoire apparaît, allez dans la section SYSTEME, onglet CARTE MERE, et réduisez la mémoire allouée à la machine virtuelle.

Assurez-vous que pour la section SYSTEME, onglet CARTE MERE, la case Activer les IO-APIC est cochée.

Assurez-vous que pour la section SYSTEME, onglet PROCESSEUR, la case Activer PAE/NX est cochée.

Fermez la fenêtre de Configuration en cliquant sur OK pour valider vos modifications.

Installation de Windows 8 sur la machine virtuelle

Sur l’écran principal de VirtualBox, sélectionnez votre machine virtuelle (Windows8beta) et cliquez sur le bouton DEMARRER.

L’assistant de premier lancement démarre.

 

Cliquez sur SUIVANT pour arriver à la sélection du média de lancement :

 

Cliquez sur l’icône permettant d’explorer votre disque dur de sorte à pouvoir sélectionner l’ISO de Windows que vous avez téléchargée.


Cliquez sur OUVRIR puis sur SUIVANT.

Un écran de récapitulatif de premier lancement de la machine virtuelle vous affiche un récapitulatif :

 



Il ne vous reste plus qu’à cliquer sur Démarrer ! L’installation de Windows 8 commence !


Problèmes rencontrés 

Si vous recevez un message d’erreur concernant la virtualisation, vérifiez la configuration de votre BIOS.

Si vous recevez un message d’erreur relatif à l’impossibilité de faire tourner un environnement 64 bits sur un processeur 32 bits, changez le type de système et sélectionner Windows 7 64 bits plutôt que Windows 8 :



Vous pourrez quand même installer Windows 8 sur cette machine virtuelle 
J

 

 

 

 

Tags:

.NET

Rediriger requetes site web IIS vers Tomcat ou autre

by Alain 12. octobre 2011 15:44

Si vous avez un serveur Web de type Windows 2008 avec IIS et pourquoi pas PLESK, vous pourriez vous retrouver dans un cas où vous voudriez que :
www.mondomaine.com/blabla/
redirige de manière transparente vers un site Web tournant sur un serveur Web Tomcat (hébergé sur la même machine)...
En résumé, j'interroge www.mondomaine.com/blabla , IIS récupère la requête et retourne à l'utilisateur la réponse de http://localhost:8090/monSiteSurTomcat

Jusqu'à présent pour rediriger des requêtes IIS vers un serveur Tomcat, de manière transparente, il fallait utiliser l'ISAPI_REDIRECT.DLL mis à disposition par Jakarta avec, pour ce qui me concerne, des résultats un peu trop aléatoire... J'y ai passé des heures dernièrement pour ne jamais atteindre mon but !

Des heures pour finalement "découvrir" qu'avec IIS 7.5 il existait une bien belle alternative à l'utilisation de l'ISAPI_REDIRECT.DLL.

1) Téléchargez le module de redirection dédié IIS 7.x nécessaire http://www.iis.net/download/ApplicationRequestRouting ici. Avec Application Request Routing 2.5 en quelques secondes vous allez pouvoir faire ce que vous voulez en terme de redirection. Et ça c'est bien !

2) Après intallation, démarrez IIS (inetmgr.exe) puis cliquez sur le nom du serveur. Dans les modules (rubrique IIS), vous verrez Application Request Routing Cache. Double cliquez dessus pour accéder à la configuration du module. Dans le panneau de droite, cliquez sur Server Proxy Settings. Cochez Enable Proxy et laisser les valeurs par défaut.

3) Dans l'arborescence des sites Web présentée par IIS (à gauche), sélectionnez le site Internet pour lequel vous souhaitez mettre en place cette redirection. Par exemple : www.mondomaine.com.
Dans la fenêtre centrale, double cliquez Url Rewrite pour ouvrir le module de Rewriting . Dans la zone de droite, cliquez sur Add Rules. Vous devez maintenant éditer la règle.

4) Donnez un nom à votre règle (par exemple Tomcat).
Dans la zone Pattern spécifiez le modèle qui permettra à IIS d'interpréter votre règle. Nous voulons rediriger les requêtes : www.mondomaine.com/blabla/ vers notre serveur Tomcat, donc le pattern sera (blabla.+)
Nous éditons maintenant la section Action et indiquons vers quoi IIS doit rediriger en INTERNE , et donc dans notre cas, ce sera : http://localhost:8090/{R:0}
Le {R:0} sera remplacé par ce qui se trouve à la suite de notre pattern en entrée.

A ce stade, on vient de spécifier à IIS que www.mondomaine.com/blabla/index.jsp devra retourné le flux de notre serveur interne Tomcat : localhost:8090/index.jsp

Cela marche à merveille !

Simple, Rapide, Efficace...

BONUS : si vous recevez un message d'erreur de type URL_DOUBLE_ESCAPED 404.11, éditez le fichier Web.config de votre site web www.mondomaine.com pour ajouter :
<requestFiltering allowDoubleEscaping="true">. Vous pouvez aussi le faire au niveau serveur.
http://support.microsoft.com/kb/942076

BONUS 2 : après installation du module ARR 2.5 sur un serveur PLESK, vous pourriez rencontrer des problèmes de la part de PLESK. En effet, pour une raison obscure, ARR 2.5 va modifier des droits des dossiers PLESK qui aura par la suite du mal à charger certaines DLL...
Vérifiez les droits pour les dossiers :
"C:\Program Files\ IIS" et "C:\Program Files (86)\IIS" et assurez vous que les comptes techniques de PLESK (paaadm et psacln) ont les droits de lecture écriture

 

 

 

Tags:

.NET

Méthode simple pour faire de la réécriture d'URL (URL Rewriting)

by Alain 10. octobre 2011 15:49

Pour éviter les URL de type GetMedia.aspx?id=1, il y a une mise en oeuvre rapide faisable dans le fichier GLOBAL.ASAX :

 

 

void Application_BeginRequest(Object sender, EventArgs e) 
{
 string strCheminActuel = Request.Path.ToLower();

 if (strCheminActuel.IndexOf( "/media/" ) > -1) 
 {
  string strNouveauChemin = string.Format("GetMedia.aspx?id={0}",
Path.GetFileNameWithoutExtension( strCheminActuel ));  
  Context.RewritePath( strNouveauChemin );
 }
}

Avec l'exemple ci-dessus,
http://www...../media/3868
va rediriger discrètement (silencieusement sans que l'utilisateur ne le sache) vers :
http://www..../GetMedia.aspx?id=3868
Intéressant pour les utilisateurs du site... C'est quand même plus jolie !
Et pratique pour le référencement car les robots comme GOOGLE vont préférer...

 

Tags:

.NET

Accès simple aux propriétés déclarées dans la MasterPage depuis une Page

by Alain 10. octobre 2011 13:53

On n'y pensepas assez souvent !

L'utilisation de @MasterType permet de facilement rendre accessible les propriétés déclarées dans une MasterPage, par la page utilisant la MasterPage...

Soit une Master Page : MaMasterPage.Master  qui contient une propriété MaPropriete : 
public string MaPropriete { get; set; }

Soit une page : MaPage.aspx qui utilise l MaMasterPage.Master.

 

Dans MaPage.aspx : 

<%@ Page Title="Ma Page" Language="C#" MasterPageFile="~/MaMasterPage.master" AutoEventWireup="true" CodeBehind="MaMasterPage.aspx.cs" Inherits="WebApplication1.MaMasterPage" %>
<%@ MasterType VirtualPath="~/MaMasterPage.Master" %>
[....]

 

Dans MaPage.aspx.cs je vais pouvoir faire appel à MaPropriete contenu dans la MasterPage en utilisant l'objet Master:

Master.MaPropriete

 

Il faut bien le dire ceci est très pratique et facile à mettre en oeuvre.

Les propriétés ainsi rendu accessibles, doivent être "public" dans la Master Page.

 

 

Tags:

.NET

Chemin trop long PathTooLongException

by Alain 15. mai 2011 21:13

Il peut arriver que vous receviez un PathTooLongException quand vous avez un nom de fichier (chemin inclus) qui dépasse 260 caractères.

C'est une limitation (théorique) de Windows. En réalité, vous pouvez aller jusqu'à environ 32 000 caractères ! Problème : Windows Explorer et la plupart des outils (y compris .NET) restent limités à 260 caractères (pour éviter les folies).

Il est possible de bypasser cette limite en faisant appel directement aux DLL de Windows ou bien en utilisant la Librairie LongPath disponible sur CodePlex ici.

Tags:

.NET

Dernières semaines pour upgrade MCAD vers MCPD (70-551)

by Alain 3. mai 2011 10:56

La certification 70-551 permettant d'upgrader d'un ancien MCAD .NET vers le nouveau MCPD .NET 2.0 / VS 2005 sera retirée le 30/06/2011

Tags:

Sauvegarder les données en ligne

by Alain 29. avril 2011 15:07

La liste des sites qui proposent de sauvegarder vos données en ligne est de plus en plus grande...

Pour ma part je propose d'essayer ZeCoffre.com qui en plus de protéger vos données, vous permet de les manipuler en ligne ! Il devient possible de renvoyer des documents par mail, par fax et même par courrier postal ... Evidemment les fonctions que l'on trouve généralement partout sont présentes : partage public et partage privé.

Possibilité de travailler en ligne et avec un client pour Windows uniquement... Bientôt pour Mac...

Sauvegarde en ligne gratuite avec l'offre ZeCoffre Lite permettant de protéger jusqu'à 2 Go de données. Puis des offres 60 Go, 120 Go et Illimité sont disponibles pour des prix abordables pour le particulier.

A tester ici pour protéger vos sauvegardes en ligne : www.zecoffre.com

Tags: , ,

Loisirs/Divers

IIS 7.5 ASP.NET et Diagnostics.Process.Start

by Alain 19. avril 2011 23:57

Pour avoir bataillé assez longtemps, pour pouvoir exécuter un processus extérieur depuis ASP.NET sous IIS 7.5, en utilisant Process.Start , pour que cela puisse fonctionner, j'ai du changer le compte utilisateur de IIS 7.5 et bien indiquer qu'il fallait charger le profil de l'utilisateur (membre du groupe Administrateurs) sélectionné.

Bon, un profil Administrateur c'est peut-être un peu beaucoup. On pourra affiner... Mais bon, voilà, le secret c'était surtout de bien demander le chargement du profil dans les paramètres avancés du POOL de l'application concernée...

 

Tags:

A propos de l'auteur

 

Développeur depuis plus de 10 ans, j'ai commencé la programmation dès l'âge de 9 ans sur un PC 8088 !!

GW-Basic, Pascal, Turbo Pascal, Delphi ont fait mes bases... Puis Java , bien plus tard... Pour enfin avoir découvert le C#... Quel plaisir de développer avec ce langage des solutions ASP.NET... Le développement Web comme jamais je ne pouvais l'imaginer possible :)

Aujourd'hui titulaire du MCSD VS 6.0, MCAD .NET, et MCT ...

Sur ce blog, je souhaite partager des choses simples mais efficaces... Des problèmes de tous les jours que l'on peut rencontrer et qu'il est simple de régler :)

Mes certifications