Weekend OpenGento 2019

Du Vendredi 15 novembre au Dimanche 17 novembre 2019 se déroulait le 3ème évènement de l’association OpenGento à Béthune.

L’Opengento ?

L’Opengento est une association qui regroupe chaque année des développeurs venant de toute la France pour le temps d’un week-end pour échanger et participer à un Hackathon.

Cette année, l’évènement se déroulait à Béthune dans le parc d’Olhain.

Le Vendredi Soir

Après 8 heures de voiture pour monter dans le Nord, quel ne fût pas notre plaisir d’être accueillis par Adexos qui inaugurait leurs nouveaux locaux.

Après quelques coupes de champagne et un sympathique Escape Game, c’est l’heure d’aller dormir pour être en forme le lendemain.

Le Samedi

Après un petit déj. bien copieux, il est tant de nous mettre au travail.

Chacun propose ses idées, puis vote pour le sujet qui l’inspire le plus.

Les idées fusent !

Après ce brainstroming, chacun se repartit dans le projet qui l’intéresse le plus : Sylius/Monofony pour Camille, Elasticseach/Sylius pour Dimitri, Sylius/Gatsby pour Xavier et Yubikey pour Maxime.

Projet Elasticsearch/Sylius

Au menu, POC d’un plugin Sylius fonctionnant avec ElasticSearch, pour permettre d’accélérer la recherche de produits sur la boutique, chose qui n’est pas native dans le framework.

Projet Gatsby Sylius

Toujours dans la même logique de recherche de performance, certains ont poussé l’idée à son paroxisme, en proposant un POC de Front Sylius utilisant Gatsby, un framework utilisant React et GraphQL.

Une démo est présente sur le site de l’OpenGento, et en effet c’est rapide !

Une petite pause sur les luges d’été, et on est reparti avec Yubikey !

Maxime et Camille tout schuss !

Projet Yubikey

Nativement  Magento 2 supporte la connexion par Yubikey.  Le système de base demande une authentification classique login / mot de passe, puis l’empreinte digitale. L’idée était d’ici de n’utiliser que le login et l’empreinte digitale, pour  pouvoir se connecter plus simplement sur le back-office de Magento.

Samedi soir

Après avoir bien travaillé, il est important  de reprendre des forces !

Ça tombe bien, une raclette nous attend.

Tard la nuit ou tôt le matin, les développeurs finissent tranquillement leurs projets. Le lendemain sera consacré à la présentation.

Pour finir

Un grand remerciement à tous les gens qui ont participé et aux organisateurs. Comme l’année précédente, le weekend a été réussi !

C’est vraiment super de pouvoir échanger, s’aider et découvrir de nouvelles technologies, le tout dans une ambiance bon enfant.

Rendez-vous en 2020 pour de nouvelles aventures !

Kiboko au ForumPHP 2019

Toute l’équipe technique s’est rendue à Paris au Forum PHP 2019 organisé par l’AFUP. L’équipe est enthousiaste de vous présenter notre retour d’expérience et les différents sujets qui nous ont marqué.


Présentation de Blackfire

Entre deux conférences, l’équipe a eu le droit à une présentation détaillée de l’outil de profilage Blackfire par Jérome Vieilledent. Depuis plusieurs mois, Kiboko utilise déjà cet outil afin de trouver les optimisations possibles dans le code. Mais cette présentation nous a permis de découvrir les nouveautés de ce profiler, de faire découvrir cette solution à toute l’équipe et également de découvrir certaines fonctionnalités que l’on n’utilisait pas ou très peu.


Darwin et l’agilité

La conférence de François Zaninotto était en réalité menée par un certain professeur « Eugene Fournier » dans le cadre d’un rassemblement d’experts des insectes. L’éminent faux scientifique a expliqué devant son assemblée de confrères pourquoi les entreprises des nouvelles technologies travaillant sur des programmes pour micro-ordinateurs personnels, devraient avoir un comportement proche des insectes.

Pour en arriver à ce raisonnement, le professeur Fournier a étudié le cas curieux d’une de ces « start huppe » (à prononcer à la française) et de ses joyeux employés.

Selon lui, la méthode d’évolution des entreprises, qu’on appelle « agile », accorde trop d’importance aux échecs et réussites des projets, alors que selon Charles Darwin, l’évolution d’une espèce est aléatoire, la sélection naturelle servant à faire le tri entre les espèces qui subsistent ou non. Un talk qui fait réfléchir.

Clément


Se prémunir contre l’imprévisible : une analyse des failles les plus courantes en php

Paul Molin nous a présenté les failles les plus courantes en PHP, de la XSS (Cross Site Scripting), à la SQLi (Injection SQL), en passant par la XXE (XML External Entity), nous avons pu nous rendre compte que l’exploitation de ces failles est relativement aisée, et que même un développeur chevronné pouvait par mégarde introduire dans son code des vecteurs de vulnérabilités.
Bien que la XSS puisse paraitre faible en terme d’impact et de vulnérabilité, elle reste l’une des principales causes de vols de credentials…
Un input mal échappé en front et c’est la XSS assurée, et si l’input à vocation à être sauvegardé en base de Données, la XSS est alors stockée (Stored XSS).

De la même manière, un champ input qui permettrait d’appliquer un filtre sur une liste d’éléments, peut-être la cible d’une attaque de type SQLi, on injecte dans l’input, non pas un filtre tel qu’attendu, mais du code SQL qui peut alors s’exécuter, tout en « annulant » la requête initiale. (ex : 1′ OR ‘1=1) peut permettre de bypasser une page de login.

Sur certains environnements également, il est possible d’interagir avec une ressource par du XML.Le XML peut permettre une attaque de type XXE, où l’attaquant défini une entité XML spécifique qui pourrait être la liste des utilisateurs du server (/etc/passwd), ou même le fichier des mots de pass hashés (/etc/shadow) et ensuite l’injecter dans le formulaire ciblé.

Il nous a démontré que l’imagination des pirates, est illimité… et qu’une petite erreur d’inattention au niveau du code, peut générer de gros dégâts au niveau d’une app.

Maxime


Agressive PHP Quality assurance in 2019

Marco Pivetta, un développeur chevronné, nous a présenté de nombreux outils que l’on peut intégrer à notre workflow de développement web pour limiter les problèmes en production. Le conférencier a notamment insisté sur l’outil PhpStan et Psalm pour détecter des potentiels bugs sans pour autant devoir lancer l’application ce qui en tant que développeur est très rapide et agréable à utiliser.
De plus, nous avons pu voir l’efficacité et la simplicité du security checker de Symfony qui permet de détecter les failles de sécurité dans les applications.

Enfin, Marco Pivetta nous a listé d’autres outils permettant d’assurer la qualité de notre code que l’on peut facilement ajouter à un outil d’intégration continue.

Julien


Résumé

L’équipe a participé à presque toutes les conférences et a bien apprécié le contenu de cette édition. Nous serons de retour en 2020.

HackOro Paris 2019

Au lendemain de l’OroVibe France, nous avons eu le plaisir d’organiser avec Diglin le premier HackOro, le premier hackathon basé sur OroPlatform.

Choix des sujets

Comme dans chaque Hackathon qui se respecte, nous commençons la journée avec le choix des sujets. Les participants ont pu proposer chacun leurs idées. Un vote collectif et une répartition par équipes nous ont permis de lancer la journée et de commencer le développement de ces idées.

De nombreux sujets tournaient autour des PWA et la volonté de créer un POC (Proof Of Concept) démontrant la faisabilité de la chose. D’autres étaient la possibilité de prévisualiser les mail générés ou le besoin de pouvoir créer du contenu CMS.

L’équipe Kiboko a eu la chance de participer à 3 des sujets retenus :
– La Prévisualisation des mails générés
– La création de contenu CMS
– « Workflow Safe Mode ».

« Workflow Safe Mode »

Le « Workflow Safe Mode » (En cours de développement) permet d’éviter de perdre des données liées à l’état d’une entité (commande, devis, lead, …) , dans le cadre de la modification du cycle de vie de la-dite entité.

Actuellement le nouveau cycle de vie écrase tout simplement l’ancien, il ne se soucie pas si des éléments de l’entité se retrouve être laissés sans étape au sein du cycle de vie, empêchant la modification ultérieure de cet élément.

Nous avons donc travaillé (et continuons) sur un système de sécurité qui permet de ne pas écraser le cycle de vie si un élément d’une entité est impacté.

Présentation des projets

En fin de journée, c’était déjà l’heure de présenter les différents sujets sélectionnés et de monter les différents POC.

Pour les techniciens, vous pourrez retrouver les différents projets sur le dépot Github FriendsOfOro : https://github.com/FriendsOfOro

En photos

Retour en images sur l’évènement parisien :

Ce fût une nouvelle fois une riche expérience d’organiser, d’animer et participer à cet évènement. Les échanges entre les techniciens venus de divers endroits et d’horizons différents nous ont permis d’élargir notre vision sur les technologies Oro et de commencer des projets innovants.
Nous espérons pouvoir ré-organiser un évènement similaire très prochainement.

OroVibe France 2019

Ce 12 mars, l’équipe Kiboko s’est rendu à l’OroVibe France 2019 à Paris où se déroulait l’évènement annuel de l’écosystème Oro et du e-commerce B2B. Nous étions présents en tant que sponsors et speakers, nous avons abordé le sujet complexe et épineux de la gestion des assets et des médias dans le B2B.

Nous avons pu assister à près de 26 conférences de la communauté Oro. Au programme : Business, retour d’expérience, solutions techniques, étude de cas, divers sujets abordés par les partenaires et clients. Yoav Kunter a ouvert la journée avec une analyse de la situation actuelle et des évolutions du marché B2B.

Un DAM dans l’écosystème ORO

Nous avons pu participé à la manifestation en présentant notre projet de DAM dans l’éco-système Oro.

