Ouveture d'un répertoire local

fredmac75

Membre d’élite
Club MacG
14 Juillet 2003
1 415
127
49
Le Mans
www.km-spirit.com
evilsky a dit:
Oui iMatthieu chez moi aussi ça marche, mais si tu place ton fichier html sur un serveur distant, tu pourra constater qu'un lien de type :

<a href="file:///Volumes/MonVolumes/MonDossier" target="_blank">ouvrire le dossier</a>

ne fonctionne pas.
http://forums.macg.co/vbulletin/member.php?u=14016
Alors Imathieu, au choix ;
- 1 Valium
- 2 tranXenn
- 3 Camomille
- 4 Stéphanie de monaco

Compose le 08 08 08 08 08 Tape 1 pour choisir le valium. Tape 2 si tu as des problèmes gastriques et que tu ne supportes pas le valium. Tape 3 si tu préfère un abonnement chez dame nature... enfin, tape 4 si tu es désespéré.

Pour le 500 ème appel, un chèque psychanalyse de 50 ¤ est offert, à valoir dans le mois en cour...
:D :D :D

PS : nous rappelons à nos lecteur que l'humour n'est toujours pas remboursé, à ce jour, par la sécurité sociale...
 

fredmac75

Membre d’élite
Club MacG
14 Juillet 2003
1 415
127
49
Le Mans
www.km-spirit.com
evilsky a dit:
Oui iMatthieu chez moi aussi ça marche, mais si tu place ton fichier html sur un serveur distant, tu pourra constater qu'un lien de type :

<a href="file:///Volumes/MonVolumes/MonDossier" target="_blank">ouvrire le dossier</a>

ne fonctionne pas.
http://forums.macg.co/vbulletin/member.php?u=14016
Non, plus sérieusement, si ton fichier à consulter est sur un serveur, alors le chemin en est changé ... CQFD. Adresse IP de la machine (avec partage web activé) + chemin jusqu'au fichier à consulter.

Un modo, pourrait-il nous dire si cette question ne serait pas plus utilement pos(t)ée dans le forum "le mac en réseaux" ?
;)
 

evilsky

Membre junior
28 Novembre 2005
14
0
Nan, le problème ne vient pas du réseau, puisque quand je fait ctrl+clic (sur le lien donc) et que je sélectionne ouvrire dans une nouvelle fenêtre, j'atteint le résultat escompté. C'est à dire une fenêtre finder ouverte au répertoire spécifier par le lien.
 

fredmac75

Membre d’élite
Club MacG
14 Juillet 2003
1 415
127
49
Le Mans
www.km-spirit.com
iMatthieu a dit:
Si la camomille se fume j'en prendrai un paquet en plus de Stéph :D
Posologie :
-------------
pour la camomille:
une infusion matin/midi et soir. Ne pas hésiter à laisser infuser, voir à mettre deux sachets si les symptômes persistes.

Pous stéphanie de monaco:
A éviter les soir de grande dépression, peut éventuellement et pris en cas de baisse sérieuse de la vue et de l'ouïe. Attention, l'usage prolongé de stéphanie de monaco peut engendrer une addiction dégénérative dont les symptômes sont le recour régulier à la star'Ac. Dans ce cas ne pas hésiter à consulter sont proctologue...
Enfin, évitez la prise par voie annale....

Si toi aussi tu veux participer, par des réponses perspicaces, à ce thread qui barre en c.....e, rejoins nous.
 

evilsky

Membre junior
28 Novembre 2005
14
0
Nan, svp mon problème est sérieux, si vous n'avez pas de réponse à me fournire c'est pas grave, mais je vous en prie ne polué pas ce topic.
merci
 

fredmac75

Membre d’élite
Club MacG
14 Juillet 2003
1 415
127
49
Le Mans
www.km-spirit.com
evilsky a dit:
Nan, svp mon problème est sérieux, si vous n'avez pas de réponse à me fournire c'est pas grave, mais je vous en prie ne polué pas ce topic.
merci
Nous ne doutons pas du sérieux de ton problème, mais plutôt de la façon dont il est posé. Malgré mes (nos) relances et toute ma (notre) bonne volonté, je ne parviens toujours pas à circonscrire ton problème. Il me semble par ailleur, que je ne sois pas le seul.

