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 :

comment fonctionne les patch correctifs


Sujet :

Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de keub51
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    349
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 349
    Par défaut comment fonctionne les patch correctifs
    Bonjour,

    Je viens de creer un programme et de le distribuer. Aussi comme tout bon programme il y a des erreurs ( quoi j'ai di "bon" pas "parfait" lol ).

    Je me demandais comment faire pour créer un patch correctif appliquable a mon application.

    Parce que bon j'imagine qu'un patch correctif doit intervenir sur une partie du code source pour le modifier pour le corriger. Or pour moi la solution serait davoir un autre code source qui modifirai le premier... mais ca voudrais dire que l'on auré déjà pensé à l'erreur avant quelle ne se produise, donc c'est incencé puisque sinon l'erreur n'aurai pas lieu d'être et serai déjà corriger, donc pas de patch...
    Et là vous devez vous dire qu'il faudrais me mettre dans la section humour de ce forum pour ma superbe logique... vous avez pas tord mais ca réponds pas à ma question :

    Comment crée t'on, gère t'on des patch correctifs destinés a modifier le code source ?

    Merci...

  2. #2
    Membre émérite Avatar de Jidefix
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    742
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations forums :
    Inscription : Septembre 2006
    Messages : 742
    Par défaut
    Euh... Un patch correctif n'est-il pas plutot destiné à corriger le code compilé? En gros, tu modifie ton code source chez toi, tu compiles, et si ça marche tu envoie ton code compilé aux clients qui écrasent le code qu'ils ont déja?

  3. #3
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par Jidefix Voir le message
    Euh... Un patch correctif n'est-il pas plutot destiné à corriger le code compilé? En gros, tu modifie ton code source chez toi, tu compiles, et si ça marche tu envoie ton code compilé aux clients qui écrasent le code qu'ils ont déja?
    Ceci n'est pas vraiment un patch...



    A l'origine le terme patch vient des utilitaires Unix diff et patch.
    • diff permet de générer un fichier contenant les différences de deux fichiers textes A1 et A2 (généralement du code source).
    • patch permet d'utiliser le résultat de la commande diff pour "transformer" A1 en A2


    Je pense qu'il doit exister des systèmes similaires pour des fichiers binaires... mais je ne sais pas si c'est forcément la meilleure solution ! En effet si tu appliques un patch sur une version incorrecte tu peux te retrouver avec un fichier invalide


    Mais c'est vrai que ce que l'on appelle généralement patch pour les mises à jours du systèmes et des jeux ne procède plus vraiment de cette manière, puisque généralement le fichier est simplement remplacé...



    keub51 >> Il faudrait savoir ce que tu veux faire exactement ?

    Si c'est pour mettre à jours ton application, autant fournir simplement le nouveau bytecode ou directement le nouveau jar (cela peut impliquer une bonne séparation du code en plusieurs jar afin d'éviter d'avoir à tout réenvoyer à chaque mise à jour).

    Si c'est pour conserver le code source à jour, le plus simple serait d'utiliser un outils fait pour cela, comme CVS ou Subversion...

    a++

  4. #4
    Membre éclairé Avatar de keub51
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    349
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 349
    Par défaut
    ok ok j'ai ma reponse mais allons plus loin...

    si je veux proposer des ameliorations : exemple j'ai une fenetre avec 2 panels et je veux en ajouter un troisieme qui pourrait par exemple me servir a afficher l'heure.

    comment fait t'on pour creer ce genre de modifications ? il faut un code qui puisse interpreter de possible évolutions ? donc tout prévoir à l'avance...

    jpeux prendre par exemple firefox où l'on peut mettre des tas de plug ins divers et variés. Ca veut dire que quelquepart dans le code source de firefox il y a un module spécial pour changer les fonctionnalité de ff ? comment transposer ca à un bête programme java ?

  5. #5
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par keub51 Voir le message
    jpeux prendre par exemple firefox où l'on peut mettre des tas de plug ins divers et variés. Ca veut dire que quelquepart dans le code source de firefox il y a un module spécial pour changer les fonctionnalité de ff ? comment transposer ca à un bête programme java ?
    Ok ceci n'est pas un patch mais un plugin ou une extension.

    Je m'explique : comme je l'ai dit un patch a pour but de modifier un programme d'une vielle version pour qu'il adopte la nouvelle version...


    Un plugin (ou une extension) correspond généralement à un morceau de code qui vient se greffer dans une application pour apporter de nouvelles fonctionnalités. Pour faire cela une application doit définir une interface de communication entre l'application et le plugin. En Java le plus simple serait d'utiliser une interface ou une classe abstraite.

    Ton application se chargera ensuite de charger les classes implémentant cette interface et de les utiliser. Une fois ton plugin charger il doit avoir accès à certains éléments de ton applications afin de les modifier (tu peux par exemple les lui passer via un setter).



    Tu as un article sur le sujet sur developpez : Création d'un système de plugins en java
    Et il n'y a pas si longtemps de cela il y a eu un article interressant sur SDN : Creating Extensible Applications With the Java Platform (c'est en anglais mais cela a l'avantage d'utiliser la classe ServiceLoader de Java 6).



    a++

Discussions similaires

  1. Comment fonctionnent les "keywords"
    Par shikakus dans le forum Référencement
    Réponses: 3
    Dernier message: 29/01/2007, 00h13
  2. Comment fonctionne les versions d'un logiciel?
    Par Antigonos Ier Gonatas dans le forum Windows
    Réponses: 12
    Dernier message: 14/07/2006, 18h48
  3. [VB6] Comment fonctionne les Tableaux ?
    Par Lucas42 dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 27/04/2006, 14h59
  4. [FLASH 8] Comment fonctionne les clips
    Par steeves5 dans le forum Flash
    Réponses: 3
    Dernier message: 27/01/2006, 10h23
  5. Comment fonctionnent les index des options d'un select ?
    Par pekka77 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 31/10/2005, 18h05

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