Si vous souhaitez plus d’information à ce sujet, n’hésitez pas à nous contacter, nous pourrons vous la présenter en détails.

ORO : Améliorations de l’expérience avec le Développement Front-End en 3.1 (EN)

Par la suite, nous avons suivi attentivement la conférence d’Andrey Yatsenko d’Oro Inc, qui nous a présenté son expérience dans le développement Front avec la nouvelle version d’OroCommerce (3.1).

Voir le slide d’Andrey

Comment Recommerce s’appuie sur Orocommerce et son écosystème pour développer son activité BtoB ?

Un peu plus tard dans la journée, c’était au tour de notre client Cédric Maucourt de Recommerce de monter sur scène pour nous présenter son retour d’expérience et son choix stratégique de mettre en place Marello au coeur de leur éco-système.

Voici un schéma représentant les différents flux entre Akeneo, Magento, OroCommerce et Marello :

En conclusion, ce fut une journée riche en informations où nous avons pu rencontrer nos partenaires, nos clients et toute la communauté Oro. Nous espérons pouvoir renouveler l’expérience très prochainement.

Kiboko au ForumPHP 2018

l'équipe Kiboko

Toute l’équipe technique s’est rendue à Paris au Forum PHP 2018 organisé par l’AFUP. L’équipe est enthousiaste de vous présenter notre retour d’expérience et les différents sujets qui nous ont marqué.

l'équipe Kiboko


Sécurité, Bug-Bounty & PHP

En tant que développeurs, nous souhaitons tous développer nos applications de manière sécurisée. Mais qui d’entre nous sécurise de manière fiable ses applications ?

Grâce à une petite application Symfony, Xavier Leune nous a montré que sécuriser son application n’était pas une si mince affaire. Les hackers n’ayant que leur imagination comme limites pour attaquer un site, il est important de penser à un maximum de vecteurs d’attaques possibles.

Xavier Leune, nous a fait la démonstration qu’avec une application qui utilise curl (comme beaucoup), il était aisé de découvrir l’architecture serveur et potentiellement d’en prendre le contrôle. Xavier Leune a également expliqué les raisons de ce qui a poussé CCM Benchmark à ouvrir des Bug Bounty, en partie parce que les développeurs ne sont pas des RSSI(Responsable de la Sécurité des Systèmes d’Information).
Maxime


Sylius

sylius

L’équipe de MonsieurBiz, composée de Jacques Bodin-Hullin et Maxime Huran, nous a présenté leur retour d’expérience de Sylius. Après plusieurs années à utiliser Magento 1 et 2, ils ont décidé de se tourner complètement vers ce nouvel outil e-commerce.

Certes, la courbe d’apprentissage est différente sur ce CMS. Après avoir apprivoisé les notions Symfony essentielles, Sylius permet une souplesse et une personnalisation très avancée.

Côté point forts sur le développement, Sylius permet déjà d’utiliser Symfony 4.1 ce qui permet l’utilisation de bonnes pratiques et des performances accrues par rapport aux autres plateformes. Quelques petites difficultés rencontrées lors de la mise en place d’un mode de livraison spécifique pour un chocolatier, mise à part cela je ne voie pas beaucoup de points négatifs à utiliser et développer sur Sylius.
Xavier


Boostez vos applications avec HTTP/2

Nous avons eu l’occasion lors du talk de Kevin Dunglas de découvrir un nouvel outil : “Mercure”. Il permet de pousser des messages en temps réel, pour qu’une application externe puisse être au courant immédiatement, ce sont les SSE (Server-Side Events).

L’application pousse un message au hub, qui le « redistribue » aux clients.

Kevin nous a proposé un premier exemple d’utilisation : imaginons que sur un site e-commerce un client commande le dernier produit avant la rupture de stock. Dans le même temps un second client un peu moins rapide est aussi sur le point de le commander. Dans un cas d’utilisation habituel, le second client aurait reçu un message d’erreur l’informant de la rupture de stock. Avec mercure, le client pourra être notifié instantanément de la rupture de stock pour ce produit.

Ce n’est qu’un exemple de tout ce qui est possible de faire, imaginons autre chose : Une petite application de sondage où un utilisateur peut voter sur différent sujet. Grâce à Mercure, l’utilisateur peut savoir en temps réel où en est le sondage.

Les points forts du protocole sont la compatibilité avec tout type de serveurs, le support de GraphQL, support le chiffrement, possibilité de restreindre les accès grâce à JWT (JSON Web Tokens)

Le protocole est déja implémenté dans API Platform et intègre le composant Mercure et le bundle Symfony.
Camille


Design patterns

design pattern

Durant le 1er jour du Forum PHP 2018, nous avons pu participer à la conférence de Samuel Roze « Comment j’ai commencé à aimer ce qu’ils appellent design pattern ». Durant ce talk, Samuel Roze nous a démontré pourquoi il est très important de connaître et manipuler correctement les patrons de conception.

