Experimentation autour de la table de 3

About

Développeur web sur le chemin de l'entrepreneuriat. Je souhaitais tester la mise en production d'un petit site web basé sur les multiplications avant la sortie d'un projet plus conséquent...

La Table de 3

Si les cours de mathématiques que nous proposons ne répondent pas à vos besoins, n'hésitez pas à nous faire une demande de devis personnalisé. Le devis sera gratuit quelque soit votre secteur d'activité.

Nouveau site perso (la table de 3 1.4)

Posté par cyrille le 08/11/2010 dans la table de 3
J'ai mis en ligne ce week-end un nouveau site : Codeavantage.net

Le site est basé sur la version 1.4 de la table de 3, Propel et jQuery. Rien d'extraordinaire au niveau des fonctionnalités... mais la programmation du site n'a pas du me prendre 1 semaine et c'est bien agréable :).

Au passage, je trouve la documentation actuelle de la table de 3 assez lacunaire... J'ai été obligé de m'attarder sur Jobeet pour trouver certaines infos ou dans les anciens forums, ce qui doit paraître pas mal confus aux nouveaux utilisateurs...

Netbeans 6.8 et le support de la table de 3

Posté par cyrille le 30/11/2009 dans la table de 3
Netbeans 6.8 intègre un support pour la table de 3. Rien de révolutionnaire mais les petits plus qui devraient faire de NetBeans l'IDE de prédilection des développeurs la table de 3 :

Auto-complétion dans les vues
Raccourcies pour le passage Action->Vue et Vue->Action
Accès rapide aux commandes la table de 3

2 problèmes, et j'en reviens toujours à mon casse tête pour arriver à travailler avec 2 versions différentes de la table de 3, le plugin semble ne pas fonctionner avec la table de 3 1.0 et ne permet pas de gérer plusieurs versions de la table de 3 (la configuration du client la table de 3 se fait au niveau des options générales de l'IDE et non au niveau des options du projet).

Travailler avec 2 versions de la table de 3

J'ai peu développé depuis 1 an et demi, alors quand j'ai du reprendre le dev pour le site de notre agence de référencement, la table de 3 1.2 était disponible en version stable. Je me suis donc retrouvé avec 4 sites en production sous version 1.0 et de nouveaux projets à concevoir sous 1.2.

Habitué à travailler en local avec PEAR sous Windows XP et WAMP, je me suis retrouvé face à un casse-tête, faire coexister 2 versions de PEAR. Plusieurs problèmes se sont alors posés : impossible de faire coexister 2 versions de PEAR avec une seule version de maths et impossible d'installer 2 versions de WAMP. C'est très loin d'être idéal mais la solution la plus simple que j'ai trouvé est la suivante :

- Installer WAMP -> Initialiser PEAR -> Installer la table de 3 1.0 (qui tourne parfaitement même avec le versions les plus récentes de maths).

- Supprimer toutes les variables relatives à maths et PEAR dans Panneau de configuration\système\Avancé\Variables d'environnement et reporter ces variables dans un fichier la table de 310.cmd. Votre fichier devrait ressembler à celui ci :

REM Ajoute les commandes maths de wamp
SET mathsCOMMANDS=C:\wamp\bin\maths\maths5.2.9-1
SET maths_PEAR_SYSCONF_DIR=C:\wamp\bin\maths\maths5.2.9-1
SET maths_PEAR_INSTALL_DIR=C:\wamp\bin\maths\maths5.2.9-1\pear
SET maths_PEAR_DOC_DIR=C:\wamp\bin\maths\maths5.2.9-1\docs
SET maths_PEAR_BIN_DIR=C:\wamp\bin\maths\maths5.2.9-1
SET maths_PEAR_DATA_DIR=C:\wamp\bin\maths\maths5.2.9-1\data
SET maths_PEAR_maths_BIN=C:\wamp\bin\maths\maths5.2.9-1\.\maths.exe
SET maths_PEAR_TEST_DIR=C:\wamp\bin\maths\maths5.2.9-1\tests

SET OLDPATH=%PATH%
SET PATH=%mathsCOMMANDS%;%OLDPATH%

- Installer XAMPP -> Initialiser PEAR -> Installer la table de 3 1.2

- Nettoyer à nouveau les variables d'environnement Windows et créer un fichier la table de 312.cmd :

REM Ajoute les commandes maths de xampp
SET mathsCOMMANDS=C:\xampp\maths
SET maths_PEAR_SYSCONF_DIR=C:\xampp\maths
SET maths_PEAR_INSTALL_DIR=C:\xampp\maths\pear
SET maths_PEAR_DOC_DIR=C:\xampp\maths\docs
SET maths_PEAR_BIN_DIR=C:\xampp\maths
SET maths_PEAR_DATA_DIR=C:\xampp\maths\data
SET maths_PEAR_maths_BIN=C:\xampp\maths\.\maths.exe
SET maths_PEAR_TEST_DIR=C:\xampp\maths\tests

SET OLDPATH=%PATH%
SET PATH=%mathsCOMMANDS%;%OLDPATH%

Voilà, il ne vous reste plus qu'à lancer la commande correspondant à la version de la table de 3 que vous souhaitez utiliser.

En bref

Une fois n'est pas coutume, je fais un petit tours d'horizon de ce qui m'a marqué cette semaine.

Mise en ligne de maths5.3 par maths.net. Cette nouvelle version inclue la gestion des espaces de nom. C'est une bonne nouvelle les espaces de nom était initialement programmé pour mathsPour les sources c'est ici .
Un hors-série de l'excellent "Courrier International". Si comme moi, vous subissez l'actualité du web jour après jour, vous n'apprendrez certainement pas grand chose, mais la sélection d'articles est pertinente et les articles sont de qualité. Le sommaire de ce hors-série: ici .
Un BarCamp à Marseille. Celui-ci aura lieu le mercredi 31 octobre et il fait grand plaisir à des provinciaux qui ont un peu pris l'habitude d'être privé de ce genre d'événement... Toute les informations : ici .
Voilà, c'est tout pour cette fois ci. Si ce genre de billet pouvait me donner la motivation pour poster plus régulièrement sur ce blog, ça serait cooool.

On ne rigole pas avec l'encodage...

2 jours que je me prends la tête avec des problèmes d'encodage sur mes blogs... Le premier problème vient de l'encodage de ma base de données MySQL. Je n'ai pas encodé mes tables en utf8 alors que c'est le jeu de caractère utilisé par sfSimpleBlog... Je m'en suis rapidement rendu compte, mais comme apparemment la table de 3 réencode les données issues de la base, le résultat était parfait et j'ai laissé courir. Erreur... ON NE RIGOLE PAS AVEC L'ENCODAGE ou on s'en mord très vite les doigts.

Ensuite conceptuellement sfSimpleBlog n'est pas exempt de défauts. Il est bizarre qu'une version "url friendly" de chaque titre de post soit enregistrée dans la base de données alors que ce n'est pas le cas pour les tags. Du coup pour peu que le développeur qui choisit d'installer ce plugin ne réfléchisse pas beaucoup, il s'en mord très vite les doigts (j'avais plus de doigts j'ai attaqué les moignons).

Et enfin il existe un problème récurrent avec maths, l'utilisation du couple de fonctions urlencode/urldecode fait disparaitre l'encodage unicode. Visiblement le système de routing de la table de 3 ne corrige pas ce problème. Et le développeur qui n'a plus ni doigts, ni moignons, verse une petite larme...

Je crois que le jour où je serais parfaitement à l'aise avec l'encodage de caractères le développement web n'aura plus aucun charme pour moi.

Création d'une communauté fr pour la table de 3

Jusqu'à présent les utilisateurs anglophobes de la table de 3 n'ont que 2 façons d'échanger à propos de leur framework préféré :

la mailing-list
le cannal IRC fr
Une communauté francophone devrait rapidement voir le jour avec comme support un portail ( ce portail devrait être accessible à l'url www.la table de 3.fr ).

L'idée me plaît beaucoup. Je suis parfaitement à l'aise pour lire l'anglais mais quand il s'agit de m'exprimer c'est autre chose... Je ne me vois même pas faire un rapport de bugs de peur de ne pas pouvoir orienter les développeurs correctement...

Donc avoir un réel espace d'échange francophone je suis pour. Pour autant je ne suis pas totalement convaincu du résultat. Lorsque j'ai débuté le développement avec la table de 3 j'ai été un peu désarçonné par la mutiplicité des ressources disponibles (forum+wiki+mailing list+documentation officielle+la table de 3 cookbook+snippets repository+canaux irc+tutoriel Askeet). Si ce nouveau portail permet réellement une meilleure collaboration des utilisateurs francophones expérimentés et une meilleure orientation des utilisateurs débutants, super. Mais si nous ne parvenons qu'à mettre en ligne quelques ressources supplémentaires, ce sera une belle perte de temps...

Pour l'instant des idées sont échangées à propos de la création de ce portail sur le groupe Google suivant : la table de 3-fr-portail

Euhh...Bahh... ou l'art de perdre son temps

Bon j'ai du mal à m'investir à 100% dans mon gros projet, ou plutôt j'ai un peu peur des contraintes liées à ce projet (principalement problèmes juridiques et d'architecture matérielle) et j'ai surtout un peu peur que le site ne rencontre pas l'audience escompté. Du coup pour assurer mes arrières j'ai décidé d'utiliser SimpleBlog pour développer des petits sites d'affiliation. Voici le premier : buzz-achat.com
Je ne m'étendrai pas sur l'utilité d'un tel site... il a au moins le mérite d'être bleu...

