Partage
  • Partager sur Facebook
  • Partager sur Twitter

Choix d'un langage de programmation pour un projet

Help

    29 septembre 2022 à 8:42:27

    Bonjour,

    Je me tourne vers vous afin d'obtenir vos avis...

    Il y a de ça quelques mois, je me suis lancé dans un projet en Python. L'idée était de concevoir un petit programme capable d'ouvrir et décoder certaines bases de données propres à Microsoft (notamment les ESEDB). J'avais alors choisi le Python afin de gagner du temps parce qu'il existe une librairie (développée par Joachim METZ) qui permettait déjà d'effectuer cette tâche. J'ai donc pu dans un temps très court apprendre à utiliser la librairie, l'intégrer à mon programme, créer l'interface avec Tkinter et hop le tour était joué.

    A ce moment là j'étais pressé par le temps et j'ai donc fait au plus vite. Le programme souffre de multiples erreurs (lecture d'une base sans contrôle préalable des données,...) et problèmes (interface non user friendly, exécution lente,...).

    L'idée serait donc de réécrire totalement mon programme.

    J'hésite fortement à me tourner vers un autre langage que Python. Les bases à décoder sont parfois très lourdes, les données à décoder et réinterpréter sont multiple et Python me semble trop lent pour effectuer ce type de tâche. Générer un exécutable portable sur différents postes m'est apparu comme un genre de bidouillage (via PyInstaller).

    J'ai déjà quelques notions de C++ et C#, sauf que ces langages ne sont pas aussi simples à apprendre que peut l'être Python. Du coup, avant de me lancer j'aurais aimé avoir vos avis!

    Le programme aurait donc pour tâche d'offrir une interface graphique à l'utilisateur. Via cette interface, l'utilisateur devra pouvoir importer un base de données à traiter. Une fois la base traitée (ouverture, lecture et interprétation des données) le programme devra être capable d'exporter le résultat soit sous forme d'un rapport HTML, soit dans une nouvelle base de données DB, soit dans un fichier CSV. Le programme doit être exécutable localement sur un poste Windows (exit Linux ou MacOs).

    Qu'en pensez vous?

    En vous remerciant!

    • Partager sur Facebook
    • Partager sur Twitter
      29 septembre 2022 à 14:29:44

      En cherchant des infos sur le types de la base, je suis tomber sur cet outil de nirsoft  qui semble faire le job (avec quelques bugs si il y a des structures complexes) https://www.nirsoft.net/utils/ese_database_view.html

      ou encore sur ce projet https://github.com/microsoft/ManagedEsent 

      -
      Edité par umfred 29 septembre 2022 à 14:36:52

      • Partager sur Facebook
      • Partager sur Twitter
        29 septembre 2022 à 21:27:59

        Oui il existe quelques sortes ici et là... Chez Velociraptor, chez Nirsoft, chez Sans. Mais ce ne sont que des parsers. La donnée est extraite sans explications, sans mise en forme. Je souhaite inclure plus de fonctionnalités, et notamment une partie interprétation des données.
        D'où l'idée de créer mon propre outil.
        Mais il me faudrait partir sur un langage qui soit plus puissant que Python. Mon premier essai avec Python a donné un outil fonctionnel mais lent aussi bien lors de la lecture des données que lors de l'interprétation.
        Également, pour exporter mon outil il m'a fallu passer par PyInstaller, les postes n'étant pas équipés nativement de Python. Sauf que je trouve ça assez lourd en définitive puisque l'exécutable créé doit comprendre l'interpréteur, le code, etc.
        • Partager sur Facebook
        • Partager sur Twitter

        Choix d'un langage de programmation pour un projet

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown