Ajout d'un nouveau protocole

xmbeed

Membre enregistré
18 Juin 2008
7
0
Salut à tous,
je suis entrain d'essayer d'ajouter un nouveau protocole dans MacOS X.5 et franchement c'est la misère. 5 mn sous Windows, trois semaines sous Mac... le top.
Bon je m'explique : je veux ajouter un nouveau protocole que l'on nommera proto. Donc par exemple, si j'ai un lien sur une page web du type proto://domaine.tld/monfichier.ext et que je clic dessus, il doit ouvrir une application qui va effectuer une action avec ce lien (par exemple prendre le fichier et le stocker quelque part de spécial).

Ce que j'arrive à faire :
J'ai fait mon appli qui va être lancé lorsque je cliquerai sur le lien avec le protocole proto et j'ai associé ce protocole à cette application. Donc ça, ça marche bien, quand je clic sur le lien, l'application est bien lancée (j'ai mis des traces).

Ce que je n'arrive pas :
lors du clic sur le lien, quand l'application est lancée, je ne peux pas retrouver depuis l'application la valeur de ce lien. Autrement dit, quand je clique sur mon lien proto://domaine.tld/monfichier.ext, je veux savoir dans l'appli que ce lien vaut ça, et pas autre chose du style proto://autredomaine.tld/autrefichier.ext. Je veux la valeur du lien comme quand tu double clic sur un fichier sur le bureau, il lance l'appli et il connait le fichier sur lequel on a cliqué.
Je pensais trouver cette valeur dans les arguments passés à mon application donc en $1 mais ce n'est pas le cas. Ou se cache donc cette valeur?? Faut il mettre une certaine donnée dans le Info.plist de l'application pour pouvoir le retrouver. Sous windows, elle est en $1... franchement c'est d'un compliqué sous Mac (faut dire aussi que je ne suis pas très expert mac)...

Merci pour votre aide
ps: ceci n'est pas un développement Web mais bien un pb mac et du systeme.. donc pas de déplacement dans le forum Développement Web merci ;)
 
Merci tatouille pour la réponse. Je scrute cela avec intérêt même si je ne saisi pas tout dedans. Pour ce qui est de l'expression de mon besoin, peut être me fais-je mal comprendre (ce qui est, sûrement, fort possible). Par contre, sur l'utilité de cette fonctionnalité que je veux implémenter, là, je pense que tu ne peux en parler étant donné que tu ne connais pas tout le projet dans l'ensemble.
Donc j'essaye de le dire autrement. Lorsqu'on est sur une page web, il existe des liens "mailto" qui permettent quand on clique dessus de lancer l'application Mail et ainsi d'écrire un petit mail au destinataire du lien. Donc on a bien un protocole "mailto", une info dans MacOsX qui dit si c'est le protocole mailto alors lance l'application mail et enfin l'application mail connait bien le destinataire car elle l'écrit dans la zone A du message.

Bein voilà, disons que je veux faire la même chose avec mon prog et mon protocole proto. Je veux quand je clique sur un lien de type proto://domaine..... il me lance mon appli en connaissant la valeur du lien cliqué. Je veux que mon programme connaisse la valeur du lien comme mail la connait quand on clique sur un lien mailto.

Donc ce que je sais faire : c'est que quand je clique sur un lien de type proto://mondomaine... il m'ouvre bien mon appli mais, pour rejoindre elendhil dans le lien que tu m'a mis, je n'arrive pas à retrouver la valeur du lien. Je pensais aussi le retrouver dans le tableau argv mais apparement non. J'ai la même chose que elendhil, à savoir la valeur -psn...

Enfin voilà, ai-je été assez clair ? J'espère que oui et merci pour l'aide apportée.
 
