Blog Magento 2
Tester un playbook ansible sur plusieurs OS
On utilise ansible pour provisionner des serveurs et des laptops pour l’équipe.
Plus le temps avance et plus on a des os différents.
En général, la provision se fait en urgence : un pc de dev qui part au sav, besoin d’un serveur supplémentaire pour cause de charge.
Et quasiment à chaque fois, une version majeure de l’OS est sortie et on a parfois des adaptations à faire.
Le but ici sera donc de pouvoir tester notre playbook à chaque commit pour voir ce qui marche et ce qui ne marche pas.
Comment mettre à jour MySQL sur Magento Cloud ?
Vous venez de changer la version de MySQL dans le fichier de configuration de Magento Cloud et vous avez une erreur ? Pas de panique, c’est une “fonctionnalité” ;)
En effet, MySQL est lancé dans un containeur, si on change la version, il faut habituellement lancer un mysql_upgrade. Sauf que, bien entendu, on a pas accès au containeur.
Voici l’erreur qu’on a sur la CI :
Error: Environment redeployment failed Please contact support for more information, specifying event ids: 1234 Ce qui donne :
Magento ou développement sur mesure ?
Magento est un CMS e-commerce bien connu, il repose sur de nombreuses couches open-source dont Zend Framework et Symfony.
Un développement sur mesure repose en général sur un framework, souvent sur Laravel ou du Symfony.
Solution Magento Magento a, de base, une liste de fonctionnalités très étendue, voici une partie du fonctionnel.
Le projet est vieux, la première version est sortie en 2008. Sur la version 2, il y a plus de 100 000 commits, un commit étant une contribution d’un développeur.
Comment brancher le Cloud Magento 2 sur un repo Gitlab ?
Comment brancher le Cloud Magento/Adobe sur un repo Gitlab ?
Etape 1 : créer un token sur un utilisateur Gitlab On va sur notre instance Gitlab, Profil => Settings => Access Tokens => Add a personal access token
Ce qui donne :
Etape 2 : installer le phar magento-cloud https://devdocs.magento.com/cloud/before/before-workspace-magento-prereqs.html#cloud-ssh-cli-cli-install
Etape 3 : faire le lien dans Magento Cloud Tout est dans la commande magento-cloud integration:add, il y a une GUI qui permets de faire la suite.
Git revert merge - Consultant Freelance Magento LUMAO
Parfois, le pire arrive, quelqu’un merge la branche de préproduction dans sa branche. Plutôt que de recréer la branche et faire du cherry pick en priant pour ne pas se tromper on peut faire plus simple.
Voici l’état de départ :
Ici le commit fautif est le 709b89fd.
Pour l’annuler, c’est simple :
git revert -m 1 709b89fd L’historique sera pourrit mais vous aurez les bons fichiers.
Créer un menu riche avec Snowdog Menu
Tuto rapide expliquant comment utiliser le module de menu Snowdog Menu sous Magento 2
Front Le menu est composé de 3 parties :
Menu principal, toujours visible, au clic on affiche les parties 2/3.
La liste des sous-catégories.
Le contenu mis en avant.
Bannière promo optionnelle Liste de produits optionnelle Back Menu On utilise 3 composants du menu :
Récupérer l'adresse IP des visiteurs avec CloudFlare
Si vous utilisez le CDN CloudFlare et que vous souhaitez mettre votre e-commerce en mode maintenance, vous avez surement remarqué que la liste blanche ne fonctionne plus, c’est normal, CloudFlare est un Reverse Proxy, vous voyez son IP et plus celle du visiteur.
Comment récupérer la véritable adresse IP des visiteurs avec CloudFlare ? C’est simple, il suffit de changer l’injection de dépendance pour récupérer le header HTTP_CF_CONNECTING_IP au lieu de REMOTE_ADDR.
Recrutement Business Developer - Agence Magento LUMAO
Qui sommes-nous ?
Vos principales missions Vous prospectez des clients B2B ayant envie d’ouvrir un site de vente en ligne.
Vous prospectez des clients B2C ayant déjà un site sous Magento afin de récupérer la TMA.
Vous intervenez sur l’ensemble du cycle de vente depuis la génération de demandes jusqu’à la négociation et la conclusion des contrats,
Vous suivez ensuite votre client dans une optique de fidélisation et de développement de chiffre d’affaires,
Recrutement Chef de projet technique Magento - Agence LUMAO
Qui sommes-nous ?
Périmètre : projet/TMA
Vos principales missions Gérer la communication (téléphone, email) avec les clients. Les accompagner, quand ils ouvrent un ticket par email/téléphone, leur explique qu’il faut le mettre dans l’outil de ticketing.
Gérer le planning et les priorités des développeurs.
Pouvoir résoudre des “petits problèmes” de TMA sans l’aide de développeur. Exemple : suivre une documentation pour faire des requêtes SQL, changer une couleur en CSS, faire de la contribution, créer/débugger des règles de promotions, modifier des règles de frais de ports (config bo/json), former les clients (bo, merchandising), les rencontrer (mettre une chemise, un tailleur).
Tester un script Gitlab CI - Agence Boutique Magento LUMAO
Quand on fait des scripts de déploiement via Gitlab CI, on réussit rarement du premier coup. Pour éviter quelques commits, c’est intéressant de tester le script de Gitlab CI en local.
Ca vous évitera la review et les moqueries des collègues.
Pour ça, il faut “juste” avoir Docker et Gitlab-Runner sur son pc.
Gitlab Runner C’est ici : https://docs.gitlab.com/runner/install/
gitlab-runner install
gitlab-runner start
gitlab-runner exec docker deploy_preproduction –env SERVER_IP=1.2.3.4 –env SERVER_PASSWORD=password –env SERVER_PORT=22 –env SERVER_USER=deploy
Docker Sync - Agence Ecommerce Magento Grand Compte LUMAO
Eviter facilement les problèmes de synchronisation de fichiers sur Windows/Mac.
Docker Sync http://docker-sync.io/
docker-sync.yml
version: ‘2’ options: compose-dev-file-path: ‘docker-compose.yml’ verbose: true syncs: poc-magento2-sync: src: ./ sync_userid: ‘33’ sync_excludes: [ ‘.idea’, ‘.buildpath’, ‘.project’, ‘.settings’, ‘.DS_Store’, ‘.gitlab-ci.yml’, ‘generated’, ‘setup’, ‘vendor’, ‘var’ ] watch_excludes: [ ‘.idea’, ‘.buildpath’, ‘.project’, ‘.settings’, ‘.DS_Store’, ‘.gitlab-ci.yml’, ‘generated’, ‘setup’, ‘vendor’, ‘var’ ] docker-sync start docker-compose.yml
version: "2" services: php: image: lavoweb/php-7.0:xdebug expose: - 80 volumes: - app_sync:/var/www/html volumes: app_sync: external: name: poc-magento2-sync docker-compose up -d
Configurer OpenVPN avec Docker - Agence Magento LUMAO
Un article très court aujourd’hui pour monter un VPN sur un serveur avec docker-compose en quelques minutes.
Serveur OpenVPN Très simple, on crée un répertoire openvpn et on met le fichier docker-compose.yml :
openvpn: image: ‘kylemanna/openvpn’ volumes: - ‘./data:/etc/openvpn’ ports: - "1194:1194/udp" cap_add: - NET_ADMIN restart: always Pour ajouter le support ipv6, il faut malheureusement lancer le containeur en root :
privileged: true On fait la configuration :
docker run –name openvpn_openvpn_1 -v /etc/openvpn busybox docker run –volumes-from openvpn_openvpn_1 –rm kylemanna/openvpn ovpn_genconfig -u udp://VPN.
Recrutement développeur Magento - Agence LUMAO
Avant toute chose, l’offre est pour plusieurs profils, c’est normal de ne pas avoir toutes les compétences !
Qui sommes-nous ?
On recherche un développeur Magento confirmé en télétravail (on paye l’espace de coworking si besoin). Tu peux travailler de n’importe où avec une bonne connexion, même à l’étranger si cela n’influence pas ta productivité. Si la stack technique te botte mais que tu es junior, c’est possible également de te former (uniquement sur Annecy) si tu es étudiant ou si tu as des compétences en graphisme/ops.
Charte sur le respect de la vie privée
Date de dernière mise à jour : 09/03/2018
La présente charte sur le respect de la vie privée (la « Charte ») a pour objectif de formaliser notre engagement quant au respect de la vie privée des utilisateurs du site internet lumao.eu exploité par Lumao SASU.
La Charte est régie par les Conditions Générales d’Utilisation du Site. Tous les termes en majuscules non-définis dans la présente Charte sont définis dans les Conditions Générales d’Utilisation.
Conditions Générales de Services
Date de dernière mise à jour : 08/03/2018
Article 1 – MENTION LÉGALES Le présent site, accessible à l’URL https://lumao.eu/ (le « Site »), est édité par :
Lumao, SASU au capital de 100 euros, inscrite au R.C.S. d’Annecy sous le numéro 835305657, dont le siège social est situé au Lumao AXALP SERVICES 1 place Marie Curie 74000 Annecy, représenté(e) par Lavorel Aurélien dûment habilité(e),
(Ci-après désigné le « Vendeur »).
Connexion SFTP avec Docker - Agence E-commerce Magento LUMAO
Comment accéder au contenu sur vos containeurs Docker ?
Comme sur les autres, via (s)ftp.
SFTP Pourquoi faire ça Dans la logique DevOps, on ne va pas utiliser la connexion sftp pour modifier le code directement en prod, non on a le déploiement automatique et ça sera écrasé. Par contre, les webmasteurs ont surement besoin de modifier ou d’ajouter régulièrement des médias au site. Il ne faut pas les versionner, c’est pour cet usecase qu’on va faire un containeur sftp.
Elastic Beanstalk déployer containeur Docker
On a vu comment déployer automatiquement du code quand on push sur une branche. Maintenant, il est temps de customiser le déploiement pour mettre nos containeurs.
Configuration Beanstalk (EB) Pas grand chose à faire, si vous avez ceci dans votre tableau de bord, c’est bon : Dockerfile Au déploiement, EB va lire les fichiers Dockerfile et Dockerrun.aws.json, on va rester sur le premier vu qu’on connait déjà. Dans le principe, EB va éxecuter le containeur et le publier une fois qu’il aura fini.
Envoyer des mails via Amazon SES sur Magento 2
Comment envoyer des e-mails via Amazon Simple Email Service pour un site sous Magento 2 ?
Il y a 3 étapes :
Configurer le compte Amazon
Changer les DNS
Valider les e-mails
Installer/Configurer une extension Magento
Amazon Pour une fois, on ne peut pas utiliser le service depuis beaucoup de zones, en Europe ce sera l’Irlande (eu-west-1 pour les intimes).
Gitlab CI + AWS - Meillere Agence Ecommerce Magento LUMAO
Aujourd’hui, on va voir comment faire un déploiement automatique (Continuous Deployment, CD pour la suite) au push sur une branche de Gitlab.
Alternatives à Gitlab Tout d’abord quelques alternatives à Gitlab CI, il y en a beaucoup d’autres.
Travis CI CircleCI Jenkins Bamboo … Alternatives à AWS Vous pouvez brancher n’importe quoi comme système de déploiement, du moment que vous arrivez à lancer le déploiement depuis un containeur Docker.
Contact Lumao : Agence Ecommerce 100% Magento
Intéressé pour en savoir plus sur notre expertise certifiée par Magento ? N’hésitez pas à nous parler de votre projet.
Developpeur Développement Laravel - Agence Magento LUMAO
Laravel est un framework PHP très tendance dans le monde du développement. Il a été créé par Taylor Otwell en juin 2011.
Il a tout de suite été adopté par de nombreux développeurs (nous les premiers) car il est très simple à prendre en main, il est fourni comme un service, contrairement aux autres, ce n’est pas une contrainte de l’utiliser.
Création d’APIs Laravel permet de créer une API en quelques clics, c’est adapté pour faire un prototype pour des startups.
Recrutement freelance apporteur d'affaire
Qui sommes-nous ?
Bonjour,
On recherche un business developer/apporteur d’affaire capable d’apporter des projets e-commerce de grande envergure : 25-200k.
On propose une rémunération à la commission. C’est possible de faire de la marque blanche.
Recrutement secrétaire freelance - Agence Magento LUMAO
Qui sommes-nous ?
Toujours en recherche
Bonjour,
On recherche un secrétaire freelance sur Annecy pour gérer les “papiers” de l’entreprise.
Récupérer les factures sur différents sites
Classer les factures suivant l’ordre d’apparition sur les comptes
Gérer les notes de frais/indemnité kilométrique
Vérifier la TVA sur l’outil comptable et potentiellement “ventiler” les dépenses
Relancer les factures
Il faudrait venir sur place une fois par mois pour faire le tri.
Développement Akeneo - PIM Magento Agence & Developpeur
Akeneo est un Product Information Management. Avec cet outil, vous pouvez gérer des collections de produits très facilement. Pour tous les formats, que ce soit web, print, les données ERP…
Le principe est que le PIM contient toutes les informations des produits et est le maitre de l’information. Il est souvent couplé avec un Data Asset Management qui stocke les médias (photos, vidéos, musiques…).
Akeneo est développé en Symfony 2 et repose sur Oro Platform, un framework robuste et développé activement.
Présentation Seocampus 2017 - Agence Ecommerce Magento LUMAO
Merci d’être venu si nombreux à ma conférence au SEO Campus Paris 2017. J’étais “un peu” stressé, j’espère que ça vous a plu quand même.
Voici les liens des modules que j’ai évoqués :
CreareSEO DnD Patch Index Url Et mes slides :
SEO et ecommerce sur Magento: retour d’expérience de Aurélien Lavorel Bonne journée !
PHPUnit QuickStart - Agence Ecommerce Magento TPE PME LUMAO
Installation composer require phpunit/phpunit Lancement Tout php vendor/phpunit/phpunit/phpunit Un groupe php vendor/phpunit/phpunit/phpunit –group critical Un fichier php vendor/phpunit/phpunit/phpunit app/code/community/Namespace/Module/Test/Model/Cms/CustomerTest.php Une méthode php vendor/phpunit/phpunit/phpunit –filter getGroupIdFromRole app/code/community/Namespace/Module/Test/Model/Cms/CustomerTest.php
Reverse proxy automatique pour Docker
Dans cet article, on va voir comment faire un reverse proxy qui détecte l’ajout d’un site, génère un certificat SSL SAN pour les noms associés sans aucune action de notre part :)
Docker-compose Pour avoir un exemple plus parlant, on partira sur un site WordPress, créé avec docker-compose.
Træfɪk L’outil magique qui nous servira de reverse proxy.
Structure . |– acme |
-- acme.json |-- compose |
– soins-naturels.net | |– data | | |– mysql | | -- wp-content |
– docker-compose.Un registry Docker privé avec GitLab
Aller sur Gitlab.com
Créer un repo privé
Editer le projet :
Vérifier que l’option “Container Registry” est activée puis sauvegarder le projet.
Voici la configuration que je recommande :
On a donc un repo privé, où on peut mettre notre Dockerfile ainsi que notre configuration spécifique, un README qui explique comment récupèrer un tag spécifique ainsi que notre registry Docker
Vous devriez avoir un nouvel onglet dans le projet :
Hugo, GitHub Pages et Travis CI
Introduction ### Hugo Hugo est un générateur de site statique, il est rapide, compatible toute plateforme et est très simple à prendre en main. Il est fourni avec un serveur intégré et l’extension live-reload, vous pouvez donc écrire un article en MarkDown et voir directement le résultat sans rafraîchir la page. Faire des sites statiques permets de réduire les coûts d’hébergements et d’enlever le risque de failles applicatives.
GitHub Pages GitHub permet d’héberger gratuitement (en cas pas projet open-source) des documentations ou encore un site web.
Mentions Légales - Agence & Développeur Magento LUMAO
Conformément aux dispositions de la loi n° 2004-575 du 21 juin 2004 pour la confiance en l’économie numérique, il est précisé aux utilisateurs du site lumao.eu l’identité des différents intervenants dans le cadre de sa réalisation et de son suivi.
Edition du site Le site lumao.eu est édité par la société LUMAO SASU, au capital social de 100 euros, immatriculée au Registre du Commerce et des Sociétés d’Annecy sous le n° 83530565700024 et dont le siège social est situé au Lumao AXALP SERVICES 1 place Marie Curie 74000 Annecy (TVA intracommunautaire n° FR 68 835305657).
Merci de nous avoir contacté - Agence Magento LUMAO
Nous avons bien reçu votre e-mail, nous vous contacterons prochainement.
À bientôt,
L’équipe Lumao