Développer un plug-in IE

Bonjour,

dans les séries des « je commence à programmer j’y connais rien mais j’en veux », voilà mon cas :

je voudrais créer un plug-in pour IE, en rajoutant quelques options du style:

  • contrôle parental par liste des url interdites;
  • affichage d’un champ avec une recherche (une google bar en quelque sorte, mais faite main, avec sélection du moteur de recherche à utiliser, les options de recherche, etc.);
  • un module permettant de modifier facilement la skin;

Mes questions sont donc les suivantes :

  • Quel langage utiliser? C/C++ ? Java (j’aimerais mieux)? VisualBasic?
    Lequel est le plus simple pour coder des utilisations internet (pour le contrôle de l’url par ex.)
  • Est-t-il possible de récupérer quelque part le code source de IE pour ne pas avoir à créer la base du code?

Merci d’avance de vos réponses :stuck_out_tongue:

C++ ou n’importe quel langage .Net, C#, VB.Net, J# meme si vraiment t’insiste etc.
C# de loin le plus facile a mona vis pour ca.

Haha :stuck_out_tongue: non aucune chance. Mais toute les API faites pour rajouter des trucs a IE sont bien documente sur MSDN et y a deux trois tutorial sur codeproject pour faire des trucs du genre. Si tu veux « modifier facilement la skin » c’est une autre etape et faut refaire IE et hoster juste le module de rendu comme faut les browser alternatifs bases sur IE et c’est une autre paire de manche.

Sans vouloir troller, si tu n’as pas ABSOLUMENT besoin d’utiliser IE, il est beaucoup plus facile de faire ce genre de choses avec firefox, qui est conçu dans cette optique.

Je n’y ai jamais touché, mais d’après ce que j’ai compris, la majorité des plugins sont programmés en javascript, celui ci pouvant influer sur le contenu de la page, ou sur l’interface du navigateur (celle ci étant codée en XML).

En fait je n’utilise pas IE par obligation : ce plug-in, je voudrais le développer juste pour moi (en tout cas dans un premier temps), dans le but d’apprendre à coder (les howto de 10kgs non merci).
L’intérêt de IE c’est qu’il va me falloir toucher aux API, et donc apprendre à m’en servir.

Mais ensuite, je pense créer le même module pour firefox, maxthon (enfin vu qu’il vient d’IE peut-être ça ne sera pas nécessaire), etc.

Par contre, pour Firefox, c’est obligé le javascript?
Si en java c’était possible ça m’arrangerait mieux. Et idem pour IE, le c++ est obligatoire ou Java suffit?

Vu que je commence seulement à coder, j’aimerais éviter de me lancer dans plein de trucs au début :stuck_out_tongue:

Les mecs qui débutent et qui veullent directement programmer des trucs ultra compliqué… :stuck_out_tongue:

Sérieux, commence déjà par quelque chose de simple qui ne nécessite pas de se taper une tonne de docs,

Sinon Java pour contrôler IE, je voudrais rien dire mais bon… :stuck_out_tongue: tu n’as pas trop bien compris la philosophie Java ni de l’utilisation qu’on peut en faire.

+1 avec ZGoblin, un plug-in IE c’est peut-être pas le meilleur truc à faire si tu commences juste à programmer … essaye peut-être de faire des plug-ins pour des programmes simples et pensés spécifiquement pour être facilement adaptables / modulables, et après de t’attaquer au gros morceaux.

Enfin, c’est toi qui vois …

Hmm. Tu as sans doute raison, hein, mais dit comme ça ça relève plus de la raillerie qu’autre chose.
Pour toi, et toi seul, mon ami, je te c/c mon premier post :

"dans les séries des “je commence à programmer j’y connais rien mais j’en veux”, voilà mon cas “
et
"Quel langage utiliser? C/C++ ? Java (j’aimerais mieux)? VisualBasic?
Lequel est le plus simple pour coder des utilisations internet (pour le contrôle de l’url par ex.)”

Effectivement je n’ai pas trop bien compris la philosophie Java ni l’utilisation qu’on peut en faire.
En même temps, note que si je l’avais comprise, cette philosophie, je ne posterais pas ici…
Alors au moins explique moi quelle elle est, et pourquoi est ce ridicule mon idée, histoire que ton post serve à quelquechose.

