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

Langage PHP Discussion :

Fichier de configuration


Sujet :

Langage PHP

  1. #1
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2015
    Messages
    644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2015
    Messages : 644
    Points : 1 509
    Points
    1 509
    Par défaut Fichier de configuration
    Bonjour à tous,

    J'espère que vous êtes pas trop noyés avec tout ce qu'il se passe

    Je viens à vous, par rapport à plusieurs interrogations de ma part.

    Je me lance dans un fichier de configuration qui doit remplir plusieurs fonctionnalités. N'ayant en aucun cas, géré un fichier de configuration auparavant, je me retrouve un peu perdu. J'aimerais ne pas sauter d'étape et faire les choses dans le bon ordre.

    Avant tout, je préfère rappeler qu'en aucun cas je demande à faire le travail à ma place, je tiens bien à le réaliser par moi-même. Si je post ici, c'est avant tout pour la logique et la mécanique à suivre.

    Je m'explique donc :
    J'ai réalisé un CRM sur mobile, qui fonctionne très bien. Il est adressé, comme vous l'imaginez, à de nombreux clients. Mais la particularité de ce CRM, est qu'il est spécifique. C'est à dire que pour chaque client, il y à une base, et différents onglets propre à leurs demandes.

    Il faudrait alors, que le fichier de configuration, en fonction de l'URL (type : crm.developpez.com, crm.unnouveauclient.com) puisse détecter l'URL, et en fonction de cet URL qui détermine donc le client, charge la base du CRM avec les modules par défaut, puisqu'elle est commune à 99%, mais également puisse charger les éventuels modules spécifiques aux clients qui ont demandés ces modules.

    Je n'ai strictement aucune idée de quelle manière procéder, rien que d'essayer de noté sur papier la logique à suivre, il y à déjà un problème...

    Si quelqu'un à éventuellement une piste, une trame à suivre, je suis preneur de tout commentaire.

    Merci d'avance de m'avoir lu,

    En vous souhaitant à tous & à toutes une bonne journée !
    Un fait toujours plaisir et encourage à l'entraide. Un n'est pas à négliger, pensez aux autres !

    Que la force soit avec Developpez.net
    Je ne suis pas un crack en informatique, loin de là, mais il n'y a pas que les mécaniciens qui sachent conduire une voiture

  2. #2
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2003
    Messages
    1 303
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 303
    Points : 1 380
    Points
    1 380
    Par défaut
    Bonjour,

    je ne comprends pas trop.
    L'application sur mobile se connecte à une URL générique (valable pour tous les clients) ou une spécifique à chaque client (installé sur un serveur du client ?) ? Par exemple, tous les téléphones se connectent à crm.monsupercrm.com, ou bien chaque téléphone du client A se connecte à crm.clientA.com, ceux de client B sur crm.clientB.com, etc.

    Dans le premier cas, passer un identifiant (correspondant au client) en paramètre devrait permettre de charger les bon éléments (via une table de correspondance).
    Dans le deuxième cas, chaque serveur a ses propres données et uniquement elles, donc pas de problème.
    Christophe

    Pensez à mettre quand c'est le cas.

  3. #3
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2015
    Messages
    644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2015
    Messages : 644
    Points : 1 509
    Points
    1 509
    Par défaut
    Bonjour,

    Merci pour ta réponse déjà !

    Je me suis mal exprimé quand j'ai dis "J'ai fais un CRM sur mobile". C'est un site mobile*, il a été adapté et sur mobile, et sur PC, ce n'est pas une application.

    En ce qui concerne les clients, chaque client à SON url. Prenons le cas par exemple d'EDF, ce sera quelque chose du genre crm.edf.com. Si EDF à fait une demande pour des modules bien particuliers, une fois connectés, ils auront la base du site mobile + leur modules complémentaires. Sachant que leurs modules complémentaires leurs sont propres et que par exemple, GDF ne les aura pas. S'ils n'ont fait aucune demande particulière, le lien crm.gdf.com n'aura lui, que la base du site mobile.

    En ce qui concerne la connexion, à l'arrivée sur le lien, chaque personne à un identifiant et un mot de passe. L'URL est propre au client (à l'entreprise), et non aux salariés.

    Je sais pas si c'est beaucoup plus claire...
    Un fait toujours plaisir et encourage à l'entraide. Un n'est pas à négliger, pensez aux autres !

    Que la force soit avec Developpez.net
    Je ne suis pas un crack en informatique, loin de là, mais il n'y a pas que les mécaniciens qui sachent conduire une voiture

  4. #4
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2015
    Messages
    644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2015
    Messages : 644
    Points : 1 509
    Points
    1 509
    Par défaut
    Je me permets de rajouter :

    J'ignore, mais alors totalement, je suis dans le flou le plus total, de quelle manière stocker les informations qui visent à dire que tel société (client) à tel ou tel module..
    Un fait toujours plaisir et encourage à l'entraide. Un n'est pas à négliger, pensez aux autres !

    Que la force soit avec Developpez.net
    Je ne suis pas un crack en informatique, loin de là, mais il n'y a pas que les mécaniciens qui sachent conduire une voiture

  5. #5
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2003
    Messages
    1 303
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 303
    Points : 1 380
    Points
    1 380
    Par défaut
    Je pense qu'un numéro de licence (spécifique à chaque client et / ou indiquant quels modules sont compris) serait bien pour savoir quels sont les modules du client. A chaque démarrage, le serveur du client (crm.edf.com) se connecte au serveur de mise à jour et compare la licence et les modules présents, télécharge les manquants et supprime les anciens.

    Pour stocker les informations sur les clients et leurs modules il y a de nombreuses façon de faire :
    - Chaque client a un numéro de licence et son serveur vérifie régulièrement sur le serveur CRM (qui contient la liste des modules pour chaque licence) que tout est OK.
    - La licence contient la liste codée des modules utilisables.
    - Un fichier de configuration (*.conf ou *.ini) contient la liste des modules utilisables et est lu au démarrage du serveur client.

    Chaque serveur client peut avoir tous les modules mais ne pas tous les utiliser ou bien les modules nécessaires sont téléchargés depuis le serveur CRM.
    Christophe

    Pensez à mettre quand c'est le cas.

  6. #6
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2015
    Messages
    644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2015
    Messages : 644
    Points : 1 509
    Points
    1 509
    Par défaut
    Citation Envoyé par Christophe P. Voir le message
    Je pense qu'un numéro de licence (spécifique à chaque client et / ou indiquant quels modules sont compris) serait bien pour savoir quels sont les modules du client. A chaque démarrage, le serveur du client (crm.edf.com) se connecte au serveur de mise à jour et compare la licence et les modules présents, télécharge les manquants et supprime les anciens.

    Pour stocker les informations sur les clients et leurs modules il y a de nombreuses façon de faire :
    - Chaque client a un numéro de licence et son serveur vérifie régulièrement sur le serveur CRM (qui contient la liste des modules pour chaque licence) que tout est OK.
    - La licence contient la liste codée des modules utilisables.
    - Un fichier de configuration (*.conf ou *.ini) contient la liste des modules utilisables et est lu au démarrage du serveur client.

    Chaque serveur client peut avoir tous les modules mais ne pas tous les utiliser ou bien les modules nécessaires sont téléchargés depuis le serveur CRM.
    C'est "rigolo" ton post, je sors d'une discussion avec mes collègues, il en ressort plus ou moins la même chose !

    Petites précisions :
    - La base de données du CRM (le logiciel) à bien un numéro de licence par client avec les modules activés ou non.
    - Sur ce site mobile, je n'ai pas tout ça, parce que c'est une version light qui se devait d'être généralisée pour tout le monde.

    J'ai donc pensé à une solution :
    - Pour un url de type crm.edf.com, je parse l'url pour en récupérer le "edf"
    - Je cherche, dans un fichier config.ini la string "edf" du coup.
    - Je lis les modules activés ou non pour ce client

    Côté php :
    - Une fois le config.ini parsé et les informations des différents modules récupérés, je stock l'activation (ou non) des modules. Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $_SESSION['module_lambda'] = true;
    Ce qui fait niveau html maintenant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if ($_SESSION['module_lambda'] == true) {
    // J'affiche mon onglet qui permet d'accéder au module.
    }
    Qu'en penses-tu? Pour moi, c'est cohérent, mais l'inconvénient, et qui est de taille, c'est que c'est du sur-mesure et non du paramétrable. Ce qui revient à dire que pour chaque client, s'ils ont tous les deux décider d'avoir le module_lambda, c'est deux fichiers différent. (J'ai oublié de préciser que les modules peuvent porter le même nom, mais les champs en base de données sont différents pour chaque client).

    J'en reviens donc sur du sur-mesure... Mais, ma solution est-elle plausible?
    Un fait toujours plaisir et encourage à l'entraide. Un n'est pas à négliger, pensez aux autres !

    Que la force soit avec Developpez.net
    Je ne suis pas un crack en informatique, loin de là, mais il n'y a pas que les mécaniciens qui sachent conduire une voiture

  7. #7
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2003
    Messages
    1 303
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 303
    Points : 1 380
    Points
    1 380
    Par défaut
    Ce que je ne comprends pas, c'est qu'avec une "url de type crm.edf.com" on accède à un serveur du client, sur lequel il ne peut utiliser que ses modules, non ?
    La version mobile doit donc pouvoir accéder à la licence de la version non mobile, ou bien j'ai raté un truc.
    Christophe

    Pensez à mettre quand c'est le cas.

  8. #8
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2015
    Messages
    644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2015
    Messages : 644
    Points : 1 509
    Points
    1 509
    Par défaut
    Oui, il ne peut utiliser que ces modules.

    Mais en terme de code, la structure HTML et tout ce qui s'en suit derrière, est la même pour TOUT les clients. Du coup, dans le code, je dois pouvoir être capable de vérifier si pour ce client, tel module est actif. Si oui, l'onglet dans un menu associé au module sera apparent.
    Un fait toujours plaisir et encourage à l'entraide. Un n'est pas à négliger, pensez aux autres !

    Que la force soit avec Developpez.net
    Je ne suis pas un crack en informatique, loin de là, mais il n'y a pas que les mécaniciens qui sachent conduire une voiture

  9. #9
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2003
    Messages
    1 303
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 303
    Points : 1 380
    Points
    1 380
    Par défaut
    En PHP, ce n'est pas possible de récupérer directement la liste des modules autorisés sans passer par un fichier de configuration manuel ?
    Christophe

    Pensez à mettre quand c'est le cas.

  10. #10
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2015
    Messages
    644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2015
    Messages : 644
    Points : 1 509
    Points
    1 509
    Par défaut
    Bonjour,

    Désolé pour le retard de réponse !

    Non, c'est en aucun lié à la base de donnée directement et n'ai donc aucun moyen de déterminer à l'avance, quels modules ou non sont actifs pour tel ou tel client.
    Un fait toujours plaisir et encourage à l'entraide. Un n'est pas à négliger, pensez aux autres !

    Que la force soit avec Developpez.net
    Je ne suis pas un crack en informatique, loin de là, mais il n'y a pas que les mécaniciens qui sachent conduire une voiture

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 251
    Points : 383
    Points
    383
    Par défaut
    Je vois pas pourquoi tu veux t'embêter avec un fichier de configuration.

    Dans chaque base tu rajoute une table modules, avec une colonne nom_du_module et une colonne module_active.

    Après tu fais une page de configuration qui permet d'activer/désactiver les modules.

  12. #12
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2015
    Messages
    644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 29
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Novembre 2015
    Messages : 644
    Points : 1 509
    Points
    1 509
    Par défaut
    Je vois pas pourquoi tu veux t'embêter avec un fichier de configuration.
    ...
    Après tu fais une page de configuration qui permet d'activer/désactiver les modules.
    On en revient au même point non?

    Je n'ai aucun moyen de toucher à la base afin de rajouter des colonnes/champs. Elle est avant tout, liée à un logiciel. Je ne fais que taper dedans pour récupérer les infos dont j'ai besoin.

    La chose complexe ici, est que pour chaque client, les modules sont différents. Ils peuvent avoir X modules sur le logiciel, et seulement 1 sur le site mobile. C'est une version light du logiciel.

    Je vais procéder de la manière que j'ai écris quelques posts plus hauts, cette dernière, approuvée par mon équipe.

    Merci en tout cas de votre contribution, c'est toujours cool

    Merci & bonne journée !
    Un fait toujours plaisir et encourage à l'entraide. Un n'est pas à négliger, pensez aux autres !

    Que la force soit avec Developpez.net
    Je ne suis pas un crack en informatique, loin de là, mais il n'y a pas que les mécaniciens qui sachent conduire une voiture

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Fichier de configuration
    Par Xavinou dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 27/09/2005, 00h02
  2. Réponses: 4
    Dernier message: 09/09/2005, 13h59
  3. [Log4j] fichier de configuration ou XML ?
    Par nabilblk dans le forum Logging
    Réponses: 2
    Dernier message: 02/09/2005, 17h42
  4. [langage] Lire un fichier de configuration
    Par bobinoo dans le forum Langage
    Réponses: 3
    Dernier message: 04/08/2004, 16h53
  5. Les fichiers de configuration de comptes avec Samba
    Par tomnie dans le forum Réseau
    Réponses: 4
    Dernier message: 18/03/2004, 09h30

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