Zend Framework : Authentification avec Zend_Auth_Adapter_DbTable

Posté par seiyar81 le 27 janvier 2010 | Laisser un commentaire (0)

Aujourd’hui je vais expliquer comment réaliser simplement avec le Zend Framework une authentification avec la classe Zend_Auth_Adapter_DbTable.

Cette classe va grandement nous simplifier la vie puisqu’elle va comparer pour nous le couple username/password dans une table dont on lui fournira les champs.
Autrement dit, plus besoin de s’embêter à sélectionner et comparer les valeurs à la main.

Pour commencer nous allons créer notre model pour la table qui stocke nos utilisateurs. Imaginons qu’elle s’appelle ‘users‘.

<?php 

class Default_Model_DbTable_Users extends Zend_Db_Table
{
    protected $_name = 'users';

}

La classe est ici déclarée sans autres méthodes pour l’exemple mis vous pouvez très bien en ajouter. De plus j’ai nommé ma classe de telle sorte qu’elle est déclarée dans le fichier : ‘application/models/DbTable/Users.php‘. Libre à vous de faire autrement.

Ensuite vous pouvez créer un formulaire en héritant la classe Zend_Form :

<?php

class Default_Form_Login extends Zend_Form
{
    public function __construct($options = null)
    {
        parent::__construct($options);
        $this->setName('login_form');
        $this->setAction('/auth/login')
     	->setMethod('post');

        $login = new Zend_Form_Element_Text('login');
        $login->setLabel('Login : ')
        ->setRequired(true)
        ->addFilter('StripTags')
        ->addFilter('StringTrim')
        ->addValidator('NotEmpty');

        $password = new Zend_Form_Element_Password('password');
        $password->setLabel('Mot de passe : ')
        ->setRequired(true)
        ->addFilter('StripTags')
        ->addFilter('StringTrim')
        ->addValidator('NotEmpty');

        $submit = new Zend_Form_Element_Submit('Login');
        $submit->setAttrib('id', 'submitbutton');
        $submit->setValue('Login');

        $this->addElements(array($login, $password, $submit));
    }
}

De même, j’ai ici fait au plus simple. La classe est déclarée dans le fichier ‘application/forms/Login.php‘.
Il ne vous reste plus qu’a déclarer le formulaire dans le contrôleur gérant l’authentification. Par exemple :

<?php

class AuthController extends Zend_Controller_Action
{

    public function init()
    {
        $this->initView();
	$this->view->baseUrl = $this->_request->getBaseUrl();
    }

    public function loginAction()
    {
    	$this->view->title="Mon Site Web - Login";
        $form =  new Default_Form_Login();
        $this->view->form = $form;
    }

}

On affiche le formulaire dans notre fichier vue :


<?php
    echo $this->form;
?>

Voilà tout est en place pour nous permettre maintenant d’utiliser Zend_Auth_Adapter_DbTable.
On va donc ajouter dans l’action login de notre contrôleur :


    public function loginAction()
    {
        // Si l'utilisateur est déjà loggué on le redirige à l'accueil
    	if(Zend_Auth::getInstance()->hasIdentity()) $this->_redirect('/index');

    	$this->view->title="Mon Site Web - Login";

		$form = new Default_Form_Login();
		$this->view->form = $form;	

		if($this->getRequest()->isPost()) {
	            if ($form->isValid($_POST)) {
					$f = new Zend_Filter_StripTags();
					$username = $f->filter($form->getValue('login'));
					$password = $f->filter($form->getValue('password'));

					$dbAdapter = Zend_Db_Table_Abstract::getDefaultAdapter();
					$authAdapter = new Zend_Auth_Adapter_DbTable($dbAdapter);
					$authAdapter->setTableName('users');
					$authAdapter->setIdentityColumn('username');
					$authAdapter->setCredentialColumn('password');

					// On assigne les valeurs pour que l'authentification s'effectue
					$authAdapter->setIdentity($username);
					$authAdapter->setCredential(sha1($password)); // On a pris la précaution d'au moins chiffrer les mdp

					// On tente l'authentification
					$auth = Zend_Auth::getInstance();
					$result = $auth->authenticate($authAdapter);
                         // On test si tout s'est bien passé
	                if($result->isValid())
	                	{
	                		$data = $authAdapter->getResultRowObject(null, 'password');
					$auth->getStorage()->write($data);
					$this->_redirect('/admin');
	                	}
	                	else
	                	{
	                	$this->view->error = 'Mauvais login ou mauvais mot de passe.';
                    		$form->populate($formData);
	                	}
				    }
		    	else {
	                $this->view->error = 'Vous devez remplir tous les champs.';
                        $form->populate($formData);
		    	}
		}
    }

