Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1508 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Installation Vagrant pour projet Laravel

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Installation Vagrant pour projet Laravel

n°2235829
antoun4
Posté le 19-08-2014 à 09:51:47  profilanswer
 

Bonjour tout le monde,
 
Dans le cadre de mes études, je dois développer une application de gestion de stock en PHP.
 
Pour ce faire, le prof nous a demandé de travailler avec le framework Laravel, et afin d'avoir tous le même environnement, d'installer Vagrant.
 
Nous avions fait tout ça ensemble en classe l'année passée, mais j'ai du changer de PC durant les vacances et je dois rendre ce travail pour la rentrée...
 
Donc hier je me suis mis à la tâche, reparti de zéro, installation d'un éditeur de texte, de WAMP (oui je sais Windows c’est de la m*****), de MySql Workbench, enfin je vous passe les détails…
 
Ensuite Laravel, un peu plus compliqué, l’installation se fait via Composer, qui lui nécessite GIT. Après quelques fouilles sur le web, j’ai su m’en sortir. J’ai donc créé un nouveau projet Laravel dans mon répertoire C://wamp/www/  (et ça fonctionne, j’ai testé localhost/laravel/public, it works  :bounce: )
 
Bonne chose de faite, ça m’a pris toute la soirée  :pt1cable:  
 
Bon, maintenant il me reste à installer Vagrant, (ça me fait penser que j’ai oublié d’installer VirtualBox !). A l’époque, le prof nous avait donné un dossier « Vagrant » en nous demandant de le décompresser à la racine, donc direct sur C://, et de créer un nouveau projet à la racine lui aussi, et ensuite de faire un « Vagrant up » dans ce projet.
 
Ma question, est ce que je dois qd-même décompresser ce dossier à la racine si mon projet Laravel ne s’y trouve pas ? Y’avait une raison pour laquelle le prof nous demandait de créer le projet à la racine ?
 
Je sais je suis un peu long mais j’aime autant bien me faire comprendre car je sens que j’aurai d’autres questions :D
 
Merci d’avance   :jap:  
 
(Pour info (tant qu’à être complet  :) , le dossier « Vagrant » contient 3 dossiers : « puppet », « vagrant » et « www » + 2 fichiers : « vagrantfile » et « readme.md »)
 
 
 

mood
Publicité
Posté le 19-08-2014 à 09:51:47  profilanswer
 

n°2235870
scull
MySCULL cay bon mangez en!
Posté le 19-08-2014 à 19:48:21  profilanswer
 

Salut,
 
L'intérêt de travailler sur une VM, c'est justement qu'avec Vagrant (et puphet pour tes provisioning) c'est que c'est portable :
En théorie, avec de simples fichiers de configs, ton prof pourra recréer la même machine virtuel que celle sur laquelle tu as mis ton projet, sans s'embêter à devoir reproduire tous les environnements de tous ses élèves.
 
Si tu as compris cela, tu dois comprendre que en dehors de la configuration de VirtualBox et la création de tes fichiers de configs de ta VM, tout ce que tu fais est de trop (et ton prof passera pas des heures à refaire tes configs) ;)
Ce qu'il veux, c'est importer tes configs de VM, lancer la VM et consulter ton travail.
 
Dans le milieu pro c'est idem, on aime avoir une config qui reproduit les réglages de la prod, pour facilement ce les partager entre dev, sans devoir passer des heures à tout configurer.
 
Alors pour te faire avancer un peu (et dans le bon sens), sache qu'étant donné que ton projet doit être "isolé" sur une VM, c'est sur cette VM que tu dois installer PHP, MYSQL, GIT, COMPOSER & co. Sans quoi, ta VM sera incapable d'executer ton projet (et donc ton prof).
Pour ce faire, je te recommande l'excellent puphet :D
 
Et lire la doc de Vagrant, elle est vraiment trés simple :hello:  
 
PS: curiosité personnelle, c'est quoi comme études ?

n°2235892
antoun4
Posté le 20-08-2014 à 08:28:00  profilanswer
 

scull a écrit :

Salut,
 
L'intérêt de travailler sur une VM, c'est justement qu'avec Vagrant (et puphet pour tes provisioning) c'est que c'est portable :
En théorie, avec de simples fichiers de configs, ton prof pourra recréer la même machine virtuel que celle sur laquelle tu as mis ton projet, sans s'embêter à devoir reproduire tous les environnements de tous ses élèves.
 
Si tu as compris cela, tu dois comprendre que en dehors de la configuration de VirtualBox et la création de tes fichiers de configs de ta VM, tout ce que tu fais est de trop (et ton prof passera pas des heures à refaire tes configs) ;)
Ce qu'il veux, c'est importer tes configs de VM, lancer la VM et consulter ton travail.
 
Dans le milieu pro c'est idem, on aime avoir une config qui reproduit les réglages de la prod, pour facilement ce les partager entre dev, sans devoir passer des heures à tout configurer.
 
Alors pour te faire avancer un peu (et dans le bon sens), sache qu'étant donné que ton projet doit être "isolé" sur une VM, c'est sur cette VM que tu dois installer PHP, MYSQL, GIT, COMPOSER & co. Sans quoi, ta VM sera incapable d'executer ton projet (et donc ton prof).
Pour ce faire, je te recommande l'excellent puphet :D
 
Et lire la doc de Vagrant, elle est vraiment trés simple :hello:  
 
PS: curiosité personnelle, c'est quoi comme études ?


 
J’avoue que j’ai un peu de mal avec cette “philosophie”… ça fait beaucoup de choses en même temps !
 
Ici le prof nous avait demandé d’installer Vagrant mais de prendre un fichier de config à lui pour que nous ayons tous le même environnement (p-ê le même que celui de son pc en fait?)
 
Je ne comprends donc pas ce que je fais de superflu ?
 
En ce qui concerne ça :
 
« Alors pour te faire avancer un peu (et dans le bon sens), sache qu'étant donné que ton projet doit être "isolé" sur une VM, c'est sur cette VM que tu dois installer PHP, MYSQL, GIT, COMPOSER & co. Sans quoi, ta VM sera incapable d'executer ton projet (et donc ton prof).
Pour ce faire, je te recommande l'excellent puphet :D »
 
Je suis complètement largué… :D  
Moi hier soir j’ai installé Vagrant, j’ai ensuite décompressé le dossier de config (je suppose) que mon prof nous avait donné dans mon projet laravel (qui est dans C://WAMP/WWW). Et (après avoir réglé qques soucis de comptabilité avec VirtualBox et Win 8.1  :pfff: ), j’ai ouvert mon editeur de texte dans lequel je sais directement faire une « Vagrant up » (je travail dans phpStorm), et tout s’est bien passé.
 
En fait c’est ça qui me frustre, je fais des choses, mais sans bien les comprendre en profondeur...
 
Oui j'aurai bien besoin de la Doc car je suis loin d'être bon en PHP et ce projet me semble au dessus de mes capacités.
 
C’est un BES (Brevet d’Etudes Supérieures, nouveau « grade » en Belgique) de Webdeveloper.
 
Merci bien pour la réponse en tout cas, je me sens moins seul   :jap:  :D  

n°2235917
scull
MySCULL cay bon mangez en!
Posté le 20-08-2014 à 13:42:04  profilanswer
 

1) non le fichier de config de ton prof ne doit pas correspondre à son pc, mais à sa VM.
 
2) Y a vraiment 4 cmd basiques pr utiliser Vagrant, avant d'utiliser les raccourcis de ton IDE, tape les dans un terminal. Et si t'es allergique au terminal, change vite de job ^^
 
3) +1, t'a l'air de suivre les premières étapes de 15 tutos différents pompés sur le net, sans comprendre ce que tu fais.
 
Il ce passe quoi quand tu accèdes à l'ip de ta machine vagrant ?
http://www.updemia.com/static/b/h/ll/53f4896d27990.png

Message cité 1 fois
Message édité par scull le 20-08-2014 à 13:44:02

---------------
Créer son forum gratuit |  Mon beau blog phpBB caÿ le mal :o
n°2235924
antoun4
Posté le 20-08-2014 à 14:39:22  profilanswer
 

scull a écrit :

1) non le fichier de config de ton prof ne doit pas correspondre à son pc, mais à sa VM.
 
2) Y a vraiment 4 cmd basiques pr utiliser Vagrant, avant d'utiliser les raccourcis de ton IDE, tape les dans un terminal. Et si t'es allergique au terminal, change vite de job ^^
 
3) +1, t'a l'air de suivre les premières étapes de 15 tutos différents pompés sur le net, sans comprendre ce que tu fais.
 