Sinon, effectivement j’ai bien conscience que je me lance dans quelque chose trop compliqué pour moi, mais à côté je bosse un peu avec des tutoriaux (VB, C++, Java, Php) plus simples.
Ce projet, c’est juste avoir une idée en tête à réaliser à moyen/long terme.

Donc si tu as le temps, et l’envie, peux-tu m’expliquer pourquoi Java ne permet pas ça?
Je vais probablement le faire en c++, mais par curiosité j’aimerais savoir ^^

Merci d’avance (vraiment).

làlàlà. J’avais failli poster hier.

Le souci est de suivre une démarche logique d’apprentissage. Bien que je connaisse Delphi et donc la programmation, j’ai envie de me mettre à la programmation objet. Et ben je prends un bouquin (ou un site) bien fait, ce qui n’est pas forcémént evident à trouver, et ensuite j’essaye d’afficher une simple phrase, le fameux “Hello World”. Et après de proche en proche je fais quelque chose de plus compliqué.

Ensuite y’a la méthode qui est souvent utilisée en SSII où on se jette à l’eau et on fait de la maintenance pour apprendre.

Mais si tu ne sais pas du tout programmer il ne faut pas mettre la charrue avant les boeufs. Il faut apprendre les bases et pas seulement un langage mais l’algorithmie. Si tu veux te donner un but pratique et moins théorique que les exemples d’un livre tu peux te lancer dans la gestion de stock de tes DVD par exemple. Et c’est par la suite quand tu saura mieux programmer que tu fera un plugin pour IE si vraiment c’est un but pour toi.

En fait il y a certaines familles de langages. Certains de haut niveau (éloigné de la machine) donc transposable facilement d’un système à l’autre (java), d’autre de bas niveau (très proche de la machine) donc beaucoup moins transposable(C, C++). Il y a aussi des langages orientés windows (exécutable uniquement sur windows) mais dont on n’a pas besoin de connaitre les subtilités techniques de la machine, l’interface de programmation et le compilateur le font pour nous (Visual Basic, Delphi, langages dot net).

Après IE est un programme fermé donc on ne peut pas le modifier, c’est la philosophie commerciale de Microsoft, la seule façon de modifier son apparence, comme le dit Glop, c’est de l’encapsuler en quelque sorte. La remarque ironique portait sur l’utilisation de java (langage interopérable entre les systèmes et “open source”) et Internet Explorer qui comme la majorité des programmes de Microsoft est fermé aux modifications. Ton exemple était l’anti-exemple par excellence.

Pour revenir à ta demande choisis toi un but moins technique (pas de plugin IE) et plus métier et processus pour commencer (informatique de gestion=gestion de tes DVD). Rien ne t’empechera par la suite de faire qq chose de plus système si ça te plait, une fois cette première étape effectuée.
edit:
En plus l’avantage au début de se lancer dans un développement non système mais de gestion, est de ne pas se préoccuper des spécificités de la machine ou des utilitaires fournis ou achetés, mais de se concentrer sur la méthode de programmation et l’algorithmie, sans se soucier des API. Pas la peine de courrir plusieurs lièvres à la fois. Après si tu vois que tu apprends vite tu peux sauter les étapes mais pas au tout début.

