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

Langage Java Discussion :

developper une application avec une grande durée dans le temps


Sujet :

Langage Java

  1. #1
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 249
    Points : 314
    Points
    314
    Par défaut developper une application avec une grande durée dans le temps
    bonjour,

    Je dois creer un petit logiciel qui permette de communiquer avec des produits via le protocol SNMP. J'ai besoin d'afficher des images, des boutons, des listes déroulante (que du courant)...
    Le programme consommera très peu de ressources.

    Je ne suis pas programmeur de metier mais j'ai quand même des connaissances en prog (je suis electronicien). C'est pourquoi il faut que je passe un minimum de temps dans le developpement et que le programme soit viable le plus longtemps possible sans avoir à modifier le programme.

    Pardonner moi maintenant si je vais dire des bétises
    - Je pensais le faire en Java car ce langage permet d'avoir le même code entre une version windows et linux (meme pas besoin d'avoir une compilation du programme différente).
    - Ce langage permet d'avoir des programmes de longue pérénité : c'est à dire que dans 10ans, il est fort possible que le programme fonctionne encore (sans avoir fait de mise à jour) sur les nouveaux PC car l'interpreteur Java aura évolué.
    => est-ce que j'ai dit une betise ?

  2. #2
    Rédacteur
    Avatar de eclesia
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    2 108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 108
    Points : 3 203
    Points
    3 203
    Par défaut
    Dans 10ans on verra bien. Mais c'est certainement avec java que ca aura le plus de chance d'etre vrai.
    Systèmes d'Informations Géographiques
    - Projets : Unlicense.science - Apache.SIS

    Pour un monde sans BigBrother IxQuick ni censure RSF et Les moutons

  3. #3
    Membre émérite
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Points : 2 582
    Points
    2 582
    Par défaut
    Citation Envoyé par Emcy
    Pardonner moi maintenant si je vais dire des bétises
    - Je pensais le faire en Java car ce langage permet d'avoir le même code entre une version windows et linux (meme pas besoin d'avoir une compilation du programme différente).
    Oui. À condition toutefois de ne pas programmer comme un cochon. L'un des sujets récurants ici est Mon programme Java marche super dans mon environnement de dev, mais plus en ligne de commande ! Autrement dit, ils ont fait un programme Java qui n'est même pas compatible avec leur propre poste.

    Si la portabilité est très facile en Java, puisque, effectivement, il n'est pas besoin de recompiler, et qu'elle couvre une très large palette de fonctions (dont la gestion d'images et de fichiers), il n'en reste pas moins vrai que le programmeur ne doit pas faire le guignol.

    Citation Envoyé par Emcy
    - Ce langage permet d'avoir des programmes de longue pérénité : c'est à dire que dans 10ans, il est fort possible que le programme fonctionne encore (sans avoir fait de mise à jour) sur les nouveaux PC car l'interpreteur Java aura évolué.
    Mouais... Expérience concrète : un programme java fait en java 1.2 (donc vers 2001, je crois), jamais touché depuis, refonctionne nickel avec java 5. Cela fait donc une pérénité de 5 ans. Il en reste encore 5 autres à passer.
    Mieux que Google, utilisez Sur Java spécialisé sur la plate-forme java !
    Pour réaliser vos applications Java dans le cadre de prestations, forfait, conseil, contactez-moi en message privé.

  4. #4
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 249
    Points : 314
    Points
    314
    Par défaut
    merci pour vos reponses, ça conforte ce que je pensais...

    Pour les problèmes de portabilité, quels sont les pièges à éviter ?

  5. #5
    Membre émérite
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Points : 2 582
    Points
    2 582
    Par défaut
    Ahoulà, il doit y avoir la liste quelque part, mais je sais pas trop où

    À mon avis, le premier piège est de croire que c'est automatique. C'est vrai, mais il n'empêche. Si c'est vraiment ça ton point sensible, alors au début fais-toi un environnement sous windows et un autre sous linux, et passe du temps à tout tester dans les deux environnements. Lorsque tu découvriras les pépins (et leur solution), tu te diras quelque chose comme Ah ben oui c'est normal. Mais cela va mieux en le disant avant.

    Sinon, en vrac, pour te faire peur : la gestion des fichiers, des caractères, des fenêtres GUI... enfin, tout, quoi Faut lire la doc, et découvrir comment le système java est portable, non seulement par le byte code, mais aussi par ses techniques et api de programmation. Dans la doc ils t'expliquent comment résoudre tel ou tel point sensible pour la portabilité. Si tu la lis pas et l'applique pas, tu obtiendras un programme qui tourne, mais pas portable du tout.

    Le cas le plus connu est celui des fenêtres avec des tailles d'écran différentes. Tu peux réaliser une belle GUI qui cadre bien chez toi, mais qui dépassera de l'écran sur d'autres, ou sera très petite sur d'autres encore. Ton byte code fonctionnera nickel partout, mais le résultat sera n'importe quoi.

    Solution proposée par Java : la notion de Layout. Cette notion, tu l'appliques ou tu l'appliques pas, tu la critiques ou tu la critiques pas, n'empêche que si tu la connais pas tu auras du mal.

    Et ainsi de suite.
    Mieux que Google, utilisez Sur Java spécialisé sur la plate-forme java !
    Pour réaliser vos applications Java dans le cadre de prestations, forfait, conseil, contactez-moi en message privé.

  6. #6
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 249
    Points : 314
    Points
    314
    Par défaut
    c'est vrai que la ça fait peur
    => je pensais que ça allait etre plus facile que ça...

    si quelqu'un connais l'endroit ou je peux trouver la liste complete, je suis prenneur...


    Ce qui m'etonne c'est que tu me dises qu'on peut avoir le meme code entre linux et windows pour la gestion des fichier alors que le formatage est différent..

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    176
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 176
    Points : 124
    Points
    124
    Par défaut
    Quand c'est des chemins relatifs oui c'est possible car il te suffit de gérer les noms de tes fichiers avec ceci System.getProperty("file.separator").

    Mais quand tu utilises des chemins absolus ( très déconseillé) tu dois gérer sur quel Os tu es avec System.getProperty("os.name").

  8. #8
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 249
    Points : 314
    Points
    314
    Par défaut
    d'accord, merci

    ... je cherche toujours la liste...

  9. #9
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Il n'y a apps réellement de liste.
    La première chose à éviter au maximum est de se rapprocher des OS (du Runtime.getRuntime.exec(...), du JNI &cie) et don de rester vraiment en java pur.

    Deuxième chose ne jamais au grand jamais utiliser les classes com.sun.xxx qui ne font pas partie de la spécification java (d'ailleurs elles ne sont pas dans la javadoc) et sont susceptibles de changer d'un version à l'autre de java ou de ne pas exister dans un java non sun.

    Pour moi le plus important est surtout d'avoir un code propre, bien structuré et documenté (ce que l'on n'a pas toujours le temps de faire, mais qui doit être réalisé au maximum). Ne pas faires des méthodes de 500 lignes de long qui sont un carnage à débugger et à comprendre.

    Grosso merdo, essaies d'appliquer au maximum une méthode/une idée, enfin que ton appli soit compréhensible du point de vbue fonctionnel et ne possédant pas 40 classes magiques dont on ne sait pas ce qu'elle font.

    Ensuite faire deux ou trois modifs dans une durée de vie de 10 ans ce n'est pas la mort, surtout quand le code est propre et que l'on peut aisément cibler la modif à réaliser
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  10. #10
    Membre émérite
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Points : 2 582
    Points
    2 582
    Par défaut
    Citation Envoyé par Emcy
    Ce qui m'etonne c'est que tu me dises qu'on peut avoir le meme code entre linux et windows pour la gestion des fichier alors que le formatage est différent..
    Oui, c'est un bel exemple de problème traité et résolu par la plate-forme java.

    Comme en parle déjà Anubis, si tu te pointes en écrivant fichier = new File("tralala\\itout"), il est bien évident que ce code ne donnera satisfaction que sous windows.

    Il y a donc tout une réflexion dans la "communauté" java pour concevoir des applis indépandantes d'un mode de définition des chemins de fichiers.

    Moi, par exemple, j'écris :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    reptralala = new File("tralala");
    itout = new File(reptralala, "itout");
    Ce code fonctionne bien partout.

    Tout ça pour dire que, si ce type de démarche t'intéresse, alors tu seras intéressé par java, et tu auras de bons résultats, plus rapidement et complètement qu'avec tous les autres systèmes (sur ce créneau). Si tu croyais trouver en java un truc qui te fasses toute la portabilité automatiquement, alors tu risques d'être déçu.
    Mieux que Google, utilisez Sur Java spécialisé sur la plate-forme java !
    Pour réaliser vos applications Java dans le cadre de prestations, forfait, conseil, contactez-moi en message privé.

  11. #11
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Maouip enfin en java le / marche partout y compris sous windows...
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  12. #12
    Expert éminent sénior
    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
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par sinok
    Maouip enfin en java le / marche partout y compris sous windows...
    +1

    Toutefois il est préférable de ne pas l'utiliser si le nom du fichier est affiché à l'utilisateur

    De plus on peut utiliser File.separator qui vaut / ou \ selon le système

    a++

  13. #13
    En attente de confirmation mail
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 249
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 249
    Points : 314
    Points
    314
    Par défaut
    merci pour vos reponses

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/04/2015, 11h17
  2. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 12h59
  3. Comment utiliser une webcam avec une application web
    Par /*Mr.D*/ dans le forum Services Web
    Réponses: 3
    Dernier message: 24/01/2007, 07h59
  4. Réponses: 2
    Dernier message: 23/05/2006, 02h40
  5. Réponses: 2
    Dernier message: 21/05/2006, 09h30

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