Essaye de nous réexpliquer ton problème. Ou mieux, le reformuler. C'est en comprennant correctement ta question, que nous pourrons y répondre de la façon la plus adéquate possible...si tant est que cela entre dans nos champs de compétence bien entendu. ;)
 

evilsky

Membre junior
28 Novembre 2005
14
0
Bon, ce que je vous propose, c'est une petite manip

1- Creér un nouveau fichier .htm

2- Ouvrez le fichier (en édition) et écrivez :
<a href="file:///Applications">ouvrire le dossier</a>

3- Enregistrer et fermé.

4- Ouvrez le fichier (cette fois dans le navigateur) et cliquer sur le lien
Vous pouvez constatez que le lien fonctionne.

5- Maintenant, placé votre fichier sur un serveur distant. Ouvrez la page htm et cliquer sur le lien.
Vous pouvez constatez que le lien ne fonctionne pas

6- Faite sur le lien, ctrl+clic et sélectionner ouvrire dans une nouvelle fenêtre.
Vous pouvez constatez que /Applications s'ouvre.

Ce que je cherche à faire, c'est pouvoir ouvrire le lien sans passer par ctrl+clic.
 

fredmac75

Membre d’élite
Club MacG
14 Juillet 2003
1 415
127
49
Le Mans
www.km-spirit.com
evilsky a dit:
Bon, ce que je vous propose, c'est une petite manip

1- Creér un nouveau fichier .htm

2- Ouvrez le fichier (en édition) et écrivez :
<a href="file:///Applications">ouvrire le dossier</a>

3- Enregistrer et fermé.

4- Ouvrez le fichier (cette fois dans le navigateur) et cliquer sur le lien
Vous pouvez constatez que le lien fonctionne.

5- Maintenant, placé votre fichier sur un serveur distant. Ouvrez la page htm et cliquer sur le lien.
Vous pouvez constatez que le lien ne fonctionne pas

6- Faite sur le lien, ctrl+clic et sélectionner ouvrire dans une nouvelle fenêtre.
Vous pouvez constatez que /Applications s'ouvre.

Ce que je cherche à faire, c'est pouvoir ouvrire le lien sans passer par ctrl+clic.
visiblement tu ne lis pas les réponses que l'on te donne... ou tout le moins les commencements de réponses...
 

iMatthieu

Membre confirmé
31 Août 2004
383
24
36
CH - Neuchâtel
www.imatt.ch
J'ai remarqué quelque chose d'intéressant pour toi evilsky, lorsque j'ouvre ton fichier html en cliquant dessus (soit sans serveur web donc en file:///), alors ça marche. Par contre sur un serveur web (et même en local avec apache), ça ne marche effectivement pas.

