Chargement du navigateur depuis la fonction system ( )

Chargement du navigateur depuis la fonction system ( ) - C - Programmation

Marsh Posté le 23-05-2006 à 15:41:24    

Bonjour,
 
J'aimerais savoir comment lancer simplement l'affichage d'une page html dans un navigateur depuis un programme C ... sous Linux.
Y a-t-il une commande Linux simple qui appelle le bon programme pour un fichier passé en paramètre.
 
 [:aztechxx]


---------------
"Comme des pommes d'or sur des ciselures d'argent, Ainsi est une parole dite à propos" (Proverbes de Salomon)
Reply

Marsh Posté le 23-05-2006 à 15:41:24   

Reply

Marsh Posté le 23-05-2006 à 15:42:24    

system("/chemin/vers/le/navigateur/binaire http://www.adresse.ext/page.html" );


Message édité par Elmoricq le 23-05-2006 à 15:42:39
Reply

Marsh Posté le 23-05-2006 à 15:52:45    

Elmoricq,
 
Merci !
Mais est-il possible de le faire sans spécifier le chemin et le programme du navigateur ?


---------------
"Comme des pommes d'or sur des ciselures d'argent, Ainsi est une parole dite à propos" (Proverbes de Salomon)
Reply

Marsh Posté le 23-05-2006 à 15:54:29    

Si c'est dans $PATH, oui.
 
Sinon, je ne vois pas bien comment ton système saurait où se trouve ton programme à exécuter.

Reply

Marsh Posté le 23-05-2006 à 16:11:32    

OK,
 
Merci, au moins c'est clair !  ;)
 
Ah ! les mauvaises habitudes sous Windows ... beuurrrkkkk ! ! !  [:aztechxx]


Message édité par jipo le 23-05-2006 à 16:12:20

---------------
"Comme des pommes d'or sur des ciselures d'argent, Ainsi est une parole dite à propos" (Proverbes de Salomon)
Reply

Marsh Posté le 23-05-2006 à 16:46:07    

C'est pareil sous Windows, hein. Sauf que la variable se nomme %PATH%.

Message cité 1 fois
Message édité par Elmoricq le 23-05-2006 à 16:46:28
Reply

Marsh Posté le 23-05-2006 à 17:03:14    

Sous Windows il existe des apis qui executent le bon programme en fonction du type de fichier passé. C'est ce genre de fonctionnement qui m'aurait interesser !
 


---------------
"Comme des pommes d'or sur des ciselures d'argent, Ainsi est une parole dite à propos" (Proverbes de Salomon)
Reply

Marsh Posté le 23-05-2006 à 17:06:29    

Elmoricq a écrit :

C'est pareil sous Windows, hein. Sauf que la variable se nomme %PATH%.


ben si, sous Windows :
 
start http://www.google.com
 
t'ouvre le navigateur par défaut dans google :spamafote:

Reply

Marsh Posté le 23-05-2006 à 17:06:52    

lesquelles ?

Reply

Marsh Posté le 23-05-2006 à 17:07:14    

jipo a écrit :

Sous Windows il existe des apis qui executent le bon programme en fonction du type de fichier passé. C'est ce genre de fonctionnement qui m'aurait interesser !


et donc, y'a pas besoin d'une API "àlakon" pour faire ça.
c'est géré en natif par l'os, parcequ'il est moins polio que linux (ouais, c'est pas vendredi, mais je suis pas là vendredi :o)

Message cité 1 fois
Message édité par Arjuna le 23-05-2006 à 17:08:26
Reply

Marsh Posté le 23-05-2006 à 17:07:14   

Reply

Marsh Posté le 23-05-2006 à 17:17:39    

Arjuna a écrit :

et donc, y'a pas besoin d'une API "àlakon" pour faire ça.
c'est géré en natif par l'os, parcequ'il est moins polio que linux (ouais, c'est pas vendredi, mais je suis pas là vendredi :o)


 
Essaie :
 
Démarrer->Exécuter->"iexplore" : ça fonctionne.
 
Maintenant, ouvre une fenêtre de commandes :

C:\> iexplore
'iexplore' n'est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.
 
C:\> echo %PATH%
blahblahblah
 
C:\> PATH=%PATH%;"C:\Program Files\Internet Explorer"
 
C:\> iexplore


 
Et hop, ça marche.
Bref. Ce n'est pas de l'archaïsme, c'est juste que Windows ajoute quelques "path" supplémentaires, automatiquement, dans certaines parties de son interface, notamment le contenu de Program Files.
C'est du coup beaucoup moins strict, mais c'est bien plus pratique pour pas mal de choses.
 
Un OS c'est pas de la magie, hein.  [:petrus75]


Message édité par Elmoricq le 23-05-2006 à 17:19:04
Reply

Marsh Posté le 23-05-2006 à 17:20:37    

on te parle pas des variables path vin dieu !
 
évidement le path du navigateur doit être dans la variable path...
mais c'est de toute façon "toujours" le cas, que ce soit sous linux ou sous windows.
 
on te parle d'une commande capable de se dire "tiens, c'est une adresse web... c'est donc du "text/html"... quelle est donc l'application par défaut qui supporte ce type mime ?
 
et en cas, la commande "start" de Windows fonctionne. pas sûr que sous Linux il y ait un équivalent.
 
je ne vois pas ce que vient foutre le path là dedans...

Reply

Marsh Posté le 23-05-2006 à 17:22:08    

Ah, ok, je n'avais pas compris.
 
Je crois qu'il y a une gestion des types MIME sous Linux, mais je ne me suis jamais penché sur la question (suis pas admin du Solaris de ma boite, et j'ai Windows chez moi :o )

Reply

Marsh Posté le 23-05-2006 à 17:27:54    

Deplus, start se base sur la déclaration des types mime, et non le path.
 
Test :
 


C:\Documents and Settings\Administrateur>echo %PATH%
C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\oracle\ora92\bin;C:\P
rogram Files\Oracle\jre\1.3.1\bin;C:\Program Files\Oracle\jre\1.1.8\bin;C:\Progr
am Files\Microsoft SQL Server\80\Tools\BINN;C:\Program Files\ATI Technologies\AT
I Control Panel;C:\Program Files\StreamServe\3.0\Common\bin;c:\generix\exe\com\u
tils;C:\Program Files\Fichiers communs\Adobe\AGL;c:\Program Files\Microsoft SQL
Server\90\Tools\binn\;C:\Documents and Settings\Administrateur\Mes documents\Pro
jets Borland Studio\Bpl


 
PhotoShop se trouve chez moi dans "c:\program files\adobe\Adobe Photoshop CS2"
le répertoire "C:\Program Files\Fichiers communs\Adobe\AGL" ne contient que des dll
 
et pourtant...
 


C:\Documents and Settings\Administrateur\Mes documents\logos>start led.psd


 
Ca me lance bien PhotoShop avec le fichier en question...
 
Simplement parceque dans la BDR, "*.psd" est associé à Photoshop.Image.9 et que ce dernier pointe sur le répertoire de Photoshop...

Reply

Marsh Posté le 23-05-2006 à 17:33:27    

tiens d'ailleurs...
 
ça m'étonnes que bilou ait inventé comme un grand ce truc (quoique des fois, on a de bonnes surprises)
 
tu peux tenter un "man start" sur un x-like ?

Reply

Marsh Posté le 23-05-2006 à 17:35:19    

