Mystère des liens ITMS...

Pleinpopossum

Membre confirmé
14 Juillet 2004
97
15
47
Pô de Calais
Bonjour,

Un détail technique me turlupine depuis quelques temps. Lorsque je clique sur un lien itms dans safari ou camino, je suis directement envoyé sur la chanson correspondante dans itunes. Ce dernier est même lancé au besoin. D'après ce que j'ai vu le lien redirige vers le site d'apple puis déclenche le lancement du programme. Le processus semble être le même sous windows donc je ne pense pas qu'ils utilisent une faille ou une astuce. Du coups ben... je ne comprends pas comment il font. Il me semblait qu'il était interdit de lancer un exécutable depuis une page internet (sinon imaginez les débordement possibles !!). Quelqu'un peut m'éclairer ?

Merci
 
Et c'est bien la même chose avec Windows, la chose m'avait également étonné !!

Donc +1, si kk1 a une idée du processus... :confused:
 
Pleinpopossum a dit:
Bonjour,

Un détail technique me turlupine depuis quelques temps. Lorsque je clique sur un lien itms dans safari ou camino, je suis directement envoyé sur la chanson correspondante dans itunes. Ce dernier est même lancé au besoin. D'après ce que j'ai vu le lien redirige vers le site d'apple puis déclenche le lancement du programme. Le processus semble être le même sous windows donc je ne pense pas qu'ils utilisent une faille ou une astuce. Du coups ben... je ne comprends pas comment il font. Il me semblait qu'il était interdit de lancer un exécutable depuis une page internet (sinon imaginez les débordement possibles !!). Quelqu'un peut m'éclairer ?

Merci
L'ITMS N'est PAS une page internet...y'a eu un article d'un dev en anglais qu'à trainé une fois, pour dire qu'ils pouvaient pas dire ce que c'était, mais un peu ce que ce n'était pas...
 
Gallenza a dit:
L'ITMS N'est PAS une page internet...y'a eu un article d'un dev en anglais qu'à trainé une fois, pour dire qu'ils pouvaient pas dire ce que c'était, mais un peu ce que ce n'était pas...
Je pense que ca n'est pas vraiment ce que voulait dire pleinpopossum. Quand on clique sur un lien itms à partir d'un navigateur, on est redirigé vers phobos.apple.com/..... et le logiciel itunes est lancé. Je ne vois pas non plus comment cela est possible. La seule chose c'est que le serveur phobos doit surement renvoyé une instruction dans le header ce qui lance itunes (sinon je ne vois pas l'interet de passer par un autre serveur).

+1 aussi. Si quelqu'un a la solution ca m'interesse :up:
 
citizenofwakana a dit:
Je pense que ca n'est pas vraiment ce que voulait dire pleinpopossum. Quand on clique sur un lien itms à partir d'un navigateur, on est redirigé vers phobos.apple.com/..... et le logiciel itunes est lancé. Je ne vois pas non plus comment cela est possible. La seule chose c'est que le serveur phobos doit surement renvoyé une instruction dans le header ce qui lance itunes (sinon je ne vois pas l'interet de passer par un autre serveur).

+1 aussi. Si quelqu'un a la solution ca m'interesse :up:
En fait tout est dans la page internet appelée :

Bloc de code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"><HTML><HEAD><Script language="JavaScript" type="Text/Javascript">
  function open(url) {
    if(haveITMS) {
   return _open(url);
    } else if (!runITInstall()) {
   window.location.href="http://www.apple.com/itunes/download/";
  }
  }function _open(url) {
  
  var shouldClose=0;
  var uA = navigator.userAgent;
  var safariPos=navigator.userAgent.indexOf('Safari');
  var safariVersion=(safariPos!=-1) ? parseFloat(uA.substr(safariPos+7)) : -1;
  
  if ( (safariPos==-1 && window.history.length == 0) || (safariVersion>120 && window.history.length < 2))
  {
   window.opener='iTunes';
   shouldClose=1;
   }
  if (safariPos==-1 || safariVersion>120)
   {
    window.location.href=url;
    if (shouldClose==1)
    {
     setTimeout('window.close()', 100);
     }
    else
     {
  	 setTimeout('window.history.back()', 100);
  	}
    } else {
    statement='window.location.href="'+url+'"';
    setTimeout(statement, 1);
  }
   return true;
  }</Script>
 <Object classID="CLSID:D719897A-B07A-4C0C-AEA9-9B663A28DFCB" width="1" height="1" id="iTunesDetector" codeBase="http://ax.phobos.apple.com.edgesuite.net/detection/ITDetector.cab#Version=2,0,0,0""></Object>
 <Script language="Javascript" type="Text/Javascript" src="http://ax.phobos.apple.com.edgesuite.net/detection/itmsCheck.js"></Script>
 <TITLE>iTunes Music Store</TITLE></HEAD><Body onload="return open('itms://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/viewAlbum?playlistId=22273667')"></Body></HTML>


et le plus important est :
Bloc de code:
onload="return open('itms://ax.phobos.apple.com.edgesuite.net/WebObjects/MZStore.woa/wa/viewAlbum?playlistId=22273667')"

il s'agit donc d'un service qui tourne sur l'ordinateur. tapez itms:// dans mozilla ou autre et ca demarre itunes