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

Python Discussion :

Besoin de conseils pour débuter un projet


Sujet :

Python

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2011
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 22
    Points : 11
    Points
    11
    Par défaut Besoin de conseils pour débuter un projet
    Bonjour à tous,

    Alors voilà, j'ai besoin de coder pour me sentir bien, ça fait longtemps que je ne m'y suis pas vraiment mis et je voudrais commencer un nouveau projet.

    Donc je souhaiterais me lancer dans la création d'un Songbird/Itunes like. Alors je ne prétend pas du-tout les égaler, mais au moins avoir un truc fonctionnel pour ma satisfaction personnelle. Je précise que je souhaite quand même prendre mon temps sur la conception histoire de faire un truc pas trop à l'arrache.

    C'est justement là que j'aurais besoin de vos conseils, car développeur (intermédiaire) je suis, mais dev python je ne suis pas. C'est aussi pour apprendre le python que je me lance dans ce projet. J'ai quand même des bases bien évidemment, mais je n'ai jamais coder de gros projets avec.

    Mes questions sont diverses et variées, et vous allez peut être vous dire : "Si il ne sait pas ça, pourquoi se lance-il dans là-dedans ?". C'est pour ça que je vais prendre mon temps et me renseigner sur les choses à connaitre avant de me lancer.

    Voici mes questions :
    1. Le python est-il un bon choix pour faire cela ?
    2. Quelles libs utiliser ? Quel framework si cela peut apporter quelque chose au produit ou à moi même niveau connaissances ?
    3. Quel systeme de BDD me conseillez vous ? pour stocker les metadatas des musiques, la note donnée par l'utilisateur etc...
    4. Pour les formats de lecture possible, cela dépend des codecs installés sur la machine ou je dois les intégrer a mon logiciel ?
    5. Si je souhaite par la suite pouvoir integrer des plug-in, quel type d'architecture me conseillez vous ?
    6. Avez vous des liens ou des nom de choses sur lesquelles je devrais me renseigner pour la création d'un logiciel de ce type ?
    7. Par où commencer ?


    Voila les premières idées qui me sont passées par la tête. Mais si vous avez le moindre conseil, aussi anondin soit-il, n'hésitez pas

    Je risque d'avoir beaucoup de questions tout au long du dev, donc si une âme charitable voulait prendre contact avec moi pour que je puisse par la suite lui poser des question bêtes ça serait avec plaisir

    Je vous remercie de m'avoir lu jusqu'au bout

    Bonne journée à tous et merci par avance,

    Akiat

  2. #2
    Expert éminent

    Avatar de deusyss
    Homme Profil pro
    Expert Python
    Inscrit en
    Mars 2010
    Messages
    1 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Expert Python
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 659
    Points : 8 442
    Points
    8 442
    Par défaut
    Bonjour,

    Alors j'apporte des reponses, de mon point de vue de developpeur pro et perso (open source).

    Le python est-il un bon choix pour faire cela ?
    Oui, car Python sait s'adapter à presque toutes les situations, tu as le choix entre differentes IOHM et beaucoup de module dispo (cf Pypi) pour tout faire.


    Quelles libs utiliser ? Quel framework si cela peut apporter quelque chose au produit ou à moi même niveau connaissances ?

    Alors je te conseille de regarder sur Pypi qui te donnera beaucoup de choix. Sinon, pour le son, pygame peut etre interessant, via son module music (un post a été resolu ici

    Quel systeme de BDD me conseillez vous ? pour stocker les metadatas des musiques, la note donnée par l'utilisateur etc...
    Alors si ton appli est monouser, je te conseille sqlite, car natif pour python (module sqlite3). De plus, avantage, la BDD est un simple fichier. Sinon, oriente toi sur mariadb. PostgreSQL est à mon avis surdimensionné pour cela.

    Pour les formats de lecture possible, cela dépend des codecs installés sur la machine ou je dois les intégrer a mon logiciel ?
    Cela dependra des modules de lecture utilisé dans Python. Tu peut analyser l'extension, et en fonction, appeler le bon module de lecture de musique.

    Si je souhaite par la suite pouvoir integrer des plug-in, quel type d'architecture me conseillez vous ?
    Qu'entends-tu precisement par architecture? A mon avis l'ideal est de dédié un dossier dans ton projet pour les plug-in, et eventuellement une table dédié dans ta base. Cela te permet ainsi de t'adapter simplement. Par exemple, à l'ouverture de ton appli tu va lire cette table et tu sait quoi charger.

    Avez vous des liens ou des nom de choses sur lesquelles je devrais me renseigner pour la création d'un logiciel de ce type ?
    Comme ça non, mais je sais qu'il existe d'autre projet de ce type en python
    "La connaissance appartient à tout le monde" (Film Antitrust)

    Tout le nécessaire pour Python:
    *News/Accueil *Cours/tutoriels *FAQ
    *Forums *Outils dédiés *Mon espace personnel avec mes Articles, Cours et Tutoriels

  3. #3
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 239
    Points : 36 692
    Points
    36 692
    Par défaut
    Salut,
    Il existe déjà pas mal de programme Python sur la "musique" références sur le Wiki Python.
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  4. #4
    Membre à l'essai
    Inscrit en
    Mars 2011
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 22
    Points : 11
    Points
    11
    Par défaut
    Merci beaucoup pour vos réponses,

    Je vais regarder tous ça !

    Je pensais utiliser Qt pour l'UI, ça vous parait être une bonne idée ?

  5. #5
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 298
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 298
    Points : 6 778
    Points
    6 778
    Par défaut
    Citation Envoyé par Akiat Voir le message

    Je pensais utiliser Qt pour l'UI, ça vous parait être une bonne idée ?

    Je pense que tu ne vas pas trouver beaucoup de monde pour te dire que c'est une mauvaise idée.

    Alors tant que tu y es, regarde le module Phonon

    http://pyqt.sourceforge.net/Docs/PyQt4/phonon.html

  6. #6
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 631
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 631
    Points : 30 865
    Points
    30 865
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par Akiat Voir le message
    Merci beaucoup pour vos réponses,

    Je vais regarder tous ça !

    Je pensais utiliser Qt pour l'UI, ça vous parait être une bonne idée ?
    Bonjour
    Excellent choix. C'est un outil super puissant et tu as plein de tutos.

    Maintenant voici mes conseils
    1) essaye dès le départ de découper ton projet en MVC (Modèle, Vue, Composant)
    Le Modèle seront les outils pour récupérer et enregistrer les données (on t'a conseillé sqlite3 qui est effectivement très bien)
    La Vue seront les outils pour visualiser les données (qui utiliseront ici PyQt apparemment)
    Le Composant seront les outils permettant de calculer les données (typiquement extrapoler des données secondaires à partir de données primaires)
    En partant comme ça dès le départ, tu pourras alors facilement changer les composants. Par exemple si sqlite devient ensuite trop limité tu pourras facilement passer à Postgres (que pour ma part j'aime beaucoup). Ou inversement. Et pareil avec pyQt que tu pourras remplacer si besoin

    2) essaye de partir dès le départ en "tout objet". Ca te facilitera les modifs futures

    A+
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  7. #7
    Membre à l'essai
    Inscrit en
    Mars 2011
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 22
    Points : 11
    Points
    11
    Par défaut
    Merci encore pour vos réponses

    Je prend en compte chaque conseil

    Je me posais une question: Y'aurait-il en Python une fonction pour être prévenu d'un changement dans un dossier ?

    Je m'explique: L'utilisateur renseigne le dossier qui contient sa musique dans les paramètres de l'application, et si il rajoute des morceaux dans le dossier alors que l'appli est en cours d’exécution, je souhaiterais en être informé.

    Dois je faire ça à la main ou quelque chose est déjà prévu pour ça ?

    Merci encore à tous

  8. #8
    Expert éminent

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 298
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 298
    Points : 6 778
    Points
    6 778
    Par défaut
    Non, Python n'a pas de module spécifique à cette tâche, mais ça n'a rien de compliqué de surveiller, dans un timer par exemple, un dossier.

  9. #9
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 239
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 239
    Points : 36 692
    Points
    36 692
    Par défaut
    Citation Envoyé par Akiat Voir le message
    Je me posais une question: Y'aurait-il en Python une fonction pour être prévenu d'un changement dans un dossier ?
    Les événements de modifications des dossiers ou des fichiers sont eventuellement signales par le "file system" qui est un composant "system". Et donc avec des variantes Liunx, Windows,...
    Sous Linux c'est inotify, et vous avez un module externe Pyinotify qui permet de...
    Sous Windows, ca existe aussi mais vous pouvez allez chercher vous meme sous Google.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  10. #10
    Membre à l'essai
    Inscrit en
    Mars 2011
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 22
    Points : 11
    Points
    11
    Par défaut
    Bonjour à tous,

    Je n'ai pas vraiment de temps pour ce projet en ce moment mais je voulais tout de même partager avec vous cette lib cross platform (que vous connaissez peut-être déjà) pour monitorer les événements du file system :

    http://pythonhosted.org/watchdog/index.html

    Je ne l'ai pas encore testé, mais sur le papier ça à l'air prometteur.

    Merci encore pour vos conseils !

Discussions similaires

  1. Besoin de conseils pour débuter.
    Par GreenAge dans le forum Débuter
    Réponses: 10
    Dernier message: 13/07/2015, 09h45
  2. besoin d'éclaircissement pour débuter un projet
    Par kilboss dans le forum Débuter avec Java
    Réponses: 4
    Dernier message: 30/11/2009, 18h04
  3. Besoin de conseil pour démarrer un projet de 3D
    Par ibi0tux dans le forum Projets
    Réponses: 14
    Dernier message: 07/11/2009, 08h31
  4. [Débutant] Besoin de conseils pour débuter
    Par Sami Xite dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 15/02/2007, 02h16
  5. Besoin de conseils pour un projet corba
    Par kaizersoze10 dans le forum CORBA
    Réponses: 5
    Dernier message: 23/04/2006, 22h01

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