Et voilà ZF a automatiquement géré l’authentification pour nous. On peut maintenant accéder au données de l’utilisateur via Zend_Auth::getInstance()->getIdentity().
Ainsi si on veut afficher le nom de l’utilisateur :

<?php
     $auth = Zend_Auth::getInstance()->getIdentity();
     echo $auth->username;
?>

Et voilà, bientôt de nouveaux articles sur l’utilisation du Zend Framework.

Catégorie: Développement Web, PHP, Zend Framework | Laisser un commentaire (0)

Hellfest : les 24 nouveaux groupes

Posté par seiyar81 le 25 janvier 2010 | Laisser un commentaire (0)

Ca y est l’annonce est tombée via le site VS-Webzine, partenaire officiel du Hellfest pour les annonces, sans vous faire plus patienter, voici la liste des 24 nouveaux groupes :

JOHN GARCIA PLAYS KYUSS – JELLO BIAFRA AND THE GUANTANAMO SCHOOL OF MEDICINE – BIOHAZARD – ANVIL – BETWEEN THE BURIED AND ME – BRANT BJORK AND THE BROSS – DELAIN – DISCIPLINE – DEW SCENTED – EVILE – GOROD – KMFDM – LOUDBLAST – MARDUK – MONDO GENERATOR – NACHTMYSTIUM – NEVERMORE – NILE – OTARGOS – RATT – SIGH – THE YOUNG GODS – WATAIN – Y&T – YAWNING MAN

Après ça je ne sais plus quoi penser…
Réunir BIOHAZARD, NEVERMORE, ANVIL sur la même affiche, ajoutés à KISS et GODFLESH … c’est quand même très fort !

Niveau Black on arrive à une très belle affiche avec Marduk, Nachtmystium, Otargos, Watain, Dark Funeral, Urgehal, Ihsahn, Kampfar et les autres.

Niveau Death viennent se rajouter les frenchies de Loudblast et Gorod ainsi que les énormes NILE !

Une affiche magnifique et qui reflète parfaitement l’éclectisme voulu par l’équipe du festival.

On dispose maintenant d’un petit mois pour savourer et découvrir ou re-découvrir les groupes ci-dessus, en attendant le 26 Février, date à laquelle seront dévoilés uniquement des têtes et pré-têtes d’affiche !
Autrement dit préparez vos couches culottes ça risque de faire très mal car on attend 20 groupes !

Les places à la journée seront disponible le 26 Février en même temps que l’annonce, tandis que les pass 3 jours sont de nouveaux disponibles sur http://www.digitick.com.
Le nouveau site du Hellfest sera mis en ligne d’ici la fin de la journée.
D’après quelques infos il permettra à tout le monde l’écoute des différents groupes pour nous faciliter leur écoute.

PS : On notera malheureusement l’annulation de GWAR.

Catégorie: Musique | Laisser un commentaire (0)

Firebug en version 1.5 et ses extensions

Posté par seiyar81 le 22 janvier 2010 | Laisser un commentaire (0)

Tout bon développeur Web utilise, ou tout du moins, connaît Firebug ! C’est l’extension Firefox la plus utilisée par les développeurs Web !
Pour ceux qui ne la connaissent pas, elle permet d’analyser la page en temps réel, le CSS, le Javascript/AJAX, le code HTML, DOM etc… réellement indispensable elle vient de passer en version 1.5.
Parmi les changements annoncés, amélioration des panneaux CSS, Javascript et Réseau, une meilleur gestion des points d’arrêt etc, le détails des fonctionnalités mises est disponible ici.

Mais ce qui ajoute encore plus de ‘charme’ à cette extension ce sont ses divers extensions. Voici une petite liste des extensions vraiment indispensables :

  • FireCookie : permet de manager vos cookies directement
  • FirePHP : permet d’analyser sa page PHP en rajoutant seulement un petit bout de code
  • FireQuery : pour débugger les codes jQuery
  • Pixel Perfect : permet de contôler le positionnement an ajoutant une image au dessus de la page
  • FireRainbow : colore le code Javascript dans Firebug
  • YSlow : analyse le contenu de la page et propose des solutions pour améliorer son chargement
  • SenSEO : donne des informations sur l’optimisation du référencement de la page
  • FirePicker : ajoute un color picker pour le CSS
  • Plus d’extensions ici

Voilà avec ça vous êtes parés pour développer sous Firefox si ce n’était pas déjà le cas !

Catégorie: Internet | Laisser un commentaire (0)

<div> arrondies en CSS compatibles IE

Posté par seiyar81 le 18 janvier 2010 | Laisser un commentaire (1)

Un problème qui revient souvent pour les développeurs Web : écrire un code CSS compatible avec tous les navigateurs. Enfin quand on dit tous ça sous-entend bien évidemment Internet Explorer et sa gestion foireuse du CSS3…

De plus en cette période où le Web est « 2.0″, on aime bien mettre des arrondis partout.
Un problème se pose toutefois : comment éviter d’utiliser des images ? Sous Firefox/Gecko on possède la propriété -moz-border-radius, sous Webkit(Safari, Chrome etc…) -webkit-border-radius, sous KHTML(Konqueror) -khtml-border-radius, sous Opera une propriété sera disponible sous Presto 2.3 (actuellement 2.2), et sous IE : rien.

Malheureusement, la solution proposée ci dessous n’est pas compatible avec Opera, cependant, comme indiqué plus haut la nouvelle version de Presto, qui devrait arriver courant 2010, va arranger cela.

Le problème concerne donc IE, et Microsoft pour palier aux manques de son navigateurs a créé en 1998 les fichiers HTC. Mélange d’HTML et de balises HTA, les fichiers HTC peuvent contenir du code JScript ou VBScript. Ils disposent également de fonctionnalités comme la possibilité de permettre à IE d’afficher la couche alpha des images PNG (via AlphaImageLoader), ou d’appliquer un comportement :hover sur d’autres balises que <a>.

Le code suivant utilise justement un fichier HTC via la propriété behavior :

-moz-border-radius: 5px;
-webkit-border-radius: 5px;
-khtml-border-radius: 5px;
behavior:url('./border-radius.htc');

Vous pouvez télécharger le fichier HTC à cette adresse.
Sachez toutefois que ce code n’est pas conforme aux normes CSS3 établies par le W3C, néanmoins il permet de combler certains manques sur IE.

Catégorie: Développement Web | Laisser un commentaire (1)

Pavé numérique avec Putty et Vi/Vim

Posté par seiyar81 le 12 janvier 2010 | Laisser un commentaire (0)

Si comme moi vous utilisez Putty en client SSH, et que vous disposez d’un clavier numérique, vous avez sûrement remarqué qu’il est non seulement inutilisable mais en plus qu’il provoque des insertions foireuses de caractères ainsi que des retours à la ligne.

Un simple réglage dans la configuration de Putty permet d’endiguer le problème :

Putty > Terminal > Feature > Cocher Disable application keyboard mode

Catégorie: Développement Web | Laisser un commentaire (0)

News musicales de la semaine

Posté par seiyar81 le 10 janvier 2010 | Laisser un commentaire (1)

Keep Of Kalessin sort vainqueur de sa demi-finale du concours norvégien de l’Eurovision. Le groupe ainsi que Maria Haukaas Storeng (?) ont donc reçu le plus de votes de la part du public et doivent maintenant se préparer pour la finale qui se déroulera à Oslo le 6 Février. Bonne surprise et vidéo à la suite.

_____________________________________

Tracklisting du prochain album de Gamma Ray intitulé ‘To The Metal’ :

  • Rise
  • Deadlands
  • Mother Angel
  • No Need To Cry
  • Empathy
  • To The Metal
  • All You Need To Know
  • Time To Live
  • Shine Forever
  • Breaking Away

Un extrait est disponible ici.
_____________________________________

Tom Araya qui se fait opérer de sa radiculopathie cervicale et annule donc annulée les tournées nord-américaines et européennes de Mars/Avril.
_____________________________________

Mnemic a mis son prochain album en intégralité sur Myspace, jusqu’au 15 Janvier.
_____________________________________

Evile repart en tournée, et cette fois aux USA avec Kreator et Overkill, après la mort tragique de leur bassiste Mike Alexander.
Il est ‘remplacé’ par Joel Graham, 3ème en partant de la gauche.
_____________________________________