[quote=“phili_b, post:8, topic: 27080”]làlàlà. J’avais failli poster hier.
Après IE est un programme fermé donc on ne peut pas le modifier, c’est la philosophie commerciale de Microsoft, la seule façon de modifier son apparence, comme le dit Glop, c’est de l’encapsuler en quelque sorte. La remarque ironique portait sur l’utilisation de java (langage interopérable entre les systèmes et “open source”) et Internet Explorer qui comme la majorité des programmes de Microsoft est fermé aux modifications. Ton exemple était l’anti-exemple par excellence.[/quote]
Heu bah ca c’est grave faux. Au contraire. Non seulement il y a toute une API d’extensibilitee pour rajouter ses elements et modifier quasiement tout le comportement de IE qui est prevu de base dans le soft, mais en plus le moteur est lui meme modulaire et fait pour etre presente comme un composant reutilisable ce qui permet justement de faire des modifications en profondeur si on le souhaite meme de l’interface. Depuis le depart, IE c’est juste un shell autour d’un moteur qui sont bien distinct et accessible aux deux niveaux. La philosophie commerciale de Microsoft est justement de produire des plate formes, donc des choses sur lesquelles on peut construire et modifier, c’est a dire tres ouvertes aux modifications. Tres souvent si le choix est entre faire un truc extensible et faire un truc avec plus de fonctionalites, le choix se fera sur l’extensibilitee en se disant que du coup les nouvelles fonctionalitees seront fournies par un ISV tiers, que ca soit dans windows, dans VS, ou dans office. C’est pour ca qu’on peut avoir media player classic, zoomplayer sur la base media partagee avec WMP, qu’on peut avoir Maxthon et les centaines de prog qui integre le moteur de IE, que un enorme effort a ete fait autour de .Net, OLE et COM et pourquoi ils existent, c’est pour ca que Vista c’est avant tout une plate forme pour WinFX et les nouvelles API, etc., etc. C’est vraiment mal comprendre ce qui a fait le succes de MS justement (permettre a d’autre personnes de faire un buisness autour de qqch) que de dire ca.

c’est fou dès qu’on parle de MS, Glop tu montes sur tes grands chevaux :stuck_out_tongue: 1°) je ne suis pas spécialiste système mais OLE et COM et compagnie c’est effectivement de l’extensibilité c’est-à-dire finalement le dialogue avec d’autres programmes mais pas du tout la rédéfinition d’une partie du programme comme on peut le faire en open source. D’ailleurs l’exemple d’IE est flagrant, ou alors préviens moi le jour où on peut customiser IE avec java et en plus sans le « hoster » comme tu dis. d’où l’anti-exemple IE avec java. 2° je comprends très bien ce qui a fait le succès de MS, d’abord s’attacher aux demandes du clients et ensuite seulement améliorer le coeur du programme tandis que le monde open source et unix (pas forcément open source) mets quelque fois la charrue avant les boeufs, l’exemple en est l’ergonomie douteuse d’unix, orienté gourou, d’il ya bien longtemps mais qui leur a fait du tort, donc chacun des 2 mondes a des avantages et des inconvénients, je n’ai pas de chapelle dédiée, enfin 3° Ces querelles de chapelles, [u]c’est pas la question que le monsieur pose[/u]
:stuck_out_tongue:

Je tiens à préciser que Delphi est un language qui justement favorise fortement la programmation objet (le système de composant si cher à Delphi en est un peu la preuve).
D’ailleurs le language en lui même, c’est le pascal objet.
Voilà, c’était juste pour préciser :stuck_out_tongue:

Tout comme Java.
Et à part Visual Basic, ils sont tous disponibles sur d’autres plateformes (.net avec mono, delphi avec kylix [ou plus largement le pascal objet avec free pascal compiler et lazarus], et java pas trop la peine d’expliquer).

Par contre, je ne vois pas trop en quoi on doit connaître les « subtilités techniques de la machine » pour les autres langages (à la limite de l’os, pour les api, mais la machine en elle même la grande majorité des developpements s’en foutent un peu non ? Je parle au niveau du code, pas de la compilation [et en excluant les blagues big/little endian etc, si le gars vient poser une question pareille ça ne s’applique pas pour lui])

Après, l’histoire de modder IE, oui c’est faisable, oui ça demande de l’encapsulation, non c’est pas une bonne idée pour débuter.
Mais si il est vrai que Glop « monte sur ses grands chevaux », faut dire que ton post est quand même assez faux (ne pas confondre programme fermé et non modifiable, microsoft fait en sorte que beaucoup de ses softs aient des apis).

Je monte pas sur mes grands cheveaux et il s’agit pas de MS en particulier ou de faire une guerre de chapelle. C’est pas X contre Y et j’ai pas dit un seul mot sur un quelconque concurent. Je reagit quand il s’agit de pas raconter des trucs grave faux du genre “la majorité des programmes de Microsoft est fermé aux modifications” quand c’est tout le contraire d’une strategie de plate forme qui est avec plus ou moins d’insistance le centre de la strategie de MS depuis les 25 dernieres annees.