(ps: depuis tout à l'heure, je parle de "start". c'est une commande batch, qu'on démarre donc depuis un cmd)

Reply

Marsh Posté le 23-05-2006 à 18:47:02    

Et donc sous Linux ???  [:aztechxx]


---------------
"Comme des pommes d'or sur des ciselures d'argent, Ainsi est une parole dite à propos" (Proverbes de Salomon)
Reply

Marsh Posté le 23-05-2006 à 18:52:57    

n'est-il pas ? :D

Reply

Marsh Posté le 23-05-2006 à 19:00:01    

Reply

Marsh Posté le 23-05-2006 à 20:41:58    

Bon ben... JIPO, t'as pas de POT (il te reste le J) :D
 
http://forum.hardware.fr/forum2.ph [...] w=0&nojs=0

Reply

Marsh Posté le 23-05-2006 à 21:07:30    

vu que ca existe que sous windows faudrait voir si cette fonctionnalité ne pourrait pas poser des probleme d'administration ou de sécurité par exemple.

Reply

Marsh Posté le 23-05-2006 à 21:09:26    

nan, le problème sous nux, c'est que :
1/ sous windows, y'a qu'un shell : cmd.exe
2/ sous windows, y'a toujours un GUI actif et connu du kernel, même si son interface (explorer.exe) est désactivée

Reply

Marsh Posté le 23-05-2006 à 21:10:38    

hors il faut ces deux conditions pour que ça marche.
 
sous linux, le kernel ne sait à priori même dans quel shell/GUI un programme tourne

Reply

Marsh Posté le 23-05-2006 à 21:32:08    

Si c'est faisable sous linux, juste que personne n'ai pris le temps de le coder.
 
Tu dois pouvoir te débrouiller avec un script bash ( ou n'importequel language ) pour te faire la commande :

Code :
  1. file -ib "nomdufichier"


va te renvoyer le type mime, il te reste plus qu'a avoir une liste de paires  (mimetype,programme) pour savoir lequel lancer. Ensuite tu as quelques variables d'environnement pour rendre le programme plus intelligent, Si tu as une variable DISPLAY non nulle tu sais que tu es sous X, tu peut lancer des programmes graphiques. la variable TERM peut te permettre de savoir que tu es en console pure, etc ...
 
Ca sera jamais parfait, parfait étant donné la flexibilité sous linux, mais tu peut arriver à un résultat déja très pratique à utiliser ;)


---------------
Me: Django Localization, Yogo Puzzle, Chrome Grapher, C++ Signals, Brainf*ck.
Reply

Marsh Posté le 23-05-2006 à 22:13:14    

MERCI A TOUS POUR LES EFFORTS DEPLOYES
Je suis touché  :sweat:  
 
Mon problème est plus simple : Dans un programme XMotif, il s'agit systématiquement, lorsque l'utilisateur appuie sur un bouton "Aide", d'appeler une page HTML correspondant à l'aide en ligne de la fenêtre courante ...
 
Donc je voulais savoir quelle était la manière la plus simple d'appeler le navigateur par défaut pour afficher le fichier d'aide HTML.
 
Voilà ... Peut être que cette réduction du problème de départ peut donner d'autres idées. Après tout je ne suis pas obligé d'utiliser des pages HTML ni un navigateur pour afficher une aide en ligne ... je dois juste fournir une infrastructure simple aux utilisateurs pour qu'ils puissent eux-même composés les fichiers d'aide qui seront affichés lors du click sur le bouton "Aide" dans chaque fenêtre.
 
Donc tout autre moyen que Navigo + HTML peut être bienvenu !
 
Merci encore,
Votre humbre serviteur  :jap:


Message édité par jipo le 23-05-2006 à 22:14:16

---------------
"Comme des pommes d'or sur des ciselures d'argent, Ainsi est une parole dite à propos" (Proverbes de Salomon)
Reply

Marsh Posté le 23-05-2006 à 22:18:00    

Pour moi, c'est plus une question d'ergonomie qu'autre chose. Surtout que la notion de "navigateur par défaut" n'existe pas sur *nix.
 
Il y a plusieurs solutions, l'une d'entre elles étant de rechercher les navigateurs les plus courants lors et en proposer le choix à l'utilisateur au moment de l'installation, avec possibilité de saisir le chemin vers le navigateur de son choix.
Et laisser l'option accessible dans un menu de configuration.

Reply

Marsh Posté le 24-05-2006 à 15:21:53    

http://forum.hardware.fr/forum2.ph [...] =0#t812777
 
y'a un équivalent de start pour gnome
 
tu trouves celui pour kde, et hop :) tu couvre 95% des nux

Reply

Marsh Posté le 24-05-2006 à 22:09:26    

et hop !
 
http://forum.hardware.fr/forum2.ph [...] =0#t812947
 
t'as un module à distribuer avec ton programme, et à priori tu devrais pouvoir t'en sortir :)

Reply

Marsh Posté le 30-05-2006 à 18:59:02    

Mais j'ai lu l'autre topic, mais j'ai pas compris  :whistle:  
A part le gnome-open ... je vois pas autre chose ...


---------------
"Comme des pommes d'or sur des ciselures d'argent, Ainsi est une parole dite à propos" (Proverbes de Salomon)
Reply

Marsh Posté le 30-05-2006 à 20:12:26    

Ben si, vers la fin, y'en a un qui pose des liens vers un truc en cours de dev qui devrait permettre de remplacer start.
J'avoue que je suis pas allé voir le lien. Mais à priori ça devrait te permettre de faire ce que tu veux... Renseigne-toi auprès des gens sur ce site.

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed