Créer un projet configurable

a marqué ce sujet comme résolu.
Auteur du sujet

Bonjour à tous,

Mon titre est sans doute un peu vague mais il y’a quelques années j’ai conçu une application intranet en PHP, MySQL (sans framework) pour une entreprise et aujourd’hui j’ai quelques autres entreprises qui se montrent intéressées par une application du même style.

Du coup j’aimerais passer à l’étape supérieure, utiliser un framework (pour ça pas de soucis) mais d’un autre côté je voudrais aussi mettre en place des choses de façon à pouvoir configurer le projet avant de le mettre en ligne.

Je m’explique. J’avais en tête une sorte d’installeur à partir duquel je pourrais simplement configurer mon projet par étape en indiquant par exemple via une checkbox "J’ai besoin de la gestion des clients" et automatiquement ça va activer tout le mécanisme de gestion des clients dans l’application. Alors qu’à l’inverse si je précise que je ne veux pas de gestion de chantiers, dans ce cas ça n’inclue pas toute cette partie.

Là où je veux en venir c’est que je ne sais pas trop comment m’y prendre pour réaliser ce genre de chose. Dois-je plutôt utiliser une table de configuration dans ma BDD ? Ou dois-je tout mettre dans un fichier ? Et ensuite comme ça se passe, j’ai un fichier qui va éxécuter un SQL pour créer toute ma base ?

Bref je n’ai jamais fait quelque chose comme ça et j’aimerais bien arriver à faire un truc sympa et surtout pratique. Si quelqu’un a des pistes je suis preneur.

Merci d’avance :)

+0 -0

Salut,

La plupart des projets auto-hébergeables utilisent un fichier de configuration pour faire cela. Sur les applis en PHP, il s’agit généralement d’un fichier PHP déclarant des variables. Ce fichier est ensuite chargé par les autres fichiers (via require j’imagine) afin d’en extraire les variables. D’autres projets préféreront utiliser un fichier JSON, ou même YAML (c’est notamment le cas pour les projets réalisés à l’aide du framework Symfony, ce dernier utilisant déjà un fichier de configuration).

Ensuite, dans l’installateur de ton application, il te suffit de générer le contenu de ce fichier et de l’enregistrer, par exemple à l’aide de la fonction f_put_contents() :)

A graphical interface is like a joke: if you have to explain it, that’s shit.

+0 -1
Auteur du sujet

Merci de ta réponse.

Si je comprends bien je remplis mon formulaire pour décider des options que je désire dans mon application et ensuite je stocke mes choix dans un fichier php, YAML ou JSON.

Ensuite je peux récupérer ces choix dans mon code pour charger ce que j’ai configuré. C’est bien ça ?

+0 -0

En fait ça dépend le framework. La plupart intègre directement un système de config.

Moi qui utilise Laravel, on a d’une part les fichiers de configuration qui se trouve dans le dossier config et les variables peuvent être également modifié à l’aide d’un fichier .env à la racine.

+1 -0
Auteur du sujet

Merci de ton conseil.

Pour l’instant j’utilise CodeIgniter car c’est celui que j’utilise régulièrement.

Du coup je peux créer des fichiers de config aussi dans ce framework.

Je vais essayer de creuser de ce côté là

+0 -0

Salut,

Je n’ai pas compris si tu installais l’appli pour le client et qu’il avait accès à tout, ou si tu l’hébergeait toi-même avec un accès client configurable ? Parce qu’en fonction de la réponse, cela change pas mal de choses à la conception.

Au boulot, on a une appli qui utilise la 2e solution, une seule installation pour plusieurs clients, les conf sont enregistrées en BDD.

+0 -0
Auteur du sujet

Salut,

Non enfaite c’est moi qui installe l’application d’une entreprise sur un hébergement. Il n’y en aura jamais deux sur un hébergement.

Je voulais juste me faciliter la tâche lors de la création de l’application en choisissant en gros les modules dont l’entreprise aurait besoin et automatiquement ça me créé la BDD, charge mes routes et toute ma logique.

+0 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte