Sous-projets
Detail de chaque sous-projet de l'ecosysteme D1DEV : stack technique, URL, fonctionnalites cles et commandes utiles.
Drupal 11
| Stack | Drupal 11.3, PHP 8.3, Apache, Drush 13 |
| URL | drupal.d1dev.fr |
| Base | MariaDB drupal_db |
| Config | drupal_config/sync/ (Config Split dev/stage/prod) |
Fonctionnalites
- Module custom
prestashop_sync : synchronisation produits PrestaShop → Commerce
- Integration Search API Solr pour la recherche
- Themes: Gin (admin), Olivero (front)
- Config Split avec activation auto via
DRUPAL_CONFIG_SPLIT
Commandes
make install # Fresh install + import config + updb + cache rebuild
make export-config # drush cex
make import-config # drush cim
make migrate # Migration status + run
make reindex # Reindex Solr
Symfony API
| Stack | Symfony 7, PHP 8.3, Messenger (Redis), EasyAdmin |
| URL | api.d1dev.fr | Swagger | Admin |
| Base | MariaDB symfony_api |
| Auth | Bearer token (Authorization: Bearer <token>) |
Fonctionnalites
- Job processors :
etiquette, solr_product_search, serp_api__google_shopping_light, document_index
- Cache SHA256 (TTL 7j,
no_cache pour bypass)
- Worker async dans un container separe (
symfony-worker)
Commandes
docker compose exec symfony-api bin/console messenger:failed:show
docker compose exec symfony-api bin/console app:create-admin
docker compose exec symfony-api bin/console app:login-token email@test.fr
Kanban
| Stack | Symfony 7.4, API Platform 4.2, EasyAdmin 4.28, Workflow |
| URL | kanban.d1dev.fr/admin |
| Base | MariaDB kanban_db |
Fonctionnalites
- 18 entites : Project, Story, Epic, Iteration, Task, Comment, Person, Label...
- Workflow
story_lifecycle : unscheduled → unstarted → started → finished → delivered → accepted/rejected
- 16 enums (PointScale, StoryType, StoryState, MembershipRole...)
- Agents IA via orchestrateur bash (polling API, pipeline SCAN→CLAIM→START→CLAUDE→FINISH)
PrestaAdmin
Fonctionnalites
- Detection tenant automatique par domaine (
<slug>-prestadmin.d1dev.fr)
- Modules : Stock, Documentation, Commerce, SAV
- Roles :
ROLE_SUPER_ADMIN > ROLE_ADMIN > ROLE_USER
Commandes
docker compose exec prestadmin php bin/console app:create-admin email password --tenant=slug
docker compose exec prestadmin php bin/console app:seed-tenants
API GPA
| Stack | Symfony 7.4, API Platform 4.2, EasyAdmin 4.28, Messenger (Redis) |
| URL | Admin | Swagger |
| Base | MariaDB api_gpa_db |
| Auth | Form login (admin) + Bearer token API (stateless) |
Fonctionnalites
- Modele metier : Produit (piece physique, QR code unique) vs Reference (ref OEM, regroupe N produits)
- 10 APIs recherche pieces auto prevues (6 phases, 19 entites)
- Recherche vectorielle Qdrant + vision Ollama
- Worker async pour traitement en arriere-plan
Search App
| Stack | Vite 6, React 18, shadcn/ui, Tailwind CSS 4, MUI, recharts |
| URL | search.d1dev.fr |
| Deploiement | Multi-stage Docker (node:20-alpine → nginx:alpine) |
Fonctionnalites
- Recherche Documents + Produits (onglets)
- Facettes configurables, autocomplete
- Connexion directe Solr (actuellement mock data)
Commandes
cd search-app && npm run dev # Dev server
cd search-app && npm run build # Production build
React App
| Stack | Vite 6, React 18, Tailwind CSS 4, MUI, Bootstrap |
| Source | react-app/src/app/components/ |
Fonctionnalites
- Integration API RestoNoble (externe)
- UI components, pages, exports Figma
- Package manager : npm ou pnpm