Vidéo-reportage sur le Hellfest disponible sur le site http://www.nrv-tv.net/ très bien réalisé.
Une nouvelle annonce d’ici moins de deux semaines avec également une nouvelle version du site.
A ce propos, Hellzine commandé et reçu en 2 jours, extrêmement bien fait, photos magnifiques (en couleur), interviews agréables à lire (Brutal Truth, Fuel Girls^^), et tout ça pour 3,50€ sur le HellfestShop !

Catégorie: Musique | Laisser un commentaire (1)

Installer un serveur SOCKS sous Debian/Ubuntu

Posté par seiyar81 le 8 janvier 2010 | Laisser un commentaire (10)

C’est quoi SOCKS ? Et bien SOCKS est un protocole réseau qui permet à des applications client-serveur d’employer d’une manière transparente les services d’un pare-feu.
Nous allons l’utiliser dans cet article pour créer un serveur proxy qui va nous permettre de passer outre les différentes restrictions mises en places sur le réseau.
Il s’agit souvent de ports ou de sites bloqués dans les réseaux d’entreprises ou d’universités.

Personnellement l’école au sein de laquelle je suis mes études, autorise les port 80 (HTTP), 22 (SSH), 21 (FTP), 443 (SSL), 1863 (MSN) et quelques autres seulement. Impossible donc de jouer à un quelconque jeu en ligne (même si je rappelle que les études sont faites pour étudier !). 
Je m’en sers pour jouer de temps en temps et surtout pour me connecter en SSH à mon serveur qui n’écoute pas sur le port 22 (histoire d’éviter le spam de bots).

J’ai choisi d’utiliser Dante Server car il est plutôt simple à configurer, mais sachez qu’il en existe d’autres tels que WinSocks pour Windows ou bien Nylon pour OpenBSD.

On commence donc par installer le paquet :

sudo apt-get install dante-server

Ensuite on va s’intéresser au fichier de configuration du serveur.

Voici un exemple de contenu pour /etc/danted.conf :

logoutput: syslog stdout /var/log/sockd

internal: ip_du_serveur port = port_proxy
external: eth0

method: username

user.notprivileged: sockd

client pass {
  from: ip_du_serveur/0 port 1-65535 to: 0.0.0.0/0
  log: connect disconnect

}

pass {
  from: ip_du_serveur/0 to: 0.0.0.0/0
  method: username
}

Petite explication du bloc ci-dessus :
- logoutput indique où l’on souhaite rediriger la sortie du programme
- internal/external définissent l’adresse/l’interface utilisée pour l’écoute et la sortie
Placez-y donc l’IP de votre serveur, le port souhaité et l’interface
- method: username indique que l’on souhaite une authentification par login/mot de passe
- user.notprivileged : l’utilisateur et le groupe sockd sont créés à l’installation du programme

- les zones client pass et pass définissent le traffic autorisé, ici on autorise tout !

On termine en ajoutant une règle iptables pour autoriser le traffic sur le port choisit
et on démarre le serveur :

iptables -A INPUT -d ip_du_serveur -p tcp --dport port_proxy -j ACCEPT

/etc/init.d/danted start

Et voilà c’est aussi simple que ça ! Vous avez maintenant un serveur proxy complètement fonctionnel.
Ne vous reste plus qu’à configurer vos logiciels clients soit directement dans les propriétés des logiciels qui proposent la connexion par proxy soit en utilisant un logiciel du type Proxifier sous Windows ou bien Dante Client.

Catégorie: Internet, Linux | Laisser un commentaire (10)

Les modules indispensables pour Apache 2/2

Posté par seiyar81 le 5 janvier 2010 | Laisser un commentaire (0)
Apache

Un bon moment que rien n’avait été posté sur Yriase, mais le manque de temps, le temps pris par d’autres projets (professionnels et personnels), le temps pris par les révisions, bref le temps donc !
Je profite donc de ce court répit pour finir cette partie sur les différents modules indispensables pour Apache.

Pour commencer le mod SuPHP, qui permet à Apache de se faire passer pour le propriétaire du fichier. Utile si plusieurs utilisateurs peuvent créer des fichiers sur le serveur, ou les envoyer par FTP, car ainsi nul besoin de donner les droits au groupe Apache sur les dossiers.
Attention toutefois car SuPHP ne fonctionne pas avec le module PHP5, il faut utiliser PHP5 en CGI.
On configure donc d’abord PHP en CGI :

// Télécharge les paquets
apt-get install libapache2-mod-suphp php5-cgi

