Du relief sur vos textes en CSS 3

CSS 3 RULZ !!1!<3

Tout comme son acolyte le HTML 5, le CSS 3 va déchirer, plus besoin de le démontrer. Dernièrement j’ai découvert une petite manip bien sympathique, merci Félix, pour créer un effet de relief sur des textes en utilisant le Cascading Style Sheet, (ça fait classe de le dire en entier :)).

Vous avez surement déjà remarqué les effets du style Photoshop ou Apple avec un ligne d’environ un pixel de couleur plus claire sous un texte donnant un effet “d’enfoncement”. Avant vous étiez obligé de faire une image ou de superposer deux textes avec un décalage d’un pixel (pas bon pour le ref !), mais maintenant avec la fonction “text-shadow“, plus besoin de tout ça. En une ligne de CSS vous avez un joli relief.

Ainsi placez votre texte sur un fond légèrement sombre, avec une couleur très sombre puis appliquez “text-shadow” sur le dit texte comme ceci :

 text-shadow: 1px 1px 0px #couleur;

Comment ça marche ? En gros la syntaxe de cette déclaration est la suivante “text-shadow : décalage-x décalage-y flou couleur”. Nous décalons donc d’un pixel vers la droite et vers le bas, n’appliquons pas de flou et utilisons une couleur plus claire que celle du texte. Le résultat est alors semblable à celui en entête de billet.

Aucun commentaire

Créer un graphique d’analyse Feedburner en PHP

graph

Ça fait longtemps que je n’avais pas blogué ici et en ce moment l’envie me reviens. J’ai donc décidé de vous faire un petit tuto expliquant comment créer à l’aide de l’API Feedburner un graphique de croissance du nombre d’abonnés.

Tout d’abord, je vous invite à lire la doc de l’Awareness API de Feedburner ainsi qu’à télécharger la librairie flash amcharts qui nous permettra de faire les graphiques.

Pour commencer on va créer un petit formulaire où l’utilisateur entrera le flux du blog et qui, uniquement s’il est validé, affichera le graphique :

	<? if(isset($_POST["Envoyer"])) //Vérifie si le formulaire est envoyé
    {
		}else{
	?>
<form action="http://<?= $_SERVER["SERVER_NAME"] . $_SERVER["SCRIPT_NAME"]; ?>" method="post"> <!-- Envoi du formulaire sur la même page -->
	<INPUT type="text"  name="flux1"> Flux du blog n1<br/>
	<INPUT type="submit" value="Envoyer" name="Envoyer">
</form>
<? }?>

Ensuite comme vous avez lu la doc de l’API feedburner, vous savez que pour récupérer un fichier XML avec le nombre d’abonnés feedburner, il va vous falloir une url sous ce format : “https://feedburner.google.com/api/awareness/1.0/GetFeedData?uri=Nom-Du-Blog&dates=yyyy-mm-dd,yyyy-mm-dd“. Il faut donc récupérer le nom du blog dans l’url qui nous a été donnée. Pour faire ça, un petit coup de explode et c’est dans la poche.

<? if(isset($_POST["Envoyer"])) //Vérifie si le formulaire est envoyé
    {
$nom1 = explode("/", $_POST["flux1"]); // on récupère le nom
$flux1 = "https://feedburner.google.com/api/awareness/1.0/GetFeedData?uri=".$nom1["3"]."&dates=2009-08-21,2009-09-21"; // on l'insère dans l'url
}else{
	?>
<form action="http://<?= $_SERVER["SERVER_NAME"] . $_SERVER["SCRIPT_NAME"]; ?>" method="post"> <!-- Envoi du formulaire sur la même page -->
	<INPUT type="text"  name="flux1"> Flux du blog n1<br/>
	<INPUT type="submit" value="Envoyer" name="Envoyer">
</form>
<? }?>

Maintenant pas de secret, il va falloir charger le fichier XML, le parser (le rendre “lisible”), récupérer ce que l’on veut pour ensuite l’adapter à la structure de la librairie Flash. Il faut donc que vous vous inspiriez des exemples disponibles dans le dossier que vous aurez télécharger précédemment. J’ai ici choisi le format XML, il y en a d’autres, à vous de choisir.

