De plus en plus de systèmes de raccourcissement d'URL existent, et le système est somme toute relativement simple à mettre en place. Il demande un peu de logique et l'utilisation d'un encodage en base 62: les 10 chiffres et les 26 lettres (minuscules et majuscules).
Tag - outils
27/ 04/2010
Tests unitaires et couverture de code
CrazyCat » 27/ 04/2010 10:07 » PHP
Les tests unitaires sont au développeur ce que la prose est à M. Jourdain: ils en font sans le savoir. Malheureusement, ces tests ne sont pas souvent effectués de manière complète et approfondie, et le développeur ne s'intéresse pas au complément de ces tests: la couverture de code.
Heureusement, il existe des outils qui simplifient ce travail et le rendent plus cohérent. Je traiterai ici des procédures lorsqu'on développe en PHP, en m'appuyant sur PHPUnit.
21/ 03/2010
Script de sauvegarde automatique
CrazyCat » 21/ 03/2010 17:57 » Shell
Ce petit script permet de générer des archives horodatées de répertoires sur une machine unix. Il suffit que tar et gunzip soient installés et de configurer les 4 variables, puis d'ajouter une entrée pour ce script dans crontab.
Dans cet exemple, le but est de sauvegarder le répertoire /home/g33kzone/public_html/ (le site) et /var/lib/mysql/g33kzone/ (la base MySQL du site) dans le répertoire /home/backups/. Les fichiers de sauvegarde seront nommés archive_YYYYMMDD.tgz, c'est à dire archive_20100321.tgz pour l'archive du 21 mars 2010.
L'option "VERBOSE" permet d'avoir un affichage des fichiers archivés, elle est à utiliser pour le debug ou si vous voulez enregistrer l'activité d'archivage dans un fichier de log.
#!/bin/bash ############################################### # Configuration ############################################### # Destination BACKUP_DIR="/home/backups/" # Directories to save FILESYSTEMS="/home/g33kzone/public_html /var/lib/mysql/g33kzone/" # basename of the archive file BASE_NAME="archive_" # Would you like to get detailed information from tar and gzip? 0=false, # 1=true VERBOSE=0 # DO NOT EDIT BELOW THIS LINE #-------------------------------------------------------- ############################################### # Application Variables - DO NOT EDIT # ############################################### # Day of the week; NOW=`date +"%Y%m%d"` # Script name SCRIPTNAME="Backup Script" # Version VERSION=0.01 ######## Do some error checking ######### # Does backup dir exist? if [ ! -d $BACKUP_DIR ] then echo "The specified backup directory $BACKUP_DIR does not exist. Operation canceled." exit 1 fi ######## Run Backup ######### LEVEL=0 if [ $VERBOSE -eq 1 ] then tar cvfz $BACKUP_DIR/$BASE_NAME.$NOW."tgz" $FILESYSTEMS else tar cfz $BACKUP_DIR/$BASE_NAME.$NOW."tgz" $FILESYSTEMS fi exit 0
30/ 10/2009
Le gratuit meilleur que le plus cher
CrazyCat » 30/ 10/2009 17:17 » Logiciels
Mon PC étant parti d'une base assez ancienne qui n'a subit que des évolutions au fur et à mesure, il subsiste parfois des héritages dont j'aimerais me passer.
Par exemple, mon disque principal de 20Go qui à l'époque de windows 95 était partitionné en deux fois 10 Go, pour avoir le système d'un côté et les documents de l'autre. Les années ont passé, windows XP est arrivé, j'ai acheté des disques supplémentaires, mais j'ai toujours laissé mon système sur ce brave vieux Maxtor.
Il y a quelques temps de ça, j'ai voulu rendre à mon disque système toute sa taille, et j'ai fait un petit tour des logiciels de repartitionnement. J'ai jeté mon dévolu sur Partition Magic qui semblait être LE bijou dont j'avais besoin, la version d'évaluation (qui simule mais ne fait rien) m'ayant dit que tout était parfait. Et bien non, PM échouait, même lorsque je faisais bien comme il me disait de faire, en suivant ses conseils et ses prérogatives... J'ai pu redonner de l'espace à mon disque principal, mais il avait toujours une partition de 4Go dont je n'avais que faire.
Aujourd'hui, tout à fait par hasard, je suis tombé sur EASEUS Partition Master 4.0.1, qui en plus est gratuit dans sa version "Home Edition". Je lui ai programmé 3 opérations sensibles:
- supprimer cette partition inutile
- donner la taille maximale possible à la partition primaire
- agrandir une partition qui ne prenait pas tout un disque
Le temps de boire un café et le freeware a tout bien fait, sans aucune perte.
21/ 10/2009
Classe de recherche Google
CrazyCat » 21/ 10/2009 12:21 » PHP
Ainsi que je le disais dans ce billet, j'ai réalisé une classe pour exploiter l'API de recherche de Google sans utiliser AJAX. Elle permet de faire les recherches dans 7 catégories: web, images, vidéos, blogs, actualités, livres et cartes.
Vous trouverez sa mise en application sur cette page
02/ 06/2009
Utilisation des APIs Google sans javascript
CrazyCat » 02/ 06/2009 11:08 » PHP
Google permet aux webmasters d'intégrer des résultats de recherche sur leur site en utilisant des fonctions Ajax, mais il peut être utile de récupérer les résultats autrement, par exemple pour les stocker en base.
Heureusement, Google fournit un moyen d'interroger son moteur de recherche directement (par une requète GET) qui renvoie un résultat en JSON[1]
Notes
[1] JSON (JavaScript Object Notation) est un format de données textuel qui permet de représenter de l'information structurée.
19/ 03/2009
firefox: les modules intéressants
CrazyCat » 19/ 03/2009 12:03 » Logiciels
La plupart des personnes développant des sites internet préfèrent utiliser firefox, car ses modules sont très nombreux et la catégorie Développement Web est bien achalandée.
Voici une petite liste des modules qui me semblent les plus intéressants pour développer dans des conditions optimales.