Rubrique PHP

[PHP] Extraire un code postal d’une chaîne de caractère

Catégorie PHP

Voici une petite expression régulière vous permettant d’extraire un code postal d’une chaîne de caractère. On part du principe qu’un code postal ne peut être composé que de 5 chiffres.

preg_match('/[0-9]{5}/',$temp,$result ,PREG_OFFSET_CAPTURE,3);
$codepostal=$result[0][0];
Rubrique PHP

[PHP] Vérifier si une chaîne est présente dans une autre chaîne de caractères

Catégorie PHP

Pour vérifier si une chaîne est présente dans une autre chaîne de caractères, PHP dispose d’une fonction bien pratique: strpos.

Voici donc le code qui va bien pour detecter la présence d’une sous-chaîne grâce à strpos:

if (strpos($chaine, $souchaine) !== FALSE) {
echo "La sous-chaine a été trouvée dans la chaine";
}

Attention: strpos est sensible à la casse, ce qui signifie que la présence de majuscules peut empêcher la détection de la sous-chaîne. Mais comme bien souvent en PHP, il existe la même fonction, mais insensible à la casse, il s’agit de stripos.

Rubrique PHP

Faire une redirection 301 en PHP

Catégorie PHP

Voici le script d’un redirection 301 en PHP:

header("Status: 301 Moved Permanently", false, 301);
header("Location: http://www.exemple.net/repertoire/page.php");
exit();

Pour info, la redirection 301 sert principalement à informer les moteurs de recherche que l’url d’une page web est remplacée définitivement par une autre.

Attention: les instructions header doivent être placées avant que quoique ce soit de la page ne soit affiché (c’est à dire envoyé vers la fenêtre d’affichage du navigateur client), sinon elles ne fonctionneront pas!

Rubrique Divers

Clash Royale – Partager des vidéos de combats avec votre clan

Catégorie Divers

A mes heures perdues, je joue à Clash Royale. Je me suis joint à un clan, et je voyais d’autres joueurs partager leurs vidéos de combats dans ce clan, sans savoir comment ils faisaient.
C’était en fait tellement évident que je n’avais pas trouvé, mais je suppose que je ne suis pas le seul, alors je partage l’info…

Sur l’écran principal de Clash Royale, vous appuyez sur l’icône en forme de parchemin.

partage-clash-royale-1

C’est ce qu’ils appellent votre journal d’activité. Vous pouvez y voir vos derniers combats joués, avec la possibilité de les visionner ou de les partager…

partage-clash-royale-2

Voilà, vous savez maintenant comment partager avec votre clan la vidéo de votre dernier combat…

Rubrique Android

Faire une copie d’écran sur Android

Catégorie Android

Faire une copie d’écran sur Android? C’est devenu très simple depuis la version 4 d’Android qui est sortie depuis pas mal de temps déjà.
C’est très simple… à condition de la savoir! La manipulation à faire pour faire une copie d’écran sur Android est d’appuyer simultanément sur les boutons « Marche » et « volume bas » en même temps. Ca demande un peu de gymnastique des doigts 😉 Vous laissez appuyé jusqu’à ce qu’il se passe quelque-chose, et voilà, la copie d’écran est sauvegardée sur votre appareil!

Rubrique Windows

Récupérer des fichiers effacés sur un disque dur

Catégorie Windows

La fille du frère de ma femme (vous appelez ça comment?) m’a apporté l’autre jour un disque dur externe dont les données (plus de 3000 photos) se seraient malencontreusement effacées lorsqu’elle l’a branché a un Mac…
En dehors de l’étrangeté de la chose, et du fait qu’elle n’ai pas d’autre sauvegarde, elle m’a demandé de voir si je pouvais récupérer des fichiers dessus.
Je savais qu’il existait de nombreuses solutions payantes, mais pourquoi payer si on peut faire la même chose gratuitement.

Arès quelques recherches, j’ai jeté mon dévolu sur un petit logiciel gratuit appelé PhotoRec.
Comme son nom l’indique, il est fait à la base pour la récupération de photos, mais fonctionne très bien pour d’autres types de fichiers. Personnellement, j’ai utilisé la version Windows, mais il semble exister pour à peu près tous les systèmes d’exploitation.
Ne vous attendez pas à ce que ce soit immédiat: pour un gros disque dur, il faut bien plusieurs jour d’analyse!

PhotoRec arrive à retrouver les types des fichiers, mais en revanche, pas les noms d’origine. Ainsi, vous vous retrouverez avec, par exemple, des « f39493679.jpg », mais c’est mieux que rien. De même pour les noms des répertoires, qui ressemblent à des « recup_dir.9 ».
Mais l’important, c’est que les fichiers soient récupérés et lisibles!

Dernière sophistication de sa part: il peut copier les fichiers récupérés à l’emplacement que vous voulez, sur le disque dur de votre ordinateur par exemple. Cela signifie qu’il n’effectue pas les modifications sur le disque dur à récupérer. C’est important, car si vous avez peur que PhotoRec ne fasse pas bien son boulot, et que vous hésitez avec d’autres logiciels, vous ne risquez rien, car PhotoRec laisse le disque dur intact, dispo pour une autre tentative de récupération si la sienne ne fonctionne pas!

Je terminerais par un petit conseil: Si vous avez des données importantes, faites des sauvegardes! Et plutôt 2 fois qu’une! Personnellement, je garde mes données importantes toujours en 3 exemplaires, l’original et 2 sauvegardes. Et ces 2 sauvegardes stockées dans des lieux géographiquement différent. Vous pouvez faire toutes les sauvegardes du monde, mais si vous les stockez toutes au même endroit, et qu’il arrive une catastrophe (genre un incendie), c’est comme si vous n’aviez rien fait!

De nos jours, il existe une solution supplémentaire: Le Cloud. En sauvegardant vos fichiers sur des plateformes telles que Google Drive, Dropbox ou Hubic (qui est français), vous vous ajoutez une sécurité supplémentaire en dématérialisant vos sauvegardes!

Rubrique PHP

[PHP] Supprimer tout ce qui n’est pas des chiffres dans une chaine

Catégorie PHP

Si, par exemple, vous voulez enregistrer des numéros de téléphone dans une base de données vous allez vous heurter aux différentes notations: avec des points, des slashes, des tirets, des espaces…

Voici donc une petite expression régulière qui, en une seule ligne, va supprimer tout ce qui n’est pas chiffre dans une chaîne:

$telephone=preg_replace('/[^0-9]/', '',$telephone);
Rubrique PHP

Executer du PHP en ligne

Catégorie PHP

Parfois, on veut pouvoir tester quelques lignes de code en PHP, sans avoir à sortir le serveur de développement. Dans ce cas, je vous conseille codepad.

Il s’agit d’un site vous permettant de taper quelques lignes de codes en PHP, mais également en C, Python, Perl, Ruby, et bien d’autres… sans avoir autre-chose à faire que d’être sur cette page web. Simple comme bonjour…

Rubrique MySQL

[MySQL] Sélectionner les éléments d’une table qui ne sont pas déjà dans une autre table

Catégorie MySQL

Si on a 2 tables, table1 et table2, et que l’on veut les éléments de table2 qui ne sont pas déjà dans table1 (en gros, avoir la différence entre ces 2 tables), voici comment faire:

SELECT table2.* 
FROM id
WHERE id NOT 
IN (
SELECT id
FROM table1
)

Dans notre exemple, on compare selon le champs id, c’est à dire qu’il va ressortir les enregistrements de table2 dont les id ne sont pas présents dans table1.

Par extension, si vous voulez mettre à jour table1 avec les éléments supplémentaires qui sont dans table2, voici comment faire:

INSERT INTO table1 SELECT table2.* 
FROM table2
WHERE id NOT 
IN (
SELECT id
FROM table1
)
Rubrique Apache

Rediriger votre domaine sans www. vers son équivalent avec www. grâce au fichier .htaccess

Catégories Apache, Référencement

Si vous êtes sensibilisé un tant soit peu au référencement de site, vous devez savoir qu’un moteur de recherche comme Google a horreur des pages en plusieurs exemplaires, ce qu’on appelle du contenu dupliqué (duplicate content).

Mais là où on fait rarement attention, c’est que ça peut arriver très facilement à cause de votre nom de domaine. En effet, votre site à normalement comme adresse http://www.mondomaine.com, mais les 3/4 du temps, http://mondomaine.com (sans www.) fonctionnera aussi, et vous affichera exactement la même chose! Et bam! Pages dupliquées!

Pour corriger ça simplement, vous pouvez utiliser la réécriture d’url. Pour cela, quelques lignes dans le fichier .htaccess à la racine de votre site:

RewriteEngine on
RewriteBase /

RewriteCond %{HTTP_HOST} ^mondomaine.com$
RewriteRule ^(.*)    http://www.mondomaine.com/$1   [QSA,L,R=301]

Grâce à ces quelques lignes toutes les pages de mondomaine.com vont être redirigées proprement vers leur équivalent sur www.mondomaine.com grâce à des redirection 301.

Autre possibilité, rediriger tout ce qui n’est pas www.mondomaine.com vers www.mondomaine.com, quelque-soit le sous-domaine:

RewriteEngine on
RewriteBase /

RewriteCond %{HTTP_HOST} !^www.mondomaine.com$
RewriteRule ^(.*)    http://www.mondomaine.com/$1   [QSA,L,R=301]