PHPackages                             jean-sebastien-christophe/ux-calendar-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. [Utility &amp; Helpers](/categories/utility)
4. /
5. jean-sebastien-christophe/ux-calendar-bundle

ActiveSymfony-bundle[Utility &amp; Helpers](/categories/utility)

jean-sebastien-christophe/ux-calendar-bundle
============================================

A modern calendar bundle for Symfony 7.4/8 with Turbo and Stimulus - no third-party libraries

v0.1.9.5(5mo ago)010MITPHPPHP &gt;=8.2CI passing

Since Dec 7Pushed 5mo agoCompare

[ Source](https://github.com/JsD3v/ux-calendar-bundle)[ Packagist](https://packagist.org/packages/jean-sebastien-christophe/ux-calendar-bundle)[ RSS](/packages/jean-sebastien-christophe-ux-calendar-bundle/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (10)Versions (16)Used By (0)

CalendarBundle pour Symfony 7.4 / 8
===================================

[](#calendarbundle-pour-symfony-74--8)

[![CI - Tests PHP 8.4](https://github.com/JsD3v/ux-calendar-bundle/actions/workflows/test.yml/badge.svg)](https://github.com/JsD3v/ux-calendar-bundle/actions/workflows/test.yml)

Bundle calendrier léger pour Symfony 7.4+ et 8 basé sur **Turbo** et **Stimulus**, sans dépendances externes de type FullCalendar. Idéal pour une intégration rapide avec un minimum de configuration.

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

[](#fonctionnalités-clés)

- Vue mensuelle réactive avec Turbo Streams
- Création, édition et suppression d'événements (journée ou horaires)
- Couleurs personnalisables et interface Bootstrap 5 responsive
- Aucun JS lourd : uniquement Stimulus

Installation rapide
-------------------

[](#installation-rapide)

```
composer require jean-sebastien-christophe/calendar-bundle
composer require symfony/asset-mapper symfony/ux-turbo symfony/stimulus-bundle
```

Activez le bundle via Symfony Flex ou ajoutez-le dans `config/bundles.php` si nécessaire :

```
JeanSebastienChristophe\CalendarBundle\CalendarBundle::class => ['all' => true],
```

Routes obligatoires (`config/routes/calendar.yaml`) :

```
calendar_bundle:
    resource: '@CalendarBundle/src/Controller/'
    type: attribute
```

Base de données :

```
php bin/console make:migration
php bin/console doctrine:migrations:migrate
```

**Important** : Après l'installation, videz le cache Symfony pour que les assets du bundle soient correctement enregistrés :

```
php bin/console cache:clear
```

Les assets CSS du bundle sont automatiquement exposés via AssetMapper. Aucune commande `assets:install` n'est nécessaire.

Stimulus (copie du contrôleur) :

```
mkdir -p assets/controllers
cp vendor/jean-sebastien-christophe/calendar-bundle/assets/dist/controllers/calendar_controller.js assets/controllers/
```

Enregistrez-le dans `assets/app.js` :

```
import '@hotwired/turbo';
import './bootstrap.js';
import { startStimulusApp } from '@hotwired/stimulus-bundle';
import CalendarController from './controllers/calendar_controller.js';

const app = startStimulusApp();
app.register('calendar', CalendarController);
```

Lancez votre serveur et ouvrez `/calendar`.

Configuration (optionnelle)
---------------------------

[](#configuration-optionnelle)

Créer `config/packages/calendar.yaml` si vous voulez changer l'URL ou les options :

```
calendar:
    route_prefix: /calendar
    features:
        all_day_events: true
        colors: true
```

Personnalisation
----------------

[](#personnalisation)

- Surchargez les templates dans `templates/bundles/CalendarBundle/calendar/`.
- Étendez l'entité `Event` pour définir une couleur par défaut ou ajouter des champs métier.

État du bundle
--------------

[](#état-du-bundle)

Version initiale en cours de préparation pour la distribution. Tests et vues supplémentaires (semaine/jour) arriveront dans les prochaines itérations.

### Routes exposées

[](#routes-exposées)

MéthodeRouteNomDescriptionGET`/events``calendar_index`Redirige vers mois courantGET`/events/{year}/{month}``calendar_month`Affiche le calendrierGET`/events/new``calendar_event_new`Formulaire créationPOST`/events``calendar_event_new`Crée l'événementGET`/events/{id}/edit``calendar_event_edit`Formulaire éditionPOST`/events/{id}``calendar_event_edit`Met à jour l'événementDELETE`/events/{id}``calendar_event_delete`Supprime l'événement🚀 Utilisation
-------------

[](#-utilisation)

### Créer un événement

[](#créer-un-événement)

Cliquez sur une date dans le calendrier → Un modal s'ouvre avec le formulaire pré-rempli.

### Modifier un événement

[](#modifier-un-événement)

Cliquez sur un événement → Le modal d'édition s'ouvre.

### Navigation

[](#navigation)

Utilisez les boutons **← Mois précédent** | **Aujourd'hui** | **Mois suivant →**

### Turbo Streams en action

[](#turbo-streams-en-action)

Toutes les actions (création, modification, suppression) mettent à jour le calendrier **sans rechargement de page** grâce à Turbo Streams !

🔧 Dépannage
-----------

[](#-dépannage)

### Erreur : "CalendarBundle requires Turbo Bundle"

[](#erreur--calendarbundle-requires-turbo-bundle)

```
composer require symfony/ux-turbo
php bin/console cache:clear
```

### Erreur : "CalendarBundle requires Stimulus Bundle"

[](#erreur--calendarbundle-requires-stimulus-bundle)

```
composer require symfony/stimulus-bundle
php bin/console importmap:install
```

### Erreur : "CalendarBundle requires AssetMapper"

[](#erreur--calendarbundle-requires-assetmapper)

```
composer require symfony/asset-mapper
php bin/console importmap:install
```

### Le contrôleur Stimulus ne fonctionne pas

[](#le-contrôleur-stimulus-ne-fonctionne-pas)

Vérifiez que vous avez bien :

1. Copié `calendar_controller.js` dans `assets/controllers/`
2. Enregistré le contrôleur dans votre `app.js`
3. Lancé `php bin/console asset-map:compile`

🗺️ Roadmap (V2)
---------------

[](#️-roadmap-v2)

- Vue semaine
- Vue jour
- Drag &amp; drop pour déplacer les événements
- Événements récurrents
- Export iCal
- Catégories d'événements
- Multi-utilisateurs (événements privés/publics)
- API REST
- Interface `CalendarEventInterface` pour plus de flexibilité
- Trait `CalendarEventTrait`
- Tests PHPUnit

📄 Licence
---------

[](#-licence)

MIT

🤝 Contribution
--------------

[](#-contribution)

Les contributions sont les bienvenues !

1. Fork le projet
2. Créez votre branche (`git checkout -b feature/amazing-feature`)
3. Commit vos changements (`git commit -m 'Add amazing feature'`)
4. Push vers la branche (`git push origin feature/amazing-feature`)
5. Ouvrez une Pull Request

📞 Support
---------

[](#-support)

Pour toute question ou problème, ouvrez une issue sur GitHub.

---

Fait avec ❤️ pour la communauté Symfony

###  Health Score

34

—

LowBetter than 77% of packages

Maintenance72

Regular maintenance activity

Popularity5

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity45

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

15

Last Release

156d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/bb04219acfcad0d26850f2e313e71e9063f85567f8e42ecaaa30baa1ae15c2ce?d=identicon)[JsD3v](/maintainers/JsD3v)

---

Top Contributors

[![JsD3v](https://avatars.githubusercontent.com/u/73234516?v=4)](https://github.com/JsD3v "JsD3v (23 commits)")

---

Tags

eventsymfonycalendarturbohotwirestimulus

### Embed Badge

![Health badge](/badges/jean-sebastien-christophe-ux-calendar-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/jean-sebastien-christophe-ux-calendar-bundle/health.svg)](https://phpackages.com/packages/jean-sebastien-christophe-ux-calendar-bundle)
```

###  Alternatives

[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.4k5.6M651](/packages/sylius-sylius)[easycorp/easyadmin-demo

EasyAdmin Demo Application

145.7k](/packages/easycorp-easyadmin-demo)[kimai/kimai

Kimai - Time Tracking

4.6k7.4k1](/packages/kimai-kimai)[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.3M152](/packages/sulu-sulu)[ec-cube/ec-cube

EC-CUBE EC open platform.

78527.0k1](/packages/ec-cube-ec-cube)[lexik/translation-bundle

This bundle allows to import translation files content into the database and provide a GUI to edit translations.

4362.7M19](/packages/lexik-translation-bundle)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
