PHP comment « streamer » du mp3 en php

J’ai du récemment envoyer des mp3 a un player flash sans que le chemin des mp3 ne soit accessible a l’utilisateur et qu’ils soient stocké hors de la racine du serveur web.

Le bout de code qui sert a servir les mp3,
attention a vous de vérifier que ce que vous envoyez est bien du mp3 ^^

1
2
3
4
5
6
$file_path = '/home/hio/monfichier.mp3';
header('Content-type: audio/mpeg');
header('Content-Disposition: inline; filename="'.$file_path.'"');
header('Content-transfer-encoding: binary');
header('Content-length: '.filesize($file_path));
readfile($file_path);

Voila rien de bien compliquer ^^

Déménagement et fibre optic numéricable

Apres un déménagement qui c’est fort bien passé, voici venu le moment de choisir un FAI, mon nouvel appartement etant eligible a la fibre optic 100Mbit chez numéricable, j’ai decider de tenter le coup.

Plutot (pas le chien de mickey) surpris.

Le net en 1 journée vu que mon nouvel appartement etait deja raccordé, et aucun déplacement de technicien, tout a été activer de la boutique numéricable.

et des débits tres proche des 100Mbit avec un ping inférieur a 5ms.

La box numéricable est plutot pas mal dans l’ensemble avec toute les fonctions qu’on peut attendre d’un modem/routeur classic (firewall,wifi,etc…)

donc pour le moment plutot content.

Un petit test avec rsync

rsync-mipy24d3n3urgjpg

En esperant que ça dure ^^

Résumé des techniques de référencement

Les bases du referencement selon webrankinfo

Je résume donc à:

I. L’hébergement
+ Localisation géographique du serveur dans le pays que vous ciblez dans le cas des .com, .net, .info, …. les .fr, .be, …. sont d’office localisé dans le pays du lien de domaine quelque soit le lieu d’hébergement
- Pannes prolongées
- hébergement lent, messages d’erreur SQL

II. Le nom de domaine
+ Extension correspondant au pays que vous ciblez
- Redirection de type Ulimit
- Plus de trois mots dans le nom de domaine
+ Mots clefs dans le nom de domaine

III. Architecture du site
- Séparation des thèmes distincts en sous-domaines portants le mot-clef du thème abordé
+ Elaboration d’une page plan du site ou même un sitemap
- Changements de topologie sans redirections
+orrganisation d’un thème en répertoires portants le mot-clef du sous-thème abordé

IV. Structure d’une page, contenu
+ Mots clefs dans le titre de la page
+ Mot clé dans la description
+ Utilisation des « - » pour la séparation des mots-clefs dans le nom de la page
- Utilisation de frames
- Duplicate content

V. Autres balises
- Non présence des balises <html>,<head>,<body>
- Non spécification du doctype, charset et de la langue

VI. Contenu textuel d’une page
+ Structuration du document à l’aide de balises Titres <Hx> contenant si possible les mots-clefs ciblés
+ Mise en valeur des mots-clefs à l’aide de la casse, des styles (Gras,italique,souligné) et de la variation de la taille du texte.
Utilisation des DIV en remplacement des tableaux.
- Tout texte non visible ou non cohérent pour les visiteurs
- Utilisation de flash
- Occurence des mots-clefs trop élevée
- Abus de mises en forme autour des mots-clefs : Gras, italique, souligné, couleurs, <Hx> …
- Pages vides ou en construction

VI. Liens internes
+ Utilisation du format de liens suivant : <a href= »http://www.mon-site.com/pages.html »>Libellé du lien contenant si possible le principal mot-clef définissant la page liée</a>
+ URL rewriting systématique des pages contenant des arguments
- Utilisation de Javascript
- Utilisation de sessions

VII. Contenu imagé d’une page
+ Nom des images consciencieusement choisi
+ Saisie du contenu alternatif si l’image a son importance au sein de la page

VIII. Liens externes (Backlinks)
+ PageRank de la page qui lie élevé
+ Faible nombre de liens externes sur la page qui lie
+ Nombre de liens pointant vers votre site élevé
+ Utilisation du format de lien suivant : <a href= »http://www.mon-site.com/ »>Mot-clef</a>
+ Titre de vos backlinks variés tout en restant ciblé sur les mot clefs que vous privilegiez
~ Evolution progressive du nombre de Backlinks
- Fermes de liens (Link farming)
- Redirections sauvages
- Attribut rel= »nofollow »


LINUX comment s’authentifier en SSH avec une clé

On génère 2 clés
Une privée: id_rsa pour le client ^^
Une public: id_rsa.pub pour le serveur

debian:~$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hio/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in id_rsa.
Your public key has been saved in id_rsa.pub.
The key fingerprint is:
0b:97:e8:18:78:50:f8:3b:c9:41:ba:f3:6d:4b:41:b9 hio@debian
The key's randomart image is:
+--[ RSA 2048]----+
|   ..            |
|  ...  .         |
|  .+  o          |
|  .oo. o .       |
|  .oo+E S        |
|  o.=+ + .       |
|   o.oo .        |
|    ..o          |
|     ...         |
+-----------------+

On se retrouve donc avec 2 fichiers contenant les clés :O

debian:~$ ls -l ~/.ssh/
total 8
-rw------- 1 hio hio 1675 mar  6 12:41 id_rsa
-rw-r--r-- 1 hio hio  392 mar  6 12:41 id_rsa.pub

ensuite

debian:~$ ssh-copy-id -i ~/.ssh/id_rsa.pub "-p port username@host.com"

et voilà

PHP comment recuperer l’extension d’un fichier

Une fonction php pratique qui permet de récupérer l’extension d’un fichier,
ce n’est pas la seul façon de faire mais c’est la façon que je trouve être la plus propre.

1
2
3
4
5
6
7
8
function getFileExtension($filename) {
   $filename = explode('.', $filename);
   if(count($filename) >= 2) {
       return $filename[count($filename)-1];
   } else {
       return false;
   }
}

Utilisation

$extension = getFileExtension('the_memory_remains.mp3');
echo $extension;

Ce qui donnera

mp3

PHP Tutorial d’une transformations XSLT en PHP5

Voici un petit tutorial interressant sur php/xsl/xslt ^^ pour voir le tutorial en entier on click sur la source tout en bas.

Nous allons voir dans cet article comment effectuer des transformationsXSLT en PHP 5. Alors que PHP 4 fournissait deux méthodes pour effectuer cette tache , l’extension xslt et l’extension domxml-xslt, PHP 5 ne fournit plus qu’une et une seule manière uniforme, basée sur la libxslt, la classeXSLTProcessor.
La compréhension générale de cet article suppose que vous disposiez de quelques bases en XSLT. Nous partirons néanmoins d’un exemple assez simple de transformation, auquel nous ajouterons progressivement des fonctionnalités, tout en découvrant les méthodes de la classeXSLTProcessor.

Source