IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C++ Discussion :

[aide] Méthode de conception d'un logiciel basé sur l'architecture des plug-in


Sujet :

C++

  1. #1
    Membre très actif
    Avatar de diden138
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    714
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 714
    Par défaut [aide] Méthode de conception d'un logiciel basé sur l'architecture des plug-in
    Bonjour, tous d'abord je tien à remercier toute l'equipe de dev pour tous.
    voila je voudrais savoir qu'elle sont les méthodes utilisées pour baptir un logiciel basé sur l'architecture des plug-in en C++? parceque j'en ai aucune idée.
    Ps: n'importe quel lien intéressant je suis preneur.aussi si vous avez qlq nom de livres intéréssant qui parle de ce sujet je suis preneur.
    je tien à préciser que je developpe mes appli esssentielement sous c++builder 6 ,et visual c++ express edition .
    cordialement@+

  2. #2
    Expert confirmé

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par défaut
    Le probleme en C++ est qu'on n'a pas une ABI unifiée entre les différents compilos, sans parler de la gestion de la durée de vie des objets etc... Ce qui se fait, c'est:
    - proposer une interface en C
    - imposer d'utiliser un compilateur en particulier pour développer les plugins
    - utiliser COM/OLE (sous Windows), ou un équivalent (parfois maison)

  3. #3
    Alp
    Alp est déconnecté
    Expert confirmé

    Avatar de Alp
    Homme Profil pro
    Inscrit en
    Juin 2005
    Messages
    8 575
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2005
    Messages : 8 575
    Par défaut
    Dans tous les cas, ce qui est souvent fait c'est de proposer des libs dynamiques. Mais dans ce cas là, c'est une réelle prise de tête de faire des applications portables.

    Si c'est pour du professionnel, il faut utiliser les technologies optimales pour ta plateforme, cf le dernier "-" de Aurélien.

  4. #4
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    Techniquement, il ne sera pas possible avec de l'édition de liens dynamique d'instancier des templates par exemple, à moins de fonctionner avec un interpréteur ou un compilateur JIT.
    Sinon, tout C++ peut techniquement fonctionner. Bien entendu tu ne disposeras pas de performances optimales obtenues par de l'édition de liens statique.

  5. #5
    Membre très actif
    Avatar de diden138
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    714
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 714
    Par défaut Re:
    Tous d'abord merci pour vos réponses.
    donc si je résume bien c'est impossible ou du moin trés difficile de baptir un logiciel en c++ basé sur l'architecture des Plug-in ?ce que je comprend pas c'est qu'on en parle peu et il y'a peu de doc la dessu

    Cordialement @++

  6. #6
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    donc si je résume bien c'est impossible ou du moin trés difficile de baptir un logiciel en c++ basé sur l'architecture des Plug-in ?
    Tu dois pas savoir résumer.
    Je t'ai dit que cela ne posait aucun problème à part pour les templates.

  7. #7
    Membre très actif
    Avatar de diden138
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    714
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 714
    Par défaut Re:
    désolé je ne vous ai pas bien compri.
    je cherche comment procéder de A à Z ou du moin comment commencer ,
    j'ai jamais fais ça c'est pour cela en plus je trouve rien sur le net
    merci encore
    cordialement@++

  8. #8
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par défaut
    Salut,

    En fait, il y a deux aspects qu'il te faut bien séparer:

    L'aspect de l'application en elle-même, qui doit au minimum disposer d'un "système" permettant de charger/décharger/sélectionner/(...) le(s) plugin(s) nécessaire(s), et de l'autre l'aspect de la structure des plugins en elle-même:

    • Pourquoi faire un plugin
    • Besoin d'un nouveau plugin (pourquoi devrais je créer un nouveau plugin)
    • utilité du plugin (ce qu'il apporte)
    • ...
    seront sans doute autant de questions qu'il faudra te poser pour chaque plugin que tu envisage de rajouter à ton application de base, sans oublier, bien sûr de définir une "ligne directrice" sur ce qui doit être créé sous forme de plugin

    Dans le tutorial de Laurent gomila sur la réalisation d'un moteur de rendu 3D, je sais qu'il présente une approche qui concerne la gestion des plugins... De tête, je dirais que c'est près de la section qui concerne le "ressourcemanager"...

    D'un autre côté, le la création du plugin passera sans doute par... la création de DLL...

    Cela fait quelque temps que je n'en ai plus vu passer, mais je sais que la création de DLL est régulièrement évoquée sur le forum, et que certaines interventions fournissent des liens très intéressant à suivre... Une petite recherche sur ce forum devrait te permettre de retrouver ces interventions .

    Couplée à une recherche "personnelle" sur internet, cela devrait te permettre de démarrer "à peu près facilement"
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  9. #9
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 064
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 064
    Par défaut
    Au dela de l'aspect purement technique en C++, il y a aussi toute une partie conceptuelle à gérer.
    La meilleure méthode est tout d'abord d'employer du OO à outrance et de faire en sorte que plugins et programmes communiquent exclusivement via des interfaces. Pourquoi? Pour la compatibilité bien sur. Comme le but d'un système de plugin est de laisser d'autres développeurs ajouter des fonctionnalités à ton programme, il est hors de question qu'ils soient obligés de modifier leurs plugins à chaque mise à jour mineure. D'où l'utilité, dans le contexte du C++, de rédiger des headers contenant les interfaces pour la communication puis de s'interdire d'y toucher. La moindre modification dans ces headers = nouvelle norme de compatibilité = mise à jour de tous les plugins.
    Sinon, il y a une solution alternative. Beaucoup d'applics utilisent plutot du scripting pour des questions de simplicité. Si ça t'interresse tu trouveras quelques articles sur le LUA sur developpez.

  10. #10
    Membre très actif
    Avatar de diden138
    Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    714
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mai 2006
    Messages : 714
    Par défaut Re:
    Merci pour tout ,
    enfin des réponses claires je vais commencer par explorer vos pistes et je vais faire quelques recherche sur dev je vous prévien de mon avancement merci encore.
    cordialement @++

Discussions similaires

  1. box+Logiciel basé sur du libre
    Par specimen45 dans le forum ALM
    Réponses: 0
    Dernier message: 28/07/2010, 22h42
  2. Logiciel basé sur un jeu non informatique
    Par S-SaS dans le forum Licences
    Réponses: 1
    Dernier message: 09/03/2010, 10h34
  3. Réponses: 2
    Dernier message: 31/12/2009, 15h39
  4. [Aide] Architecture des Plug In
    Par diden138 dans le forum Delphi
    Réponses: 11
    Dernier message: 05/03/2007, 13h57

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo