Panier d'achat

Votre panier est actuellement vide

Votre panier est actuellement vide

Avant de passer à la caisse, vous devez ajouter quelques produits à votre panier. Vous trouverez de nombreux produits intéressants sur la page de notre boutique.

Continuer à faire des achats

Proposer des biens numériques en ligne - Amazon le fait avec des livres électroniques, sur Beatport je reçois des offres de musique actuelles et dans l'AppStore de mon smartphone, Apple, Google ou Microsoft me proposent des téléchargements de musique et de logiciels, à tout moment et en tout lieu. Le marché des ventes de produits à télécharger est en plein essor, car l'offre est accessible partout et souvent moins chère que dans les magasins, qui ne sont souvent accessibles qu'en voiture.


Une tendance se dessine et s'oriente fortement vers le "shopping numérique" et les achats mobiles.


Depuis que la version 4.6.0 de l'OXID eShop propose l'option "produits immatériels", il est facile de proposer de la musique, des livres électroniques, des vidéos ou des jeux en version numérique à la vente dans sa propre boutique. Les logiciels se vendent également très bien dans la boutique. Le téléchargement des fichiers de téléchargement payants s'effectue soit via l'administration de la boutique, soit, pour les grandes quantités de données, avec le programme FTP. Si les fichiers sont transférés par FTP, ils doivent être attribués à l'article correspondant dans l'administration de la boutique. Vous pouvez ensuite acheter l'article à télécharger dans la boutique.

Oxid Standard Download Produktmanagement

A première vue, tout semble simple et confortable à administrer. Mais si des changements de fichiers ou des mises à jour fréquents entrent en jeu, comme par exemple pour les produits de logiciels web, la maintenance et la mise à disposition des produits avec les moyens du bord peuvent prendre beaucoup de temps. Un temps qui fait défaut ailleurs. Il faut donc trouver un moyen plus simple de mettre les produits à disposition.


Téléchargements payants OXID avec versionnement Git

Lorsque l'on développe un logiciel en équipe, on ne peut tôt ou tard éviter le versioning. Chez Netensio , nous utilisons le célèbre gestionnaire de versions libre git. Git gère nos produits d'une part en tant que tags (versions stables) et les versions actuelles des développeurs. Cette construction se retrouve sous une forme similaire chez une grande partie de la communauté des développeurs OXID. La communauté git est devenue très importante, de nombreux développeurs versionnent leurs logiciels et même des systèmes logiciels entiers avec la gestion de versions libre.

Clarifions encore une fois la situation. Nous avons un système de boutique qui peut accueillir des produits à télécharger et des produits logiciels finis se trouvent dans notre gestion de versions. Nous cherchons donc un moyen pratique et courant de récupérer des données dans git et de les transformer en un produit de téléchargement OXID.

Module de téléchargement d'articles OXID / GIT

J'ai opté pour l'intégration en tant qu'extension de module OXID. La fonctionnalité actuelle ne doit en aucun cas être affectée par mon module et j'ai besoin, en plus de la mise à disposition en tant que logiciel open source, d'une option permettant de crypter les fichiers .php à l'aide de l'encodeur Ioncube. Je n'aborderai que très superficiellement le cryptage du logiciel, je ne suis pas encore satisfait de certaines parties du module, c'est pourquoi je renonce pour l'instant à une publication. Dans cet article, je donne la priorité au contrôle de la balise git et à la transmission à OXID sous forme d'archive ZIP.

Pour éviter de devoir saisir à chaque fois l'URL du référentiel et le login de l'utilisateur git pour générer un produit de téléchargement à partir de git, je crée un objet de plan de déploiement, une nouvelle table de base de données pour les profils de déploiement enregistrés et une vue d'administration OXID avec le modèle correspondant. Par profil de déploiement, j'entends un ensemble de paramètres enregistrés qui sont nécessaires pour générer un produit de téléchargement à partir de git. La capture d'écran suivante montre le masque de saisie de l'onglet Admin pour la création d'un profil de déploiement git pour les articles OXID.

OXID / GIT Download Artikel Deployment

J'ai délibérément choisi de créer le profil par article afin de pouvoir également faire appel à des serveurs git externes avec différents utilisateurs. En principe, chaque référentiel sur Github pourrait être chargé dans l'eShop OXID en tant que produit à télécharger. Le profil de déploiement permet également d'activer l'encodeur Ioncube évoqué précédemment. Nous l'ignorons toutefois pour le moment. Une fois que nous avons créé un profil de déploiement pour l'article, nous pouvons lancer notre processus de déploiement en cliquant sur Obtenir les données Repo. La liste suivante illustre exactement ce que fait ce bouton :

  • Le tag/branch git visé dans le profil de déploiement est cloné dans un répertoire Temp.
  • OXID eShop nettoie le répertoire cloné de ses propres répertoires git.
  • Le répertoire temporaire est crypté avec Ioncube, si souhaité.
  • Le répertoire temporaire reçoit sur demande l'oxarticle__oxfile
  • Le répertoire est déplacé en tant qu'archive ZIP dans le dossier /out/downloads/uploads
  • Le fichier Zip est traité comme un nouveau fichier de produit à télécharger pour l'article et enregistré comme hachage de produit à télécharger.
  • Le fichier zip dans le dossier out/downloads/uploads est supprimé du module.

Maintenir l'article OXID / GIT Deployment à jour

Le produit à télécharger est disponible dans la boutique et attaché à l'article dès la fin du processus, exactement comme si le fichier zip avait été téléchargé manuellement. La beauté de cette solution réside dans le fait que dès qu'une nouvelle version du produit est enregistrée dans git, il suffit d'adapter le nom de la balise dans le profil de déploiement déjà existant dans Oxid et de déployer la balise git actuelle comme produit à télécharger.

Que se passe-t-il lorsque l'on clique sur : "Récupérer les données Repo" ?

Le processus de déploiement effectue un simple "git clone -b " dans un répertoire temporaire indiqué dans les paramètres globaux du module. Le répertoire est ensuite nettoyé à l'aide des règles de déploiement et rempli avec les données supplémentaires. Une fois que toutes les données du profil de déploiement ont été rassemblées, on vérifie si le transfert vers l'objet article doit être crypté ou open source. Après le transfert vers l'article oxyde, les répertoires et données temporaires sont supprimés pour économiser de l'espace mémoire. La capture d'écran suivante vous donne un aperçu des paramètres du module dans Oxid.

Oxid Moduleinstellungen GIT Download-Produkte

Si cet article vous a plu ou si vous souhaitez voir des suggestions, des questions ou des exemples de code, n'hésitez pas à vous manifester via les commentaires et n'oubliez pas de partager. A bientôt !

Autres informations

Les visiteurs intéressés par cet article ont également trouvé des informations utiles sur ce sujet dans les pages suivantes.

Postes connexes

Découvrez d'autres posts intéressants.