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 :

Aide au choix d'un langage pour mon projet


Sujet :

Langages de programmation

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2021
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2021
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Aide au choix d'un langage pour mon projet
    Bonjour à tous !
    Par avance, je vous remercie du temps que vous prendrez pour me lire, et même peut-être pour me répondre !

    Je travaille sur un projet où j'ai développé un outil pour réaliser des chiffrages pour des projets dans le BTP.
    Grosso modo, j'ai un outil qui marche actuellement sur Excel en VBA, mais j'aimerai créer quelque chose de plus ergonomique, indépendant de Office. Mon outil serait assez simple, composé uniquement de calculs assez basiques et d'une interface pouvant afficher des tableaux/graphiques, mais il pourrait faire appel à une base de données type Excel recueillant des coûts.
    C'est là que je me retrouve un peu perdu devant la panoplie de langages de programmation qui existent actuellement.
    En terme de compétences, j'ai fait beaucoup de Matlab/Python et un peu de C, mais je suis prêt à me former sur de nouveaux langages.
    En parcourant un peu le forum j'ai cru comprendre que je pourrais m'orienter vers un développement alliant Python (pour la partie calcul) et Java (pour la partie mise en page/affichage de l'outil). Pensez-vous que je peux partir sur ce duo Python/Java ou avez-vous d'autres suggestions ?

    Merci à vous et bonne journée !

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Salut,

    Il est difficile de te conseiller complètement parce que tu ne nous décris pas complètement la cible, en particulier tu ne nous décris pas la dynamique de l'application :
    • seras-tu le seul à entrer des données et à produire de documents que tu diffuseras par ailleurs (genre mail) ;
    • l'accès est-ll mono poste (pour la saisie, pour la consultation des documents produits), uniquement par toi, ou multi-poste/multi-utilisateurs (seulement en consultation, ou alors également en contribution), par Internet par exemple ;
      ou autrement dit, d'autres utilisateurs vont-ils contribuer aux données (directement par saisie, ou c'est toi, par import de données qu'on t'envoie par exemple, et les données doivent pouvoir être consultées n'importe quand, de n'importe où, ou diffuseras-tu des documents ?


    A mon humble avis, le choix dépend de tes compétences et du temps que tu vas pouvoir consacrer au développement (écriture du code / mise au point mais aussi apprentissage (tu auras bien sûr toute l'aide nécessaire sur les forums Developpez.net)).
    • Préfère un langage que tu connais déjà, avec lequel tu te sens à l'aise. Préfère un langage unique. Préfère un langage portable si l'application est desktop et doit pouvoir être diffusée sur différents environnements (PC, Mac, smartphone...). Préfère un accès dans un navigateur pour un accès web multi-utilisateur (rien à installer d'autre que le navigateur sur le poste de l'utilisateur, donc très facile d'accès par l'utilisateur, et beaucoup plus facile à maintenir).
      • Tu connais Python. Pourquoi pas faire l'interface en Python (tkinter) ? Je ne pratique pas la programmation en Python, donc je ne peux pas te conseiller en détail, en particulier sur les difficultés que ça pourrait entrainer.
      • Personnellement, je pratique Java quotidiennement depuis plus de 20 ans, je prendrais Java naturellement, Mais je dois dire que pour une orientation desktop, le choix se heurte à la difficulté de diffusion (diffuser l'application avec une JVM spécifique à chaque environnement, problématique d'installation côté utilisateur) : un accès web pourrait être préférable, du coup, un environnement client-serveur, ce qui peut introduire des difficultés supplémentaires si tu ne connais pas, et éventuellement de devoir faire du client web dynamique, donc du JavaScript (éventuellement avec des frameworks), donc en résumé, multiplier les langages, les technologies. Eventuellement, le choix du tout JavaScript, avec un serveur node.js peut être un choix aussi.

    • Excel n'est pas une base de données. C'est un outil très puissant, mais c'est surtout par sa méthode de manipulation des données par l'utilisateur que cette puissance s'exprime. Pour gérer une base de données, en particulier en cas d'accès multiples simultanées, préférer un vrai SGBD (SQL, NoSQL selon tes préférences et besoins). Mais pour refaire une interface utilisateur aussi puissante, cela peut être assez complexe.

      Souhaites-tu conserver le fichier Excel d'origine ? Tu peux manipuler le document, y compris en conservant tout son fonctionnement utilisant VBA, directement avec Java par exemple (je suppose que c'est possible aussi en Python, mais j'en sais rien). Cela peut te permettre en tout cas d'automatiser la mise à jour du document sans avoir à refaire toute la base du projet. Mais en cas d'accès simultanés, saisie/consultation, ça risque d'être compliqué, mais en cas d'accès légèrement différé (import/export), cela peut être une solution assez rapide à mettre en place.
    • L'architecture est importante aussi. Le client-serveur avec accès multi utilisateur va imposer des contraintes : serveur accessible sur le web (hébergement), multiplication des technologies (donc des connaissances supplémentaires nécessaires), diffusion aux utilisateurs, authentification, sécurisation, accès par API, micro services, maintenance...
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2011
    Messages
    252
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2011
    Messages : 252
    Points : 649
    Points
    649
    Par défaut IHM en Python
    Citation Envoyé par joel.drigo Voir le message
    Pourquoi pas faire l'interface en Python (tkinter) ?
    Bonne suggestion et pour compléter les recherches il y a la section GUI de la FAQ Python par exemple. Faut pas se contenter du forum ! Je conseille aussi de parcourir quelques cours pour comprendre à quel point ce langage est puissant et ça vaut aussi pour Java.

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2021
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2021
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci beaucoup pour vos réponses, je vais en effet regarder du côté de Tkinter !

  5. #5
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 618
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 618
    Points : 188 591
    Points
    188 591
    Par défaut


    Le problème de Tkinter en Python, c'est son âge et le manque d'évolutions récentes. En conséquence, l'affichage n'est souvent pas très "joli" ou intégré au système. N'hésite pas à regarder PyQt / PySide (aussi appelé Qt for Python), wxPython, Dear PyGUI ou Kivy.
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

Discussions similaires

  1. quel langage pour mon projet
    Par deicide dans le forum Mobiles
    Réponses: 0
    Dernier message: 03/08/2012, 09h51
  2. Aide au choix de la technologie adaptée à mon projet et à son contexte
    Par dwarfman78 dans le forum Langages de programmation
    Réponses: 9
    Dernier message: 22/04/2009, 17h23
  3. Choix d'un langage pour un projet
    Par tumasgiu dans le forum Langages de programmation
    Réponses: 3
    Dernier message: 22/01/2008, 03h26
  4. Choix d'un hebergeur pour mon projet
    Par guence dans le forum Zend Framework
    Réponses: 6
    Dernier message: 25/10/2007, 22h03
  5. Choix d'un SGBDR pour mon projet: Interbase?
    Par super16 dans le forum Décisions SGBD
    Réponses: 1
    Dernier message: 09/07/2004, 08h15

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