Mise en place d'un serveur d'envoi de mail SMTP qui passe les anti-spam

Aujourd’hui, les fournisseurs de boîtes mail ont tous des anti-spams. Certains se contentent de déplacer le mail dans un dossier « spam » mais d’autres suppriment purement et simplement le mail. Pour contrer ce problème, les serveurs d’envoi doivent montrer patte blanche. Prérequis : Un serveur VPS Linux avec accès à internet Un nom de domaine Ici, nous utiliserons un VPS Debian 7 et un domaine OVH. Installation de Postfix et de mailutils Postfix sera notre serveur d’envoi de mail. ...

19 mars 2018 · 7 min · Flavien Jourdren

Traduction d'un site Laravel

Ce système permet de changer la langue du site à partir d’un menu. Il utilise les sessions pour stocker la langue lors d’un changement. Puis un middleware modifie la langue par celle stockée dans la session grâce à la fonctionnalité « setLocale » de Laravel et à la traduction de Blade. Création de l’affichage menu CSS : .flag { width: 21px; height: 14px; } HTML : <!-- locale translation --> <li class="dropdown"> <a data-toggle="dropdown" class="dropdown-toggle" href="#"><img class="flag" src="{{ url('images/lang/'.Session::get('locale').'.png') }}" alt="{{ Session::get('locale') }}"/><b class="caret"></b></a> <ul class="dropdown-menu flagMenu"> <li><a href="{{ url('lang/en') }}"><img class="flag" src="{{ url('images/lang/en.png') }}" alt="en"/></a></li> <li><a href="{{ url('lang/fr') }}"><img class="flag" src="{{ url('images/lang/fr.png') }}" alt="fr"/></a></li> </ul> </li> Création de la route qui met en session la nouvelle langue Route::get('/lang/{locale}', function ($locale) { Session::set('locale', $locale); if($_SERVER['HTTP_REFERER']) return redirect($_SERVER['HTTP_REFERER']); else return redirect('/'); }); Création du middleware Ajouter ce middleware sur toutes les routes à partir du fichier Kernel.php. ...

18 mars 2018 · 2 min · Flavien Jourdren

Mémo Commandes Git

Git est un logiciel libre de versioning ; chaque projet est un dépôt. Cet outil permet le travail collaboratif sur un même code. Il est notamment utilisé par la plateforme open source GitHub. Vocabulaire Dépôt Il s’agit d’un endroit où l’on va stocker les versions du code. Les dépôts peuvent être comparés à des projets. Validation ou commit Il s’agit d’une version du projet à un instant t. Push Permet l’envoi d’un ou de plusieurs commits à un dépôt. Pull Permet le téléchargement des commits sur un dépôt. Fork Le fork permet à toute personne ayant accès au dépôt contenant le projet de le cloner et d’y effectuer ses propres modifications. Tree Contient un commit, il décrit l’arborescence des sources, un objet arbre pointe vers plusieurs commits parents. Branche Chaque commit connaissant ses parents, il est alors possible de faire travailler deux équipes sur deux branches différentes (la branche principale est master). Cela permet de créer deux versions du projet en parallèle. Il est ensuite possible de fusionner les deux branches pour mettre en commun le travail de chacun. Exemple : une branche dev et une branche production (master). Une fois qu’un commit de la branche dev est validé, les deux branches sont fusionnées et la branche principale possède donc les nouvelles fonctionnalités. Merge Il s’agit de la fusion de deux branches. Stash Est un espace de stockage local qui contient des modifications qui ne sont pas encore commit. Utile par exemple lors d’un changement de branche avec des modifications en attente. Rebase Permet de réécrire une partie de l’historique des commits. Cherry-pick Permet d’ajouter un commit à une autre branche sans avoir à fusionner toute la branche du commit. Commandes impératives Initialiser un projet git git init Lister les globals de configuration git config --list Configuration du pseudo git config --global user.name "votre_nom" Configuration du mail git config --global user.email "[email protected]" Statut des fichiers modifiés git status Premier commit git add . git commit -m "initial commit" Commits suivants git add chemin_vers_mon_fichier git commit -m "message du commit" Modifier le commit précédent git commit --amend Voir l’historique des commits git log Voir l’historique des commits (sur une ligne) git log --oneline Voir les branches sous la forme d’un schéma git lg Voir les différences par rapport au dernier commit git diff Faire revenir un fichier à un ancien commit git checkout <commit> <fichier> Revenir à un commit précédent (en ajoutant les fichiers modifiés au staging) git reset <commit> Revenir à un commit précédent (en supprimant les fichiers du staging) git reset <commit> --hard Créer un commit inverse à celui indiqué git revert <commit> Rebase d’une branche git checkout <commit> git rebase master Rebase interactif git rebase -i <commit> Le rebase interactif fonctionne avec un système de script. Lors de l’exécution de la commande, une nouvelle fenêtre est ouverte et il est alors possible d’effectuer ces actions sur chaque commit : ...

17 mars 2018 · 4 min · Flavien Jourdren