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

Java Discussion :

Mémorisation du contexte d'un logiciel


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de scorbo
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    176
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 176
    Par défaut Mémorisation du contexte d'un logiciel
    Bonjour,

    Je suis en train de développer une application, un lecteur multimédia pour être plus précis, entièrement basé sur un principe de plugins. L'application contient un plugin pour lire les fichiers vidéos, un autre pour les fichiers audios,etc... Donc chaque plugin contient ses données et son ou ses JPanels.
    A côté de ceci j'ai un petit écran (80 caractères sur 24 lignes) branché sur le port parallèle de l'ordi et sur lequel j'aimerais afficher certaines données provenant de ses plugins (par exemple le nom du fichier audio en cours d'écoute).

    Pour ça il faudrait un système de contexte auquel les plugins viendraient s'abonner afin que leurs données soit accessibles (en lecture seule !) à d'autres plugins.

    Je cherche donc à mettre en place ce type de mécanisme, mais je n'ai pas trouvé d'exemples ni de solutions dont je sois sûr qu'elles répondent correctement à mes attentes (table de hachage, méthodes d'accès aux variables...)

    Je suis donc ouvert à toutes propositions ?!

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    255
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 255
    Par défaut
    Je ne comprends pas :

    tu veux réaliser une interface pour le "contexte" de ton application ou pour le "contexte" de tes plugins ?

    Ou bien tu cherches à réaliser un accesseur universel pour les données des plugins ?

  3. #3
    Membre confirmé Avatar de scorbo
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    176
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 176
    Par défaut
    C'est une interface pour le contexte de l'application que je cherche à faire (l'application en elle même n'est qu'un gestionnaire de plugin).

    Le but est de savoir à tout moment dans quel état se trouve l'application. Donc dans mon cas je dois pouvoir dire à l'instant t : quel est le niveau du volume (gérer par un plugin), si c'est le plugin audio qui est lancé je dois savoir quelle musique est en cours (son titre, le temps écoulé...), même principe avec le plugin vidéo. Et pour ça il faut que toutes ces données soient centralisées quelques part. Donc il faut que les plugins viennent s'enregistrer (du moins leurs données) dans un gestionnaire qui fournira également une API pour récupérer ces données.

    J'espère avoir été plus clair ?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    255
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 255
    Par défaut
    Le problème c'est que toutes ces données sont assez hétérogènes...

    Si tu compte limiter ton programme à des types de plugin bien définis, tu peux prévoir des structures de données pour chacun de ces types et les stocker où tu veux.

    Sinon si tu veux "ouvrir" les plugins à des ajouts futurs non définis il faut que tu leur trouve un format commun et tout sera plus simple (ex : que des chaines de caractères, identifiées par des clés).

  5. #5
    Membre confirmé Avatar de scorbo
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    176
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Décembre 2002
    Messages : 176
    Par défaut
    L'application n'est pas limitée à certains type de plugins, c'est bien là la difficulté. J'ai commencé par ceux de base mais il peut y en avoir plein d'autres (la limite c'est l'imagination)

    Je suis déjà tombé sur un système dont je pourrais m'inspirer : le principe est tout bête puisqu'il s'agit d'une table de hachage décrivant l'application comme un ensemble de noeuds, ce qui donnerait :

    PluginVideo.Music.title
    PluginVideo.Music.timeElpased
    PluginVolume.level
    PluginHorloge.hour
    PluginHorloge.minute


    Bien entendu il faudrait que le développeur du plugin fournisse sa table de hachage dans une doc.

    C'est également le principe qui est utilisé dans un protocole réseau afin de communiqué avec différente carte électronique ayant par exemple des capteurs, mais le nom m'échappe. Il suffit de demander la valeur à une "adresse" qui en fait correspond à un noeud de la table.

    Je me demande si ce principe est exploitable dans mon cas et s'il n'y en aurait pas d'autres mieux adapté.

  6. #6
    Membre Expert
    Avatar de CheryBen
    Inscrit en
    Mai 2005
    Messages
    1 599
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 599
    Par défaut
    Le mieu est de créer une classe Contexte qui ne contiendra qu'une simple liste de propriétés. (en utilisant la classe Properties, et en ne mettant que des String dedans)

    Comme ça tu peux parcourir les propriétés de chaque plugin sans savoir ce qu'il y a au préalable dedans. Ce sera au plugin de gérer l'extraction et la restauration du contexte, donc seul lui connait les identifiants des données à utiliser.

Discussions similaires

  1. Quel logiciel (EDI) pour débuter en programmation ?
    Par mimosa69 dans le forum Débats sur le développement - Le Best Of
    Réponses: 13
    Dernier message: 17/01/2016, 16h45
  2. Logiciel pour mémoriser les idées
    Par Safaritn dans le forum Autres Logiciels
    Réponses: 3
    Dernier message: 10/04/2008, 10h52
  3. [Débutant; prob logiciel] LCC avec conTEXT
    Par Beny369 dans le forum Autres éditeurs
    Réponses: 5
    Dernier message: 30/11/2006, 20h33
  4. [système] Comment ajouter un item dans le context menu de Windows ?
    Par ddmicrolog dans le forum API, COM et SDKs
    Réponses: 8
    Dernier message: 29/06/2005, 17h03
  5. Cours, tutoriels, logiciels, F.A.Q,... pour le langage SQL
    Par Marc Lussac dans le forum Langage SQL
    Réponses: 0
    Dernier message: 04/04/2002, 10h21

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