Et puisque tu me le demande, je te previens de suite: pour customizer IE avec Java il suffit d’utiliser n’importe quelle plateforme d’interop Java/COM. Y en a meme plusieurs et t’as le choix, tu pourras le faire sans le hoster en entier d’ailleurs. Si t’insiste je te met un exemple de code, y en a vraiment pas pour beaucoup de code, mais ca me ferait chier d’installer Java juste pour ca…

Enfin je vois pas le rapport entre les demandes des clients d’abord ou apres ou pendant ou je sais pas quoi. C’est completement orthogonal et un probleme tres different de la volontee de developper une plate forme.

B) azera

[quote=« Azera, post:11, topic: 27080 »]Je tiens à préciser que Delphi est un language qui justement favorise fortement la programmation objet (le système de composant si cher à Delphi en est un peu la preuve).D’ailleurs le language en lui même, c’est le pascal objet.[/quote] Je ne vois pas ce que viens faire cette remarque. C’était un exemple d’apprentissage avec les HElloWorld, j’aurais pu parler de GWBasic. Je sais que Delphi fait de l’objet mais il permet aussi de programmer en procédural, ce que ne permet pas java, dans ce sens il est plus simple. Delphi est jusqu’à présent mon environnement de dév préferé mais j’avais envie de passer à des langages plus utilisé comme java et dot net. Je ne demande pas mieux que de faire du Delphi dot net mais ce n’est pas répandu du tout.

