---
title: Nibiru
description: Né parmi les anciens dieux, conçu pour les bâtisseurs modernes. Un framework PHP MMVC modulaire pour le prototypage rapide.
template: splash
hero:
  eyebrow: Framework PHP MMVC Modulaire
  title: |
    Construisez à la<br/>vitesse des étoiles.
  tagline: |
    <strong>Nibiru</strong> est un framework PHP MMVC modulaire pour le prototypage rapide — un routeur, une couche de vue propulsée par Smarty, le support multi-bases (MySQL · PostgreSQL · ODBC · PDO), un constructeur de formulaires fluide et une CLI qui génère modules, contrôleurs et migrations en quelques secondes.
  actions:
    - text: Commencer le voyage
      link: /fr/start/what-is-nibiru/
      icon: right-arrow
      variant: primary
    - text: Voir sur GitHub
      link: https://github.com/alllinux/Nibiru
      icon: external
      variant: minimal
---

import { Card, CardGrid, LinkCard } from '@astrojs/starlight/components';

## Une constellation de capacités

<CardGrid stagger>
  <Card title="Architecture MMVC" icon="puzzle">
    Les modules enveloppent le MVC avec traits, plugins, interfaces et paramètres. Le second **M** est faiblement couplé par conception, avec le pattern observer `SplSubject` intégré.
  </Card>
  <Card title="Cœur multi-bases" icon="seti:db">
    Cinq pilotes en orbite : `mysql`, `pdo`, `postgres` (ODBC), `psql` (libpq) et `postgresql`. Basculez en modifiant une seule clé INI.
  </Card>
  <Card title="Vues Smarty" icon="document">
    Vues pilotées par templates, un assistant global `View::assign()`, et un cache chaud `templates_c`. Plus partiels partagés, includes de navigation et templates de pagination.
  </Card>
  <Card title="Constructeur de formulaires fluide" icon="pencil">
    Plus de 28 types de champ — text, password, switch, color, range, file upload — composés via des appels statiques `Form::add…` et rendus en une seule chaîne HTML.
  </Card>
  <Card title="Véritable outil CLI" icon="seti:powershell">
    `./nibiru` génère modules, contrôleurs, plugins, migrations et pages CMS. Il exécute les migrations contre `local`, `staging` ou `production`.
  </Card>
  <Card title="IA-natif, bientôt" icon="rocket">
    Nibiru sera le premier framework PHP avec un <a href="/fr/ai/oracle/">Oracle basé sur RAG</a> entraîné sur sa propre connaissance — et un corpus publié pour de futurs fine-tunes.
  </Card>
</CardGrid>

## Démarrage rapide

```bash
# Cloner
git clone https://github.com/alllinux/Nibiru mon-app && cd mon-app

# Installer les dépendances PHP (Smarty, PHPMailer, Guzzle, …)
composer install

# Permissions + amorçage des dossiers
./nibiru -s

# Première migration
./nibiru -mi local

# Générer un contrôleur
./nibiru -c products
```

```php
// application/controller/productsController.php
namespace Nibiru;
use Nibiru\Adapter\Controller;

class productsController extends Controller {
  public function pageAction() {
    View::assign([
      'title'    => 'Produits — Nibiru',
      'products' => [['id' => 1, 'name' => 'Plaquage d\'or Marduk']],
    ]);
  }
  public function navigationAction() {
    JsonNavigation::getInstance()->loadJsonNavigationArray();
  }
}
```

## Où aller ensuite

<CardGrid>
  <LinkCard title="Qu'est-ce que Nibiru ?" href="/fr/start/what-is-nibiru/" description="La visite de 90 secondes : MMVC, le dispatcher, le cycle de vie des requêtes." />
  <LinkCard title="Architecture" href="/core/architecture/" description="Comment modules, contrôleurs, vues et registre orbitent les uns autour des autres." />
  <LinkCard title="Vitrine" href="/showcase/projects/" description="De vraies apps en production sur Nibiru — facturation, e-commerce, PIM industriel." />
  <LinkCard title="Interroger l'Oracle" href="/fr/ai/oracle/" description="Ouvrez le chat flottant. L'Oracle est ancré dans cette documentation même." />
</CardGrid>