Il ce passe quoi quand tu accèdes à l'ip de ta machine vagrant ?
http://www.updemia.com/static/b/h/ll/53f4896d27990.png


 
1) Oui donc comme ça nous avons tous la même VM (la même que le prof), et notre programme tourne de la même façon chez tout le monde
 
2) J'ai fait un Vagrant up direct dans PHPStorm car c'était les consignes du prof :)
(j'ai eu un cours de Shell sur LinuxMint et j'ai vraiment bien aimé, donc je ne change pas d'orientation :))
 
3) Merci beaucoup pour le petit schéma... mais faut que j'y réflféchisse car je comprends qd-même pas mega bien  :pt1cable:  
 
En gros ce que moi je vois, c'est que j'ouvre mon projet Laravel qui est dans mon wamp/www, je fais un Vagrant up (la 1ere fois en pointant sur le dossier c://HashiCorp/vagrant/bin/vagrant.exe (de mémoire, mais ça y ressemble)), là ça lance la VM (configurée par mon prof).
Ce qui veut donc dire que quand je teste mon programme, c'est via la VM...? parce que moi, je tape localhost/laravel/public, donc c'est mon serveur local... rho put*** j'y comprends plus rien  :(  Et c'est quoi le c:\laravel_src ?  
J'ai vraiment du mal  :cry:


Message édité par antoun4 le 20-08-2014 à 14:42:27
n°2235926
flo850
moi je
Posté le 20-08-2014 à 15:11:37  profilanswer
 

Tu n'as pas besoin de WAMP, il ya dejà un apache dans Vagrant


---------------

n°2235928
antoun4
Posté le 20-08-2014 à 15:13:52  profilanswer
 

flo850 a écrit :

Tu n'as pas besoin de WAMP, il ya dejà un apache dans Vagrant


 
C'est bien ce que je me disais... mais c'est trompeur car je vais dans localhost... en fait c'est le localhost de la VM quoi.
 
et d'où il ne faut pas spécialement créer son projet dans la WAMP/WWW en fait?!
 
Dites moi que oui svp :D, ça commence à rentrer :)


Message édité par antoun4 le 20-08-2014 à 15:14:50
n°2235943
scull
MySCULL cay bon mangez en!
Posté le 20-08-2014 à 18:48:02  profilanswer
 

c'est quoi l'ip de ta VM ? Trouve la et ouvre là, tu devrais y voir ton projet  laravel.

 

Ensuite, pour t'aider à comprendre ce que tu fais, éteind ta VM (vagrant halt, ou depuis l'interface de virtualbox), prend ton répertoire de laravel, déplace le ou tu veux, par exemple dans C:/laravel_src. Vas dedans, lance la VM (vagrant up), rend toi sur l'ip de ta vm et... Oh, ça marche!

 

Pourtant tu n'es plus dans ton wamp, mais dans ta VM.
Autre technique pour comprendre ce qui ce passe, créer un fichier phpinfo et lance le depuis ton WAMP, et depuis ta VM, il y a des chances pour que tu n'est pas exactement la meme version de php ;)

Message cité 1 fois
Message édité par scull le 20-08-2014 à 18:48:15
n°2235950
antoun4
Posté le 21-08-2014 à 09:04:23  profilanswer
 

scull a écrit :

c'est quoi l'ip de ta VM ? Trouve la et ouvre là, tu devrais y voir ton projet  laravel.
 
Ensuite, pour t'aider à comprendre ce que tu fais, éteind ta VM (vagrant halt, ou depuis l'interface de virtualbox), prend ton répertoire de laravel, déplace le ou tu veux, par exemple dans C:/laravel_src. Vas dedans, lance la VM (vagrant up), rend toi sur l'ip de ta vm et... Oh, ça marche!
 
Pourtant tu n'es plus dans ton wamp, mais dans ta VM.
Autre technique pour comprendre ce qui ce passe, créer un fichier phpinfo et lance le depuis ton WAMP, et depuis ta VM, il y a des chances pour que tu n'est pas exactement la meme version de php ;)


 
Merci pour les explications, j'ai bien compris cette fois  :)  
C'est vrai que je me suis un peu embrouillé car j'ai du tout réinstaller sur mon nouveau PC, dont WAMP, mais qui n'est pas nécessaire dans ce cas-ci. En fait dans ma tête, la VM lançait mon projet via mon Appache... (un peu tordu, je sais  :pt1cable: )
Et en effet vu que j’ai une version de WAMP toute récente, je suis surement en PHP 5.5.x, tandis que sur la VM à mon avis en 5.4.x.  
 
