Commencer un projet Symfony avec Git en gestionnaire de sources

Voici le schéma de l’application PHP a mettre en place; initialement nous souhaitons disposer :

  • Un dépôt git que nous mettrons en place avec BitBucket accecible a l’url suivant : 
  • Une application principale Symfony appelé « principale »

Il est conseillé de prendre, en priorité, connaissance de l’article qui traite de l’utilisation simple de git

Mise en place du site principal

Comme notre application va être géré par un dépôt git, nous allons commencer par créer notre dépôt sur bitbucket. ce dépôt sera vide par défaut.

Une fois le dépôt créer, nous allons metre en place notre site principal a l’aide de Symfony.

a l’aide de votre invite de commande préféré, deplacer vous dans le dossier qui devra contenir votre application et lancer la commande suivante :

avec « principal » le nom de notre nouveau projet. Nous précisons également lts afin qu’il utilise la version « Long Time Support » de symfony pour créer le projet.

Il va donc nous créer un répertoire qui contiendra le notre nouveau projet symfony.

Une fois fait, il faudra mettre a jour les dépendance définit dans le fichier composer.json.

Pour cella, il suffit de lancer la commande suivante a l’intérieur du dossier de notre nouveau projet : 

rendant ainsi notre premier site symfony opérationnel.

ceci étant fait, nous allons l’importer dans notre gestionnaire de dépôts et, pour cella, il faudra commencer par créer le dépôts local de notre site.

Il suffit alors de ce rendre dans le répertoire de notre petit principal et d’exécuter les commandes suivantes :

Ceci étant fait, notre site est désormais  versionné sur notre depots git de BitBucket et a jour.

Valider une modification sur le site principal

Pour cella, il suffit de ce rendre dans le le répertoire de notre petit site et de lancer la commande suivante :

Il faut bien comprendre qu’un simple commit ne met pas a disposition les sources sur le dépôt partagé (BitBucket). Cella permet seulement de valider certainement modification que l’on vient d’effectuer.

De cette facon, nous pouvons faire plusieurs groupe de modification que l’on peut valider au fur et a mesure sans qu’elle soit disponible.

Pour les rendre disponible, il suffit de pousser les modifications sur le serveur en effectuant la commande suivante :

Création d’un sous module distribuable

La gestion des sous module permet de créer des modules que l’on pourra redistribuer sur d’autre site tout en le testant sur notre site « principal ».

Nous allons donc créer un nouveau bundle redistribuable a l’aide de la console de notre petit site Symfony :

en répondant bien « yes » a la question « Are you planning on sharing this bundle across multiple applications? »

Dans notre exemple, nous allons créer une Bundle nommé « SubMBundle » dans sous le repertoire « Tsub »; ce qui lui donne dons le nom suivant : « TsubSubMBundle » ou le namespace suivant : « Tsub/SubMBundle ».

le message d’erreur suivant peut apparaître :

The command was not able to configure everything automatically.
You’ll need to make the following changes manually.

Cella indique simplement que le Bundle n’est pas présent dans l’AutoLoad de composer. il faudra donc l’ajouter a la main.

Pour cella : on modifie le fichier « composer.json » de notre site principal et on y a joute la ligne suivante dans la section « autoload/psr-4 » pour qu’il ressemble a ça :

et en exécutant la commande suivante :

Il ne reste plus qu’a partager notre bundle via bitbucket.

Pour cella, commençons par créer un dépôt vierge sur BitBucket que l’on nomera dans notre exemple « subm ». et initialisons notre dépôt local de git.

On va donc se déplacer dans le repertoire de notre module : « src/Tsub/SubMBundle »;

et initialiser le dépôt local :

Et voila, notre nouveau module est versionner indépendamment de notre site principale.

cependant il reste une étape, et pas la moins importante : Définir notre nouveau Bundle comme étant un Sous Module git de notre site principal.

Si cette étape est oublier, les sources de notre nouveau bundle seront ajouter a notre dépôt du site principal lors des prochains commit et push.

Il faut donc ne pas oublier cette étape.

 Déplacont nous a la racine de notre site et lançons la commande suivante :

Notre module est donc déclarer et ne sera donc plus pris en compte comme etant des sources du site principal même, mais bien comme un module distribuable.

Il ne reste qu’a initialiser le module a l’aide des commande suivante :

et voila, vous pouvez faire évoluer votre module et utiliser les commande git de commit ou de push a l’intérieur du répertoire git de votre nouveau bundle.

Il est a tout moment possible de voir l’etat de notre depot git en se déplacant sur le site principal et en utilisant la commande :

Ajout d’un module existant a notre site principal

Il se peut également que l’on ai besoin d’ajouter un module existant a notre site, pour le faire évoluer par exemple ….

Il suffira pour cella ce rendre a la racine de notre petit site principal et de taper les commandes suivante :

et le tour est joué …

 

 

 

 

Catégories : Développement

0 commentaire

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *