Toutes les applications web respectant le modèle MVC font ce que tu décris.
Séparer sont applciations en 3 :
- une controlleur avec la logique
- une vue avec le HTML et juste l'affichage des variables
- une couche accès aux données (le modèle).
La où je comprend pas c'est que tu donnes le mot parseur ... et j'ai beaucoup de mal à comprendre ce mot dans ce contexte où tu as accès à la base de donnée. Tu aurais besoin d'un parseur pour récupérer les données de fichier html pour les mettre dans la base de donnée par exemple. Tu as besoin d'un parseur lorsque tu as du XML etc. Mais là j'ai du mal ...
En tout cas si tu parles de moteur de template, il en existe des dizaines et des dizaines. Smarty en est un mais c'est assez un détail en fait. En général lorsqu'on veut développer proprement une application respectant un modèle MVC on va plus regarder l'ensemble des 3 parties et la cohérence entre elle. Bref, on cherche un framework. Zend Framework, Symfony, Code Igniter, Kohana, Jelix ..... la liste est énorme.
Au passage sur le choix d'un pseudo code ou non dans les templates cela fait réellement débat. Car à la base PHP est lui même un moteur de templating. En tout cas si tu pousses vraiment loin le visse sur le choix du moteur de template je peux que tu conseiller
cet article de Fabien Potencier, le lead developer du projet Symfony. (Symfony actuellement n'utilise pas de pseudo code dans les templates par défaut mais tu peux utiliser du Smarty si tu préfères via des plugins).