Je regarderai pour l'IP tantôt car là suis au boulot (oui, j'ai oublié de préciser que je fais ça en cours du soir et que je travaille dans un tout autre domaine, d'où je n'ai pas encore beaucoup de pratique!)
 
J'aurai encore un ou deux mystères à élucider, c'est une histoire de port. Je me souviens qu’au cours, pour lancer nos projet, nous devions taper «localhost :8888/laravel/public », donc préciser le port, et je ne sais pas pourquoi car chez moi je n’ai pas à le faire… ?
 
Et qd j’ai du créer une nouvelle connexion dans MySqlWorkbench, j’ai du mettre le port 8889  (tout cela étant toujours les consignes du prof), pourquoi 8889?  
Ensuite on me demandait un mot de passe (que le prof nous avait donné), où est défini ce mot de passe ? dans le fichier config Vagrant de mon prof ?
 
Bon maintenant j’arrête  :D  
 
Ce soir je me lance dans les Routes, Vues, Contrôleurs,… pffffff, ça va chi**  :sweat:  
 

n°2235952
flo850
moi je
Posté le 21-08-2014 à 09:35:54  profilanswer
 

ta conf vagrant utilise probablement des port forwarded : https://docs.vagrantup.com/v2/netwo [...] ports.html
 
Ca permet de ne pas avoir à connaitre l'ip de la VM : le port 80 de la VM est accessble par le port 8888 de l'hote ( ton c windows), et le port 3306 de la vm ( mysql)  est redirigé sur le port 8889 du PC.
Tout ça est défini dans le fichier de conf  
 
( ton prof a bien bossé au passage)


---------------

mood
Publicité
Posté le 21-08-2014 à 09:35:54  profilanswer
 

n°2235973
antoun4
Posté le 21-08-2014 à 16:05:12  profilanswer
 

flo850 a écrit :

ta conf vagrant utilise probablement des port forwarded : https://docs.vagrantup.com/v2/netwo [...] ports.html
 
Ca permet de ne pas avoir à connaitre l'ip de la VM : le port 80 de la VM est accessble par le port 8888 de l'hote ( ton c windows), et le port 3306 de la vm ( mysql)  est redirigé sur le port 8889 du PC.
Tout ça est défini dans le fichier de conf  
 
( ton prof a bien bossé au passage)


 
Ha okéééééé!  
Moi comprendre, thanks ;)
 
Et pourquoi chez moi quand je fais un localhost/laravel/public ça fonctionne aussi?
C'est pas sur la VM alors ce que je vois, mais simplement sur "mon" serveur (vu que j'ai créé mon projet dans wamp/www)?  
Pourtant j'ai fait un Vagrant up dans ce projet...


Message édité par antoun4 le 21-08-2014 à 16:07:21
n°2235975
flo850
moi je
Posté le 21-08-2014 à 16:26:21  profilanswer
 

oui

 

tu as bien fait vagrant up dans ce projet, et vagrant t'attendais sagement sur les ports 8888 et 8889, mais tu as préféré aller voir le port 80

 

Il t'attend surement toujours, comme un chien fidèle attendant le retour de son maître. Ne le déçois pas plus :o


Message édité par flo850 le 21-08-2014 à 16:26:36

---------------

n°2235987
scull
MySCULL cay bon mangez en!
Posté le 21-08-2014 à 18:01:02  profilanswer
 

[:alerte canard]

n°2235988
antoun4
Posté le 21-08-2014 à 18:28:48  profilanswer
 

:D  
 
Je suis allé voir Vagrant mais encore un grand mystère!
 
D'origine, lorsqu'on arrive sur un projet Laravel "vierge", il y a le logo et la fameuse phrase "You have arrived".
Pour tester, j'ai changé cette phrase... en local ça fonctionne bien, mais qd j'y vais via localhost:8888 (donc je vais bien voir mon toutou qui m'attend  :D ), c'est le "You have arrived" qui est toujours là  :heink:
 
J'y arriverai hein...  
 

n°2235994
scull
MySCULL cay bon mangez en!
Posté le 21-08-2014 à 20:40:24  profilanswer
 

Si ton config vagrant fonctionne, il est possible que ce soit normal ;)