<? if(isset($_POST["Envoyer"])) //Vérifie si le formulaire est envoyé
    {
$nom1 = explode("/", $_POST["flux1"]); // on récupère le nom
$flux1 = "https://feedburner.google.com/api/awareness/1.0/GetFeedData?uri=".$nom1["3"]."&dates=2009-08-21,2009-09-21"; // on l'insère dans l'url
$feed1 = simplexml_load_file($flux1); // On charge et parse le fichier xml
		$series = "<series>"; // Préparation de variables pour restructurer un flux XML
		$subs1 = "</series><graphs><graph gid='0' title='".$nom1["3"]."'>"; // Idem que ci-dessus
		$compt = 0;
		foreach ($feed1->feed->entry as $entry) { /* Boucle où on récupère les données */
		$series = $series."<value xid='".$compt."'>".$entry['date']."</value>";
		$subs1 = $subs1."<value xid='".$compt."'>".$entry['circulation']."</value>";
		$compt++;
		}
		$chart = "<chart>".$series.$subs1."</graph></graphs></chart>"; // Fin de la restructuration, le flux XML est dans $chart
}else{
	?>
<form action="http://<?= $_SERVER["SERVER_NAME"] . $_SERVER["SCRIPT_NAME"]; ?>" method="post"> <!-- Envoi du formulaire sur la même page -->
	<INPUT type="text"  name="flux1"> Flux du blog n1<br/>
	<INPUT type="submit" value="Envoyer" name="Envoyer">
</form>
<? }?>

Notre nouveau flux XML est créé, il ne reste plus qu’à l’insérer dans un graphique. Pour cela, il faut insérer le code d’amcharts et charger les données :

<? if(isset($_POST["Envoyer"])) //Vérifie si le formulaire est envoyé
    {
$nom1 = explode("/", $_POST["flux1"]); // on récupère le nom
$flux1 = "https://feedburner.google.com/api/awareness/1.0/GetFeedData?uri=".$nom1["3"]."&dates=2009-08-21,2009-12-02"; // on l'insère dans l'url
$feed1 = simplexml_load_file($flux1); // On charge et parse le fichier xml
		$series = "<series>"; // Préparation de variables pour restructurer un flux XML
		$subs1 = "</series><graphs><graph gid='0' title='".$nom1["3"]."'>"; // Idem que ci-dessus
		$compt = 0;
		foreach ($feed1->feed->entry as $entry) { /* Boucle où on récupère les données */
		$series = $series."<value xid='".$compt."'>".$entry['date']."</value>";
		$subs1 = $subs1."<value xid='".$compt."'>".$entry['circulation']."</value>";
		$compt++;
		}
		$chart = "<chart>".$series.$subs1."</graph></graphs></chart>"; // Fin de la restructuration, le flux XML est dans $chart ?>
 
<!-- amline script-->
		  <script type="text/javascript" src="lib/amline/swfobject.js"></script>
			<div id="flashcontent">
				<strong>Imposible d'afficher le graphique, Flash n'est pas à jour sur votre ordinateur.</strong>
			</div>
 
			<script type="text/javascript">
				// <![CDATA[		
				var so = new SWFObject("lib/amline/amline.swf", "amline", "800", "400", "8", "#FFFFFF");
				so.addVariable("path", "lib/amline/");
		  	so.addVariable("chart_data", encodeURIComponent("<? echo $chart; ?>")); <!-- On charge les données -->
		    so.addVariable("chart_settings", encodeURIComponent("<settings><background><color>#FFFFFF,#FFFFFF</color><alpha>100</alpha></background><labels><label><y>24</y><width>800</width><align>center</align><text><![CDATA[<b>Nom Du Graphique</b>]]></text></label></labels></settings>"));
				so.write("flashcontent");
				// ]]>
			</script>
		<!-- end of amline script --> <?
}else{
	?>
<form action="http://<?= $_SERVER["SERVER_NAME"] . $_SERVER["SCRIPT_NAME"]; ?>" method="post"> <!-- Envoi du formulaire sur la même page -->
	<INPUT type="text"  name="flux1"> Flux du blog n1<br/>
	<INPUT type="submit" value="Envoyer" name="Envoyer">
</form>
<? }?>

Et voila, vous avez désormais un joli graphique affichant un flux feedburner ! Maintenant à vous de le personnaliser tant dans le design que dans les fonctionnalités ;)

PS : Le script ne marche pas sur tout les serveurs en raison de la fonction simplexml_load_file() car certains hébergeurs ne l’autorise pas. De plus tout les flux ne fonctionneront pas, seuls ceux ayant l’API Awareness fonctionnent (80%).

1 Commentaire

Comment changer le nom de sa livebox ?

Aujourd’hui j’ai décidé de vous faire un petit tuto (très simple) pour changer le nom de votre Livebox. Cela peut être plus amusant et plus facile pour identifier votre livebox si vous habitez dans un immeuble avec plusieurs réseaux WIFI.

Premièrement, connectez vous sur http://192.168.1.1/
Vous devriez tomber sur cette page :

image-15

Les identifiants sont normalement “admin” et “admin” à moins que vous les ayez changer lors d’une autre opération.

Une fois connecté, cliquez sur “Réseau sans fil”. Ensuite dans la partie “Paramétrage du réseau sans fil” changez le nom de votre Livebox et cliquer sur Configuration WEP.

image-17-copy

Vous n’avez plus qu’à vous reconnecter et le tour est joué !

Bien sûr, profitez en pour être imaginatif et mettre un peu de lol dans votre voisinage comme mon tout nouveau réseau wifi fraichement renommé :

image-13

8 Commentaires