Un patron de conception est la meilleure solution connue à un problème de conception récurrent. De ce fait, ils nous permettent de rendre une application beaucoup plus facile à maintenir. C’est pourquoi Samuel Rose nous à incités à beaucoup plus les utiliser notamment celui qu’on appelle le « Décorateur ».
Julien


Machine Learning

Le Machine Learning est l’utilisation de statistiques à partir d’une base de données pour mieux anticiper les besoins ou anticiper des actions futures.

Dans l’exemple de la conférence, le concept de machine learning a été utilisé pour proposer de meilleurs résultats lors de recherches dans l’application. Les développeurs n’avaient pas prévu les mots-clés et synonymes qu’un utilisateur pourrait taper.

Par exemple, un utilisateur pouvait rechercher « mécanicien », même si dans la base de données, il est enregistré « garagiste ». Pour pallier à ce problème, les multiple requêtes ont été enregistrées. Au fur et à mesure que les utilisateurs exécutent les mêmes successions de requêtes, ont peut assumer que les mots entrés sont liés. Au bout de plusieurs itérations, les mots « garagiste », « mécanicien » et « réparateur automobile » font partie du même corpus et donnent les mêmes résultats.

Un autre cas d’utilisation est la reconnaissance de modèle, de motif. Le machine learning n’essaie pas de comprendre des liens mais il établit des corrélations. Selon les articles lus par un utilisateur, on peut lui en proposer des sujets semblables, parce que la machine aura analysé plusieurs articles et saura reconnaitre ceux qui ont la même apparence, le même pattern.

Pour l’entrainer à classer des textes, des images, ou n’importe quel objet, la machine a besoin d’un modèle. Pour cela il faut préalablement catégoriser les objets « à la main » dans une base de données immense, que l’on donne à l’algorithme. A force de dire à l’algorithme quels articles sont « bon » ou « mauvais », il s’efforcera à trouver des points communs insoupçonnables entre les objets d’une même catégorie. Après avoir été nourris de milliers de données, la machine peut avoir un fonctionnement opaque et incompréhensible, même pour ses créateurs. Pourtant, selon l’algorithme utilisé, la classification est habituellement satisfaisante. Mais le Machine Learning ne fait que suivre l’exemple, il est toujours à la merci du jugement humain exercé dans la création du modèle de données.
Clément


Conclusion

Encore un événement AFUP incontournable, nous avons une nouvelle fois apprécié les rencontres, les échanges, les différentes conférences, l’apéro communautaire, les goodies, les confrères… en fait tout ce qui fait le Forum PHP 2018. Un grand merci à tous les organisateurs de cette édition 2018 ! On se donne rendez-vous aux AFUP days le 17 mai 2019 à Lyon.

Kiboko devient Akeneo Silver Partner

Après un peu moins d’un an de partenariat, nous sommes fiers chez Kiboko de devenir Akeneo Silver Partner, un gage de notre implication avec la solution PIM du même nom et de sa communauté.


Silver Partner

Être Akeneo Silver Partner, c’est le résultat de notre travail à aider nos clients pour intégrer Akeneo PIM et les aider à reprendre le contrôle de leurs données produits. Ce nouveau palier dans notre collaboration avec la société Akeneo est aussi le signe de notre développement lors de cette année 2018.


Akeneo PIM

Ce partenariat renforce une nouvelle fois les preuves de notre savoir-faire sur la technologie Nantaise experte dans la gestion de catalogue. Nous travaillons depuis longtemps avec Akeneo et suivons en permanence les évolutions de la solution :

  • Techniciens formés depuis plus de 3 ans afin de répondre aux projets PIM ambitieux
  • Support et assistance complémentaire de l’éditeur pour la mise en oeuvre de la solution
  • Accès privilégié au service de support de l’éditeur, aux nouvelles versions, aux éditions Entreprise, aux environnements de démonstration…
  • Une valorisation de notre savoir-faire par l’éditeur de la solution
  • Une participation aux événements Akeneo réservés aux partenaires

Si vous souhaitez découvrir le PIM Akeneo ou souhaitez plus d’informations à ce sujet, n’hésitez pas à nous contacter.

Cette semaine nous vous avions présenté la nouvelle version 2.3 LTS d’Akeneo, retrouvez les détails de cette version.

La version 2.3 d’Akeneo vient de sortir

Akeneo PIM 2.3

Akeneo vient d’annoncer la nouvelle version de son PIM. La version 2.3 LTS est sortie avec son jeu de nouvelle fonctionnalités. Kiboko vous fait découvrir les changements et nouveautés.

Akeneo PIM 2.3

Une version LTS

Akeneo vient d’annoncer la sortie de son PIM 2.3 LTS pour les 2 éditions : Community et Enterprise. Cette version dispose d’un Support Long Terme soit 18 mois de maintenance.
Pour mieux comprendre le planning des sorties des versions LTS (« Long Term Support »), Akeneo présente le calendrier de ces versions.


Amélioration de la gestion des produits avec variantes

Akeneo 2.3 améliore encore la gestion des produits avec des variantes. Dans cette version, de nouvelles fonctionnalités ont été ajoutées, Kiboko vous a passé en revue ces nouveautés :

