PHPackages                             cafe-culture/blog-bundle - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Framework](/categories/framework)
4. /
5. cafe-culture/blog-bundle

ActiveSymfony-bundle[Framework](/categories/framework)

cafe-culture/blog-bundle
========================

Un bundle Symfony complet pour un blog dédié à la culture du café : origines, torréfaction, méthodes de préparation et recettes.

1.1.1(1mo ago)02MITPHPPHP &gt;=8.2CI failing

Since Apr 11Pushed 1mo agoCompare

[ Source](https://github.com/Leo-76/cafe-bundle-culture)[ Packagist](https://packagist.org/packages/cafe-culture/blog-bundle)[ Docs](https://github.com/cafe-culture/blog-bundle)[ RSS](/packages/cafe-culture-blog-bundle/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (1)Dependencies (17)Versions (2)Used By (0)

CafeCultureBundle
=================

[](#cafeculturebundle)

[![Packagist Version](https://camo.githubusercontent.com/d4da296632ca88c0eeca287146a6d1ac516eecfa09911f228e81af476338bee1/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f636166652d63756c747572652f626c6f672d62756e646c65)](https://packagist.org/packages/cafe-culture/blog-bundle)[![PHP Version](https://camo.githubusercontent.com/4f0ff8d47b7c73441eb92a1f49af61c2d6521b14113c8fd85fac4416c863e7cc/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f7068702d253345253344382e322d626c7565)](https://php.net)[![Symfony](https://camo.githubusercontent.com/58b78a46149a734ec0c974078a18b4c15ade82639c26c19547a81d0621a5800a/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f73796d666f6e792d362e34253230253743253230372e78253230253743253230382e782d626c61636b)](https://symfony.com)[![License](https://camo.githubusercontent.com/f8df3091bbe1149f398a5369b2c39e896766f9f6efba3477c63e9b4aa940ef14/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d677265656e)](LICENSE)

**CafeCultureBundle** est un bundle Symfony clé-en-main pour créer un blog dédié à la culture du café. Il fournit toutes les entités, contrôleurs, templates, assets et fixtures nécessaires pour démarrer immédiatement.

> **Important** — Ce dépôt contient uniquement le **bundle** (composant réutilisable). Pour tester localement, utilisez une application Symfony dédiée. Ne lancez pas `symfony serve` depuis ce dossier : un bundle n'a pas de `public/index.php`.

---

Fonctionnalités
---------------

[](#fonctionnalités)

- **Blog complet** : articles, catégories, tags, commentaires avec modération
- **Champs spécialisés café** : origine géographique, profil aromatique, temps de lecture
- **Notation par étoiles** (AJAX, une note par IP)
- **Recherche full-text** avec autocomplétion AJAX
- **API REST légère** : `/api/cafe/search`, `/api/cafe/recent`, `/api/cafe/rate/{id}`
- **Sitemap XML** et **flux RSS** générés automatiquement
- **Extension Twig** : filtres `reading_time`, `excerpt`, `stars` ; fonctions `coffee_flag`, `aroma_badge`
- **Back-office** : dashboard, CRUD articles/catégories, modération commentaires (`ROLE_ADMIN`)
- **Thème CSS** responsive aux couleurs café + thème admin séparé
- **6 catégories prédéfinies** : Origines, Torréfaction, Préparations, Recettes, Histoire, Matériel
- **Fixtures** : 6 articles rédigés, 15 tags, 6 catégories prêts à l'emploi
- **Migration Doctrine** incluse (6 tables)
- **3 commandes console** : `cafe:install`, `cafe:check`, `cafe:uninstall`

---

Prérequis
---------

[](#prérequis)

LogicielVersionPHP**8.2** ou supérieurSymfony**6.4**, **7.x** ou **8.x**doctrine/doctrine-bundle2.11 ou supérieurdoctrine/orm2.15 ou 3.x---

Installation dans un projet Symfony existant
--------------------------------------------

[](#installation-dans-un-projet-symfony-existant)

### Etape 1 — Installer via Composer

[](#etape-1--installer-via-composer)

```
composer require cafe-culture/blog-bundle
```

### Etape 2 — Activer le bundle

[](#etape-2--activer-le-bundle)

Si Symfony Flex ne l'a pas ajouté automatiquement, ajoutez-le dans `config/bundles.php` :

```
// config/bundles.php
return [
    // ...
    CafeCulture\BlogBundle\CafeCultureBundle::class => ['all' => true],
];
```

### Etape 3 — Déclarer les routes

[](#etape-3--déclarer-les-routes)

Créez le fichier `config/routes/cafe_culture.yaml` :

```
cafe_culture_blog:
    resource: '@CafeCultureBlogBundle/src/Controller/BlogController.php'
    type: attribute
    prefix: /blog

cafe_culture_api:
    resource: '@CafeCultureBlogBundle/src/Controller/ApiController.php'
    type: attribute
    prefix: /api/cafe

cafe_culture_sitemap:
    resource: '@CafeCultureBlogBundle/src/Controller/SitemapController.php'
    type: attribute

cafe_culture_admin:
    resource: '@CafeCultureBlogBundle/src/Controller/AdminController.php'
    type: attribute
    prefix: /admin/cafe
```

### Etape 4 — Copier la configuration du bundle

[](#etape-4--copier-la-configuration-du-bundle)

```
cp vendor/cafe-culture/blog-bundle/config/packages/cafe_culture.yaml config/packages/
```

### Etape 5 — Configurer Doctrine

[](#etape-5--configurer-doctrine)

Dans `config/packages/doctrine.yaml`, ajoutez le mapping du bundle :

```
doctrine:
    orm:
        mappings:
            CafeCultureBlogBundle:
                is_bundle: true
                type: attribute
                dir: 'src/Entity'
                prefix: 'CafeCulture\BlogBundle\Entity'
                alias: CafeCulture

doctrine_migrations:
    migrations_paths:
        'CafeCulture\BlogBundle\Migrations': '%kernel.project_dir%/vendor/cafe-culture/blog-bundle/migrations'
        'DoctrineMigrations': '%kernel.project_dir%/migrations'
```

### Etape 6 — Lancer l'installation

[](#etape-6--lancer-linstallation)

```
# Tout en une commande
php bin/console cafe:install --fixtures

# Vérifier que tout est correct
php bin/console cafe:check
```

Ou étape par étape :

```
php bin/console doctrine:migrations:migrate --no-interaction
php bin/console assets:install
php bin/console doctrine:fixtures:load --append   # optionnel, données de démo
```

---

Développement local (sans Packagist)
------------------------------------

[](#développement-local-sans-packagist)

Un bundle ne se lance pas directement. Il faut l'intégrer dans une application Symfony. Utilisez un **path repository** pour travailler sur le bundle et le tester simultanément :

```
votre-workspace/
├── blog-bundle/