// Editer la configuration de php
vim /etc/php5/cgi/php.ini

// On modifie le ou les VirtualHost concernés
vim /etc/apache2/sites-enabled/000-default
Options ExecCGI

// On vérifie la configuration du module
nano /etc/apache2/mods-enabled/suphp.conf

<IfModule mod_suphp.c>
        AddHandler x-httpd-php .php .php3 .php4 .php5 .phtml
        suPHP_AddHandler x-httpd-php
        suPHP_Engine on
        # # Use a specific php config file (a dir which contains a php.ini file)
        #       suPHP_ConfigPath /etc/php4/cgi/suphp/
        # # Tells mod_suphp NOT to handle requests with the type mime-type
        #       suPHP_RemoveHandler mime-type
</IfModule>

On configure ensuite le module avec le fichier correspondant : vim /etc/suphp/suphp.conf

[global]
;Path to logfile
logfile=/var/log/suphp/suphp.log

;Loglevel
loglevel=info

;User Apache is running as
webserver_user=www-data

;Path all scripts have to be in
;docroot=/var/www
docroot=/home/sites

;Path to chroot() to before executing script
;chroot=/mychroot

; Security options
allow_file_group_writeable=false
allow_file_others_writeable=false
allow_directory_group_writeable=false
allow_directory_others_writeable=false

;Check wheter script is within DOCUMENT_ROOT
check_vhost_docroot=true

;Send minor error messages to browser
errors_to_browser=false

;PATH environment variable
env_path=/bin:/usr/bin

;Umask to set, specify in octal notation
;umask=0077
umask=0002

; Minimum UID
min_uid=1000

; Minimum GID
min_gid=1000

[handlers]
;Handler for php-scripts
x-httpd-php=php:/usr/bin/php-cgi

;Handler for CGI-scripts
x-suphp-cgi=execute:!self

Puis on active le module et on redémarre le serveur comme d’habitude :

a2enmod suphp
/etc/init.d/apache2 reload

Maintenant voici un autre module tout aussi intéressant et utile, j’ai nommé : Cband. Très pratique, et je dirais même plus indispensable si on possède un site dont ou souhaite maîtriser la bande passante. Cband nous offre la possibilité de choisir le montant de bande passante à allouer à nos VirtualHosts ainsi qu’à chaque utilisateur. Idéal pour un site de partage de vidéos par exemple ou bien si le serveur héberge plusieurs sites. Attention toutefois, Cband ne fonctionne qu’avec Apache 2.x !

On rentre dans le vif du sujet avec le classique : installation/activation du module.

apt-get install libapache2-mod-cband
a2enmod cband

On ajoute ensuite deux petites lignes à la configuration générale d’Apache (/etc/apache2/apache.conf par défaut) qui vont nous permettre d’améliorer les performances générales :

CBandScoreFlushPeriod 1
CBandRandomPulse On

Avant de redémarrer Apache, nous allons maintenant configurer nos VirtualHosts. Deux directives à connaître pour cela, CBandSpeed et CBandRemoteSpeed qui correspondent à la bande passante d’Apache et de chaque utilisateur.
Pour déclarer une règle c’est très simple, on indique d’abord le débit autorisé, ensuite le nombre de requêtes par seconde et enfin le nombre de connexion simultanées.
Imaginons donc que l’on dispose d’une connexion à 100Mbps et qu’on souhaite allouer 70Mbps à Apache avec 350 requêtes/secondes et 25 connexions simultanées :

<VirtualHost *:80>
...
<IfModule mod_cband.c>
    CBandSpeed 70Mbps 350 25
    CBandRemoteSpeed 4096 20 4
</IfModule>
...
</VirtualHost>

Par défaut l’unité est le kbps, chaque utilsateur disposera donc de 4096 kbps de bande passante dans le cas présent.
Si vous disposez d’un serveur avec un trafic mensuel maximum par exemple sachez que vous pouvez réguler la bande passante ainsi :

<IfModule mod_cband.c>
    CBandLimit 8G                      // 8Gbps
    CBandPeriod 4W                   // 4 semaines soit environ 1 mois
    CBandPeriodSlice 1W            // Période d'une semaine
    CBandSpeed 500kbps 10 30   // Règle pour Apache
    // Règle en cas de dépassement
    CBandExceededSpeed 128kbps 5 15
    // Fichier utilisé par Cband pour enregistrer tout ça
    CBandScoreboard /var/www/dossier/secret/mondomaine.com.scoreboard