Optimisation des modèles de produits et des variantes de produits

Avec cette fonctionnalité, il est désormais possible de gérer les associations par modèle de produits, avc la possibilité d’importer et exporter ces associations ou d’y accéder par API. À noter dans cette version les variations de produits héritent des associations de leurs modèles de produit parent.

Avantage : simplifier les configurations d’associations, gagner du temps et des efforts en les gérant au bon niveau

Filtres supplémentaires dans l’API

Utiliser l’API pour filtrer les modèles de produits est désormais possible. Les attributs des modèles de produits, les catégories, la date de création, la dernière mise à jour, et plus encore.

Avantage : améliore l’intégration de votre PIM en simplifiant l’utilisation de modèles de produits et des variantes produits dans d’autres outils de votre SI.

Contribution externes sur les modèles de produits (version Enterprise)

Si vous avez des contributeurs à vos processus de gestion et d’enrichissement en dehors de votre organisation, avec
PIM 2.3, les contributeurs externes peuvent travailler sur des modèles de produits. Ils peuvent désormais créer des propositions de modèles de produits via l’interface du PIM, via l’import et via l’API (exemples avec les traducteurs ou les fournisseurs). De plus, le « Teamwork Assistant » peut être utilisé avec des modèles de produits et des variantes de produits (Enterprise Edition uniquement).

Avantage : donner aux contributeurs externes une capacité supplémentaire pour enrichir l’information produit, augmentant la productivité de votre équipe.

Plus de flexibilité sur les variantes

Pour permettre plus de flexibilité sur les variantes de produits, comme la fusion ou la division de modèles de produits, cette version d’Akeneo permet maintenant de changer le parent d’une variante d’un produit ou un modèle de sous-produit dans la même variante de la famille de trois façons différentes : par action de masse, par import et par l’API.

Avantage : une plus grande flexibilité dans le PIM pour accommoder la réorganisation des modèles et des variantes des systèmes sources pour une meilleure précision dans vos canaux de vente.

Nouveau filtre sur les produits

Un nouveau filtre Afficher tous les niveaux d’attributs spécifiques pour n’afficher que les attributs gérés au niveau courant disponible dans le formulaire de produit.

Avantage : permettre aux équipes marketing de se concentrer uniquement sur les attributs disponibles pour l’enrichissement des produits avec les variantes.

Amélioration de la recherche par catégories

Cette version améliore la recherche par catégories dans la grille pour afficher automatiquement les modèles de produits ou les produits classés selon la catégorie sélectionnée. Si un modèle de produit n’est pas classé dans la sélection catégorie mais que ses produits enfants le sont, ses produits enfants seront affichés dans la grille.

Avantage : faciliter la recherche et l’enrichissement des produits avec 3 niveaux d’enrichissement.

Simplification des actions de masse

Pour simplifier les actions de masse sur les variantes de produits (ex : modifier l’état, ajouter au groupe et publier), si le modèle de produit est sélectionné dans la grille, ses variantes seront mises à jour.

Avantage : Gain significatif en productivité lors de la gestion des variantes de produits !


Nouveau tableau de bord pour surveiller le catalogue

Akeneo PIM 2.3 inclut un nouveau tableau de bord conçu pour vous aider à mieux comprendre la typologie de votre catalogue et la taille de votre catalogue. Le tableau de bord vous permet de surveiller une variété de dimensions telles que nombre de produits ou le nombre d’attributs par famille, et vous donne la meilleure donnée pour mesurer la taille de votre catalogue, le nombre total de valeurs de produits.


Les nouvelles fonctionnalités pour la version Enterprise

Amélioration du gestionnaire de ressources liées aux produits

Cette version apporte trois nouvelles améliorations au PAM (« Product Asset Manager », gestionnaire de ressources) qui facilitent la gestion des ressources liés au produit pendant le processus d’enrichissement.

  • Possibilité d’organiser les ressources dans le formulaire produit par glisser-déposer, et récupérer cette action dans le fichier d’exportation.
  • Possibilité de cliquer sur une image miniature et d’afficher une image plus grande.
  • Un nouveau bouton est disponible dans la collection qui permet aux spécialistes du marketing de télécharger des ressources en un clic dans le formulaire de produit, afin qu’ils puissent facilement importer et gérer les assets avec des produits sans avoir à basculer entre le formulaire d’assets et le formulaire de produits.

Nouvel accélérateur PIM pour la mode

L’objectif de l’accélérateur PIM est de rendre plus rapide et plus facile la modélisation d’un catalogue de produits pour un secteur spécifique.

Ce premier accélérateur PIM est destiné à la mode et permet aux fabricants et détaillants de vêtements, de chaussures et d’accessoires de démarrer plus efficacement la construction de leur catalogue de produits. L’accélérateur PIM pour la mode inclut un modèle de catalogue prédéfini avec des attributs, des options d’attributs, des familles, des catégories, des types d’association et un canal par défaut. Le modèle de catalogue peut être installé à l’aide de l’installateur Akeneo en le spécifiant pour utiliser le jeu de données Fashion. L’accélérateur inclut également des exemples de produits pour vous aider à visualiser le résultat final de votre catalogue de produits.