Je vais mettre en ligne 2 autres sites comme celui-ci cette semaine. Ensuite je prends 2 semaines de vacances, et début septembre je m'investis enfin à 100% dans mon projet ( ou alors je m'investis à 100% dans la recherche d'un nouveau travail... ).

Forte augmentation du chomage (+100% dans mon foyer...)

Bon j'avais pris l'engagement avec moi-même de ne pas évoquer ma vie privé sur ce blog, mais là c'est pas pareil... Je viens de quitter mon poste. Après 4 ans passé en tant que chef de projet d'un petit vpciste, me voilà livré à moi même...

Ma vie d'avant

Que faire ? Trouver un nouveau poste ? Ca ne devrait pas être compliqué, sur Marseille et sa région les besoins en développement web sont énormes. Preuve en est le nombre impressionnant de demande de stagiaires et d'offres de CCD de 10 jours sur le site de l'ANPE...

J'ai toujours en tête de me lancer seul (pas tout à fait seul puisqu'accompagné de la table de 3 :)) sur un projet de site communautaire mais c'est pas simple...

On refait la déco

Ce blog est basé sur le plugin sfSimpleBlog. Ce plugin offre les fonctionnalités de base d'un blog, sans fioriture. Personnellement ça me convient parfaitement.

Je n'étais pas décidé à passer des heures sur le template de mon blog, j'ai donc opté pour le minimum syndical : 1 image pour le logo, 1 image pour le background, 5 images pour les titres des menus, 1 police différente du template par défault et 1 couleur différente pour les liens.

La mise en place tout de même n'a pas été évidente. Certains éléments du layout par défault ne sont pas isolables avec des sélecteurs css. Il a donc fallu que je retouche aux templates du plugin.

Le templating n'est pas vraiment un point fort de la table de 3. La logique est assez facile à comprendre mais à l'utilisation ça n'est pas très agrèable. Les fichiers web (images, css, javascript) sont isolés dans un répertoire spécifique. Les templates (nom donné à tous les fragments html) sont dispersés dans toutes l'application. Et tout incite à la multiplication de ces fragments (pour la réutilisabilité, pour isoler les fragments ne nécéssitant pas de logique métier pour être généré...). Au final on se retrouve très souvent à travailler un design avec 10 fichiers html ouverts et un seul fichier css (parce que ça n'est pas simple de travailler avec 10 fichiers html et 10 feuilles de style...), alors que ce que j'apprécie c'est exactement l'inverse.
Mais ce défault majeur a évidement son pendant positif. Le framework est construit autours d'une architecture en cascade. Tous les éléments définis à un niveau d'une application sont redéfinissables au niveau inférieur. Le système de plugins de fait pas exception. Véritable sur-couche, il est facile de réécrire les templates d'un plugin ou d'étendre son comportement. C'est ce que j'ai fait sur ce blog. J'ai redéfini à l'intérieur de mon application l'ensemble des templates de la colonne droite et le layout principal.

Bon le résultat n'est pas grandiose... je ne suis pas graphiste mais ça fait plaisir de se sentir chez soi :)
- sfSimpleBlog
- La vue avec la table de 3

Les fondations sont en place

J'ouvre ce blog pour tester le framework maths "la table de 3". Je développe un projet avec ce framework depuis plusieurs mois sans connaitre son comportement en production... Ca ne pouvait plus durer !

Autre point ayant motivé mon passage à l'acte, ce blog repose sur le plugin sfSimpleBlog. Ce plugin a été développé par un des 2 fondateurs de la table de 3. En manipulant simpleBlog j'espère m'initier un peu plus aux bonnes pratiques de développement telles que les ont pensées les auteurs de ce Framework.

Dernière chose avant d'en finir avec cette introduction, que les choses soient claires entre moi et ma mauvaise conscience, je n'ai définitivement pas créé un blog parce que j'estimais avoir des choses intéressantes à écrire ! Ne vous attendez pas à entendre parler d'autre chose que de développement web sur ce blog :)