[quote=« Azera, post:11, topic: 27080 »]ils sont tous disponibles sur d’autres plateformes (.net avec mono, delphi avec kylix [ou plus largement le pascal objet avec free pascal compiler et lazarus][/quote] Je parlais des distrib standard et les plus répandues. Si on remonte à l’age de pierre (qui se sert de pascal sous unix, pourtant j’adore le pascal ?) ou des config en cours de recherche et développement. Mon explication ne se voulait pas exhaustive. Je sais qu’il ya Kylix et au dernière nouvelle bien que mono est parait-il bien aboutit, les applis mono ne court pas les rues à ce que je sache, et Kylix est l’exception qui confirme la régle d’outils d’origine windows sur unix.

[quote=« Azera, post:11, topic: 27080 »]Par contre, je ne vois pas trop en quoi on doit connaître les « subtilités techniques de la machine » pour les autres langages (à la limite de l’os, pour les api, mais la machine en elle même la grande majorité des developpements s’en foutent un peu non ? Je parle au niveau du code[/quote] Le rapport avec la choucroute? C’est un peu ce que je dis. Je dis que C et C++ sont plus proches de la machine et je ne fais pas de jugement de valeur sur l’interêt ou non d’en être proche.

[quote=« Azera, post:11, topic: 27080 »]Après, l’histoire de modder IE, oui c’est faisable, oui ça demande de l’encapsulation, non c’est pas une bonne idée pour débuter.[/quote] ah on est d’accord.[quote=« Azera, post:11, topic: 27080 »]Mais si il est vrai que Glop « monte sur ses grands chevaux », faut dire que ton post est quand même assez faux (ne pas confondre programme fermé et non modifiable, microsoft fait en sorte que beaucoup de ses softs aient des apis).[/quote] Alors on peut effectivement chipoter sur modifiable et fermé mais si on reprend l’exemple des plugins IE, je trouve que même s’il y a douze mille API ça ferme les évolutions et le développements en modification (je précise). Contrairement à l’open source un programme commercial est fermé par définition. Il y a d’autres soucis pour les programmes non commerciaux. Quand il y a un bug sur un programme commercial on ne peut pas le corriger. Ben moi je trouve que cela ferme le programme.

Donc ok au sens où l’entends Glop les programmes commerciaux ne sont pas fermés mais toutes tes autres remarques ne visaient qu’à ergoter alors que mon but n’étaient pas de refaire l’histoire de l’informatique mais présenter rapidement les diffèrents langages sans parler des exceptions.
C’est vraiment n’importe quoi. A chaque fois il faut que genre de discussion dérive sur ces querelles de chapelles stériles alors que la personne en question à l’origine du thread posaient des questions sur savoir quel langage apprendre. Autant Glop réponds sur la partie qui le chiffonne mais il ne s’amuse pas à tout dénigrer.

edit pour faskil :stuck_out_tongue: plus de spécial loupe. Ben justement comme je trouve ce genre de discussion lourde, et à côté de la plaque, et que j’en fais un pâté, c’est plus fort que moi faut que je réponde ,je voulais en diminuer la place. :stuck_out_tongue:

edit2: vous seriez bien aimable de ne pas rebondir indéfiniment sur ce que je dis, mais plutôt de formuler des réponses aux questions que se pose gIaOu13 :stuck_out_tongue: (Putain 2h29 du mat, ça devrait être mort à cette heure là :stuck_out_tongue: )

phili > si tu pouvais éviter la police « spéciale loupe », c’est illisible là… surtout si tu fais des pâtés de 4 km

Edit : merci phili ! :stuck_out_tongue:

Ah mais je dénigre pas.

Delphi est objet. Point.
Il est pas question de dénigrer qui que ce soit.
Je veux bien te faire plaisir et dire que delphi n’est pas objet, mais là ça serait idiot.

Tout le reste sur VB, .net etc, c’est juste que tu donnes une image d’eux “Windows” !
C’est faux, un langage n’a rien à voir avec un OS (sauf VB).
Et je persiste, connaître les “subtilités techniques de la machine”, ça se fait autant en C qu’ailleurs, tout dépend du besoin (le rapport avec la choucroutte, c’est que tu décrit le C++ comme un langage où ces subtilités sont nécéssaires).

Alors soit, je n’ergoterai plus, mais de ton côté essaye de ne plus prendre les remarques comme des attaques personnelles. Si un truc faux est dit et que quelqu’un le ‘corrige’, il ne te vise pas personnelement (nan je dis ça parce que, moi, j’en ai un peu rien à faire que tu soit d’accord avec moi si c’est pour partir dans un débat inutile, je ovulais juste apporter deux trois précisions).

[quote=« Azera, post:15, topic: 27080 »]Delphi est objet. Point.[…] essaye de ne plus prendre les remarques comme des attaques personnelles.[…] je ovulais juste apporter deux trois précisions).[/quote] Delphi est objet certes mais on peut programmer totalement en procédural. Je t’assure que je ne prends pas tes remarques comme des attaques personnelles mais ce tatillonnage hors sujet, même s’il s’appliquait à qq’un d’autres, m’agacerait :stuck_out_tongue: Petit clin d’oeil sur une faute de frappe.

edit: allez hop dodo aussi :stuck_out_tongue:

Les rares fois où j’ai pu m’adonner à la programmation c’était du TurboPascal et si on parle bien de la même chose… :stuck_out_tongue: Voilà qui me rappelle les DS les plus vicieux auxquels j’ai été confronté, ceux où le prof nous demandait de « programmer » sur notre copie, avec un stylo, sans qu’on puisse vérifier si les lignes de code fonctionnaient. Des DS qui étaient à la sueur froide ce que ce thread est au flood: des « grands moments » (de sueur froide/flood)

Houla, dodo. :stuck_out_tongue:

Note: Le geek est parfois vachard, un peu d’indulgence avec gIagOu13, pas la peine de le « toiser » avec des posts qui se résume à des « Uhuh pauv’ truffe » à peine masqué. Vous voulez le dégouter du forum? De la programmation? ^^
J’dis ça, j’dis rien…

Y a que toi qui fait des guerres de chapelle en comparant programme commercial et open source alors que ca a rien a voir phili_b. T’es le seul sur le dada la.

Allez une dernière juste pour la form(e) :

TMainform = class(TForm)
procedure blabla();
private
{ Private declarations }
public
{ Public declarations }
end;

Voilà exactement ce que tu utilise pour ton code procédural … un gros objet :stuck_out_tongue:

PS: oups, mes petits secrets qui s’échappent a cause d’une vulgaire faute de frappe … :stuck_out_tongue:

Bonjour ! moi je viens poser une question assez hors sujet… Je veux juste savoir s’il est possible d’ecrire des plugs in pour explorer… (pas IE.)