Akeneo Onboarder

L’Akeneo Onboarder est un nouveau produit conçu pour les détaillants et offre aux fournisseurs un environnement pour fournir facilement et rapidement des informations sur les produits directement au détaillant, sans avoir besoin d’accéder à l’instance PIM. Les fournisseurs peuvent même proposer de nouveaux produits au détaillant. Le résultat est une mise sur le marché plus rapide grâce au partage des efforts de collecte d’informations sur les produits avec vos fournisseurs.

Avantages :

  • Introduction de nouveaux produits de fournisseurs de confiance, ce qui permet d’économiser du temps et des effort
  • Sécurisez votre PIM : Seuls les employés des détaillants accèdent au PIM, tout en permettant aux fournisseurs de fournir directement les informations sur les produits à la source la plus fiable – le fournisseur ! Les fournisseurs se connectent à l’Onboarder et ne reçoivent que les informations les concernant
  • Évolutif et accessible : Supporte jusqu’à 2 500 fournisseurs dans un environnement basé sur le cloud. Les données restent dans l’Onboarder et peuvent être mises à jour de manière incrémentielle lorsque les fournisseurs modifient ou enrichissent les données produit au fil du temps

Nous pouvons vous apporter plus d’informations au sujet du PIM Akeneo, contactez-nous pour discuter de vos projets.

Article conçu d’après la release note (EN) d’Akeneo.

Weekend OpenGento 2018

Le Week-end Opengento 2018 s’est déroulé du Vendredi 1er juin 2018 au Dimanche 3 juin 2018 !

Cette année, nous nous éloignons de la ville rose pour nous rapprocher du pays de la lentille verte et de la liqueur de verveine !  Nous nous sommes réunis dans la commune d’Allègre à 30 km du Puy-en-Velay. Une vingtaine de développeurs de toute la France (Paris, Lyon, Toulouse, Strasbourg, Béthune…) et même de Suisse et de Belgique se sont réunis durant 3 jours pour un hackathon communautaire et conviviale.

Week-End Opengento - hackathon Magento
Week-End Opengento 2018 Allègre. Le hackathon de la communauté Magento francophone.

Au programme

Au début du weekend, nous avons pu participer à la présentation de plusieurs technologies telles que Front Commerce, OroCommerce & Marello. Mais bien entendu Magento était dans toutes les lèvres avec notamment le rachat récent par Adobe.

Après les retrouvailles et les présentations nous avons pu choisir les différents sujets à traiter durant le weekend ainsi que les intentions de chacun :

Entre apéro, barbecue, match de foot France-Italie (3-1) retransmis sur le vidéo projecteur, petit déjeuner et repas au restaurant, parties de babyfoot ou de rocket league, promenade dans le village, ce weekend fut productif et plusieurs sujets ont pu bien avancer.

Vous retrouverez tout le travail de ce hackaton sur le github d’Opengento avec les dépots suivants :

En images

Conclusion

Comme chaque année, ce fut un réel plaisir de se retrouver avec des développeurs de la communauté Magento. Nous avons pu échanger autour des différents choix techniques, des méthodes de travail de chacun, de la mise en place de la réforme RGPD, des difficultés rencontrés avec Magento 2…

Nous tenons à remercier Aurélia pour nous avoir trouver le gîte et le restaurant, Maxime pour avoir su fédérer et motiver la communauté et bien sûr tous les participants à ce weekend notamment ceux qui ont fait plusieurs heures de route pour venir dans notre belle région.

PhpTour 2018 par Camille

Premier Jour

Le 24 et 25 mai 2018 se déroulait la dernière édition du PHP Tour.

Étant stagiaire chez Kiboko, je n’imaginais pas avoir la chance de pouvoir me rendre à ce genre d’événement. Après 5h de voiture, nous voilà au Gaumont Odysseum, à Montpellier, qui a été réquisitionné pour l’occasion.

L’équipe Kiboko en route pour le PHP tour 2018

Après une razzia sur les stands des sponsors, c’est le sac pleins de goodies que nous assistons à la première conférence de la journée.

Nikolas Grekas nous explique comment Symfony 4 a pu tirer le maximum du potentiel du moteur de PHP7.

Arrive ensuite Jean Pasdeloup et Romain Cottard, qui nous résument 5 ans d’évolution de l’import du catalogue Deezer.

Puis vient la conférence qui pour moi a été la plus intéressante de la journée :

“Bienvenue dans la matrice !” de Benoit Jacquemont, qui travaille chez Akeneo. Il nous montre différents outils systèmes qui peuvent nous permettre d’intercepter et d’analyser les échanges entre les processus et le noyau Linux.

Une conférence technique, mais Benoît, très pédagogue, a su bien vulgariser ce qui se passait derrière un programme, comment les processus interagissaient entre eux, et comment trouver des solutions à des problèmes qui semblent à première vue très compliqués à résoudre.

