Trucs et astuces pour Coldfusion MX 7 par Serge Rappaille

Trucs et astuces pour Coldfusion MX 7

Présentation

Ce blog n'a pour seule prétention que de vous offrir mes différentes découvertes sur Coldfusion MX 7, tantôt des solutions, tantôt des petits soucis qui resteront aussi énigmatiques que le sourire de la Joconde. Je souhaite seulement que certains articles vous feront gagner du temps.

Bonne lecture,

Serge Rappaille

Forum Coldfusion

Souscrivez à notre forum francophone sur Google Groups Bêta.
Votre adresse email :


jeudi 30 juin 2005

Imposer un sens dans un TABNAVIGATOR

Cette nouvelle séquence vous permettra d'imposer un ordre de saisie dans un formulaire de type tabulaire. Idéal pour imposer la lecture d'un règlement ou d'un cadre légal avant la saisie de coordonnées ou plus simplement, le téléchargement d'un document.

Faites un copier/coller, cela fonctionne en l'état :

<cfform name="test" format="Flash">

<cfformgroup type="TABNAVIGATOR" id="etapes">


<cfformgroup type="PAGE" label="Etape 1">
<cfinput type="text" name="champ1" size="20" label="Champ 1 :" value="test champ 1">
<cfformgroup type="horizontal">
<cfinput type="button" name="suivant1" value="Suivant"
onClick="etapes.selectedIndex=1;etapes.getChildAt(1).enabled = true;
etapes.getChildAt(0).enabled=false">
</cfformgroup>
</cfformgroup>

<cfformgroup type="PAGE" label="Etape 2" enabled="false">
<cfinput type="text" name="champ2" size="20" label="Champ 2 :" value="test champ 2">
<cfformgroup type="horizontal">
<cfinput type="button" name="precedent2" value="Précédent"
onClick="etapes.selectedIndex=0;etapes.getChildAt(0).enabled = true;
etapes.getChildAt(1).enabled=false">
<cfinput type="button" name="suivant2" value="Suivant"
onClick="etapes.selectedIndex=2;etapes.getChildAt(2).enabled = true;
etapes.getChildAt(1).enabled=false">
</cfformgroup>
</cfformgroup>

<cfformgroup type="PAGE" label="Etape 3" enabled="false">
<cfinput type="text" name="champ3" size="20" label="Champ 3 :" value="test champ 3">
<cfformgroup type="horizontal">
<cfinput type="button" name="precedent3" value="Précédent"
onClick="etapes.selectedIndex=1;etapes.getChildAt(1).enabled = true;
etapes.getChildAt(2).enabled=false">
<cfinput type="submit" name="valider" value="Valider">
</cfformgroup>
</cfformgroup>

</cfformgroup>
</cfform>

mardi 21 juin 2005

Créer des domaines et sous-domaines locaux sur Windows 2000 Pro et XP Pro

Traduit et adapté de l'article de Hairy Spider Blog.
Nécessite le téléchargement du fichier "multisite.dll" (fichier ZIP).

Procédure d'installation
Pour paramétrer plusieurs sites en utilisant "MultiSite ISAPI filter 2", suivez ces 5 étapes. Attention, n'essayez cette installation sur d'autres versions de Windows.

Etape 1
Copiez "multisite.dll" sur votre disque, à l'emplacement de votre choix (derrière c:\inetpub par exemple).

Etape 2
Enregistrez 'multisite.dll' dans le filtre ISAPI de votre serveur IIS.

  • Ouvrez le "Gestionnaire des services Internet" (cf. Outils d'administration)
  • Clic droit sur votre site ; généralement appelé "Site Web par défaut" et cliquez sur "Propriétés"
  • Cliquez sur l'onglet "Filtres ISAPI"
  • Cliquez sur le bouton "Ajouter"
  • Nom du filtre: "multisite"
    Exécutable: Parcourez et recherchez le fichier 'multisite.dll' que vous venez de copier sur votre disque C:

Etape 3
Ceci fait, nous sommes prêt à y aller. Ouvrez votre navigateur et saisissez l'url suivant : http://127.0.0.1/multi.config

A présent, vous pouvez ajouter vos sites (ou sous-domaines) à travers cette nouvelle interface plus facilement qu'en éditant d'obscurs fichiers .ini, par exemple :

URL: www.site1.local
Path: c:\inetpub\wwwroot\site1Default Document: index.asp

ou

URL: local.site1.be
Path: c:\inetpub\wwwroot\site1Default Document: index.asp

Etape 4
Normalement, cet enregistrement modifiera également votre fichier HOST. Celui-ci se trouve généralement dans le répertoire %WINDIR%\SYSTEM32\DRIVERS\ETC\ de votre machine. Ce fichier "texte" ne porte pas d'extension et est éditable avec NotePad.exe

Je vous invite néanmoins à vérifier la présence de vote nouveau site. Dans la négative, il suffira d'ajouter cette nouvelle association vous-même tel que décrit ci-dessous (n'oubliez pas de sauver le fichier) :

