Aller au contenu
PrestaSafe
  • Accueil
  • PrestashopDéplier
    • Présentation de Prestashop
    • Support et assistance pour Prestashop
    • Création de votre boutique de vente en ligne
    • Cartzilla, un thème PrestaShop Performant, Mobile et SEO
    • Migration PrestaShop
    • Maintenance technique pour site E-commerce PrestaShop
    • Prestations et maintenance site internet e-commerce PrestaShop
  • Blog
  • Devis en ligne
  • BoutiqueDéplier
    • Thèmes Prestashop
    • Modules PrestaShop
  • Mon compteDéplier
    • Programme d’affiliation PrestaSafe
Panier 0
Contact
PrestaSafe
PrestaShop solution e-commerce
blog | ecommerce | prestashop | tuto

TUTO – Modifier le thème de Prestashop 1.7 avec nodeJS

Parguillaume 11 février 20184 janvier 2025

Dans notre précédent article, nous avons vu comment modifier simplement notre thème de base.

Or depuis la version 1.7, Prestashop met à disposition un StarterTheme https://github.com/PrestaShop/StarterTheme

vous le trouverez sur github.com librement.

Pour plus de détails, vous pouvez consulter notre vidéo qui explique comment compiler votre theme PrestaShop rdv sur ce lien

Comment utiliser le StarterTheme ?

Pour le modifier « dans les règles de l’art » il faut utiliser la technologie mise à place à l’aide de nodeJS.

Si on analyse de plus près la structure du thème:

on s’aperçoit qu’il y a un dossier _dev

Tout se passe dans celui-ci.

Prérequis:

Pour modifier ce thème il vous faudra:

  • Installer nodeJS sur votre ordinateur ou serveur https://nodejs.org/en/ prenez toujours une version stable.
  • Avoir un éditeur de code, pour ma part j’utilise depuis peu Visual Studio Code que je trouve vraiment top https://code.visualstudio.com/
  • Savoir utiliser la console de son ordinateur (CMD windows Terminal mac / linux)
  • Avoir git d’installé sur votre ordinateur / serveur (pas obligatoire mais fortement conseillé)

Une fois tout ça mis en place, on peut commencer.

Installer le thème

Pour commencer, rendez vous dans le dossier /themes/ de prestashop et faites un clone du starterTheme ou collez le dossier si vous n’utilisez pas git.

Je me rends dans mon dossier thèmes:

cd themes/

Je clone le StarterTheme:

git clone https://github.com/PrestaShop/StarterTheme.git

Le dossier /themes/ de prestashop ressemble donc à ça:

Rendez vous ensuite dans le dossier du theme et renommez le theme.dist.yml par theme.yml

modifiez ensuite ce fichier et rentrez vos informations:

 

name: StarterTheme
display_name: Starter Theme
version: 3.0.0
author:
  name: "Prestasafe Team"
  email: "contact@prestasafe.com"
  url: "https://prestasafe.com"
meta:
  compatibility:
      from: 1.7.2.0
      to: ~
  available_layouts:
    layout-full-width:
      name: Full Width
      description: No side columns, ideal for distraction-free pages such as product pages.
    layout-both-columns:
      name: Three Columns
      description: One large central column and 2 side columns.
    layout-left-side-column:
      name: Two Columns, small left column
      description: Two columns with a small left column
    layout-right-side-column:
      name: Two Columns, small right column
      description: Two columns with a small right column
global_settings:
  configuration:
    PS_QUICK_VIEW: false
  hooks:
    custom_hooks:
      - name: displayFooterBefore
        title: displayFooterBefore
        description: Add a widget area above the footer
    modules_to_hook:
      displayNav:
        - ps_shoppingcart
        - ps_languageselector
        - ps_currencyselector
        - ps_customersignin
      displayTop:
        - ps_mainmenu
      displayHome:
        - ps_imageslider
        - ps_featuredproducts
        - ps_banner
      displayFooter:
        - ps_contactinfo
  image_types:
    cart_default:
      width: 80
      height: 80
      scope: [products]
    small_default:
      width: 125
      height: 125
      scope: [products, categories, manufacturers, suppliers]
    medium_default:
      width: 300
      height: 300
      scope: [products, categories, manufacturers, suppliers]
    large_default:
      width: 500
      height: 500
      scope: [products]
    home_default:
      width: 250
      height: 250
      scope: [products]
    category_default:
      width: 960
      height: 350
      scope: [categories]
    stores_default:
      width: 170
      height: 115
      scope: [stores]
