Download the PHP package gponty/entity-to-google-sheets-bundle without Composer

On this page you can find all versions of the php package gponty/entity-to-google-sheets-bundle. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package entity-to-google-sheets-bundle

Entity to Google Sheets Bundle

License: MIT

Un bundle Symfony puissant et simple pour exporter automatiquement les entités Doctrine vers des feuilles Google Sheets.

Fonctionnalités

Prérequis

Installation

1. Installer via Composer

2. Enregistrer le bundle

Si vous n'êtes pas sur une version totalement récente de Symfony, enregistrez le bundle dans config/bundles.php :

3. Configurer les identifiants Google

Créer un projet Google Cloud

  1. Allez sur Google Cloud Console
  2. Créez un nouveau projet
  3. Activez l'API Google Sheets API
  4. Créez un compte de service
  5. Téléchargez le fichier de clés JSON

Ajouter une variable d'environnement

Dans votre fichier .env :

Partager le spreadsheet avec le compte de service

⚠️ Étape importante : Vous devez donner accès au Google Sheet au compte de service.

  1. Ouvrez le fichier google-credentials.json que vous avez téléchargé
  2. Trouvez le champ "client_email", par exemple : [email protected]
  3. Allez sur votre Google Sheet
  4. Cliquez sur le bouton "Partager" en haut à droite
  5. Collez l'email du compte de service (client_email)
  6. Donnez les permissions "Éditeur" (Editor)
  7. Cliquez sur "Partager"

Sans cette étape, le bundle ne pourra pas accéder au spreadsheet et l'export échouera avec une erreur d'authentification.

Utilisation

Exécuter l'export

Cette commande va :

  1. Lire toutes les entités Doctrine enregistrées
  2. Créer ou mettre à jour les onglets Google Sheets correspondants
  3. Remplir chaque onglet avec les informations de l'entité
  4. Générer une feuille d'index avec la liste complète

Exemple de sortie

Bonnes pratiques

Lancer la commande à chaque déploiement

🎯 Conseil important : Il est recommandé de lancer la commande à la fin de chaque déploiement pour s'assurer que votre Google Sheet reste toujours synchronisé avec votre structure de base de données.

Via un script de déploiement

Ajouter la commande dans votre script de déploiement (par exemple dans deploy.sh) :

Via un hook Symfony (post-deploy)

Si vous utilisez Symfony Flex ou un orchestrateur (Capistrano, Deployer, etc.), intégrez la commande dans votre config :

Via un job cron (mise à jour périodique)

Pour une mise à jour automatique périodique :

Cela va exécuter l'export chaque nuit à 2h du matin.

Attribut SheetDescription

Le bundle fournit un attribut PHP SheetDescription qui permet d'ajouter des descriptions personnalisées sur vos entités et leurs propriétés. Ces descriptions seront exportées dans Google Sheets aux côtés des métadonnées techniques.

Sur une classe d'entité

Sur les propriétés

L'attribut est optionnel : si aucune description n'est définie, la colonne description sera simplement vide dans le Google Sheet.

Structure des données exportées

Chaque onglet d'entité contient :

Colonne Description
Nom du champ Nom de la propriété de l'entité
Colonne DB Nom de la colonne en base de données
Type Type de données (string, integer, datetime, etc.)
Nullable Si le champ peut être nul
Longueur Longueur maximale du champ (s'applicable)
Unique Si le champ a une contrainte UNIQUE
ID Si c'est la clé primaire

Feuille d'index

Une feuille d'index est créée avec :

Configuration avancée

Services personnalisés

Le bundle enregistre automatiquement les services suivants :

Vous pouvez les injecter dans vos propres services :

Gestion des erreurs

En cas d'erreur lors de l'authentification Google ou de l'accès au Spreadsheet :

Architecture

Classes principales

EntityReader

Lit les métadonnées de toutes les entités Doctrine enregistrées et extrait :

GoogleSheetsExporter

Gère l'interaction avec l'API Google Sheets :

ExportEntitiesToSheetsCommand

Commande Symfony orchestrant le processus complet avec une interface utilisateur conviviale.

Support des types de données

Le bundle supporte les types Doctrine suivants :

Limitations

Performance

Pour les projets avec un grand nombre d'entités :

Dépannage

L'export échoue avec "Unable to authenticate"

Aucune entité n'est trouvée

L'export s'arrête au bout d'un certain temps

Licence

Ce bundle est sous licence MIT. Voir LICENSE pour plus de détails.

Contribution

Les contributions sont les bienvenues ! Pour contribuer :

  1. Forkez le repository
  2. Créez une branche pour votre feature (git checkout -b feature/AmazingFeature)
  3. Commitez vos changements (git commit -m 'Add some AmazingFeature')
  4. Poussez vers la branche (git push origin feature/AmazingFeature)
  5. Ouvrez une Pull Request

Auteur

Développé par gponty

Changelog

Version 1.0.0


All versions of entity-to-google-sheets-bundle with dependencies

PHP Build Version
Package Version
Requires php Version >=8.2
symfony/framework-bundle Version ^7.0|^8.0
doctrine/orm Version ^3.0
google/apiclient Version ^2.15
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package gponty/entity-to-google-sheets-bundle contains the following files

Loading the files please wait ...