Showing posts with label Webdev. Show all posts
Showing posts with label Webdev. Show all posts

Wednesday, 15 February 2012

MySQL error 1064 on Jobeet day 3



Voici le fix pour une erreur mysql sur laquelle je me suis arrachée les cheveux pendant deux jours (donc je la met sur le blog pour rentabiliser :p):
C'est sur le tutoriel Symfony Jobeet (qu'on est sensés terminer en moins de 24h d'après la pub), au jour 3 : en mode console, on nous demande de créer des tables dans une base de données à partir d'un fichier YAML.
Plus précisément, on nous demande de générer du sql et de l’exécuter dans la base en utilisant l'outil ORM propel.
Encore plus précisément, cela consiste à taper deux lignes dans l'invite de commande :

>> symfony propel:build-sql
>> symfony propel:insert-sq

...et de laisser faire le pc faire tout le boulot. En théorie. Sauf qu'en fait ça marche pas dans tous les cas ! Voilà le message d'erreur qui est apparu dans mes cauchemars :



Après des heures de prise de tête et de questionnement philosophique ( --et si je devenais pas facteur au lieu de développeur finalement ?) j'ai fini par déterrer un post unique sur internet résolvant le problème...


...que je relaie ici :)


Voilà la marche à suivre :

1. Ouvrez votre fichier MysqlDDLBuilder.php, localisé vers :
symfony/lib/plugins/sfPropelPlugin/lib/vendor/propel-generator/classes/propel/engine/builder/sql/mysql/MysqlDDLBuilder.php
2. A la ligne 156 changez :
$script .= "Type=$mysqlTableType";
en :
$script .= "Engine=$mysqlTableType";
3. N'oubliez pas de vider le cache symfony :
>> symfony cc
4. Et ça marche !!!


Petites explications :

Comme vous avez pu le constater en empruntant le chemin ci-dessus, le problème vient de propel. Si vous êtes confrontés à cette erreur, c'est parce que vous utilisez la version 1 de propel qui a certaines incompatibilités avec mysql, comme celle à laquelle nous avons fait face.
Contrairement à ce qui est indiqué dans le deuxième post (voir lien), je n'ai pas upgradé propel car l'environnement de travail dans mon entreprise utilise exclusivement propel 1. Si vous ne devez pas faire face à ce genre de considérations il est effectivement préférable d'upgrader propel à sa version 1.5... en théorie. Si vous n'avez pas PEAR et que vous êtes pressés ça risque d'apporter son lot d'arrachage de cheveux supplémentaire.
(symfony installe ses plugins grâce à PEAR, qui n'est pas inclus d'office dans la version 1.2 du framework. Et si vous voulez l'installer, malgré le "Install pear is not complicated" dans le readme, ça se fait en mode console, plus il faut tripoter les variables d'environnement... enfin bref on a plus vite fait d'utiliser la méthode rapide et c'est meilleur pour la santé capillaire)



Saturday, 18 June 2011

4 plugins pour Chromium

Voici quelques extensions, dont deux (au moins ;)) reprises de Firefox, que je vous conseille si vous utilisez Chromium ou Google Chrome :

  • AdBlock Plus for google Chrome
https://chrome.google.com/webstore/detail/cfhdojbkjhnklbpkdaibdccddilifddb?hl=fr#
Celui-là tout le monde le connait, et c'est bien pratique et il manque quand on l'a plus ;)

  • Ghostery
https://chrome.google.com/webstore/detail/mlomiejdfkolichcflejclcbmpeaniij?hl=fr#
"Track the trackers." Très bon pour se débarrasser notamment de certaines pubs, et pour les paranoïaques :p
Une reprise de Ghostery sur Firefox.

  • NotScripts
https://chrome.google.com/webstore/detail/odjhifogjcknibkahlpidmdajjpkkcfn?hl=fr#
Attention à la première configuration un peu tordue, si vous utilisez chromium le dossier dans lequel vous devez changer une clé de cryptage change d'adresse : %userprofile%\AppData\Local\Chromium\User Data\Default\Extensions\odjhifogjcknibkahlpidmdajjpkkcfn
(n'oubliez pas d'afficher les dossiers cachés dans panneau de configuration / Apparence et personnalisation / Option des dossiers)
Ensuite y'aura plus qu'à cliquer sur le bouton pour autoriser ou non l’exécution de certain scripts (n'oublier pas d'autoriser google et compagnie pour pouvoir naviguer correctement ^^)

  • Proxy Switchy!
https://chrome.google.com/webstore/detail/caehdcpeofiiigpdhbabniblemipncjj#
Ça parle de soi-même :)

Le seul point embêtant est que les icônes de certaines extensions (ici AdBlock et NotScripts) restent toujours visibles dans la barre d'adresse, ce qui fait un peu moche dans le design épuré du navigateur...
Et Firefox reste pour le moment toujours en avance niveau navigation sécurisée, avec des plugins du genre HTTPS everywhere. J’espère que ça ira mieux bientôt, les développeurs de chromium ayant laissé entendre qu'ils s’intéressaient à ce genre d'issues.

Nota :
Passez au projet open-source Chromium, sur lequel est basé Chrome :
http://www.commentcamarche.net/download/telecharger-34076765-chromium
Mode incognito sur Chromium : options / nouvelle fenêtre de navigation privée, ou ctrl+shift+N