theme_settings:
  default_layout: layout-full-width
  layouts:
    category: layout-left-side-column
    best-sales: layout-left-side-column

Activez le thème dans Prestashop:

Par défaut le thème ne ressemble à rien:

 

Toujours dans votre console:

rendez vous dans le dossier _dev de votre thème

cd StarterTheme/_dev

lancez la commande:

npm install

Si vous avez des erreurs sous mac ou linux lancer la en sudo:

sudo npm install

ça mouline un petit moment:

Pour ma part tout semble s’être bien déroulé:

Maintenant, toujours dans la console, tapez la commande:

npm run build

Les fichiers se sont bien compilés

Du coup, le theme reste vide, car il n’y a rien, aucun composant ou autre.

Vous pouvez utiliser le StarterTheme si vous voulez faire un theme de A-Z, cela dit, ça vous prendra beaucoup plus de temps que de partir sur une base existante, je vous conseille de partir sur le thème classic, mais tout en utilisant les outils de développement du StarterTheme.

Voici comment faire:

je fais un copie du classic en et je le nomme classicdev

cp -R classic classicdev

puis je me place dans le classicdev/_dev

cd classicdev/_dev

je créé le fichier package.json et je place ce code la:

{
    "name": "prestashop-classic-dev-tools",
    "version": "1.0.0",
    "description": "Tools to help while developing the Classic theme",
    "main": "index.js",
    "scripts": {
        "watch": "webpack -w",
        "build": "webpack"
    },
    "author": "PrestaShop",
    "license": "AFL-3.0",
    "devDependencies": {
        "autoprefixer": "^6.7.7",
        "babel-loader": "^5.3.2",
        "bootstrap": "4.0.0-alpha.5",
        "bootstrap-touchspin": "^3.1.1",
        "bourbon": "^4.2.6",
        "css-loader": "^0.27.3",
        "expose-loader": "^0.7.3",
        "extract-text-webpack-plugin": "^2.1.0",
        "file-loader": "^0.10.1",
        "flexibility": "^1.0.5",
        "jquery": "^2.1.4",
        "material-design-icons": "^2.1.3",
        "node-sass": "^4.5.0",
        "notosans-fontface": "~1.0.1",
        "postcss-flexibility": "^1.0.2",
        "postcss-loader": "^1.3.3",
        "sass-loader": "^6.0.3",
        "style-loader": "^0.14.0",
        "tether": "^1.1.1",
        "velocity-animate": "^1.2.3",
        "webpack": "^2.2.1",
        "webpack-sources": "^0.1.0"
    }
}

J’ai pris le code du package.json du classic theme de la version prestashop de développement sur github

https://github.com/PrestaShop/PrestaShop/blob/1.7.2.x/themes/classic/_dev/package.json

Je lance à nouveau la commande:

npm install

ou

sudo npm install

une fois que tout est installé, je peux lancer la commande

npm run watch

Si vous avez une erreur éditez le ficher webpack.config.js et passez le en mode strict:

Rajoutez:

"use strict";

au début du fichier après les commentaires:

Une fois la commande watch lancée, webpack attendra que je modifie un fichier pour compiler automatiquement.

Maintenant, je n’ai plus qu’a modifier un fichier .scss comme par exemple le theme.scss

je change la couleur du #header

webpack mouline et la compilation se lance:

Du coup sur le frontoffice:

Les couleurs sont changés automatiquement.

Une fois que vous avez fini faites en CTRL + C pour quitter webpack car ce dernier tourne en permanence.

