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 envionnements 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.