J'ai essayé avec du javascript, pas moyen... Et là, miracle, en php ça marche (j'ai aussi testé sur un serveur distant). Tu connais ce language (qui s'exécute côté serveur et qui renvoit du code html) ?

Si oui, voici le code utilisé (ce script doit être placé avant tout code html) :
Bloc de code:
header('Location:file:///Applications');
exit;
Par contre si tu ne sais pas comment l'utiliser (soit le placer dans une ou deux conditions), il va falloir te mettre au php.. au moins un minimum mais tu verras c'est génial.

Bon on peut déconner maintenant :D
 

fredmac75

Membre d’élite
Club MacG
14 Juillet 2003
1 415
127
49
Le Mans
www.km-spirit.com
iMatthieu a dit:
J'ai remarqué quelque chose d'intéressant pour toi evilsky, lorsque j'ouvre ton fichier html en cliquant dessus (soit sans serveur web donc en file:///), alors ça marche. Par contre sur un serveur web (et même en local avec apache), ça ne marche effectivement pas.

J'ai essayé avec du javascript, pas moyen... Et là, miracle, en php ça marche (j'ai aussi testé sur un serveur distant). Tu connais ce language (qui s'exécute côté serveur et qui renvoit du code html) ?

Si oui, voici le code utilisé (ce script doit être placé avant tout code html) :
Bloc de code:
header('Location:file:///Applications');
exit;
Par contre si tu ne sais pas comment l'utiliser (soit le placer dans une ou deux conditions), il va falloir te mettre au php.. au moins un minimum mais tu verras c'est génial.

Bon on peut déconner maintenant :D
Et le clic sur un lien, il est ou le youkki, hein le youkki à sa mèmère...:D :D :D . Même plus besoin du type et de sa souris .... tout est A-U-T-O-M-A-T-I-Q-U-E. C'est ça ma bonne dame le modernisme...
 

iMatthieu

Membre confirmé
31 Août 2004
383
24
36
CH - Neuchâtel
www.imatt.ch
Bon aller, j'ai fais un exemple avec petit clique pour petit dragon :) par ici

Evidemment le code suivant dois être exécuté par un serveur web qui peut interpréter du php, c'est à dire quasi tous les serveurs web... mais en mettant ça dans un fichier html et en l'ouvrant directement dans un navigateur ça va pas le faire ;-)
Bloc de code:
<?php
	if (isset($_GET['openFinder'])) {
		header('Location:file:///'.$_GET['openFinder']);
		exit;
	}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
		<title></title>
	</head>
	<body>
		<a href="evilsky.php?openFinder=Applications">Voilà mon petit dragon</a>
	</body>
</html>
 

fredmac75

Membre d’élite
Club MacG
14 Juillet 2003
1 415
127
49
Le Mans
www.km-spirit.com
iMatthieu a dit:
Bon aller, j'ai fais un exemple avec petit clique pour petit dragon :) par ici

Evidemment le code suivant dois être exécuté par un serveur web qui peut interpréter du php, c'est à dire quasi tous les serveurs web... mais en mettant ça dans un fichier html et en l'ouvrant directement dans un navigateur ça va pas le faire ;-)
Bloc de code:
<?php
	if (isset($_GET['openFinder'])) {
		header('Location:file:///'.$_GET['openFinder']);
		exit;
	}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<meta http-equiv="content-type" content="text/html; charset=utf-8" />
		<title></title>
	</head>
	<body>
		<a href="evilsky.php?openFinder=Applications">Voilà mon petit dragon</a>
	</body>
</html>
Alors là chapeau bas iMathieu
:zen: :zen: :zen:

Maintenant une question : comment se fait-il qu'une commande externe à mon mac parvienne à faire faire une action à ce dernier ? il y à quelque chose dans la sécurité de ma machine qui m'échappe ? Sur une page web on peut m'ouvrir à distance tel ou tel menu :)eek:) quid d'une personne malveillante ?
 

iMatthieu

Membre confirmé
31 Août 2004
383
24
36
CH - Neuchâtel
www.imatt.ch
Merci :D

En fait il me semble que la commande header('Location:file:///Applications'); change simplement l'url du navigateur, tappes file:///Applications et ça fera pareil.. Et après avoir ouvert la fenêtre du finder safari retourne à la page précédente (tu restes sur la même page).

Ce truc pour être rigolo en intranet mais je trouve pas ça vraiment très intéressant. Quoique dans des applications web pourquoi pas, genre ça te génère un pdf et ça t'ouvre le dossier qui le contient ;-)
 

fredmac75

Membre d’élite
Club MacG
14 Juillet 2003
1 415
127
49
Le Mans
www.km-spirit.com
iMatthieu a dit:
Merci :D

En fait il me semble que la commande header('Location:file:///Applications'); change simplement l'url du navigateur...
oui, je connais la commande Header. Le problème est qu'une page contenant un code de cette nature puisse agir sur mon mac ; ça me rappel les Control activeX sur Windows.