Moi qui avais une vision très surfaite de comment fonctionnait un programme, j’ai pu grâce à cette conférence acquérir une vision un peu plus globale de la “Matrice”.

Nous découvrons peu de temps après le Speak de Nicolas Loeuillet, qui nous présente son projet, Wallabang, et son retour d’expérience sur le parcours qu’il a effectué lors de cette aventure. Il répond également à la fameuse question : Peut-on gagner sa vie avec un projet Open-source?

La réponse? Ça semble à première vue compliqué, mais pas forcément impossible.

La pause

Petite pause déjeuner, histoire de reprendre des forces pour l’après-midi, puis compétition inter-entreprise de BabyFoot, où nous avons malheureusement dû nous incliner face à l’adversité.

14h00 : reprise des hostilités avec Joel Wurtz, qui nous explique comment faire de l’asynchrone avec PhP de manière simple, sans finir avec le cerveau qui fume, et surtout sans callbacks (Et oui c’est possible !).

C’est à ce moment de la journée que j’ai du faire le choix cornélien, entre la conférence “Un autre regard sur la validation” de Quentin Pautrat, et “CQRS, Fonctionnel, Event Sourcing & DDD (Domain Driven Design)” d’Arnaud Lemaire.

J’ai fini par choisir le speak d’Arnaud car je ne connaissais aucun des concepts énoncés ci-dessus.

Au programme beaucoup de théories sur des concepts architecturaux assez complexes, à une cadence très soutenue (environ une centaine de slides en 40 minutes, autant dire qu’il fallait s’accrocher, surtout après avoir bien mangé).

Mais le sujet était plus qu’intéressant et permettait d’entrevoir différentes approches d’un projet, de choisir la bonne manière d’organiser son code suivant le besoin, et surtout d’expliquer des concepts qui peuvent paraître très nébuleux aux premiers abords.

Un peu d’Ethique

Enfin, pour finir cette belle journée, Laurent Chemla nous a proposé une conférence-débat sur un sujet plus que polémique en ce moment, j’ai nommé : Le respect de la vie privée,  et plus particulièrement la responsabilité des développeurs par rapport à celle-ci.

Et en plus il distribuait des macarons.

Apéro communautaire

Consommations offertes par l’Afup, ça c’est cool.

Deuxième jour

Lever à 8 heures, on attaque avec Kévin Dunglas , que je suis sur les réseaux sociaux déjà depuis un bon moment.

Il nous montre les différences entre les architectures REST et GraphQL, l’alternative proposée par Facebook. Démonstrations à l’appui, il nous explique les avantages, les inconvénients, le tout à travers son framework : Api Platform.

Toujours au top, des explications toujours clairs, un vrai plaisir d’assister à ses talks.

Caching with PSRS

Hannes Van De Vreken nous présente ici les différences entre le PSR-6 et le PSR-16, comment le mettre en place sur nos  applications, et chose très importante :  Comment bien gérer son cache.

Petite pause

On fait le plein de café et de viennoiseries, et on y retourne !

Un peu d’événements dans un monde linéaire

Une autre de mes conventions préférées, car la gestion des événements a longtemps été un concept assez abstrait pour moi, et Julien Vinber a su éclairer les choses grâce à des exemples très complets.

Il nous montre aussi les différences entre la gestion d’événements synchrones et asynchrones (RabbitMQ)

Et pour la fin…

Et pour finir ce PHP tour, on se retrouve avec Romain Monceau qui nous présente son retour d’expérience de l’utilisation de doctrine pour traiter des processus lourds, de type import de gros volumes de données et des problèmes qui en découlent à travers un exemple qui nous parlera à tous :

L’import d’un immense catalogue de bières dans notre base de données !

A travers cet exemple léger, on a pu voir que changer notre manière de développer peut apporter d’énormes gains de performance, ce qui sur de gros volumes peut nous faire gagner un temps précieux.

Ma vision de ce tour

C’est le premier événement de ce genre auquel j’assiste et sûrement pas le dernier. Outre les conférences toutes très intéressantes, ce que j’ai préféré dans ce tour, c’est de pouvoir rencontrer et de surcroit échanger avec d’autres développeurs qui ont pour la plupart beaucoup plus d’expériences que moi, et de voir à quel niveau ils ont pu arriver et surtout l’ampleur des projets qu’ils entreprennent .

OroCommerce 1.6 LTS est arrivé

Oro vient d’annoncer la sortie d’OroCommerce 1.6 LTS (Long Term Support).

Dans cette version, l’équipe Oro a mis à jour l’application avec de nombreuses nouvelles fonctionnalités et améliorations. L’une des innovations majeures dans cette version est le nouveau formulaire de commande via matrice pour les produits configurables. Oro a également étendu les méthodes d’expédition en mettant en place l’intégration de FedEx, l’un des fournisseurs de services de livraison les plus populaires au monde. D’autres améliorations incluent des API d’attributs de prix et un chargement plus rapide des pages WebStore.

Voici un résumé de toutes les améliorations apportées à OroCommerce 1.6 :

Formulaires de commande avec matrice pour les produits configurables

Le formulaire de commande avec matrice améliorée permet aux acheteurs de commander facilement des produits avec plusieurs attributs configurables (par exemple, uniformes disponibles dans diverses couleurs et tailles). Grâce à la nouvelle interface de formulaire de commande avec matrice, toutes les variantes de produits sont affichées simultanément sur un seul écran, ce qui simplifie le processus de commande. Les vendeurs OroCommerce peuvent choisir entre un formulaire de commande avec matrice ou sa variante dans une pop-up.

Variations de produit configurables sélectionnées à la caisse

Pour rationaliser et accélérer le processus d’achat et améliorer l’expérience client, nous avons ajouté une nouvelle fonctionnalité au formulaire avec matrice. Il est maintenant possible d’ajouter un produit configurable à la liste d’achats sans spécifier les quantités ou les variations de produits. Cette option permet aux clients de choisir instantanément les produits qui les intéressent et de fournir les identifiants souhaités à la caisse. Ces produits sont affichés sur la page de paiement en tant que matrices vides pouvant être modifiées.

Visibilité des variantes des produits configurables

Avec les nouveaux paramètres disponibles pour les variantes des produits configurables, les vendeurs peuvent désormais cacher toutes les variantes simples des produits configurables sur le front. Cela les aidera à garder leurs catalogues de produits plus propres et exempts de clones de variantes des produits simples qui peuvent être affichés sur plusieurs pages de catalogue. En utilisant cette option, vous ne gérez que des variantes simples sans affecter la façon dont les produits « réguliers » sont affichés sur votre boutique en ligne.

Intégration du mode de livraison FedEx

Oro a étendu les méthodes d’expédition existantes en ajoutant un support pour FedEx. Les acheteurs peuvent être informés des estimations d’expédition pour ces services à la caisse. L’intégration prend en charge tous les services d’expédition réguliers de FedEx. Chaque client peut voir divers services en fonction de la taille de l’envoi, du poids et de l’adresse de livraison.

Import et export des données attributs

Les données de prix du produit telles que le prix de base, le coût, le MSRP (prix de détail suggéré par le fabricant) ou le MAP (prix minimum annoncé) peuvent désormais être exportées et importées depuis la page « Price Attribute » dans l’administration. Les fichiers CSV exportés contiennent toutes les combinaisons uniques de SKU, d’attributs de prix, d’unités et de devises. Les fichiers à importer fourniront ces données respectivement.

Configuration du système de Recherche

Oro a amélioré la fonction de recherche de configuration du système introduite plus tôt. Les nouvelles fonctionnalités sont:

  • La recherche inclut désormais la configuration des champs texte (telles que les signatures d’e-mail) pour une couverture plus large.
  • En raison de la configuration de recherche « floue » basée sur Fuse.js, les résultats correspondants peuvent être facilement trouvés même lorsqu’une combinaison de recherche est mal orthographiée ou partiellement fournie.
  • L’interface utilisateur de recherche a été améliorée pour assurer une meilleure expérience utilisateur.

Notifications par email

Il est désormais possible de configurer des règles de notification et d’envoyer des notifications par e-mail en utilisant les adresses e-mail spécifiées dans les champs d’entités marqués comme e-mails.

Par exemple, vous pouvez configurer des e-mails automatisés «Merci de votre intérêt» et répondre à une personne qui soumet une demande de contact (en utilisant l’adresse e-mail fournie dans le formulaire).

Autres améliorations

  • L’interface OroCommerce est maintenant optimisée pour l’iPhone X.
  • Les balises meta de `schema.org` pour les produits et les informations produit sont maintenant disponibles sur toutes les pages du catalogue, ce qui permet au moteur de recherche de mieux traiter le contenu du catalogue.
  • La page d’édition du produit dans le panneau d’administration se charge de manière asynchrone pour assurer un chargement plus rapide des pages.
  • La page d’accueil et les listes de produits sont maintenant disponibles dans le thème « blank » pour améliorer la personnalisation du front.
  • L’API de commande inclut désormais les promotions et les réductions.
  • Les organisateurs d’événements sont maintenant affichés dans les événements du calendrier.
  • Pour renforcer la sécurité des e-mails sans compromettre les fonctionnalités et les performances des e-mails, les en-têtes et les corps des e-mails contiennent uniquement des tags sécurisés.
  • Pour améliorer la sécurité des performances, les abonnements au serveur Websocket nécessitent désormais une autorisation basée sur les « token ».
  • Toutes les exportations de la grille incluent maintenant la colonne ID.
  • Nous avons migré vers PHP 7.1 et ne supportons plus PHP 7.0.

Et si vous souhaitez en savoir plus sur OroCommerce, n’hésitez pas à nous contacter.

Source anglophone : https://oroinc.com/orocommerce/blog/new-release-orocommerce-1.6-lts-arrived