Support Hub Article

Our Technology

Decouvrez l'ecosysteme de packages partages derriere les modules mypresta.rocks. 12 bibliotheques proprietaires, interface admin coherente et compatibilite multi-versions.

Pas seulement des modules — une plateforme

Chaque module mypresta.rocks fonctionne sur une fondation partagee de 12 packages proprietaires que nous avons developpes et maintenus depuis 2012. Ce ne sont pas des wrappers ou des generateurs de boilerplate — ce sont des bibliotheques construites sur mesure qui resolvent des problemes complexes dans le developpement de modules PrestaShop.

Quand vous installez un de nos modules, vous obtenez des annees d'ingenierie accumulee : des interfaces admin coherentes, une selection d'entites intelligente, une compatibilite multi-versions de PS 1.6 a 9.x, et une infrastructure partagee qui signifie que les bugs corriges dans un module sont corriges partout.

Les packages partages

prestashop-admin

Notre package le plus fondamental. Chaque panneau d'administration de module est construit dessus — une boite a outils UI complete qui fournit :

  • Controleurs de base — MPRAdminController et MPRListController avec upload d'images AJAX integre, edition en ligne et modals de champs
  • Filtrage avance — filtrage base sur la base de donnees avec six types de filtres : texte, plage numerique, plage de dates, selection, selection multiple et booleen
  • Gestion des colonnes — les utilisateurs choisissent quelles colonnes afficher, sauvegardent des presets, et l'etat persiste par employe
  • 20+ composants JavaScript — datepickers, modals, toasts, editeurs en ligne, listes AJAX, tous fonctionnant ensemble
  • 35+ styles de composants SCSS — apparence coherente a travers chaque module, chaque version de PrestaShop

C'est pourquoi chaque panneau d'administration de module mypresta.rocks a la meme apparence. Ce n'est pas une coincidence — c'est une boite a outils partagee avec plus d'une decennie d'iteration.

prestashop-entity-selector

Probablement notre package le plus complexe. Un widget universel pour selectionner des entites PrestaShop avec une logique d'inclusion/exclusion.

  • 18 types d'entites — produits, categories, fabricants, fournisseurs, pages CMS, employes, clients, groupes de clients, transporteurs, zones, pays, devises, langues, boutiques, profils, etats de commande, taxes et plus
  • 130+ methodes de selection — selectionner des produits par categorie, fabricant, tag, attribut, caracteristique, combinaison, condition, visibilite, etat de stock, fourchette de prix, plage de dates, plage d'ID, motif de nom et des dizaines d'autres
  • Logique d'inclusion/exclusion — definissez ce qui est inclus, puis decoupez les exceptions. « Tous les produits de la categorie X, sauf ceux du fabricant Y, a moins qu'ils ne soient en promotion »
  • Regroupement avec AND/OR — plusieurs groupes de selection combines avec une logique booleenne, chacun avec sa propre limite et son tri
  • Apercu en direct — voyez les elements correspondants se mettre a jour en temps reel lorsque vous ajustez les conditions

Au lieu que chaque module reinvente la selection de produits avec un simple autocomplete, ils partagent tous un composant puissant et teste.

prestashop-compatibility

PrestaShop change considerablement entre les versions. Signatures de controleurs, chemins de templates, formats de reponse AJAX, noms de hooks — tout est different entre 1.7 et 8.x et 9.x.

Ce package absorbe ces differences. Les modules programment contre une API stable, et la couche de compatibilite gere le comportement specifique a la version en dessous. C'est ainsi que nous supportons PS 1.6 a 9.x a partir d'une seule base de code sans encombrer le code de verifications de version.

template-injector

Certains modules doivent injecter du contenu dans les templates du theme sans necessiter de modifications manuelles. Ce package scanne les fichiers Smarty .tpl, identifie les points d'appel de hooks et injecte la sortie du module au bon endroit.

  • Scan automatique des templates — decouvre les points d'injection dans n'importe quel theme
  • Resolution adaptee au theme — gere les themes enfants, les overrides de templates et les fallbacks du theme parent
  • Suivi des injections — sait ce qui a ete injecte ou, pour pouvoir se retirer proprement a la desinstallation
  • Gestion des profils — differentes configurations d'injection pour differents contextes

Utilise par des modules comme mprsubtitles, mprblogrevolution et mprhtmlblocks qui doivent placer du contenu a des emplacements ou PrestaShop ne fournit pas de hooks.

prestashop-url

La gestion des URL dans PrestaShop est notablement fragile. Ce package fournit un veritable moteur d'URL avec gestion de patterns, routage et gestion du cycle de vie des entites.

  • Generation d'URL basee sur des patterns — definissez des patterns d'URL avec des variables, generez automatiquement des URL SEO-friendly
  • Integration du cycle de vie des entites — quand un produit ou une categorie est cree, mis a jour ou supprime, les URL se mettent a jour automatiquement
  • Backends de stockage interchangeables — patterns bases sur la base de donnees ou la configuration selon le cas d'utilisation
  • Gestion du schema — gere sa propre creation et migration de tables de base de donnees

Alimente mprseorevolution et mprfriendlyurl.

prestashop-icons