Voila, vous savez comment modifiez votre theme avec les vrai outils,

ces technologies sont un peu compliquées à mettre en place, mais sont vraiment pratiques quand on les maitrise.

Je vous invite à vous renseigner sur la technologie Sass et Less, si vous voulez plus de détails, mais pour faire simple, c’est du css « programmé ».

Petite explication:

Dans le dossier _dev, il y a un sous dossier _partials, qui contient un fichier _variables.scss,

 

je vous invite à jetter un oeil et modifier un peu les variables présentes, vous verrez alors votre theme changer à allure grand V assez simplement.

Si je change la variable $gray_darker,

le system va recompiler automatiquement tous les fichiers ou cette variable est présente, et les transformer en css automatiquement dans le fichier (theme.css du thème), ce qui vous évite d’ouvrir tous vos fichiers css, rechercher la couleur, la remplacer etc…

 

En espèrent que cet article vous aidera à faire de belles modifications sur votre theme Prestashop

Enjoy 😉

 

 

 

Navigation de l’article

Précédent Précédent
Les bases pour débugger Prestashop
SuivantContinuer
[MODULE] – Anti spams sur Prestashop

Publications similaires

  • Optimiser son référencement avec un thème SEO pour WordPress
    blog | wordpress

    Optimiser son référencement avec un thème SEO pour WordPress

    Parguillaume 30 octobre 202012 avril 2023

    Bien que WordPress soit un système de gestion de contenu très apprécié de Google, il ne suffit pas de créer un site web ou un blog à partir de ce CMS pour optimiser votre visibilité sur les pages de résultats du moteur de recherche de la firme de Mountain View. Pour améliorer votre référencement naturel,…

    Lire la suite Optimiser son référencement avec un thème SEO pour WordPressContinuer

  • PrestaShop solution e-commerce
    Développement | ecommerce | prestashop

    TUTO – Prestashop rendre le numéro de téléphone obligatoire

    Parguillaume 4 février 202112 avril 2023

    Lorsque que vous avez un site ecommerce sous PrestaShop, les clients ne sont pas forcés (par défaut) de mettre leur numéro de téléphone sur leur adresse de livraison, ceci peut être très problèmatique et beaucoup de transporteurs ou logisticiens demande ce numéro de téléphone. Comment rendre le numéro obligatoire ? Il y a plusieurs options:…

    Lire la suite TUTO – Prestashop rendre le numéro de téléphone obligatoireContinuer

  • PrestaShop solution e-commerce
    bug | ecommerce | prestashop

    Problème de création de compte client sur PrestaShop 1.7 et Google Chrome

    Parguillaume 16 décembre 202012 avril 2023

    Depuis quelques jours, certaines personnes rencontrent des problèmes avec PrestaShop en version 1.7 avec Google Chrome (version 87) en mode desktop (Ordinateur). À la création de compte client, une erreur est déclanchée Il s’agit d’une mise à jour de la part de Google afin de renforcer la sécurité sur les sites web. Si vous rencontez…

    Lire la suite Problème de création de compte client sur PrestaShop 1.7 et Google ChromeContinuer

  • PrestaShop solution e-commerce
    blog | bug | ecommerce | prestashop

    Les bases pour débugger Prestashop

    Parguillaume 10 février 20188 mai 2023

    Quand on se lance dans le e-commerce avec Prestashop, il se peut que l’on tombe sur des erreurs ou certaines de nos modifications qui ne marchent pas. Dans ce post, nous allons voir les bases à connaitre et certaines petites astuces…

    Lire la suite Les bases pour débugger PrestashopContinuer

  • Gérer ses factures depuis son site internet
    blog | Développement | OctoberCMS

    Gérer ses factures depuis son site internet

    Parguillaume 24 août 202012 avril 2023

    Gérer ses factures depuis son site web est un jeu d’enfant grâve à notre plugin Control ERP, le tout gratuitement.

    Lire la suite Gérer ses factures depuis son site internetContinuer

  • Développeur October CMS et PrestaShop
    blog | Développement | OctoberCMS

    OctoberCMS, est il le futur du CMS ?

    Parguillaume 12 février 20198 mai 2023

    Depuis plusieurs temps, nous nous intéressons fortement à CMS ayant pour nom: OctoberCMS.

    Lire la suite OctoberCMS, est il le futur du CMS ?Continuer

Qui sommes nous ? Spécialiste dans la création de sites internet et notamment dans le e-commerce avec la solution Prestashop et Laravel. Nous intervenons depuis 2011 sur les sites de nos clients : configurations, migrations, développement web, SEO et webdesign sont les activités que nous exerçons tous les jours. Avec PrestaSafe, vous êtes en relation avec un réseau de passionnés qui connaissent leurs métiers.

  • Prestashop
  • E-commerce
  • Blog
  • Développement
  • Bug
  • Hébergement
  • WordPress
  • Sécurité
  • OctoberCMS
  • Non classé

Ressources

  • Contact
  • Support Technique
  • Maintenances technique
  • Mention légales
  • Devis en ligne
  • Conditions générales de vente
  • Politique de sécurité.

Suivez-nous

Facebook Twitter YouTube Linkedin

© 2025 PrestaSafe

Loading...
PrestaSafe
Gérer le consentement
Pour offrir les meilleures expériences, nous utilisons des technologies telles que les cookies pour stocker et/ou accéder aux informations des appareils. Le fait de consentir à ces technologies nous permettra de traiter des données telles que le comportement de navigation ou les ID uniques sur ce site. Le fait de ne pas consentir ou de retirer son consentement peut avoir un effet négatif sur certaines caractéristiques et fonctions.
Fonctionnel Toujours activé
L’accès ou le stockage technique est strictement nécessaire dans la finalité d’intérêt légitime de permettre l’utilisation d’un service spécifique explicitement demandé par l’abonné ou l’utilisateur, ou dans le seul but d’effectuer la transmission d’une communication sur un réseau de communications électroniques.
Préférences
L’accès ou le stockage technique est nécessaire dans la finalité d’intérêt légitime de stocker des préférences qui ne sont pas demandées par l’abonné ou l’internaute.
Statistiques
Le stockage ou l’accès technique qui est utilisé exclusivement à des fins statistiques. Le stockage ou l’accès technique qui est utilisé exclusivement dans des finalités statistiques anonymes. En l’absence d’une assignation à comparaître, d’une conformité volontaire de la part de votre fournisseur d’accès à internet ou d’enregistrements supplémentaires provenant d’une tierce partie, les informations stockées ou extraites à cette seule fin ne peuvent généralement pas être utilisées pour vous identifier.
Marketing
L’accès ou le stockage technique est nécessaire pour créer des profils d’internautes afin d’envoyer des publicités, ou pour suivre l’utilisateur sur un site web ou sur plusieurs sites web ayant des finalités marketing similaires.
Gérer les options Gérer les services Gérer {vendor_count} fournisseurs En savoir plus sur ces finalités
Voir les préférences
{title} {title} {title}
  • Accueil
  • Prestashop
    • Présentation de Prestashop
    • Support et assistance pour Prestashop
    • Création de votre boutique de vente en ligne
    • Cartzilla, un thème PrestaShop Performant, Mobile et SEO
    • Migration PrestaShop
    • Maintenance technique pour site E-commerce PrestaShop
    • Prestations et maintenance site internet e-commerce PrestaShop
  • Blog
  • Devis en ligne
  • Boutique
    • Thèmes Prestashop
    • Modules PrestaShop
  • Mon compte
    • Programme d’affiliation PrestaSafe

Insérer/modifier un lien

Saisissez l’URL de destination

Ou alors, faites un lien vers l’un des contenus de votre site

    Aucun mot n’a été donné pour cette recherche. Voici les recherches précédentes. Recherchez ou utilisez les flèches haut et bas pour choisir un élément.
      Rechercher