local dev

Instalation d'un projet

Copie et configuration

Pour ajouter un nouveau projet, rien de plus simple. Rendez-vous dans le dossier /envelapp/app et copiez-y vos fichiers manuellement ou récupérez-les depuis un répertoire Git.

Définissez ensuite le projet sur lequel vous souhaitez exécuter des commandes en entrant le nom du dossier et le répertoire public à la demande de cette commande:

sail switch
main folder .env? : larapp
new LOCAL_FOLDER=/larapp
public folder ?[public] :
new LOCAL_INDEX=/public
[+] Restarting 1/1
 ✔ Container envelappmaster-nginx  Started                      0.3s
 nginx restart

Maintenant, si besoin vous pouvez installer vos dépendances :

sail composer install
sail npm run prod

Pour rappel, voici la configuration de la base de données par défaut :

#./app/larapp/.env
DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=vision_app
DB_USERNAME=root
DB_PASSWORD=root

Création ou import BD

Grâce à l'interface phpMyAdmin, il est simple de créer ou d'importer une base de données. L'URL par défaut est http://localhost:8081/, avec les accès correspondant à votre configuration MySQL. Si vous êtes plus expérimenté, vous pouvez également accéder au conteneur MySQL et effectuer ces opérations en ligne de commande.

Url projet

Par défaut, l'URL http://localhost/ est le lien principal vers le projet lorsque la commande sail switch est exécutée. Cette commande modifie les valeurs ci-dessous dans le fichier .env.

LOCAL_FOLDER=/larapp
LOCAL_INDEX=/public

Si vous préférez utiliser des URL statiques pour votre projet, comme http://larapp.dev.cc/, vous pouvez ajouter cette URL dans le fichier hosts. Sous macOS, exécutez la commande sudo nano /etc/hosts et ajoutez la ligne suivante : 127.0.0.1 larapp.dev.cc.

Ensuite, créez un fichier de règles Nginx à l'emplacement /docker/nginx/site/local.conf et redémarrez le service.

Pour des exemples de règles, consultez le chapitre Concepts d'architecture, section Nginx, ou les fichiers du dossier /docker/nginx/stubs.

Il est facile de se perdre entre les projets. Il est donc recommandé d'ajouter à votre invite de commande shell ces informations : path gitBranch.

Voici un exemple de code dans le fichier /Users/{user}/.zshrc sous mac

Remplacer ~/Desktop/DEV/envelapp/ par le chemin de votre projet envelapp

export LOCAL_FOLDER=$(grep -F "LOCAL_FOLDER" ~/Desktop/DEV/envelapp/.env|sed -e 's/LOCAL_FOLDER=\///g');
function parse_git_branch() {
    git branch 2> /dev/null | sed -n -e 's/^\* \(.*\)/[\1]/p';
}
function parse_project_sail() {
if test -d .git; then
  echo "($(grep -F "LOCAL_FOLDER" ~/Desktop/DEV/envelapp/.env|sed -e 's/LOCAL_FOLDER=\///g'))";
fi
}
setopt PROMPT_SUBST
export PROMPT='%F{grey}%n%f %F{cyan}%~%f %F{green}$(parse_git_branch)$(parse_project_sail)%f %F{normal}$%f '

Voici un exemple de code dans le fichier /home/{user}/.bashrc sous linux

Remplacer ~/envelapp/.env par le chemin de votre projet envelapp

parse_git_branch() {
     git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'
}
function parse_project_sail() {
if test -d .git; then
  echo "($(grep -F "LOCAL_FOLDER" ~/envelapp/.env|sed -e 's/LOCAL_FOLDER=\///g'))";
fi
}
export PS1="\u@\h \[\e[32m\]\w \[\e[91m\]\$(parse_git_branch)\$(parse_project_sail)\[\e[00m\]$ "