n°2235996
antoun4
Posté le 21-08-2014 à 21:35:12  profilanswer
 

scull a écrit :

Si ton config vagrant fonctionne, il est possible que ce soit normal ;)

 

Mais encore?

 

Après cette question j'arrête de vous emmerder et je plonge dans la doc de Laravel mais avant j'aimerais être sur que tout soit bien configuré:

 

Dans le HomeController y'a cette fonction:

 

public function showWelcome()
 {
  return View::make('hello');
 }

 

qui nous envoie donc vers la vue hello.php où il y a le logo et le slogan.

 

J'ai créé une autre vue "test.php" identique à "hello.php" en la modifiant un peu et je l'appelle dans la fonction showWelcome et rien en change à l'écran d'accueil... tout ce que je veux c'est savoir que je suis dans la bonne direction pour démarrer...

 

Enfin je viens qd-même de finir le schéma de ma db, demain je peux attaquer Laravel!


Message édité par antoun4 le 21-08-2014 à 21:36:40
n°2235999
scull
MySCULL cay bon mangez en!
Posté le 21-08-2014 à 22:23:59  profilanswer
 

Je connais pas du tout Laravel, mais remplace ceci  

Code :
  1. public function showWelcome()
  2. {
  3.  return View::make('hello');
  4. }


 
Par cela :

Code :
  1. public function showWelcome()
  2. {
  3.  return View::make(__DIR__);
  4. }


 
Cela affiche le chemin complet, tu devrais voir une sacré différence suivant quel environnement l'affiche ;)


---------------
Créer son forum gratuit |  Mon beau blog phpBB caÿ le mal :o
n°2236000
antoun4
Posté le 22-08-2014 à 08:17:54  profilanswer
 

scull a écrit :

Je connais pas du tout Laravel, mais remplace ceci  

Code :
  1. public function showWelcome()
  2. {
  3.  return View::make('hello');
  4. }


 
Par cela :

Code :
  1. public function showWelcome()
  2. {
  3.  return View::make(__DIR__);
  4. }


 
Cela affiche le chemin complet, tu devrais voir une sacré différence suivant quel environnement l'affiche ;)


 
Ok je teste ça en rentrant merci.
 
Et bon vendredi!  :bounce:

n°2236008
scull
MySCULL cay bon mangez en!
Posté le 22-08-2014 à 12:45:29  profilanswer
 

J'ai peur que 'hello' soit pas un "string", mais le nom de ton template :hello:  
 
 
En cas, ajoute un var_dump(__DIR__); au dessus ;)

n°2236010
antoun4
Posté le 22-08-2014 à 13:38:30  profilanswer
 

scull a écrit :

J'ai peur que 'hello' soit pas un "string", mais le nom de ton template :hello:  
 
 
En cas, ajoute un var_dump(__DIR__); au dessus ;)


 
Merci, je testerai aussi qd je serai rentré et te tiendrai au courant :)
 
Mais ce qui me semble bizarre, c'est qu'en local ça fonctionnait, j'avais juste changé la phrase "You have arrived" dans ma vue "hello.php" qui est appelée par le HomeController dans la fonction ShowWelcome, et ça marchait... donc pourquoi ce serait différent sur ma VM...

n°2236343
antoun4
Posté le 27-08-2014 à 21:46:42  profilanswer
 

Bon ben je dois avoir un problème quelque part car je viens de tester 2-3 trucs, et quand j'ajoute une vue ou un controller il n’apparaît même pas dans les dossier de mon projet qd je tape l'IP de ma VM...
 
(je réponds un peu tard mais plus eu trop le temps de bosser ces temps-ci...)

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Installation Vagrant pour projet Laravel

 

Sujets relatifs
aide démarrage projetproblème installation compilateur FLEX sur AIX 7.1
Problème avec VBA, projet financeProjet traitement image PGM et Scale Tkinter
aide pour un projet en programmation c++[arduino] Projet de terminale
Projet en Java's cool, effet sur imageQue pensez vous de mon projet de Web APP
Compteur d'heures de travail par projet VBA EXCEL[Javascool] Projet traitement d'image pour le Bac
Plus de sujets relatifs à : Installation Vagrant pour projet Laravel


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR