Dans ce tutoriel je vous montrerai comment créer votre propre boutique en ligne avec Go-powered avec l’aide de Ponzu CMS.  

Étapes du tutoriel:  

  • Mise en place du CMS Ponzu.
  • Création de l'interface de magasin avec un générateur de site statique Go.
  • Déploiement du site Web sur Netlify.
  • Activation des capacités de commerce électronique avec Snipcart. Faisons d’abord un pas en arrière et plongeons-nous dans l’univers Golang.

Golang est-il bon pour un site web d'e-commerce ? Je pense qu’il est toujours légitime de dire que Go est un langage de programmation en devenir, car la communauté des développeurs le définit comme l’un des langages qu’ils souhaitent le plus apprendre. Il se classe également comme le cinquième être le plus aimé, supérieur à JavaScript et C # entre autres.  

Cet article ne concerne pas l’apprentissage de la langue. Si vous pensez avoir besoin d’une bonne introduction aux forces et faiblesses de Golang, lisez cet excellent article.

Prenez Hugo, par exemple, l’un des générateurs de sites statiques les plus populaires. Reconnu comme le plus rapide du genre, il générera en un rien de temps une superbe interface de blog ou de commerce électronique.

Partie technique : un site Golang d'e-commerce avec Ponzu CMS

Introduction à Ponzu:

un CMS Golang J’utiliserai le CMS Ponzu pour gérer le contenu de mon application d'e-commerce. En résumé, il s’agit d’un système de serveur HTTP open source et d’un système de gestion de contenu efficaces.

L'outil semble minimaliste ; un excellent choix pour les petits besoins d'utilisation avec une installation et une configuration incroyablement rapides, une configuration HTTPS automatique et des performances de premier ordre. La stack ira jusqu’au site Web du e-store: j'utiliserai ensuite Hugo en tant que générateur de site statique.  

Pré-requis:

  • Connaissances de base de Golang
  • Avoir Go installé et disponible dans votre PATH
  • Un compte Snipcart (toujours gratuit en mode test) Alors, commençons.

1. Configuration de Ponzu CMS et de l’API du produit

Exécuter une instance de Ponzu revient à exécuter quelques commandes de terminal:

MBP-de-admin:~ admin$ cd go
MBP-de-admin:go admin$ ls
bin	pkg	src
MBP-de-admin:go admin$ cd src
MBP-de-admin:src admin$ ls
github.com	golang.org	sigs.k8s.io	snipcart-ponzu
MBP-de-admin:src admin$ cd snipcart-ponzu
MBP-de-admin:snipcart-ponzu admin$ ponzu build
MBP-de-admin:snipcart-ponzu admin$ ponzu run --dev-https
Enabling self-signed HTTPS... [DEV]
Server listening on https://localhost:10443 for requests... [DEV]
----
If your browser rejects HTTPS requests, try allowing insecure connections on localhost.
on Chrome, visit chrome://flags/#allow-insecure-localhost
Server listening at localhost:8080 for HTTP requests...

Visit '/admin' to get started.

Une fois que vous avez terminé, rendez-vous sur https://localhost: 10443/admin.

Une étape de configuration unique sera nécessaire:

Une fois la configuration remplie comme ceci, vous allez vous retrouver dans l'interface d'administration. A l'air un peu vide, non? C’est parce qu’il n’ya pas encore de type de contenu disponible. Ponzu fournit un générateur de ligne de commande pour cela.  Créons un type de contenu de produit. Arrêtez l'application (CTRL + C) et exécutez les opérations suivantes:

$ ponzu generate content product name:"string" price:"float32" description:"string" image:string:file
$ ponzu build
$ ponzu run --dev-https

Lors de l'exécution de la commande ci-dessus, Ponzu crée un fichier product.go dans le répertoire de contenu de votre application. Ceci est la base de cette définition de type de contenu. Vous pouvez l’étendre pour l’adapter à vos besoins (nous y reviendrons).  Pour l'instant, laissez-le tel quel, redémarrez l'application et revenez au tableau de bord de l'administrateur.  Vous remarquerez que le type de contenu Produit est maintenant disponible dans la barre de navigation. En cliquant dessus, vous accédez à la liste des entrées de produits:

Créez votre premier produit:

Bam!  Une fois créé, votre nouveau produit sera instantanément disponible via le point de terminaison API de Ponzu:

// https://localhost:10443/api/contents?type=Product

{
    "data": [
        {
            "uuid": "62426fee-c78d-4072-b009-92e2d19795c0",
            "id": 5,
            "slug": "product-62426fee-c78d-4072-b009-92e2d19795c0",
            "timestamp": 1536113556000,
            "updated": 1536150096023,
            "name": "Hot air balloons (pack of 2)",
            "price": 23599,
            "description": "Best way to go is up! Glide through the air boarding one of these majestic balloons.",
            "image": "/api/uploads/2018/09/hot-air-balloons.jpg"
        }
    ]
}

Cette dernière étape englobe notre configuration de base de CMS. Maintenant, la partie croustillante!

2. Création du site Web e-commerce avec un Golang SSG

Le magasin sera un site Hugo hébergé sur Netlify.  Vous devrez installer Hugo. Maintenant, créons votre site.  Vous pouvez le faire en utilisant le thème Beautiful Hugo et en le peaufinant un peu.  Je n’expliquerai pas grand-chose en matière de personnalisation car ce n’est pas notre objectif principal. Une procédure plus détaillée est abordée dans ce document précédent.