Bonjour à tous,

Je suis entrain de réaliser un site avec l'utilisation de Smarty. Je l'ai dans un premier temps développé en local, et tout roule comme sur des roulettes. Mais au moment de l'héberger sur un serveur, il m'affiche une "Fatal error" que je ne comprend pas...

Fatal error: Uncaught exception 'SmartyException' with message 'unable to write file libs/smarty/templates_c/wrt4f0097186fe72' in /home/AB/public_html/ProgWeb/libs/smarty/sysplugins/smarty_internal_write_file.php:44 Stack trace: #0 /home/AB/public_html/ProgWeb/libs/smarty/sysplugins/smarty_internal_template.php(196): Smarty_Internal_Write_File::writeFile('libs/smarty/tem...', 'compileTemplateSource() #2 /home/AB/public_html/ProgWeb/libs/smarty/sysplugins/smarty_internal_templatebase.php(353): Smarty_Internal_TemplateBase->fetch('index.tpl', NULL, NULL, NULL, true) #3 /home/AB/public_html/ProgWeb/index.php(14): Smarty_Internal_TemplateBase->display('index.tpl') #4 {main} thrown in /home/AB/public_html/ProgWeb/libs/smarty/sysplugins/smarty_internal_write_file.php on line 44


Est-ce que quelqu'un aurait une idée d'où vient cette erreur ??

Merci d'avance =) Smiley biggrin
Modifié par louloute (02 Jan 2012 - 13:21)
Disons que ça rajoute une couche inutile (et lente) alors que PHP est à la base un langage de templating qui fait exactement la même chose mais avec des performances largement meilleures.

Ensuite Smarty implémente beaucoup trop de fonctionnalités par rapport à l'utilité première d'un langage de template : simplifier les templates. Y'a qu'à voir des horreurs comme les templates de PrestaShop (qui utilise Smarty) pour comprendre que l'objectif est totalement raté.

Et puis la syntaxe de PHP est assez souple pour faire la même chose que Smarty. Pour info j'ai codé un CMS et travaillé sur pas mal de projets assez importants qui tournaient avec Smarty avant de l'abandonner.
Modifié par jb_gfx (01 Jan 2012 - 21:11)
@jb_gfx
il faut voir Smarty comme un premier pas vers le MVC utilisé dans d’autres frameworks comme Zend, Open Web Framework et CakePHP. Après c’est dommage que l’auteur de Smarty aie inventé une syntaxe très éloignée de php.
Modifié par adrien881 (04 Jan 2012 - 12:45)
Ah bon ? Désolé mais je ne vois pas en quoi en langage de template à un quelconque rapport avec une architecture MVC...
En effet, j'ai changé les droits d'accès, ça a fonctionné, mais j'ai une nouvelle erreur qu'il me reste à déchiffrer ! ...

Fatal error: require_once(): Failed opening required 'libs/smarty/Smarty.class.php' (include_path='.:/usr/share/php5:/usr/share/php5/PEAR') in /home/AB/public_html/ProgWeb/index.php on line 2


Line 2 :
require_once("libs/smarty/Smarty.class.php");

Ca commence à m'énerver Smarty !! Smiley fache
Modifié par louloute (02 Jan 2012 - 00:22)
Bonjour,

Pour savoir si c’est un problème d’adresse :
Dans le même répertoire que le fichier Smarty.class.php crée un fichier coucou.php
<?php echo 'coucou'; ?>

et juste avant ton erreur rajoute la ligne
require('libs/smarty/coucou.php');
Bon j'ai tout enlevé et tout remis, ça à marcher...
Je ne comprendrais jamais =)
Mais merci beaucoup pour votre aide !!! Smiley biggrin
jb_gfx a écrit :
Disons que ça rajoute une couche inutile (et lente) alors que PHP est à la base un langage de templating qui fait exactement la même chose mais avec des performances largement meilleures.

Ensuite Smarty implémente beaucoup trop de fonctionnalités par rapport à l'utilité première d'un langage de template : simplifier les templates. Y'a qu'à voir des horreurs comme les templates de PrestaShop (qui utilise Smarty) pour comprendre que l'objectif est totalement raté.

Et puis la syntaxe de PHP est assez souple pour faire la même chose que Smarty. Pour info j'ai codé un CMS et travaillé sur pas mal de projets assez importants qui tournaient avec Smarty avant de l'abandonner.

Juste je ne suis pas d'accord. Maintenant que tu n'aimes pas le principe de Smarty et sa syntaxe, c'est une chose. Après de là à dire que c'est trop lent, à ce moment là, on peut carrément tout coder en linéaire, ça sera plus rapide ...

Personnelement, surtout depuis la dernière version, je trouve les fonctionnalités proposés par Smarty vraiment excellente et très pratique. Si tu regardes les bench, le temps perdu à l'exécution de Smarty (cache activé) est vraiment infime, voir totalement insignifiant. Sauf à ne pas voir l'utilité (ou ne pas avoir étudié toutes les possibilités), ce n'est pas la très légère perte de temps qui doit jouer sur le choix de Smarty ou non. ça n'aura en tout cas, aucun impact au niveau du visiteur.