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

Symfony PHP Discussion :

Organisation des projets


Sujet :

Symfony PHP

  1. #1
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2003
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2003
    Messages : 179
    Par défaut Organisation des projets
    Bonjour,
    J'ai plusieurs applications symfony à réaliser, qui à priori n'ont pas de relation métiers communes, mais qui bien sur vont utiliser des fonctionnalités communes de développement. La question que je me pose est de savoir comment je dois organiser mon (ou mes) projet.
    - Un seul projet symfony qui contiendra toutes les applications
    - Un projet par application.
    Un seul hébergement.

    Bien sur un seul projet a un peu l'allure d'usine à gaz, mais un projet par application veut dire que toutes les parties communes devront être dupliquées et plus compliqué à maintenir .....

    Quel est votre avis svp.
    YC

  2. #2
    Membre Expert
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable d'équipe développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 419
    Par défaut
    Je pense que tu a besoin des bundle.

    Identifie ton code métier commun aux application, et si besoin divise le.

    Par exemple :
    - module d'authentification
    - module d'utilisation d'un webservice commun
    ...

    Quand tu auras identifier ces parties communes, code les dans des bundle indépendants. Tu pourras les recopier d'un projets à l'autre, ou les inclure même par composer si tu veux pour faciliter les maintenance / évolution


    Si par contre tes applications partagent une même BDD, soit tu garde le même concept mais avec une application unique qui accède a la BDD, soit tu créé un bundle pour chaque application dans une application "Master" commune... mais ca va vite devenir le bordel et long à déployer.

    Bon courage.

  3. #3
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2003
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2003
    Messages : 179
    Par défaut
    Merci pour ta réponse.

    Je crois que je vais faire un projet par application, d'autant que les bases de données ne sont pas les mêmes et que j'ai vu que l'utilisation de plusieurs base de données dans le même projet n'est pas vraiment aisée. Il faut par contre que j'approfondisse l'utilisation de composer pour voir comment utiliser des bundles commun dans chaque projet.
    A ce sujet,
    - faut-il faire un projet spécial pour isoler les bundles commun
    - Doit-on faire un bundle, même pour une toute petite action
    Par exemple j'ai besoin d'un "module" de demande d'identification (identifiant/mot de passe) qui sera appelé dans plusieurs page de toutes les application.
    Donc juste une petite form de 2 champs qui va voir dans la base de donnée si ce couple existe et retourne OK ou PASOK
    Faut-il faire un bundle, ou les bundles sont-ils réserves pour des "modules" plus gros, genre blog, boutique, facturation ...

    Déjà je regarde comment fonctionne composer.

  4. #4
    Membre Expert
    Avatar de pmithrandir
    Homme Profil pro
    Responsable d'équipe développement
    Inscrit en
    Mai 2004
    Messages
    2 419
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Responsable d'équipe développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 419
    Par défaut
    Bonjour,

    De manière général, un bundle que tu partages avec composer se gère comme une mini application. Regarde la doc de symfony, ils l'expliquent. Quelqu'un de mon équipe l'a fait, mais pas moi.
    Je pense que tu auras un projet par bundle dans ce cas.
    (de façon a desynchroniser les dev de chacune des fonctions).

    Pour l'authentification, si tu as plusieurs applications, tu as peut être carrément intérêt a mettre en place un système central d'authentification.
    Base LDAP + ou un SSO ou a minima une authentification distante par LDAP direct sur l'annuaire.

    Avantage, tu est connecté a une application, et a toutes les autres en même temps. C'est ultra sécurisé, et réutilisable par des applications externes.
    Comme tu n'as qu'une base, tu limite le nombre de mots de passe qui traine.

  5. #5
    Membre chevronné
    Avatar de phpiste
    Homme Profil pro
    Développeur Senior
    Inscrit en
    Septembre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Senior
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2006
    Messages : 251
    Billets dans le blog
    7
    Par défaut
    Pour ajouter, je te conseille de jetter un oeuil sur l'architecture basé sur des web services (notament des api REST), en gros tu développe chaque application en temps que fournisseur d'api et tu les consomme avec un client type guzzle ou tous simplement avec curl.

    je t'invite fortement à lire cette discussion:
    http://stackoverflow.com/questions/1...l-web-services

    y'a aussi plusieurs bundle qui facilite la création de ce type de projet

    https://github.com/FriendsOfSymfony/FOSRestBundle
    http://jmsyst.com/bundles/JMSSerializerBundle
    https://github.com/FriendsOfSymfony/...thServerBundle

    comme ça tes applications restent propres et tu évitera +- l'usine à gaz.

    Ahmed

Discussions similaires

  1. Visual studio 2015 + GIT - Organisation des projets et solutions
    Par J@ckHerror dans le forum Visual Studio
    Réponses: 1
    Dernier message: 24/09/2015, 15h03
  2. Organisation des projets Flex
    Par verrue dans le forum Flex
    Réponses: 5
    Dernier message: 01/11/2009, 19h53
  3. [VS 2008] Organisation des répertoires d'un projet C#
    Par mongeolive dans le forum Visual Studio
    Réponses: 2
    Dernier message: 27/03/2009, 09h13
  4. Réponses: 1
    Dernier message: 02/05/2006, 10h50

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