Les themes PrestaShop utilisent differents sets d'icones — Hummingbird utilise Material Icons, Classic utilise Font Awesome, certains themes tiers utilisent quelque chose de completement different.

  • Noms d'icones semantiques — les modules utilisent des noms comme « cart », « success », « edit », « delete » au lieu de noms de classes specifiques aux polices
  • Detection du theme — detecte automatiquement quel set d'icones le theme actif utilise et associe les noms semantiques aux bonnes classes
  • Auto-hebergement — si le theme n'inclut pas la police d'icones necessaire, le package l'integre
  • Feuilles de sprites SVG — 38 icones de marques de paiement et 12 icones de reseaux sociaux avec des variantes claires, sombres et d'accentuation

prestashop-session

Suivi de session partage entre les modules, utilisant une seule table de base de donnees mpr_sessions.

  • Detection de bots — identifie les crawlers et le trafic automatise avant qu'ils n'atteignent la logique du module
  • Empreinte d'appareil — detection du navigateur, du systeme d'exploitation et du type d'appareil
  • Hachage de session — identification de session coherente a travers les chargements de pages

Utilise par mprsecurityrevolution et mprcheckoutrevolution — ils partagent les donnees de session au lieu que chacun suive independamment.

prestashop-schedule & prestashop-public-holidays

Logique temporelle dont plusieurs modules ont besoin :

  • Widget de planification — plages de dates/heures, planifications hebdomadaires recurrentes, gestion des fuseaux horaires
  • Gestion des jours feries — base de donnees centralisee de jours feries partagee entre les modules via la table mpr_public_holidays
  • Utilises ensemble — « appliquer cette remise les jours ouvrables sauf les jours feries » dans mprsalesrevolution, ou « afficher ces resultats de recherche uniquement pendant les heures d'ouverture » dans mprsearchrevolution

prestashop-target-conditions & prestashop-front

Packages plus recents dans notre ecosysteme :

  • Target Conditions — regles de ciblage reutilisables (par groupe de clients, pays, appareil, valeur du panier, etc.) partagees entre les modules qui necessitent une logique d'affichage conditionnelle
  • Composants front — blocs de construction d'interface utilisateur frontend pour la sortie de module cote client, garantissant un style coherent sans conflits de theme

Pourquoi c'est important pour vous

Coherence

Chaque panneau d'administration de module fonctionne de la meme maniere. Meme filtrage, meme gestion des colonnes, memes raccourcis clavier, memes patterns AJAX. Apprenez un module, et vous savez comment ils fonctionnent tous. Ce n'est pas un guide de style — c'est du code partage.

Fiabilite

Un bug corrige dans prestashop-admin est corrige dans chaque module qui l'utilise lors de la prochaine mise a jour. Les correctifs de securite se propagent partout. Quand nous optimisons les requetes de base de donnees de l'entity selector, chaque module avec selection de produits devient plus rapide.

Support multi-versions

La couche de compatibilite signifie que vous pouvez mettre a jour PrestaShop sans vous soucier de la compatibilite de nos modules. Nous testons sur PS 1.6, 1.7, 8.x et 9.x — et l'infrastructure partagee gere les differences pour que les modules individuels n'aient pas a le faire.

Pas de conflits

Les modules qui partagent des tables de base de donnees (ps_mpr_config, mpr_sessions, mpr_public_holidays) sont concus pour coexister. Installez cinq de nos modules et ils se coordonnent via l'infrastructure partagee au lieu de se gener mutuellement.

Leger

Les packages partages signifient du code partage. L'entity selector n'est pas duplique dans chaque module — il est installe une fois et utilise par tous. Cela garde les fichiers ZIP des modules plus petits et evite le gonflement lie a l'integration multiple de la meme bibliotheque.

Les chiffres

  • 12 packages partages maintenus comme bibliotheques separees avec leur propre versionnement
  • 30+ modules construits sur cette fondation
  • 130+ methodes de selection d'entites dans l'entity selector seul
  • 4 versions majeures de PrestaShop supportees a partir d'une seule base de code (1.6, 1.7, 8.x, 9.x)
  • 20+ composants JavaScript admin pour une interactivite coherente
  • 13 ans de developpement continu depuis 2012

Architecture ouverte

Tous les packages partages utilisent le namespace PHP MyPrestaRocks avec l'autoloading PSR-4. Ils sont installes via Composer comme de vraies dependances — pas copies-colles dans les repertoires de modules. Chaque package a ses propres contraintes de version, et les modules declarent les versions dont ils ont besoin.

Cela signifie que quand vous regardez dans le repertoire vendor/myprestarocks/ d'un module, vous regardez de vraies bibliotheques maintenues — pas des depots de code abandonnes.

Voyez-le en action

La meilleure facon de comprendre ce que font ces packages est d'essayer un module. Chaque module de notre catalogue offre une demo gratuite — installez-le, ouvrez le panneau d'administration et voyez l'infrastructure partagee a l'oeuvre.

Des questions sur notre architecture ou interesse par du developpement sur mesure ? Contactez-nous.

Need more help?

Browse our full support resources or reach out to our team directly.

Chargement...
Retour en haut