<?php

declare(strict_types=1);

namespace App\Shared\Domain\Contract;

/**
 * Interface minimale exposant ce que le noyau (Shared/Core) doit connaitre
 * d'un Site, sans creer de couplage direct vers le module Sites.
 *
 * Implemente par App\Module\Sites\Domain\Entity\Site.
 * Utilisee comme type-hint dans SiteAwareInterface, User et toute entite
 * Shared/Core qui manipule un site sans avoir besoin des details metier.
 */
interface SiteInterface
{
    public function getId(): ?int;

    public function getName(): ?string;
}
