formations:devweb_6

Devweb 106 : Welcome in the Gang

Cette formation a pour but d'introduire les méthodes de gestion de projet utiles aux acteurs des projets devweb du GInfo. Au terme de cette forma, vous serez des membres éminents du GInfo et vous pourrez commencer à vous y investir pleinement, et devenir célèbre.

Afin de pouvoir participer aux projets devweb du GInfo, il vous est fortement recommandé d’installer :

  • Laragon ou Mamp ou Lamp (selon votre système d'exploitation) en tant que serveur de développement local.
  • PHPStorm qui est un IDE (Environnement de développement) fait pour l'édition de code HTML, CSS, PHP, et JavaScript.
  • Git qui est un logiciel de version.

Pour vous aider : Installer PHPStorm & configurer Git

Dans le cadre des projet du GInfo, vous serez amenés à travailler à plusieurs sur un même projet. Il est ainsi nécessaire que chacun puisse partager et recevoir les fichiers modifiés par d’autre. Vous aurez alors besoin d’un logiciel de gestion de version.

Un logiciel de gestion de version a 2 utilités principales :

  • suivre l’évolution d’un code source : retenir les modifications effectuées sur chaque fichier, être capable de revenir en arrière en cas de problème ;
  • travailler à plusieurs : récupérer et envoyer des fichiers aux autres, et si deux personnes modifient un même fichier en même temps, leurs modifications doivent pouvoir être fusionnées sans perte d’information.

Différents sites d'hébergement existent pour permettre aux utilisateurs de déposer leurs projets sur leur plateforme. À Centrale, nous utilisons Git sous son intégration dans redmine utilisée pour la forge de centrale.

Initialiser un projet

Si vous commencez un projet, pour démarrer un dépot git, vous n'avez qu'à vous positionner dans le répertoire du projet via le terminal et saisir :

 git init

Cela crée un nouveau sous-répertoire nommé .git qui contient tous les fichiers nécessaires au dépôt — un squelette de dépôt Git. Mais attention, pour le moment, aucun fichier n'est encore versionné.

Si vous souhaitez commencer à suivre les versions de votre projet, vous devrez commencer par indexer les fichiers existants et faire une validation initiale.

Cloner un depot existant

Dans le cas d'un projet en groupe, vous ne serez pas forcément l'initiateur du projet. Alors, il vous faudra cloner le projet déjà existant avec git afin de pouvoir récupérer un projet.

Pour cela, il vous faut l'url de votre projet.

 git clone [votre url]

Cette commande crée un répertoire du nom du projet, avec un .git initialisé.

Indexer un fichier

Il convient d'ajouter au versionnement les nouveaux fichiers, afin de prendre en compte les changements amenés par ces nouveaux fichiers.

Pour cela :

git add [nom du fichier]
Lorsque que vous initialisez un projet sur git, il faut ajouter tous les fichiers du repertoire !

Pour cela :

git add *.c

Valider des fichiers

État du dépot

Ignorer des fichiers

Il arrive que certains fichiers dans votre dossier projet ne soient pas à prendre en compte dans le versionnement. Pour qu'ils ne perturbent pas le reste du projet, il suffit de mettre leurs noms dans un fichier .gitignore.

Effacer un fichier

Si un des fichiers versionné se retrouve effacé, il n'en sera pas pour autant effacé dans le prje

git rm [nom du fichier]

Symfony est un framework reposant sur php. Ainsi, il permet de créer les fondations ainsi que les grandes lignes de nos projets. Cela va beaucoup simplifier notre travail, il est donc INDISPENSABLE d’en comprendre les rudiments.

Ces vidéos sont un bon moyen de découvrir Symfony 4, mais il est important de pratiquer en même temps que la vidéo. N'hésitez pas à mettre pause sur la vidéo à des moments pour essayer, et si vous avez des soucis nous sommes là pour répondre à vos questions !

Initialisation d’un projet

  • Téléchargement des dépendances PHP :
composer install
  • Téléchargement des dépendances JS :
npm install
  • Compilation des dépendances JS :
npm run build
  • Compilation continue des dépendances JS :
npm run watch
  • Pour lancer le serveur web :
php -S localhost:8000 -t public/

Mise à jour d'un projet

Il faut toujours regarder le contenu d’un pull pour savoir ce qu’il faut faire!

  • Si composer.json modifié :
composer install
  • Si package.json modifié:
npm install
  • Si nouvelles migrations apparues :
php bin/console doctrine:migrations:migrate

Assistants

Certaines commandes permettent de faire facilement certaines tâches.

  • Créer/modifier une entité :
 php bin/console make:entity
  • Créer un formulaire :
 php bin/console make:form
  • Créer un controlleur :
 php bin/console make:controller
  • Générer une migration :
 php bin/console make:migration

Si jamais ce n'est pas installé, faut suivre ce tuto, en gros les commandes sont :

wget http://repo.mysql.com/mysql-apt-config_0.8.9-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.9-1_all.deb
sudo apt-get update
sudo apt-get install mysql-server

Sous linux, pour les commandes de type

php bin/console doctrine:migrations:migrate

on a besoin d'un user de mysql. Par défaut, l'utilisateur 'root'@'localhost' est le seul existant. Mais utiliser

sudo php bin/console doctrine:migrations:migrate

n'est pas propre. Il est donc conseillé de créer un utilisateur qui aura les mêmes droits que le root sur les database. Pour cela, on ouvre un terminal, et =ape :

sudo mysql -u root

Cette comande ouvre un invite de commandes mysql (dans le terminal). ensuite, on crée l'utilisateur :

CREATE USER 'username'@'localhost';

(de préférence, mettre en username le nom de la session que vous utilisez). Puis on lui donne tout les droits sur toutes les database :

GRANT all privileges ON *.* TO 'username'@'localhost';
FLUSH privileges;

Et c'est bon! On a créé un nouvel utilisateur avec les bons droits, on peut installer les projets du GInfo avec les mêmes commandes que les utilisateurs de Windows! (mais on sait tous qu'on leur est supérieurs)


Cette formation a été réalisée par Romain GRONDIN et Tina ALAEI.

  • formations/devweb_6.txt
  • Dernière modification : 18/11/2020 16:12
  • de mle-goue