Ammareal – Développement de modules PrestaShop

Ammareal – Développement de modules PrestaShop

⏱️ 7 min 📅 04/10/2025 ✏️ Maj : 04/10/2025

En Bref :

Projet réalisé durant mes deux années d’alternance chez Ammareal, une entreprise spécialisée dans la revente de livres d’occasion.

Contexte du projet

Ammareal est une entreprise engagée dans l’économie circulaire, spécialisée dans la revente de livres d’occasion. Durant mes deux années d’alternance en tant que développeur fullstack, j’ai participé à plusieurs chantiers techniques visant à optimiser les performances, améliorer l’expérience utilisateur et automatiser des processus métiers.

Mon rôle a couvert à la fois le développement frontend et backend, ainsi que des intégrations techniques complexes avec des services externes. J’ai eu l’opportunité de travailler dans un environnement de production à fort trafic, où les problématiques de performance, de fiabilité et d’automatisation étaient au cœur des décisions techniques.

Objectifs du projet

  • Améliorer la performance du moteur de recherche et la pertinence des résultats produits.

  • Développer des modules PrestaShop sur mesure répondant aux besoins spécifiques du métier.

  • Créer des connecteurs automatiques pour synchroniser les stocks et prix avec des marketplaces (Amazon, eBay, etc.).

  • Automatiser certaines tâches de maintenance et de test via Python et Selenium.

  • Mettre en place des filtres dynamiques et réactifs grâce à Elasticsearch et Ajax.

Environnement technique

  • Frontend : SCSS, JavaScript, jQuery, Ajax, Smarty (templates PrestaShop)

  • Backend : PHP (modules PrestaShop), Go (connecteurs externes), Python (scripts d’automatisation)

  • Base de données : MariaDB

  • Moteur de recherche : Elasticsearch

  • Outils de test et de déploiement : GitLab CI/CD, Selenium, Docker (en environnement de test)

1. Intégration d’Elasticsearch pour la recherche et les filtres produits

L’un des premiers projets majeurs fut l’intégration d’Elasticsearch dans la plateforme e-commerce.
L’objectif : remplacer les recherches SQL classiques (trop lentes avec des millions de livres en base) par un moteur de recherche indexé, rapide et pertinent.

J’ai participé à :

  • La mise en place du schéma d’indexation, avec mapping des champs produits (titre, auteur, ISBN, prix, état, catégorie, etc.).

  • La création d’un pipeline d’indexation synchronisant la base MariaDB avec Elasticsearch.

  • L’ajout de filtres dynamiques (prix, état, langue, éditeur) grâce à des requêtes asynchrones via Ajax.

  • L’optimisation des requêtes booléennes pour gérer la pertinence des résultats (boosts sur le titre, gestion du pluriel, synonymes, etc.).

Résultat : la recherche est devenue instantanée (moins de 200 ms de latence), avec une amélioration notable du taux de conversion sur le site.

2. Développement de modules PrestaShop sur mesure

En parallèle, j’ai conçu plusieurs modules PrestaShop en PHP, intégrant des logiques spécifiques au métier de la revente de livres :

  • Module de gestion des prix dynamiques :
    Calcul automatique du prix de vente en fonction de l’état du livre, de sa rareté et du stock global.
    Ce module interagit directement avec Elasticsearch pour récupérer les tendances du marché.

  • Module d’affichage dynamique des produits :
    Composants Smarty couplés à des requêtes Ajax permettant d’actualiser les listes de produits sans rechargement complet de la page.

  • Module d’export vers marketplaces :
    Permettant de préparer les flux produits compatibles avec les connecteurs Go.

Ces développements m’ont permis de renforcer ma maîtrise de l’architecture PrestaShop (hooks, override, MVC) et d’optimiser les performances côté front et back.

3. Connecteurs Go pour les marketplaces

Afin de diffuser les livres sur plusieurs plateformes, j’ai participé à la création de connecteurs en Go (Golang).
Ces services externes communiquaient avec l’API PrestaShop et les API des marketplaces pour synchroniser automatiquement :

  • les stocks,

  • les prix,

  • et les informations produits.

Le choix de Go s’expliquait par ses performances et sa simplicité pour créer des services concurrents.
 J’ai ainsi développé :

  • des scripts d’import/export JSON via HTTP,

  • la gestion des erreurs réseau et des files d’attente,

  • et la journalisation des tâches automatiques (log rotation, alertes en cas d’échec).

Ces connecteurs ont permis de réduire les interventions manuelles et d’assurer une mise à jour fiable des catalogues externes.

4. Automatisations et scripts Python

Pour certaines tâches annexes, j’ai conçu des scripts Python :

  • Scraping et récupération d’avis clients depuis plusieurs sites partenaires.

  • Tests automatiques Selenium simulant des parcours d’achat ou de navigation (vérification du panier, filtres, affichage des produits).

  • Scripts de vérification de cohérence des données (comparaison entre la base PrestaShop et Elasticsearch).

Ces automatisations ont facilité la maintenance et la détection d’anomalies avant mise en production.

5. Développement front-end et expérience utilisateur

Sur la partie front, j’ai travaillé à l’amélioration de plusieurs interfaces :

  • Refonte du design des pages catégories (SCSS, responsive design).

  • Optimisation des composants de tri et de pagination via Ajax et jQuery.

  • Mise en place de feedbacks visuels (spinners, transitions) pour améliorer la fluidité.

J’ai également contribué à la mise en conformité SEO (balises meta, microdonnées, temps de chargement, structure Hn).

6. Collaboration et méthodologie

L’équipe technique fonctionnait en mode Agile (Scrum) avec des sprints de deux semaines.
Je participais aux revues de code, aux tests d’intégration et à la rédaction de la documentation technique.

Les livrables étaient versionnés sous GitLab, et le déploiement automatisé via CI/CD sur des environnements de préproduction.

Résultats obtenus

  • 🔍 Temps de recherche divisé par 10 grâce à Elasticsearch.

  • ⚙️ Automatisation complète des échanges avec les marketplaces.

  • 💡 Réduction significative des erreurs manuelles sur les catalogues.

  • 🧩 Amélioration de l’expérience utilisateur sur la boutique PrestaShop.

  • 🧠 Acquisition de solides compétences en architecture modulaire, requêtes asynchrones et intégration de services externes.

Liens vers le projet en ligne :

https://www.ammareal.fr/