Je me suis toujours demandé comment les bons développeurs faisaient pour renseigner aussi parfaitement les premières ligne de commentaire de leur fichiers source. On y retrouve très souvent la dernière personne ayant fait une modification, la révision, la date de dernière modification.... Bref, toutes ces informations aussi importantes que pénibles à mettre à jour. Aujourd'hui, j'ai décidé de résoudre ce mystère en demandant à mon bon ami google. La réponse étant pourtant simple: Subversion et ses keywords.
Voila, on s'en approche. Fredistrano 1.0 est en phase final de test et devrait être disponible le 15 Octobre. Petite piqure de rappel au cas ou vous auriez manqué les 100 premiers épisodes. Fredistrano est une application web pour déployer automatiquement vos sites. Alors, quoi de neuf? Au menu, de nombreuses améliorations qui justifient de passer directement de la version 0.3.2 à la 1.0.0...
j'espère que ce billet pourra éviter à certains de perdre une aprèm pour une broutille
j'ai voulu faire un script pour uploader un fichier (via un champ de type file dans un formulaire), stocker le contenu et le type mime du fichier en BD, puis affichage via une action dédiée
rien de sorcier à priori
sauf que mon image (puisque pour le coup je testais avec une image) ne s'affichait pas et j'avais son texte alternatif à la place
les en-têtes HTPP étaient OK et je recevais bien le contenu du fichier
Au boulot hier je suis resté bloqué un moment sur un point dont la solution est toute bête, encore faut il la connaitre. Alors si ça peut vous éviter de tomber dans le panneau...
Situation :
- un fichier XML, enregistré en ISO, avec en-tête déclarant un charset ISO
- une BD en ISO
- un script PHP, dans un fichier en ISO
But :
parser le fichier XML et enregistrer les données en BD
Problème :
problème d'encodage au final dans la BD
Solution:
Il y a quelques jours est sortie la Release Candidate 1 de la branche 1.2 de CakePHP. Autant dire que ça sent la version finale...
Je profite de l'abscence de billet sur le blog pour parler des projets que nous soutenons. Les temps sont durs (comprendre: plein de choses à faire) et comme tous les gens participant à des projets Open Source en dehors des heures de travail, il est parfois difficile de ne pas lever (au moins un peu) le pied. Et pourtant, nous n'avons rien abandonné! Lisez plutot la suite...
Ne vous vous êtes jamais demandé comment faire pour modifier et retourner dans une fonction plusieurs variables? En effet le return en PHP provoque l'arrêt de l'exécution du script de la fonction. La solution les pointeurs.
Cependant attention, je préviens tout de suite, cette façon de faire est là non pas pour pondre des fonctions de 100 lignes et qui renvoient 10 variables mais bien pour dépanner lorsque le travail de segmentation du code touche à sa fin et que vous ne voulez pas renvoyer un tableau pour 2 variables qui, mise à part le contexte, n'ont pas de lien.
Etes-vous incollable sur la comparaison en PHP? Pour le savoir, jetez un rapide coup d'oeil à cette adresse :
http://fr2.php.net/manual/en/types.comparisons.php
Personnellement, cette page m'a permis d'arrêter d'écrire certaines abérations. Un tout petit exemple:
// Attention, ce test est complètement inutile : il laisse passer false, 0, array(), null, "0"
echo 'pas bien';
}
A l'occasion d'une nouvelle installation de Ubuntu, je prends quelque notes pour éviter de chercher la prochaine fois.
Si vous utilisez le framework CakePHP, il est recommandé d'activer le mod_rewrite d'apache, voici la procédure en trois étapes:
Mettre en ligne un formulaire quelqu'il soit (contact, livre d'or...) s'est être à peu près sûr de se faire massivement spammer, même si votre site n'a pas une audience très élevée.
L'un des remèdes utilisés généralement est le captcha (les caractères à lire sur une image et à saisir dans un champ texte). Sauf que déjà de base il va à l'encontre des principes de l'accessibilité du Web mais en plus, il marche tellement bien que parfois, quelqu'un qui veut utiliser votre formulaire ne le peut pas, faute de pouvoir lire correctement les caractères requis.