</IfModule>

Enfin Cband offre à la manière de server-status une page pour les statistiques à laquelle il est préférable d’autoriser l’accès par IP :

<IfModule mod_cband.c>
      <Location /cband-status>
            SetHandler cband-status
            Order deny,allow
            Deny from all
            allow from xxx.xxx.xxx.xxx
      </Location>
</IfModule>

Pour finir on enregistre le tout et on redémarre Apache !

Vous connaissez tous probablement CGI ! Si non voici la définition de Wikipédia (histoire de pas raconter trop de bêtises^^) :

CGI, est une interface normalisée utilisée par les serveurs HTTP. Ce dernier, au lieu d’envoyer le contenu d’un fichier (page HTML, image…), exécute un programme puis retourne le contenu généré, comme s’il s’agissait d’un contenu de fichier. CGI est le standard industriel qui indique comment transmettre la requête du serveur HTTP au programme et comment récupérer la réponse générée.
CGI est indépendante de tout langage. Même si le langage Perl a historiquement été souvent utilisé pour en écrire, il est possible d’écrire un programme CGI en C, Python, Gambas, PHP, en script shell, en VB ou en tout autre langage de programmation.

Certains d’entre vous ont d’ailleurs sûrement déjà utilisé PHP en mode CGI, oui si vous utilisez SuPHP !
Et bien FastCGI n’est ni plus ni moins que CGI amélioré, ainsi plusieurs processus peuvent être utilisés pour traiter les requêtes contre un seul pour CGI. Le traitement des requêtes est ainsi considérablement accéléré.
De plus FastCGI est disponible pour Apache, IIS, Tomcat, lighttpd, nginx etc…

Nous allons installer la version développée par OpenMarket disponible ici http://www.fastcgi.com/.
Comme d’habitude :

cd /tmp
wget http://www.fastcgi.com/dist/mod_fastcgi-current.tar.gz
tar -xf mod_fastcgi-current.tar.gz
cd mod_fastcgi-2.4.6

// pour Apache 2
cp Makefile.AP2 Makefile
make
make install

// Si votre dossier d'installation n'est pas /usr/local/apache2
make top_dir=/chemin/vers/apache2
make top_dir=/chemin/vers/apache2 install

Une fois installé, il faut l’activer dans la configuration d’Apache. Ajoutez donc la ligne suivante au fichier apache2.conf :
LoadModule fastcgi_module /usr/lib/apache2/modules/mod_fastcgi.so

Vous pouvez ensuite vérifier que le module est bien activé :

// On recharge Apache
/etc/init.d/apache2 reload

// Pour voir la liste des modules chargés
apache2ctl -t -D DUMP_MODULES

Pour les différentes options de configuration que je ne maîtrise pas parfaitement vous pouvez vous référer à la documentation.

Voilà c’est tout pour cette deuxième partie, je consacrerais sûrement des articles à des modules vus plus en détails.

Catégorie: Apache | Laisser un commentaire (0)

Bug étrange …

Posté par seiyar81 le 5 janvier 2010 | Laisser un commentaire (0)

Bug étrange que voici, juste après la mise à jour de WordPress en 2.9.1, le thème d’Yriase disparaît et se retrouve remplacé par le thème par défaut bien qu’étant toujours activé.
Qu’à cela ne tienne, on ne m’aura pas comme ça je désactive le thème puis le réactive. Toujours le thème par défaut. Je commence à me demander si le problème ne vient pas de mon thème, pas compatible avec Wordpres 2.9.1, ou bien si l’on ne m’a pas trafiqué le blog, non plus.

Je désinstalle donc complètement le thème, supprime tous les fichiers du serveur et l’upload comme si je repartais de zéro.
Résultat encore et toujours ce p***** de thème par défaut alors que l’aperçu avec le thème d’Yriase fonctionne !
Un peu énervé je supprime le thème bleu (à noter que je supprime la version non-fr et laisse le thème fr).
J’upload une nouvelle fois le thème et là miracle, joie et bonheur tout refonctionne.

Alors bon je suis peut-être pas très doué, cela tombait peut-être sous le sens, mais je me demande bien pourquoi et comment ce bug est survenu…
Toujours est-il que tout va bien maintenant, je termine la deuxième partie sur les modules d’Apache et je signale au passage la version 0.3.1 de Gears This Blog.

Catégorie: Wordpress, Yriase | Laisser un commentaire (0)