127.0.0.1 localhost
127.0.0.1 www.site1.local
127.0.0.1 www.site2.local
127.0.0.1 local.site2.fr

Comme vous pouvez le voir, chaque site local est précédé de l'adresse IP 127.0.0.1

Etape 5
Relancez IIS (ndla : disons la machine, je préfère) et saisissez http://www.site1.local dans votre navigateur. Voilà, le tour est joué !

Promis, je parlerai un peu plus de ColdFusion MX 7 dans le prochain article !

mardi 14 juin 2005

Supprimer un deuxième site web sur XP Pro ou Windows 2000 Pro

Voici deux commandes supplémentaires à saisir sous DOS :

C:\Inetpub\AdminScripts> adsutil.vbs delete W3SVC/2

C:\Inetpub\AdminScripts> adsutil.vbs enum W3SVC /p

La première vous permet de supprimer un site web, le dernier caractère est celui utilisé par votre première commande de duplication (cf. article précédent)

La seconde commande vous permet de lister les services web disponibles. Ne manipulez que ceux qui offrent un nom commançant par W3SVC/

Sachez à présent qu'il existe d'autres manières pour se sortir de la limitation imposée par Windows 2000 Pro et XP Pro. Nous verrons un peu plus tard comment, à l'aide d'une petite librairie .dll et du fichier HOST, nous pouvons créer des sous domaines locaux de vos sites sans utiliser la méthode que nous venons de découvrir.

lundi 13 juin 2005

Créer un deuxième site web sur XP Pro ou Windows 2000 Pro

Poursuivons avec l'url rewriting qui, s'il est bien aménagé, vous permet de renommer toutes vos extensions .cfm en .html. Ce qui d'un point de vue sécurité, est toujours bon à prendre. Mais il vous permet également d'augmenter vos chances d'indexation par Google lorsque vos url passent plus de 2 arguments (cf. exemple dans un précédent article).

Seulement, son usage vous force à utiliser des liens absolus. Rien de fâcheux dans… l'absolu. Sauf si vous travaillez sur plusieurs sites, tous placés dans un sous répertoire du wwwroot. Comment procéder ? La réponse est simple, il suffit de créer un nouveau site web à travers le "gestionnaire des services Internet" (alias IIS, cf. les outils d'administration du panneau de configuration).

Ceux qui ont un OS estampillé "Serve(u)r" ne rencontreront aucune difficulté tandis que d'autres se demandent encore pourquoi Microsoft a retiré la possibilité d'héberger plusieurs sites sur Windows 2000 Pro ou XP Pro !

Bref, en l'absence d'une réponse convaincante, je vais vous montrer comment contourner cette limitation. Avant d'aller plus loin, sachez qu'il ne sera pas possible de faire tourner plusieurs sites en parallèle. Seul un site sera actif tandis que les autres devront être arrêtés. Cependant, cette solution peut s'avérer fort pratique si vous travaillez avec des liens qui remontent au "root", typique de l'usage de l'url rewriting.

Suivez bien, cela sera rapide :

Etape 1

Lancez une session DOS et saisissez les deux commandes suivantes :

C:\Inetpub\AdminScripts> adsutil.vbs create_vserv W3SVC/2

C:\Inetpub\AdminScripts> adsutil.vbs copy W3SVC/1 W3SVC/2

Si votre OS vous pose des questions, dites oui à tout.

Etape 2

Créez un répertoire C:\Inetpub\wwwroot2\

Etape 3

Rendez-vous dans le gestionnaire des services Internet pour y découvrir un deuxième site (déjà). Cliquez sur ses propriétés, donnez-lui un autre nom et choisissez un autre port TCP (8080 ou 81 par exemple, un port disponible en somme).

Etape 4

Toujours dans le gestionnaire, vérifiez le contenu de ce nouveau site. Sur XP, les mappings (répertoires virtuels, alias, etc.) se créent automatiquement puisque copiés par la deuxième commande DOS, sur Windows 2000 Pro, c'est moins certain.

Si le site est vide, il suffira de copier les répertoires de Coldfusion (cfide et cfdocs) ou de créer des répertoires virtuels du même nom pointant sur ceux de C:\Inetpub\wwwroot

Etape 5

Revenez dans le gestionnaire des services Internet, arrêtez le service du premier site, démarrez le service du second. C'est terminé, vous pouvez saisir l'url suivant : http://localhost:8080/

Bien entendu, vous pouvez renouveler cette opération autant de fois que nécessaire.

Voilà ! Je vous montrerai dans le prochain article comment supprimer un site web créé par cette méthode.

Recherche programmeur Coldfusion

Rubrique temporairement fermée.