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

Langages de programmation Discussion :

[Avis] Quel langage pour faire une GUI pour un pgm Fortran ?


Sujet :

Langages de programmation

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 15
    Points : 11
    Points
    11
    Par défaut [Avis] Quel langage pour faire une GUI pour un pgm Fortran ?
    salut a tous

    Il faut que je fasse une interface graphique pour un programme en fortran (integration du programme et exploitation des résultats que me retourne le programme fortran) et voulais savoir qu'elle langage utiliser et surtout ou trouver des détailles pour faire cette interface.

    Moi je pensais faire ça en java(car portable et asssez simple), mais la connexion entre c'est deux langages n'a pas l'aire dêtre simple (utilisation du JNI).

    Merci d'avance.

  2. #2
    Membre expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Points : 3 166
    Points
    3 166
    Par défaut
    Bonsoir,

    Pour avoir passé pas mal d'années à faire ce genre de choses dans mon précédent boulot, je dois pouvoir t'aiguiller ...

    Tout d'abord, avec le FORTRAN, je te conseillerai de ne pas trop te lancer dans une IHM intégrée ... il vaut mieux séparer au maximum ton code de calcul de l'IHM. Cela permet une meilleur portabilité (seule l'IHM est à redévelopper si elle n'est pas compatible avec une nouvelle plate-forme, le code se recompilant avec le compilateur natif de la nouvelle plate-forme).

    Cela permet, de mieux spécifier et de formaliser les interfaces de ton code de calcul (lui faire rentrer toutes ses données soit par des fichiers d'entrée, soit par des redirections de la saisie à partir de fichiers - lui faire sortir tous ses résultats dans des fichiers de sortie, ou rediriger l'affichage vers un fichier).

    Ensuite, tu n'as plus qu'a concevoir l'IHM (GUI) comme un enrobage autour de tout ça et ses seuls traitements seront :
    - la saisie des valeurs et leur controle de cohérence
    - la génération des fichiers d'entrée du code
    - le lancement du code de calcul et l'attente de sa terminaison
    - le post-traitement ou l'exploitation des résultats.

    Tout cela peut être fait à partir d'à peu près n'importe quoi. J'en ai fait en C/Motif, en Tcl/Tk, en Visual-Basic, en Delphi, en Visual-C++, en Java/Swing, en Perl/Tk et même en HTML/CGI-Perl et PHP et je suis loin d'avoir épuisé toutes les possibilités.

    Ceci dit, bon courage, car le plus dur dans le développement d'IHM autour de codes de calcul, ce n'est pas le codage, mais bien la spécification, l'analyse, qui est essentielle pour avoir une IHM consistante, à défaut d'être ergonomique.
    La FAQ Perl est par ici
    : La fonction "Rechercher", on aurait dû la nommer "Retrouver" - essayez et vous verrez pourquoi !

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 15
    Points : 11
    Points
    11
    Par défaut
    Merci pour tes conseilles.

    Je voulez savoir est-ce que tu connais Qt pour le C++ et je voulais savoir ce qui serai le mieux entre Java/Swing et C++/Qt.

    Encore merci.

  4. #4
    Membre expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Points : 3 166
    Points
    3 166
    Par défaut
    Vu la multiplicité des outils que j'ai eu l'occasion d'utiliser, je ne ferai pas le choix pour toi, chaque cas est différent, mais voici quelques éléments pour orienter ton jugement ...

    Objectivement :
    - Il est évident, à mes yeux, que Java/Swing présente un réel avantage en terme de portabilité par rapport à Qt/C++

    Subjectivement, maintenant, et on approche le domaine du Troll :
    - Personnellement, je n'aime pas du tout le modèle objet de C++ - je préfère donc celui de Java.
    - Java, et surtout Java/Swing, c'est lent - Gros Troll des Bois ! - En fait, ça peut être remarquablement performant quand c'est <u>bien</u> programmé, mais l'optimisation n'est pas toujours facile, surtout quand on débute.

    Maintenant, une IHM pour un code de calcul a besoin d'un peu de réactivité, mais pas nécessairement d'être hyper-performante - il vaut mieux investir dans l'optimisation du code de calcul.

    Ensuite, pour toi, tout dépend des outils que tu as à ta disposition pour mettre en place ton IHM : un générateur d'Interface permet de dégrossir rapidement le travail, en te focalisant ensuite sur le codage des événements. A toi de voir ce qui est disponible pour QT ou pour Swing.

    Comme tu peux le deviner, mon coeur penche côté Java, mais ce n'est pas pour autant qu'il s'agit du meilleur choix dans le cas qui est le tien ...

    Au risque d'insister lourdement, l'essentiel du travail résidera quand même dans la spécification de l'IHM et l'identification de ses différents états.
    La FAQ Perl est par ici
    : La fonction "Rechercher", on aurait dû la nommer "Retrouver" - essayez et vous verrez pourquoi !

  5. #5
    Membre habitué Avatar de Kenji
    Inscrit en
    Janvier 2005
    Messages
    129
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Janvier 2005
    Messages : 129
    Points : 143
    Points
    143
    Par défaut Choix de langage
    Bonjour,je me permet de remonter ce post car il traite du sujet que j'aimerais aborder.
    En effet je dois realiser une interface pour un programme ecrit en Fortran et qui doit etre conservé.
    J ai donc choisi du Java mais je me pose la question de savoir si Java suffit a appeler le Fortran (et donc comment lui passer les parametes et recuperer les sorties) ou si il faut passer par du C et donc utiliser JNI
    Voila si quelqu un peut me donner quelques pistes afin de savoir comment lancer et recuperer le programme Fortran je vous remercie par avance.

    Un ptit debutant

  6. #6
    Membre expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Points : 3 166
    Points
    3 166
    Par défaut Re: Choix de langage
    D'habitude, j'évite de publier des messages privés, mais vu que la question a été aussi posée sur le forum et que la réponse intéresse peut-être d'autre personnes ... je le fais quand même, mais je censure sur demande ...

    Citation Envoyé par Kenji dans un Message Privé
    ... projets consistant a integrer une couche au dessus d'un programme Fortran.
    Je vais etre amené a le faire durant mon stage sans toucher au noyau au Fortran,j'aurais donc quelques questions a vous poser.
    1)sachant que je ne touche pas au code Fortrant puis-je utiliser seulement du Java pour le faire ou dois je utiliser une couche de C en plus pour l appeler.
    Tout dépend du code Fortran ...

    S'il s'agit de fonctions de calcul à utiliser, je n'ai jamais eu à le faire en Java, heureusement, parce que je ne sais pas le faire ... En C, l'appel de fonction Fortran ne pose pas de vrai problème ... On fait le lien à l'édition de lien (justement) et la seule difficulté était de fournir au compilo C la bonne définition de l'appel à la fonction Fortran.

    Maintenant, le cas le plus fréquent, qui est aussi le plus favorable et aussi celui que j'ai eu à traiter le plus souvent est que le noyau en Fortran est un programme complet et autonome. Dans ce cas, il n'y a qu'a en faire l'appel (ce qui ne pose aucun problème, ni en Java, ni en C) en ayant pris le soin de préparer au préalable les entrées à lui fournir et de traiter les sorties à récupérer ...

    Citation Envoyé par Kenji dans le même Message Privé
    2)Si je choisis seulement du Java comment puis je lancer mon programme Fortran?Je crois avoir compris qu'il faut initialiser le fichier d'entrées et recuperer celui de sortie.
    Donc j imagine que cela consiste de travailler sur du texte.

    3)Si je dois utiliser du C,comment puis je lancer avec les parametres et recuperer les sorties?
    Dans tous les cas, Java ou C, il faut :
    - Construire un fichier de réponse aux questions que pose habituellement le programme Fortran (qui est un programme conversationnel, pas un ensemble fenêtré).
    - Appeler le programme (en C, la fonction system() le fait très bien), en redirigeant ses entrées et ses sorties (mon_prog_fortran < fichier_entree.txt > fichier_sortie.txt)
    - Dépouiller les sorties pour trouver les données à présenter à l'utilisateur, parce qu'il avait certainement de bonnes raisons d'en demander le calcul.

    Un petit exemple :

    Supposons que le code de calcul soit un script perl tel que celui ci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #!/usr/bin/perl
    print "1er chiffre &#58;\n"; 
    $i=<>; 
    print "2e chiffre &#58;\n"; 
    $j=<>; 
    chomp&#40;$i, $j&#41;; 
    print "Produit = ".$i*$j."\n";'
    Il réclame la saisie de deux chiffres, et en affiche le produit.

    Il faudra construire le fichier d'entrée avec les réponses aux questions :
    fichier_entree.txt
    Il faut ensuite appeler le code de calcul tel qu'indiqué plus haut.

    On n'a plus alors qu'à dépouiller le fichier de sortie, qui dans notre cas contient :
    fichier_sortie.txt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    1er chiffre &#58;
    2e chiffre &#58;
    Produit = 15
    Attention, il contient effectivement tout ce qui a été affiché ... donc il contient toutes les question et tous les messages. Par contre, il ne contient pas les réponses fournies aux questions puisqu'elles n'ont pas été affichées par le programme ... elles venaient du fichier_entree.txt.

    Citation Envoyé par Kenji
    Bonjour,je me permet de remonter ce post car il traite du sujet que j'aimerais aborder.
    En effet je dois realiser une interface pour un programme ecrit en Fortran et qui doit etre conservé.
    J ai donc choisi du Java mais je me pose la question de savoir si Java suffit a appeler le Fortran (et donc comment lui passer les parametes et recuperer les sorties) ou si il faut passer par du C et donc utiliser JNI
    Voila si quelqu un peut me donner quelques pistes afin de savoir comment lancer et recuperer le programme Fortran je vous remercie par avance.

    Un ptit debutant
    Voila, tout est dit ou presque ... l'enrobage consiste effectivement à travailler surtout sur du texte. La vraie valeur ajoutée de l'enrobage est dans l'IHM et sa présentation ergonomique des données brutes qui seront placées dans le fichier d'entrées ou récupérées du fichier de sorties. L'IHM peut aussi réaliser des tests de cohérence des données saisies par l'utilisateur afin d'éviter que le code Fortran ne parte en sucette si des erreurs sont commises ...


    Bon courage.
    La FAQ Perl est par ici
    : La fonction "Rechercher", on aurait dû la nommer "Retrouver" - essayez et vous verrez pourquoi !

  7. #7
    Membre expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Points : 3 166
    Points
    3 166
    Par défaut
    Encore une fois, je déroge à mon habitude de ne pas publier le contenu des MP, mais il me semble que ce serait salutaire, au vu de la discussion qui s'engage sur cet autre fil et sur celui-ci.

    Si la réponse que j'apporte ici est assez satisfaisante, j'invite Kenji à marquer ces sujets en délestage, ou un modérateur à les verrouiller. Merci.

    Citation Envoyé par Kenji, dans un autre MP
    j'ai un petit souci et apres m'être creuser la tête pendant deux jours je n'arrive a aucune solution viable.
    Comme je vous l'avais dit je dois fournir des fichiers en Entrée et en Sortie de mon programme Fortran,le souci c'est que se sont des .DAT et en travaillant dessus en Java par un flux c'est illisible.
    Un fichier .DAT, en soi-même, ça ne signifie rien. .DAT, c'est pour "data", pluriel de "datum" qui signifie "donnée". On ne peut donc en tirer aucune information sur le contenu exact, et notamment le format utilisé.

    Lorsque l'on doit créer des interfaces entre programmes et logiciels, il est impératif de disposer d'une description exacte des informations transmises et du format de transmission. Le plus souvent, le code de lecture/écriture de fichier permet de se faire une assez bonne idée du contenu ...

    Je suis persuadé qu'à la lecture du code Fortran ( qui est beaucoup plus facile à lire qu'à écrire, il ne faut pas avoir peur ), tu t'apercevras que le fichier attendu est un fichier de données binaires.

    Or, je vois que tu utilise, dans le sujet que tu as posté en "Général Java", un objet de lecture bufferisée en ASCII (BufferedReader). Il est évident que des données binaires lues en ASCII ne seront pas cohérentes.

    Il faut, dans ce cas, privilégier l'usage de classes BufferedInputStream au lieu des BufferedReader.

    Il existe aussi des versions non-bufferisées (FileReader et FileWriter en ASCII, et FileInputStream et FileOutputStream en binaire).

    Je te recommande donc d'utiliser les objets-fichiers les mieux adaptés à ta spécification, ou alors - bien que je désapprouve cette approche - d'ajouter entre ton interface et le code fortran un programme de conversion (qui lit un FileReader et écrit un FileOutputStream, ou bien qui lit un FileInputStream et écrit un FileWriter).

    Un dernier avertissement concernant l'utilisation de fichiers binaires : ceux ci peuvent parfois contenir des données de type hétérogène (des int cohabitent avec des float ou des double). Il faut donc être extrêmement vigilant lors du traitement de lecture afin d'assigner les données à des types corrects, et surtout afin de lire la quantité exacte d'octets nécessaire à chaque type.

    Bon courage.
    La FAQ Perl est par ici
    : La fonction "Rechercher", on aurait dû la nommer "Retrouver" - essayez et vous verrez pourquoi !

  8. #8
    Membre habitué Avatar de Kenji
    Inscrit en
    Janvier 2005
    Messages
    129
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Janvier 2005
    Messages : 129
    Points : 143
    Points
    143
    Par défaut
    Oui j'avoue que j'ai cherche un peu de partout j'ai donc deleste les posts inutiles mais je dois avouer que j'ai encore quelques questions.
    J'ai donc teste une methode de decodage en utilisant pour le moment ce code la:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
            FileReader fr=null;
            int ligne;
            int i=0;
            String decode=new String&#40;&#41;;
        try&#123;
            fr=new FileReader&#40;"C&#58;\\DSD006.DAT;1"&#41;;
            &#125;
       catch&#40;FileNotFoundException exc&#41;&#123;
            System.out.println&#40;"Erreur d'ouverture"&#41;;
             &#125;
      while&#40; fr.read&#40;&#41; != -1&#41;&#123;
         decode=decode+" "+fr.read&#40;&#41;;       
             &#125;
      System.out.println&#40;decode&#41;;  
      fr.close&#40;&#41;;

    J'obtiens en sortie une suite de nombres a 2 chiffres (exemple):
    0 32 83 32 52 32 56 79 83 83 80 68 84 32 83 69 32 55 56 32 32 32 0 0 0

    Je pense que c'est le codage UNICODE mais comment les transformer en caractere?

    Je suis effectivement en train de me plonger dans le code Fortran (qui me fait pas peur quoique :p ) et effectivement aussi je commence a avoir peur sur comment gerer les int et float a fournir au programme.
    Je pensais gerer du texte et le sauvegarder sur le fichier DAT en entrée mais est ce possible?
    Ou faut il lire des int et ecrire des int dans les fichiers DAT ou peut on lire et ecrire des caracteres et les convertir au niveau du Java.

    Merci encore pour votre aide.


    PS:J ai essaye de rajouter:
    decode=decode+" "+(char)fr.read();
    il m'affiche du texte contenu dans le fichier mais il ne reconnait pas tout du genre:
    R R T N L 2 2 V N S 7 0 o r 1 . 0 0 2 8 4 6 7 + 0

  9. #9
    Membre expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Points : 3 166
    Points
    3 166
    Par défaut
    Voici un bout de code (désolé, j'ai eu du mal à le retrouver dans mes archives) qui démontre une lecture et une écriture dans un fichier binaire.

    Il n'est pas optimisé, mal conçu et inutilement lourd par certains aspects (objet conteneur de mes données) mais les lignes importantes pour toi sont les read* et write*, ainsi que les objets sur lesquels ces opérations portent.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    import java.io.*;
    
    class data &#123;
    	public Integer entier;
    	public Double flottant_double;
    	public String chaine;
    	public Integer autre_entier;
    &#125;
    
    public class test &#123;
    	public static void main&#40;String args&#91;&#93;&#41; &#123;
    		
    		System.out.println&#40;"Essai d'écriture"&#41;;
    
    		data donnees = new data &#40;&#41;;
    		
    		donnees.entier=2;
    		donnees.flottant_double=3.1415;
    		donnees.chaine="Bonjour le monde";
    		donnees.autre_entier=37890;
    
    		try &#123;
    			DataOutputStream outfile = new DataOutputStream &#40;new FileOutputStream &#40;"test.dat"&#41;&#41;;
    			outfile.writeInt &#40;donnees.entier&#41;;
    			outfile.writeDouble &#40;donnees.flottant_double&#41;;
    			outfile.writeUTF &#40;donnees.chaine&#41;;
    			outfile.writeInt &#40;donnees.autre_entier&#41;;
    			outfile.close &#40;&#41;;
    			System.out.println &#40;outfile.size &#40;&#41;&#41;;
    			System.out.println &#40;"C'est le nombre d'octets de ce que j'ai écrit &#40;4+8+?16?+4&#41;"&#41;;
    		&#125;
    		catch &#40;java.io.IOException e&#41; &#123;
    			e.printStackTrace&#40;&#41;;
    		&#125;
    		
    		
    		System.out.println&#40;"Essai de lecture"&#41;;
    
    		data recup = new data &#40;&#41;;
    		
    		try &#123;
    			DataInputStream infile = new DataInputStream &#40;new FileInputStream &#40;"test.dat"&#41;&#41;;
    			recup.entier = infile.readInt &#40;&#41;;
    			recup.flottant_double = infile.readDouble &#40;&#41;;
    			recup.chaine = infile.readUTF &#40;&#41;;
    			recup.autre_entier = infile.readInt &#40;&#41;;
    			infile.close &#40;&#41;;
    			System.out.print &#40;"entier vaut "&#41;;
    			System.out.println &#40;recup.entier&#41;;
    			System.out.print &#40;"flottant_double vaut "&#41;;
    			System.out.println &#40;recup.flottant_double&#41;;
    			System.out.print &#40;"chaine vaut "&#41;;
    			System.out.println &#40;recup.chaine&#41;;
    			System.out.print &#40;"autre_entier vaut "&#41;;
    			System.out.println &#40;recup.autre_entier&#41;;
    		&#125;
    		catch &#40;java.io.IOException e&#41; &#123;
    			e.printStackTrace&#40;&#41;;
    		&#125;
    	&#125;
    &#125;
    En fait, les objets intéressants sont Data*putStream et les fonctions read* et write* disponibles pour différents types de données :
    - readUTF pour les chaines,
    - readInt pour les entiers,
    - readLong pour les entiers longs,
    - readFloat pour les flottants,
    - readDouble pour les flottants en double précision,
    - readChar pour les caractères isolés,
    - readBoolean pour les booléen (!).

    Je crois t'avoir donné toutes les clefs dont je dispose, à présent.

    Bon courage.
    La FAQ Perl est par ici
    : La fonction "Rechercher", on aurait dû la nommer "Retrouver" - essayez et vous verrez pourquoi !

  10. #10
    Membre éprouvé

    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 105
    Points : 1 036
    Points
    1 036
    Billets dans le blog
    1
    Par défaut gtk-fortran pour interfaces graphiques (GUI)
    Bonjour,
    avec Jerry DeLisle, un des développeurs du GNU Fortran (gcc), nous avons lancé récemment un projet d'interfaçage GTK+ / Fortran nommé gtk-fortran utilisant le module ISO_C_BINDING inclu dans la norme Fortran 2003. Vous pouvez suivre l'avancement du projet sur github:
    https://github.com/jerryd/gtk-fortran/wiki

    Les interfaces C/Fortran sont générées automatiquement par un script python qui scanne les fichiers .h des librairies de GTK+. Actuellement, environ 8100 fonctions sont disponibles (mais pas toutes testées !) dans la branche devel du projet.

    Vincent MAGNIN

  11. #11
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Points : 28 121
    Points
    28 121
    Par défaut
    Citation Envoyé par vmagnin Voir le message
    BVous pouvez suivre l'avancement du projet sur github:
    https://github.com/jerryd/gtk-fortran/wiki

    Les interfaces C/Fortran sont générées automatiquement par un script python qui scanne les fichiers .h des librairies de GTK+. Actuellement, environ 8100 fonctions sont disponibles (mais pas toutes testées !) dans la branche devel du projet.
    L'idee semble bonne, mais le fait que les fonctions soient implementees en non testees laisse reveur... Vous faites juste le dev, et si ca compile, c'est que ca doit etre bon ? Ce n'est pas tres serieux...
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  12. #12
    Membre éprouvé

    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 105
    Points : 1 036
    Points
    1 036
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par gangsoleil Voir le message
    L'idee semble bonne, mais le fait que les fonctions soient implementees en non testees laisse reveur... Vous faites juste le dev, et si ca compile, c'est que ca doit etre bon ? Ce n'est pas tres serieux...
    Bonjour, c'est une façon de voir les choses. Je préfère dire que c'est un projet libre en version alpha et que toutes les personnes intéressées sont les bienvenues pour venir m'aider et contribuer, ne serait-ce que par des critiques constructives.
    Cordialement
    V.

  13. #13
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Points : 17 916
    Points
    17 916
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par vmagnin Voir le message
    Bonjour, c'est une façon de voir les choses. Je préfère dire que c'est un projet libre en version alpha et que toutes les personnes intéressées sont les bienvenues pour venir m'aider et contribuer, ne serait-ce que par des critiques constructives.
    Cordialement
    V.
    faire du libre n'est pas synonyme de faire n'importe quoi... et n'excuse en rien une telle attitude...

    Faire des tests est la moindre des choses...

    J'espère que ces critiques seront contructives
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  14. #14
    Membre éprouvé

    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 105
    Points : 1 036
    Points
    1 036
    Billets dans le blog
    1
    Par défaut
    J'accepte humblement cette critique. Et j'en déduis la question suivante :
    comment un développeur professionnel s'y prendrai pour tester son binding GTK+ / Fortran comportant 8600 fonctions ? Quelle serait sa démarche ? Quels outils mettrait-il en oeuvre afin de s'assurer de la qualité de sa production ?

  15. #15
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 610
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Points : 17 916
    Points
    17 916
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par vmagnin Voir le message
    J'accepte humblement cette critique. Et j'en déduis la question suivante :
    comment un développeur professionnel s'y prendrai pour tester son binding GTK+ / Fortran comportant 8600 fonctions ? Quelle serait sa démarche ? Quels outils mettrait-il en oeuvre afin de s'assurer de la qualité de sa production ?
    Vraisemblablement en plusieurs passes... Au minimum 2...


    • Une passe où chaque routine serait testée indépendamment (tests unitaires)

    • Une passe en ayant un programme fortran d'origine, complexe, utilisant toutes les routines, et fonctionnellement avéré (utilisé depuis longtemps opérationnellement quelque part). Et donc un test "système", en explorant les cas extrêmes et en comparant les résultats (effets de bords, etc).

      (Comme exemple d'un tel programme, il peut y avoir par exemple la bibliothèque Minuit du CERN, ou certains codes de calcul, publics ou non. Si non publics, il faudrait demander l'autorisation à l'entreprise concernée de tester chez eux (style Catia chez Dassault, ou bien un code de calcul de MéteoFrance ou de l'IFremer ou d'un institut de recherches)



    Disons que l'attitude à avoir est profondément différente entre le sujet du thread (faire un GUI pour un programme), et ce que vous proposez, c'est à dire faire un outil générique ...
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  16. #16
    Membre éprouvé

    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    105
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 105
    Points : 1 036
    Points
    1 036
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par souviron34 Voir le message
    [*]Une passe où chaque routine serait testée indépendamment (tests unitaires)
    Bonjour, merci pour cette réponse. S'agissant ici d'une interface entre un langage et une librairie écrite dans un autre langage, la principale source de problèmes me semble être le passage des paramètres (correspondance des types dans les deux langages). N'ayant pas les moyens de tester chaque routine, serait-il acceptable selon vous de tester que le passage de chaque type de paramètre, en entrée et en sortie, se passe bien quelque soit la valeur passée, à l'aide de quelques routines bien choisies ?

Discussions similaires

  1. [AC-2007] Utiliser la valeur d'un champ d'une table pour faire une requête
    Par tibofo dans le forum VBA Access
    Réponses: 2
    Dernier message: 29/09/2009, 14h10
  2. [DW 8 & antérieurs] DW MX une aide pour faire une gabari
    Par luc92 dans le forum Dreamweaver
    Réponses: 1
    Dernier message: 22/12/2008, 18h45
  3. XI - Extraire une somme dans une periode pour faire une addition
    Par campia dans le forum SAP Crystal Reports
    Réponses: 5
    Dernier message: 06/12/2007, 16h41
  4. faire une condition pour arrêter une macro
    Par db48752b dans le forum Access
    Réponses: 11
    Dernier message: 21/09/2006, 20h21
  5. Quel langage est le plus adapté pour faire ce script ?
    Par koKoTis dans le forum Langages de programmation
    Réponses: 8
    Dernier message: 15/08/2006, 19h00

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