Cethy's world

Aller au contenu | Aller au menu | Aller à la recherche | Mes bookmarks

lundi 21 décembre 2009

Installer un ou plusieurs projet(s) symfony sur wamp 2 sans le casser

Si on lit la doc symfony, ou le tuto dédié, on voit qu'installer ce framework sur wamp "détruit" son comportement par défaut (accès simple via localhost).
En utilisant correctement les virtualHost de apache, on peut éviter ca (et l'installation via PEAR !).

Nous allons créer le site "symfony.local" ayant comme emplacement "C:\wamp\www\sfproject\".
NOTE : créer le projet à un autre emplacement que celui initialement donné à wamp résultera par une belle page d'accès interdit.

1. Éditer le fichier "httpd-vhosts.conf" (situé dans "C:\wamp\bin\apache\Apache2.2.11\conf\extra\") avec :

#Site symfony
<VirtualHost *:80>
    ServerAdmin admin@symfony.com
    DocumentRoot "C:\wamp\www\sfproject\web"
    ServerName symfony.local
    ServerAlias symfony.local
    ErrorLog "logs/symfony.localhost-error.log"
    CustomLog "logs/symfony.localhost-access.log" common
    Alias /sf C:\wamp\www\sfproject\lib\vendor\symfony\data\web\sf
</VirtualHost>
#localhost opérationnel
<VirtualHost *:80>
    DocumentRoot "C:\wamp\www"
    ServerName localhost
    ServerAlias localhost
</VirtualHost>

2. Éditer le fichier "httpd.conf" (situé dans "C:\wamp\bin\apache\Apache2.2.11\conf\"), et décommenter la ligne :

#Include conf/extra/httpd-vhosts.conf

3. Éditer le fichier "hosts" (situé dans "C:\WINDOWS\system32\drivers\etc\"), et ajouter :

127.0.0.1 symfony.local

4. Redémarrer apache (ou wamp) et vous pouvez accéder à votre projet symfony via :

http://symfony.local/


Pour installer un autre projet, il suffit de rajouter ce bloc au fichier "httpd-vhosts.conf" et de modifier RACINE_DU_PROJET et URL_PROJET avec les bonnes valeurs :

#Site symfony
<VirtualHost *:80>
    ServerAdmin admin@sitesymfony.com
    DocumentRoot "RACINE_PROJET"
    ServerName URL_PROJET
    ServerAlias URL_PROJET
    ErrorLog "logs/symfony.localhost-error.log"
    CustomLog "logs/symfony.localhost-access.log" common
    Alias /sf RACINE_PROJET\lib\vendor\symfony\data\web\sf
</VirtualHost>

Sans oublier le fichier host :

127.0.0.1 URL_PROJET


Sources :
Virtual hosts dans Wamp pour Symfony Blog Symfony - Lexik Montpellier
SymfonyOnWampEnFrancais

dimanche 20 décembre 2009

Rechercher "un mot ou une phrase" dans TOUS les types de fichiers voulus sous windows XP

En effet, l'outil de recherche windows cherche uniquement dans un nombre de types de fichiers assez réduit.
En tant que développeur web, j'ai besoin de pouvoir rechercher dans des fichiers de types variés, comme *.php, *.html, *.css, *.js, ...
Bien-sur nous pouvons utiliser un moteur de recherche de remplacement, plus aboutis, comme l'excellent Super Finder, mais pourquoi s'embarrasser d'un énième logiciel quand on peut faire joujou avec l'éditeur de registre pour customiser l'outil de recherche windows ?

Voici la marche à suivre :
- cliquer sur démarrez/executer puis taper "regedit" ;
- une fois dans l'editeur du registre, ouvrir la clé "HKEY_CLASSES_ROOT" ;
- recherchez le ou les types de fichier dans lequel l'outil de recherche devra chercher ;
- Pour chaque type de fichier voulu, ajouter la sous-clé PersistentHandler et modifier la donnée de la valeur par défaut de cette sous-clé par "{5e941d80-bf96-11cd-b579-08002b30bfeb}" ;
- ATTENTION, si la sous-clé existe déjà, la modifier est à vos risques et périls !
- Fermer l'éditeur de registre, relancer le PC et le tour est joué.

lundi 9 novembre 2009

Ajouter un moteur dans la barre de recherche de votre navigateur (compatible ie7 et firefox)

Marre de devoir toujours ouvrir le site avant de faire une recherche dessus ? Voici la solution.

NOTE : ce tutorial ne fonctionne qu'avec les moteur de recherche utilisant la méthode GET (affichage de la recherche dans l'url).
NOTE2 : pour les sites utilisant déjà la technologie d'opensearch.org, un halo bleuté (pour firefox) ou orangé (pour internet explorer) montre que le site est déjà enregistrable, sans manipulation supplémentaire. Il suffit d'aller dans la liste des moteurs déjà installés, pour l'ajouter.

Pour les sites non-"opensearchables", il suffit de créer le fichier xml qui va bien, mais comme on est des gros feignants, on va le faire faire par un site dédié : Ready2Search.

Dans mon exemple, j'ai choisi le site de php.net pour avoir accès à la recherche rapidement (je suis développeur php après tout :) )

Explications :
"the search name" : le nom qui s'affichera à coté du logo dans la liste des moteurs de recherche
"the front of search term" : le début de l'url de recherche, juste avant les mots-clés de la recherche
"the back of search term" : vous l'aurez devinez, la fin de l'url, juste après les mots-clés de la recherche
Ne pas oublier de mettre "input encoding" et output encoding" en UTF-8. Je n'ai pas fait d'essais avec d'autres encodages, mais si vous vous sentez d'humeur aventureuse, n'hésitez pas à me faire part de vos trouvailles.

On pourrait s'arrêter là, mais l'affichage du moteur serait moche. Dans la partie droite du formulaire, on peut ajouter une image qui fera office d'icône pour le moteur de recherche :

Pour ma part, j'ai chopé le favicon sur php.net.

Quand tout est configuré, il ne reste plus qu'à cliquer sur "make search plug-in" pour créer le plug-in et ensuite sur le lien correspondant :



Et voilà le résultat !

jeudi 29 octobre 2009

Utiliser php en ligne de commande sous windows

Trouver le dossier où est l'exécutable php (dans mon cas, sous wamp 2.0, c'est dans "C:\wamp\bin\php\php5.3.0").

Taper dans la ligne de commande : "set PATH=%PATH%;C:\..." où C:\... est le dossier de l'exécutable php.

Fini.

mardi 4 mars 2008

[Aide en ligne] Le format M3U (playlists M3U)

Pour mon travail sur le lecteur multimédia en php, j'ai dût creuser le format de fichier M3U. Rien de bien encourageant dans les recherches en français.
J'ai trouvé ce petit "Q & A" (questions & answers) que j'ai traduit.

Version originale : m3u.hmtl[en]
Version traduite en pleine page : m3u_fr.html[fr]

Lire la suite

vendredi 25 janvier 2008

Parlons de licences ...

Le monde du libre (ou pas) regorge de licence et de copyright (ou copyleft) en tout genre et pour tout type d'utilisation.

Ce que je veux :

  • Publication des sources
  • Modification possible des sources
  • Autorisation d'utiliser mes créations pour le développement de logiciels propriétaires
  • Publication des modifications obligatoire en dehors du cadre privé
  • Toute modification devrat conserver la même licence
  • Inclusion possible de mes création avec des développements propriétaires
  • Compatibilité licence GPL pour la bibliothèque PEAR

D'après Damien Cuvillier dans son excellente analyse des licences open source (pdf) et le tout aussi excellent site veni vidi libri, mes codes sources seront libérés sous licence LGPL ET licence CeCILL-C (équivalent français de la LGPL).

Mais pourquoi une multilicence ?
Les licences libres dites "américaines" comme la LGPL ne sont pas applicables en France :

"Deux points essentiels dans la licence GNU GPL empêchaient en effet les administrations françaises d’utiliser les licences GNU pour déposer leurs logiciels. Le premier, la loi Toubon, contraint toute administration à s’appuyer sur des textes juridiques français ; le second est le constat d’imprécisions à l’égard du droit français (droit sur lequel repose la licence, droits patrimoniaux, clause de non garantie)." d'après le site Veni vidi libri

Or je veux promouvoir les licences libres internationales (la LGPL) et "protéger" mes créations sur le territoire français et les droits conférés par chaque licence s’ajoutent au profit du licencié, celui-ci pouvant utiliser ses droits en conformité à l’une ou l’autre des licences.

La libération et la distributions des codes sources et des scripts se fera progressivement, module par module jusqu'à libérer totalement le projet (qui recevra un site dédié pour la peine).

Cethy's world ... what else ? ;)

jeudi 24 janvier 2008

[HybridSystemPHP] HybridSysAlbum terminé !

2 soirs de suite que j'oublie mon code au boulot ... tant pis, on bosse sur autre chose ...
Et voilà que je me démene avec un vieux album photo en flash (je hais le flash ...), alors ... une idée ... pourquoi pas ? allez hop ! au boulot !

Le but de la classe HybridSysAlbum
Son travail est de lister le contenu d'un dossier (donné en paramètre du constructeur) et d'en afficher, suivant plusieurs filtres, le contenu.

Les filtres
Il ya 2 filtres sur lesquels le développeur peut agir :

Filtre à extension
Il est possible de donner en paramètre du constructeur un tableau contenant les extensions qui seront acceptés par le script.

Template d'affichage
Il est aussi possible d'envoyer un template à la méthode start pour un affichage personnalisé.
Paramètres possible pour le template :

  • {titre}
  • {back} : le lien vers l'élément précédent
  • {next} : le lien vers l'élément suivant
  • {current} : l'élément courant

Test :
La classe est en test ici, le dossier contient des images et un fichier ini (qui n'est pas affiché, gràce au filtre à extension) et les éléments sont affichés à l'aide d'un template perso :
HybridSysAlbum en test

La suite ?
Déjà, je vais développer 3 classes à partir de celle-ci :

  • HybridSysAlbumImg (album photo)
  • HybridSysAlbumAudio (bilbiothèque audio)
  • HybridSysAlbumMedia (album d'élément complexe, avec traitement pour les types d'éléments)

La classe HybridSysAlbumImg contiendra une méthode qui permettra de placer un copyright sur l'image, et une autre qui produira les miniatures a la volée.
La classe HybridSysAlbumAudio utilisera l'excellent dewplayer.
Et enfin, la classe HybridSysAlbumMedia sera un concentré des 2 classes précédentes.

Cethy's world ... what else ? ;)

samedi 19 janvier 2008

[HybridSystemPHP] Découverte du projet

Ca fait un bout de temps que je n'ai pas posté un billet "informatique", mais voilà pour me faire pardonner, une petite nouvelle qui, je l'espère, deviendra grande.

Voici un petit mois que je travaille (de nuit, l'aprenti-geek est un animal nocturne) sur ce projet, le HybridSystemPHP.
D'après mon dico perso, je qualifierais mon bébé d'être un hybride entre CMS et bibliothèque de classe.

En quoi consiste ce projet ?
En l'état actuel, le projet n'étant qu'à ces débuts, celui-ci n'est qu'un simple recueil de classe. Mais à terme, le projet sera un vrai CMS.
En effet, la façon de programmer que j'ai choisie est très modulaire. A l'image de PEAR, sur lequel ce projet se base pour les fonction de bas niveau, chaque module est développé séparement des autres et pourra fonctionner seul.

Pourquoi ce projet ?
Pourquoi développer un autre CMS ? Pour pouvoir créer des sites sur-mesures sans fonctions superflues ou manquantes et pouvoir gérer tout les modules en rapport à partir d'un seul espace d'administration.

Imaginez un site avec des news, un flux RSS, un forum, une newsletter et un espace d'administration pour tout gérer. Ce site, en 5minutes !

L'état d'avancement ?
Actuellement, 3 modules sont terminés :

  • HybridSysAuth : Classe d'authentification par BDD.
  • HybridSysNewsAff : Classe de gestion et affichage de news (pagination, tri par catégorie, liens propres) sortant d'une BDD.
  • HybridSysNewsRSS : Classe de gestion, création et affichage d'un flux RSS. Utilise le même format de news que la classe HybridNewsAff.


Les modules en développement ?
Actuellement 2 modules sont en développement :

  • HybridSysAuthAdmin : classe de gestion de membres avec prise en compte de privilèges. Basé sur la classe HybridSysAuth.
  • HybridSysNewsAdmin : classe de gestion de news. Utilise le même format de news que la classe HybridNewsAff.


Les modules prévus ?
La liste des modules prévus s'allongent aussi vite que mes idées arrivent. Néanmoins voici quelques modules certains de voir le jour :

  • HybridSysForum
  • HybridSysForumAdmin
  • HybridSysLetter (newsletter)
  • HybridSysLetterAdmin
  • HybridSysTemplate

EDIT 22/01/08

  • HybridSysAlbum (album d'élément simple)

"EDIT 24/01/08"

  • HybridSysAlbumImg (album photo)
  • HybridSysAlbumAudio (bilbiothèque audio)
  • HybridSysAlbumMedia (album d'élément complexe, avec traitement pour les types d'éléments)


Pour l'instant, j'attend de développer et tester le projet afin qu'il soit suffisament viable et je libérerais le code sous license GPL. Toutefois si vous voulez participer au projet ou simplement avoir plus d'information, n'hésitez pas : hybridsystemphp[at]hybridnocorp[.]com .

Cethy's world ... what else ? ;)

dimanche 23 septembre 2007

Pré-ouverture du site de la BouleZ'Te@m

N'ayant pas eu grand chose à faire ces derniers temps, je me suis mis "sérieusement" sur le site de la BouleZ'Te@m.
Et j'ai maintenant le plaisir de vous annoncer sa pré-ouverture !

Pourquoi juste une pré-ouverture ?
Tout simplement parce qu'il "fait mal aux yeux" sous Internet Explorer (damned krosoft ...) et qu'il n'y a pas encore de contenus.
En ce qui concerne la compatibilité sous IE, aucune date de sortie (ouah, ca fait presque pro ^^), par contre pour les contenus, ils devrait arriver au fur et à mesure que les boulez daigneront taper quelques phrases ;)

mardi 18 septembre 2007

Maquette et état d'avancement du site de la BouleZ'Te@m ...

Maquette du site ...
Je mentirais en disant que je viens de la faire ... mais suite a quelques problèmes plus ou moins génants, je la récupère enfin !
La maquette du site de la BouleZ'Te@m (alias -[BT@]-) faites par moi-même (avec un peu d'aide de Jerk, merci ;) ) :

... Et son état d'avancement :
Maquette : 100%
Découpe des images : 80%

Code xHtml : 10%
Code CSS : 70%

Contenu statique : 0%
Contenu dynamique (php/mysql) : 10%

Vous pouvez suivre l'avancée des travaux à cette adresse (ATTENTION utilisateur d'Internet Explorer, utilise firefox ou ca va piquer les yeux ^^) : site BT@ en chantier

samedi 15 septembre 2007

[tutorial] Parser facile en PHP avec Magpie RSS

Pour bien commencer la partie "geek" de mon blog, voici un nano tutorial sur l'utilisation d'un parser, Magpie RSS.
Ce tutorial vous permettra d'afficher les news de mon blog sur votre site ;).

Lire la suite