Architecture

Commandes Symfony

Reference des commandes Symfony metier disponibles dans TrickSpin.

Commandes Symfony

Cette page recense les commandes metier exposees par le backend.

Pour afficher la liste complete dans le conteneur back :

php bin/console list app

Depuis la racine du projet, vous pouvez aussi executer une commande via Make :

make sf cmd='app:challenges:weekly --no-interaction'

Des raccourcis Make dedies existent aussi pour les commandes frequentes :

make import-grabs
make import-tricks
make challenges-weekly
make challenges-monthly
make generate-combo-slugs
make generate-category-slugs
make promote-admin pseudo=monPseudo

Vue d'ensemble

CommandeUsage principalDocumentation detaillee
app:import-grabsReimport complet des grabs depuis CSVImport des grabs
app:import-tricksImport non destructif des tricks depuis CSVImport des tricks
app:challenges:weeklySelection de la figure de la semaineAutomatisation des defis
app:challenges:monthlySelection des defis mensuels par categorieAutomatisation des defis
app:generate-combo-slugsBackfill des slugs manquants sur les combosCette page
app:generate-category-slugsBackfill des slugs manquants sur les categoriesCette page
app:user:promote-adminAjout du role admin a un utilisateurCette page

Generation de slugs

Les slugs sont generes automatiquement a la sauvegarde des entites. Ces commandes servent surtout au rattrapage de donnees existantes (backfill).

app:generate-combo-slugs

But : generer un slug uniquement pour les combos qui n'en ont pas.

Exemples :

# depuis la racine du projet
make sf cmd='app:generate-combo-slugs'

# commande Docker directe
docker compose --profile dev exec back php bin/console app:generate-combo-slugs

Comportement :

  • les combos avec slug existant sont ignores
  • les combos sans slug sont completes
  • la commande est idempotente (rejouable sans effet de bord)

app:generate-category-slugs

But : generer un slug uniquement pour les categories qui n'en ont pas.

Exemples :

# depuis la racine du projet
make sf cmd='app:generate-category-slugs'

# commande Docker directe
docker compose --profile dev exec back php bin/console app:generate-category-slugs

Comportement :

  • les categories avec slug existant sont ignorees
  • les categories sans slug sont completees
  • la commande est idempotente (rejouable sans effet de bord)

Gestion des roles admin

app:user:promote-admin

But : ajouter ROLE_ADMIN a un utilisateur a partir de son pseudo.

Exemples :

# depuis la racine du projet
make sf cmd='app:user:promote-admin monPseudo'

# commande Docker directe
docker compose --profile dev exec back php bin/console app:user:promote-admin monPseudo

Comportement :

  • echoue si le pseudo n'existe pas
  • ne duplique pas ROLE_ADMIN si l'utilisateur est deja admin
  • n'enleve aucun role existant