Préchauffez votre four à 180°C (thermostat 6).
Épluchez les pommes de terre et coupez-les en rondelles fines d'environ 3mm d'épaisseur, idéalement à la mandoline. Plongez-les brièvement dans de l'eau froide, puis séchez-les soigneusement dans un torchon propre.
Vérifiez que votre filet de saumon ne contient pas d'arêtes. Retirez la peau et coupez le saumon en cubes d'environ 2cm. Assaisonnez légèrement de sel et de poivre, puis ajoutez le zeste de citron si vous l'utilisez.
Dans une casserole à fond épais, faites fondre le beurre à feu moyen. Ajoutez les échalotes finement ciselées et l'ail écrasé, puis faites-les suer pendant 2 minutes sans coloration.
Incorporez la farine en pluie tout en fouettant énergiquement. Laissez cuire ce roux pendant environ 2 minutes jusqu'à obtenir une légère coloration blonde.
Versez progressivement le lait chaud tout en fouettant constamment. Continuez la cuisson à feu doux pendant 5 à 7 minutes jusqu'à ce que la sauce épaississe.
Hors du feu, ajoutez la crème fraîche, la moitié de l'aneth ciselé, et une pincée de muscade râpée. Assaisonnez de sel et de poivre selon votre goût.
Beurrez généreusement un plat à gratin. Disposez une première couche de pommes de terre en les faisant légèrement se chevaucher. Parsemez la moitié des cubes de saumon, puis versez un tiers de la sauce béchamel.
Répétez l'opération avec une seconde couche de pommes de terre, le reste du saumon, puis à nouveau un tiers de béchamel. Terminez par une dernière couche de pommes de terre et nappez du reste de sauce béchamel.
Saupoudrez uniformément de gruyère râpé sur toute la surface. Créez quelques "puits" dans votre gratin avec le dos d'une cuillère avant d'ajouter le fromage pour des zones plus croustillantes.
Enfournez au milieu du four préchauffé pendant 35 minutes, ou jusqu'à ce que les pommes de terre soient tendres et que le dessus soit délicieusement doré.
Laissez reposer 5 minutes hors du four avant de servir.