Le Potlatch

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

Développement PHP

Fil des billets - Fil des commentaires

Tutoriel : sauvegarder quotidiennement ses bases de données MySQL sur un serveur dédié ou privé

Vous souhaitez sauvegarder systématiquement les bases de données de votre serveur Web et les récupérer sur une machine Windows ?  Je vous propose une solution simple, fiable et rapide pour récupérer un fichier SQL gzippé de chaque base, comportant la date du jour, sous la forme db.NomDeLaBase.2009-11-17.sql.gz.

Lire la suite...

Votre site a été piraté par 94.247.2.195 : tous les fichiers JS et PHP sont attaqués

Satané Trojan à la @#^\§*. Je viens de passer 24h quasi sans dormir ni manger pour trouver la solution ! Ce malotru m'a infecté une dizaine de sites (pro, sinon c'est pas drôle), avec à la clé des milliers de fichiers à remettre à jour... Sur ce sujet qui traîne depuis début avril, il y a bien des infos éparses sur le Web mais aucune piste claire. Mais les Lettons n'auront pas le dernier mot !
 
Pour ceux d'entre vous qui ont vu leur site hacké récemment par le Trojan Iframe Exploit, j'ai enfin compris le problème... et je pense avoir réussi à m'en protéger. Si vous avez subi cette attaque, voici des pistes pour vous en sortir.

Lire la suite...

Dotclear 1.2.7 crashe votre serveur ? Passez à Dotclear 2 (et bricolez les tags)

Mon serveur a été très instable récemment. Et pas des petits plantages : le gros modèle, celui où il ne répond plus du tout à rien et nécessite un redémarrage complet.

Après des jours d'enquête minutieuse, j'ai découvert qui faisait planter mon serveur une fois par jour. Ce n'était pas mon jeu de simulation en ligne ou mon test de personnalité, très gourmands en ressources. Ce n'était pas ma musique MP3 en téléchargement, avec des ficheirs forcément assez lourds. Ce n'était pas mes applications de gestion de flux RSS photo ou mes blogs BD ou photos bien chargés.

C'était un banal blog en dotclear 1.2.7. Celui-là même que vous parcourez. J'ai donc dû le mettre à jour, et au passage trouver une solution pour récupérer les tags du plugin métadonnées de billets.

Lire la suite...

Gandi hébergement : payez vous une tranche de serveur

J'ai testé le nouveau service d'hébergement Web de Gandi. Le principe : disposer sur un gros serveur d'un petit serveur virtuel qui offre toutes les fonctions d'un dédié pour une fraction de son prix. Selon les besoins, vous achetez 1, 2, 8, voire 32 tranches dans le serveur, ce qui vous donnera d'autant plus de bande passante, espace disque, puissance processeur et mémoire. Alors, arnaque ou vraie évolution ?

Lire la suite...

Développeurs : à quel âge serez-vous trop vieux ?

De plus en plus de jeunes se retrouvent à des postes à responsabilité dans le secteur des nouvelles technologies et du Web (c'est mon cas). Un candidat m'a interpellé récemment : comment faire, quand on a quarante ans, pour être embauché par les "requins" frais émoulus ? Quels sont les principaux préjugés des recruteurs à l'égard des "vieux" et comment les surmonter ? Que faut-il mettre sur son CV et que faut-il cacher ? Voici quelques éléments de réponse tirés de ma propre expérience.

Lire la suite...

Déboguer les erreurs MySQL grâce aux alertes e-mail

Après avoir exposé ma tactique de traque et d'élimination des erreurs 404, voici une variante de l'alerte e-mail dédiée au débogage : l'alerte MySQL. Ou comment être alerté des erreurs dès qu'elles surviennent sur votre site Web ou votre application en ligne.

Lire la suite...

Tutorial MySQL : alléger des requêtes successives avec CREATE TEMPORARY TABLE

Travailler avec des tables SQL de 30 Mo pour en triturer les données est une épreuve capable de mettre à genoux votre serveur dédié de compétition. La fonction CREATE TEMPORARY TABLE peut vous aider à alléger grandement les performances. Etude de cas sur une application de statistiques de visite et autres optimisations possibles.

Lire la suite...

Tutorial PHP : chronométrer le temps de calcul des requêtes SQL (benchmark)

Pour ceux qui ne l'auraient pas encore, voici la fameuse recette du benchmark maison au coulis de microtime. Ou comment chronométrer le temps de calcul imposé au serveur par chacune des séquences de votre script. Cela permet de repérer les goulets d'étranglement, qu'il s'agisse de requêtes SQL ou de boucles de code PHP mal optimisés.

Lire la suite...

Tutoriel PHP : pourquoi passer au développement orienté objet ?

Ce que j'aurais toujours voulu savoir sur la programmation orientée objet sans jamais le trouver. Cette introduction est destinée à fournir des idées claires pour aborder la POO dans PHP.

Lire la suite...

Astuce PHP : afficher ou masquer le "s" de résultat(s) en une ligne

J'ai longtemps cherché un moyen simple et efficace de déterminer si le nombre de résultats d'un moteur de recherche prenait un S. Et je crois avoir trouvé la méthode la plus condensée : ça tient en une ligne de code. Explications.

Lire la suite...

10 fonctions PHP-MySQL que j'utilise tous les jours

J'ai des scrupules vis-à-vis du logiciel libre. J'en consomme des paquets, j'exploite et j'apprends grâce aux dons de cette communauté, mais je n'ai jamais réellement rendu la pareille. J'aimerais vraiment faire partager tous les projets sur lesquels je travaille, les ouvrir à tout le monde. Hélàs ça demande beaucoup de temps de rendre ses outils universels et compréhensibles. J'ai du pain sur la planche. En guise d'apéritif, voici ma petite contribution aux développeurs PHP, une série de fonctions que j'ai développé pour résoudre pas mal de problèmes qui se posent au quotidien. J'espère qu'elles seront utiles à d'autres que moi.

1. Trouver le nom d'un département à partir de son numéro

2. Trouver la région à laquelle appartient un département
3. Convertir une date SQL (YYYY-MM-DD) en date lisible
4. Vérifier une adresse e-mail saisie par un utilisateur
5. Couper un texte à 100 caractères sans couper un mot
6. Retourner une ou plusieurs lignes de la base de données en une seule instruction
7. Retourner une seule valeur dans une ligne de la base de données
8. Supprimer tous les accents d'une chaîne
9. Mettre en chaîne accentuée en majuscules
10. Faire un lien automatique sur les adresses e-mails en toutes lettres

Lire la suite...

Un bouquin pour les autodidactes de PHP

Une fois n'est pas coutume, je vais faire de la pub. Pour un bouquin. Destiné aux développeurs PHP qui ne sont pas programmeurs. Ce n'est pas qu'il soit particulièrement bien écrit, ni vraiment complet, mais il vous retourne la tête. C'est Best Practices PHP5 de Guillaume Ponçon, chez Eyrolles.

Lire la suite...