iMatthieu a dit:
... tappes file:///Applications et ça fera pareil.. Et après avoir ouvert la fenêtre du finder safari retourne à la page précédente (tu restes sur la même page). ...
Oui, mais dans ce cas, c'est moi qui choisi de taper cette ligne sur ma machine..

iMatthieu a dit:
... Ce truc pour être rigolo en intranet mais je trouve pas ça vraiment très intéressant. Quoique dans des applications web pourquoi pas, genre ça te génère un pdf et ça t'ouvre le dossier qui le contient ;-)
Oui cette démarche avec un cron bien placé et quelques autres joyeusetés, et l'on peut effectivement s'amuser. Ca me fait plutôt froid dans le dos. Mais peut être suis-je simplement trop parano :siffle:
 

evilsky

Membre junior
28 Novembre 2005
14
0
C'est nickel, merci beaucoup.
J'affiche tout le code au complet. Ca pourra peut-être aidé quelqu'un.

Fichier index.php
<?php
/************************************************************************************
* DESCRIPTION : Permet de détecter la plate-forme de l'utilisateur
* et d'afficher un lien en fonction du résultat.
*
* AUTEUR : Ducommun Informatique SA
*
* DATE DE CREATION :23.11.2005
*
* DATE DE MODIFICATION :
* DESCRIPTION :
*
* VERSION : 1.0
*
* REMARQUE : Sous Safari il faut faire ctrl+clic et choisire ouvrire le lien dans
* dans une nouvelle fenêtre.
* Ne fonctionne pas sous FireFox
/************************************************************************************/
//Déclaration des variables

//Nom du dossier à ouvrire
$strDirectoryName = '200511308' ;
/************************************************************************************/
//Charge le fichier contenant le Javascript
echo '<script src="user_syst.js"></script>' ;

echo '<script type="text/javascript">' ;
//Affiche le lien approprié en fonction de l'OS de l'utilisateur
echo "detectSystem('$strDirectoryName')" ;
echo '</script>' ;
echo '<script type="text/javascript">' ;
echo "function finder() {";
echo "window.open('./finder.php?directory=$strDirectoryName','_blank','toolbar=0,location=0,directories=0,status=finder,scrollbars=0,resizable=0,copyhistory=0,menuBar=0,width=50,height=50');";
echo "}";
echo '</script>' ;
?>
Fichier user_syst.js
/************************************************************************************
* DESCRIPTION : Détecte l'OS de l'utilsateur et affiche un lien
*
* AUTEUR : Ducommun Informatique SA
*
* DATE DE CREATION :23.11.2005
*
* DATE DE MODIFICATION :
* DESCRIPTION :
*
* VERSION : 1.0
*
* REMARQUE :
/************************************************************************************/
function detectSystem(strDirectoryName) {
// on teste si on trouve la mention '95' dans le nom du navigateur
if ( navigator.userAgent.indexOf('Win') != -1 )
{
//Lien pour une machine fonctionnant sous WIN
document.write('<a href="file://\\\\Production\\PMI\\JOBS\\'+strDirectoryName+'" target="_blank">ouvrire le dossier</a>');
}
else if ( navigator.userAgent.indexOf('Mac') != -1 )
{
//Lien pour machine fonctionnant sous MAC
document.write('<a href="#" onclick="finder()">ouvrire le dossier</a>');

}
else // si rien n'a ete reconnu...
{
//Message d'alert pour une machine inconnue
alert('Votre Plate-forme est inconnue');
}
}
Fichier finder.php
<?php
/************************************************************************************
* DESCRIPTION : Ouvre une fenêtre du Finder et ferme la page
*
* AUTEUR : Ducommun Informatique SA
*
* DATE DE CREATION :30.11.2005
*
* DATE DE MODIFICATION :
* DESCRIPTION :
*
* VERSION : 1.0
*
* REMARQUE :
/************************************************************************************/
header('Location:file:///Volumes/PMI/JOBS/'.$_GET['directory']);
?>

Merci encore les gars et à bientot.