Merci tatouille pour la réponse. Je scrute cela avec intérêt même si je ne saisi pas tout dedans. Pour ce qui est de l'expression de mon besoin, peut être me fais-je mal comprendre (ce qui est, sûrement, fort possible). Par contre, sur l'utilité de cette fonctionnalité que je veux implémenter, là, je pense que tu ne peux en parler étant donné que tu ne connais pas tout le projet dans l'ensemble.
Donc j'essaye de le dire autrement. Lorsqu'on est sur une page web, il existe des liens "mailto" qui permettent quand on clique dessus de lancer l'application Mail et ainsi d'écrire un petit mail au destinataire du lien. Donc on a bien un protocole "mailto", une info dans MacOsX qui dit si c'est le protocole mailto alors lance l'application mail et enfin l'application mail connait bien le destinataire car elle l'écrit dans la zone A du message.

Bein voilà, disons que je veux faire la même chose avec mon prog et mon protocole proto. Je veux quand je clique sur un lien de type proto://domaine..... il me lance mon appli en connaissant la valeur du lien cliqué. Je veux que mon programme connaisse la valeur du lien comme mail la connait quand on clique sur un lien mailto.

Donc ce que je sais faire : c'est que quand je clique sur un lien de type proto://mondomaine... il m'ouvre bien mon appli mais, pour rejoindre elendhil dans le lien que tu m'a mis, je n'arrive pas à retrouver la valeur du lien. Je pensais aussi le retrouver dans le tableau argv mais apparement non. J'ai la même chose que elendhil, à savoir la valeur -psn...

Enfin voilà, ai-je été assez clair ? J'espère que oui et merci pour l'aide apportée.

ou est la RCF qui definie proto comme protocol legal? de plus ca ne veut rien dire proto, pourquoi n'utilises tu pas file://
qui est fais pour ca documente et implemente de facon correcte coter securite?


\bah oui il n'y a aucun forward d'events dans le vector argv c'est evident... ()
un event tourne dans une loop, c'est la meme dans tous les toolkits modernes du monde

[hors sujet]
 
oua....c'est ça l'esprit mac .... ça fait peur

voila quelqu'un qui manifestement veut faire joujou avec son mac et les protocoles, et bien il arrive tout sourire jusqu'ici ...

et la réponse du premier gros quick-argneux-ne-dites-pas-de-mal-des-macs et ses +de 3000 messages sur macgénération..
et quand je lis ca :
"je suis entrain d'essayer d'ajouter un nouveau protocole dans MacOS X.5 et franchement c'est la misère. 5 mn sous Windows, trois semaines sous Mac... le top."
la premiere reflexion gros guigui
voila surtout ne jamais dire de mal du Mac .... sinon on se fait insulter direct. Super !!!
tain faut descendre de son ptit nuage parfois !
J'ai pas vu de réelle solution à son problème, mis à part un "gros guigui"...
pourquoi ne pas admettre dans ce cas que sous windows c'est plus facile que sous mac pour ce cas la ?

oula vais-je m'attirer les foudres de Monsieur Mac ?

si tu savais gros guigui je te vois venir de loin avec tes gros sabots de scribouillard
et vois venir de loin la connerie de ce genre de "developpements"
et en plus l'utilisateur averti du mac est devin, il devine déja tout d'un projet d'un quelquonque inconnu... franchement...

comme on dit ca pue du cul...

... ouais effectivement ...et pas seulement l'utilisation des protocoles ....
 
Je ne pensais pas me faire insulter en posant cette question!!! Enfin bon passons, tatouille est peut être une fille, les ragnagnas des fois ça fait dire des méchancetés.... sinon je ne vois pas!!

En tout cas, merci Brips de ta sympathie et de ton soutien.

Bon alors parce que dans tout ça, Brips a raison, à part les insultes y a pas eu de réponses concrètes (mêmes si les gens en présence ont l'air de toucher leurs billes en dev mac quand même).
Disons que mon url sur lequel je clique est une url Webdav et donc que le fichier demandé est sur un webdav. Ainsi en cliquant dessus, il m'ouvrirait l'appli qui va bien (word en l'occurrence voir openoffice aussi) et l'utilisateur modifierai directement un fichier du serveur grâce à la fonctionnalité dav des suites office. Ainsi pas besoin de downloader et d'uploader le fichier, il est modifié directement à la source.
Mais bon voila, si je fais commencer mon url par http, il va downloader le fichier au lieu de l'ouvrir directement. D'ou mon petit protocole proto qui va appeler un petit programme qui va ouvrir word en transformant mon lien pour que word ouvre le fichier en webdav.

Donc ça c'est super simple sous Windows, encore plus sous linux mais sous Mac c'est difficile (je ne dis surtout pas que ça me saoule, je risquerai de me faire encore insulter).

Pour ce qui est du protocole file, il me semble que l'on ne peut ouvrir que des fichiers locaux, et du coup ça ne m'intéresse pas. Si je me trompe, je veux bien qu'on me le dise j'apprendrai au moins qq chose.

Voilà donc bien à vous âme charitable et pis si vous connaissez une meilleure solution je suis preneur aussi !! La mienne semble ne pas sentir bon du derrière :O) ce que je suis prêt à accepter, j'suis pas le pro absolu de tout ça !!

Pour finir, tatouille si t'a envie de m'aider tu es le bienvenu sinon si c'est pour m'insulter encore je vois pas bien l'intérêt et je ne pense pas que ça soit vraiment productif.

Merci pour votre aide

ps: si ça intéresse quelqu'un, j'avais posté le même message sur un autre forum, j'ai eu des réponses disons "plus en rapport" à ma demande : ici
 
pourquoi ne pas admettre dans ce cas que sous windows c'est plus facile que sous mac pour ce cas la ?
Le temps passé à faire quelque chose n'est pas toujours représentatif de la qualité de l'outil mais souvent de sa maîtrise. Si tu me demandes d'écrire une petit application avec les API Windows, je vais y passer 3 semaines parce que je ne les maîtrise pas, et je le ferais en 5 mn avec Cocoa.
Il n'y a pas à s'inquiéter : les API et les outils Apple sont tout aussi bon que ceux fournis par M$, mais souvent d'une approche difficile pour les débutants. Je ne pense pas que vous avez connu MPW l'ancêtre de Xcode :D
 
le guigui et son echo ( guigui et robin)...

je n'ai pas ete compris:

1- tu ne metrises pas l'Application service de la MSF

2- le liens que je t'ai donne est pile en rapport avec l'application service, ce que t'as repondu la personne sur macbidouille

3- tu dis que c'est plus simple... erreur, c'est juste que c'est plus permissif car c'est a toi d'ajouter/implementer les controls sur l'event et l'url ce que tu n'as apparemment pas fait
(apres se plaigne de se faire percer le trou de bal en deux deux par un boutoneux)

4- si t'en es a faire ca c'est que tu ne connais pas le protocol dav... un peu dommage, j'espere que tu n'es pas paye pour faire ces horreurs...

donc 1- ce n'etait pas du tout sur le registre critique ou pas critique

mais plutot la phrase de gros lourdo sur c'est plus simple sur telle ou telle platforme et non...

+ pour Webdav ca existe deja...
+ Didier a rajoute une couche ... ou chercher...

"Le temps passé à faire quelque chose n'est pas toujours représentatif de la qualité de l'outil mais souvent de sa maîtrise. Si tu me demandes d'écrire une petit application avec les API Windows"

depuis 13 ans j'observe le contraire, les gens venant d'autres envs sont plus reactifs et s'adaptent en quelques jours a la MSF et aux environnements de dev entierement balises

et oui ca toute personne sachant utiliser son cerveau peut le faire:
"devine déja tout d'un projet d'un quelquonque inconnu... franchement..."

il y a des approches qui ne mentent pas...
qu'es-ce que tu veux robin, on ne peut pas tous avoir de jolies collants soilleux

en faites, je realise, les newbs c'est fait en sucre mouille :p:D

pour ceux qui veulent savoir ce qu'est DAV
http://www.webdav.org/specs/index.html#dav

-le gros-quick devin, le preneur de guigui la main dans le sac
 
bonjour,

Peut etre devrait tu partir d'un squelette cocoa avec une implantation minime de la gestion applescript pour commande "GetURL".

Peut etre cela t'aidera t-il...