Fév 24

Mon CV en 3D

Visualisez le en live, directement depuis votre navigateur en cliquant ici

Vous pouvez également voir ce que cela donne en vidéo :

Lire la suite
Déc 05

Joomla fête ses dix ans.

Joomla à 10 ans! Son anniversaire est en fait dépassé d'à peine 5 mois, puisque sa première version à été lancée le 17 août 2005. Mais ce n'est pas grave, voici quand même une chouette animation pour l'occasion.





10 ans, ça peut paraître vieux sur Internet, mais qu'à cela ne tienne Joomla est bel et bien vivant. Selon une étude réalisée par w3techs.com qui établi un classement des CMS,  2.8% de tous les sites Internet de l'univers fonctionnent grâce à Joomla , qui se classe alors en deuxième position.
La première place est bien évidemment celle de..... Wordpress bien sûr! Il est utilisé par 25,3% des sites web d'Internet. Il est aussi plus âgé que Joomla, la première version de Wordpress ayant été publiée en 2001.

J'utilise Joomla tout en suivant son évolution depuis ses tout débuts en 2005. Durant ces 10 dernières années, j'ai étudié et expérimenté avec des dizaines de CMS différents, mais Joomla n'était jamais bien loin, quoique je fasse.
J'ai à présent une très grande expérience dans le monde du développement pour le web, alors si vous cherchez un développeur web créatif et expert avec Joomla n'hésitez pas, contactez moi! Lire la suite
Sep 29

Protéger le dossier administrator de Joomla en le faisant disparaitre !

Par défaut la page qui permet de se connecter à l'interface d'administration (que certains appellent le « back-end ») d'un site Joomla est accessible à tout le monde. Il suffit d'ajouter /administrator après le nom de domaine du site et on y est. On peut facilement trouver ce genre de page sur n'importe quel CMS. Sur Wordpress, par exemple, il faut se rendre dans le dossier /wp-admin.

Normalement, c'est à dire sans composants tiers installés et si les régles élémentaires propres à la gestion d'un site web ont bien été appliquées,  le fait que cette page soit visible de tous n'est généralement pas un problème. Mais comme il vaut mieux prévenir que guérir et pour décourager les éventuels hackers, robots et autres curieux qui viendraient s'aventurer dans des endroits ou ils ne sont pas censés êtres, pourquoi ne pas tout simplement se débarrasser du dossier "administrator" en la rendant invisible!

Si vous voulez une petite démo, pour mieux vous rendre compte de ce que cela peut donner , essayer d'ajouter /administrator après shantee.com.

C'est rapide à mettre en place, il n'y a même pas besoin d'installer ou de modifier quoique ce soit au CMS que vous utilisez. Voici comment procéder.

1) Créez un fichier .htaccess dans le répertoire que vous souhaitez cacher. Dans le cas de Joomla on le créera donc à l'intérieur du répertoire /administrator.

Copiez les lignes suivantes dans votre .htaccess :

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_COOKIE} ! moncookiemagique .*$ [NC]
RewriteRule .* http://www.shantee.com [R=301,NC,L]

moncookiemagique  est le nom du cookie qui sera nécessaire pour accéder au contenu du dossier /administrator. Si une personne se présente à cette adresse sans ce cookie spécial elle sera automatiquement redirigé vers la page d'accueil du site. Vous pouvez bien sûr changer le nom du cookie, ainsi que l'adresse du site pour la redirection.

2) Créez un nouveau dossier à la racine de votre site. Donnez lui le nom que vous voulez, soyez créatif !
A l'intérieur de ce dossier créez un fichier index.php et copiez y les lignes suivantes :

$admin_cookie_code=" moncookiemagique ";
setcookie(" moncookiemagique ",$admin_cookie_code,0,"/");
header("Location: http://www.shantee.com/administrator/index.php");


Ce script sert à créer un cookie nommé « moncookiemagique » et ce sera donc ce cookie spécial qui autorisera l’accès au dossier "administrator".


3) C'est tout !

Désormais, si vous souhaitez vous connecter à votre interface d'administrateur vous devrez obligatoirement passer par ce nouveau dossier que vous aurez créé. Cela aura pour effet de vous rediriger vers le dossier /administrator avec le cookie qui sert de clé et sans lequel vous seriez redirigez sur la page d'accueil de votre site. 
Au final c'est un peu comme si on avait renommé le dossier administrator de Joomla.

J'ai pris Joomla en exemple, mais comme vous l'aurez compris tout ça est également valable pour Wordpress, Drupal et n'importe quel autre CMS.

Cette protection supplémentaire est une des mesures de sécurité spécifiques que je mets en place sur chaque nouveau projet de création de sites Internet qui m'est confié et qui sont comprises dans les offres "pack" que je propose.

 

Bien qu'efficace, en bloquant toutes les attaques exploitant les fichiers du dossier /administrator cette méthode ne dispense évidemment pas de toujours utiliser des mots de passe suffisamment long et surtout uniques.

Lire la suite
Juil 06

Great Bitcoin / Litecoin domain names & Websites for sale

Here is my domain names portfolio.

A list of websites and nice .com domain names that I own and that I am willing to sale.

You will find mainly bitcoins and litecoins related domain names but also a couple of fully developped website which are also on sale!

(to get more details about a name point on it with your mouse and click it to check the full whois data)

If ever you found anything you like in my collection, make an offer! And for any questions regarding the following items do not hesitate to contact me (you can also use skype: shanteenet).

  • BIT...
  • Bit2Bill.com : Convert your bitcoins into bills of your favorite currency
  • BitCardExpress.com : Buy bitcoin and receive them on a card!
  • Bitcoin2atm.com : Perfect domain to sell ATM card or bitcoin card
  • BitScratch.com : Bitcoin on a scratch card!
  • BTC...
  • Btc2atm.com :
  • Btc4sex.com : Short, extremely brandable, easy to remember and very explicit
  • BTCbills.com :
  • BTCescort.com : Any escort accepting bitcoins ?
  • BTCticket.com :
  • C
  • Cumsh.com : Moteur de recherche de vidéos pour adultes indexant près d'un million de clips
  • I
  • iTramadol.com : Are you dealing Tramadol ?
  • LITE
  • LiteCards.com : Get your Litecard now ! :)
  • LitecoinCash.com : Premium domain, litecoin cashout service
  • LTC...
  • LTCbills.com
  • T
  • ThaiMusicNews.com : Latest thai music news , clips and lyrics
Lire la suite
Mai 25

Une solution radicale à ce casse-tête vietnamien...En Javascript

Le buzz de la semaine c'est ce casse-tête de calcul qui a été donné à des élèves agés entre 8 et 9 ans dans une école de la ville de Bao Loc au Vietnam.

Si cela a fait autant de bruit c'est parce qu'il ne s'agit pas d'un simple petit exercice de calcul pour enfants, Non! C'est "LE problème de maths de CE2 qui rend fou le web et qui pose problème aux gros cerveaux d'Internet". En tout cas c'est ce que semblent croire les journalistes du figaro, de 20minutes et j'en passe...



Pour résumer: Il était question à la base d'un exercice de mathématiques destiné à des enfants d'un niveau équivalent au CE2 en France. Quand il s'aperçut que ses jeunes élèves peinaient à lui présenter une solution, Tran Truong, le professeur à l'origine de ce casse-tête a donc demandé à d'autres collègues mathématiciens et même à une "doctorante en économie" de se pencher là-dessus.
Ces derniers n'ont manifestement pas été plus brillants que des élèves de 8 ans.
c'est ainsi que ce petit problème d'arithmètique s'est retrouvé à faire le tour du web.


Et ce fameux problème voici à quoi il ressemble :

probleme maths vietnamien

Les règles sont simples : Il suffit de placer des chiffres de 1 à 9 dans les cases vides pour que le résultat final soit égal à 66. On ne peut pas utiliser deux fois le même chiffre!



Je ne sais pas si l'on peut me compter parmi les plus "gros cerveaux du web" mais en à peine un quart d'heure j'avais déjà trouvé une vingtaine de solutions différentes à ce problème!



Mon secret ? Je suis nul en maths et vraiment pas doué en calcul mental! Je n'ai donc même pas essayé de calculer quoi que ce soit quand on m'a présenté ce casse-tête. Je suis bien conscient de mon handicap dans ce domaine. Fort heureusement, j'ai le don de pouvoir trouver des solutions toutes bêtes mais aussi très efficaces à toute sorte de problèmes.
C'est également le cas de la méthode que j'ai utilisée: elle est toute bête! Ne vous attendez donc pas à découvrir des explications mathématiques avec des équations complexes etc...


Voici donc sans plus tarder ma solution...En javascript!

En dépit de mon handicap arithmétique, j'ai quand même bien compris que la forme en serpentin de ce casse-tête n'avait pas d'importance et qu'on pouvait aussi bien écrire la suite d'opérations de cette manière :

x[0] + 13 * x[1] / x[2] + x[3] + 12 * x[4] - x[5] - 11 + x[6] * x[7] / x[8] - 10  = 66
Evidemment les "x" correspondent aux cases vides; comme il y en a 9 ça nous fait 9 "x" à trouver.

 

On déclare donc une variable "x" vide qui sera un tableau (array)


var x = [];

Maintenant il faut remplir ce tableau avec neuf chiffres choisis au hazard. On peut créer une fonction pour ça et on pourra s'en servir plus tard.

function testnum() {
  while (x.length < 9) {
    var randomnumber=Math.floor((Math.random()*9)+1);
    var unique=false;
    if (x.indexOf(randomnumber) > -1) {
      unique=true;
    }
    if (!unique)x[x.length]=randomnumber;
  }
} 

 

La petite difficulté c'est qu'on ne doit pas avoir deux fois le même chiffre dans notre tableau x[]. Quand un chiffre aléatoire est généré il faut alors vérifier à chaque fois si il n'est pas déjà présent dans x[].
Pour cela on peut utiliser la méthode indexOf.
Elle permet de retourner la position d'un élément dans un tableau mais si l'élément que l'on cherche ne figure pas dans notre tableau indexOf va retourner -1.

Cette fonction que j'ai nommée testnum() va donc générer des valeurs pour x[0],x[1],x[2] etc...
Puisqu'il y a vraiment très peu de chances pour que les premiers chiffres générés correspondent directement à la solution de notre problème, il va falloir les tester.
On peut utiliser une autre boucle while.


var solution = 1;
while (solution < 21) {
// notre casse-tête
var problem = x[0]+13*x[1]/x[2]+x[3]+12*x[4]-x[5]-11+x[6]*x[7]/x[8]-10;   
if (problem != 66) {
    x = [];
    testnum();
  } else {
    document.write('
solution '+ solution +': '+x[0]+''+additi+'13'+ multipli +''+ x[1] +''+ divisi +''+ x[2] +''+ additi +''+ x[3] +''+ additi +'12'+ multipli +''+ x[4] +''+ soustracti +''+ x[5] +''+ soustracti +' 11 '+ additi +''+ x[6]+'' + multipli +''+ x[7] +'' + divisi +''+ x[8] +''+ soustracti +' 10 = 66 '); solution++; x = []; testnum(); } }

On veut essayer de trouver plusieurs solutions (20).
Quand une solution est trouvée il suffit d'incrémenter la variable "solution" sinon la boucle ne s'arrêtera jamais.
Quand une solution n'est pas bonne on efface le contenu du tableau "x" et on fait appel à notre fonction testnum() qui va le remplir a nouveau avec des valeurs fraîchement générées


x = [];
testnum();

Et voilà , c'est tout ! Le reste c'est pour faire joli, d'ailleurs vous pouvez voir ce que ça donne ici : démo

Lire la suite
Fév 08

Charger des scripts et des CSS spécifiques dans n'importe quelle page sur Joomla

En ce moment il semblerait que pour l'habillage d'un site internet la mode soit aux designs épurés, lisses , plats, propres. Mais quand on essaye de voir ce qui se cache au delà de l'apparence (clique droit > afficher la source) il arrive que l'on s’aperçoive que la propreté ait été oubliée côté code!

Vous êtes sûrement déjà tombé sur ce genre de site : une grosses entête avec une photo haute définition en fond, pas mal d'informations voire toutes les informations sur la page d'accueil, des animations quand on déroule la page, des effets spéciaux au survole de images avec la souris, bref bien souvent pas mal de javascript et de CSS pour afficher tout ça.

Je ne suis pas contre le javascript bien au contraire, mais le problème avec ces scripts et ces fichiers CSS qui sont chargés dans nos pages c'est que bien souvent seulement la moitié est réellement utilisée dans le document affiché, le reste n'a aucune utilité...et donc....ne devrait pas être chargé!

Avec Joomla, mais c'est également le cas pour la plupart des CMS (Wordpress y compris!) il est difficile de bien contrôler ce qui se charge dans chaque page et quand on à besoin d'un fichier CSS ou Javascript supplémentaire quelque part, la solution pour beaucoup de personnes est d'éditer directement les fichiers du thème du site (le template). Quand ça ne créé pas de conflit avec d'autres scripts ça marche! Mais c'est plutôt moche et vraiment pas l'idéal quand on tient à optimiser son site pour les moteurs de recherche.

Voici donc , pour remédier à ce problème sur Joomla, une solution simple et efficace. Il s'agit du plugin Headtag que vous pouvez télécharger sur le site de son créateur. HeadTag permet d'ajouter des lignes dans la partie <head> d'une page sur Joomla. C'est donc très pratique pour ajouter des scripts, des fichiers CSS ou bien des meta tags particuliers sur n'importe quelle page.

 

Lire la suite
Fév 03

Animation avec Adobe Edge Animate

Une animation pour vous souhaiter une bonne année 2015. (à voir ici)
La musique provient d'un superbe musicdisk créé par Razor 1911 (http://www.pouet.net/prod.php?which=7989)

Lire la suite
Nov 17

Un petit outil pour supprimer les commentaires HTML

"Outil" est peut être un bien grand mot pour cette petite fonction en javascript, mais quoiqu'il en soit cela m'est parfois bien pratique pour supprimer les commentaires HTML de  certains fichiers.

Pour l'utiliser c'est simple : copiez votre code , collez le dans la zone de texte et cliquez sur "nettoyer".

Mon petit outil n'a donc qu'une fonction : effacer les commentaires HTML. Il ne fait rien d'autre! Il ne va pas modifier votre code, ni le compresser ni l'améliorer ni quoique ce soit dans le genre.

  • fonctionne très bien avec Firefox et Chrome (je n'ai pas testé sur d'autres navigateurs)
  • marche aussi avec le code PHP (toujours pour supprimer les commentaires HTML <!-- example -->)
  • supprime les commentaires sur plusieurs lignes



Lire la suite
Nov 11

Here is how to reset Twonky Media Server trial period

If just like me you spent a while figuring out how you could install Twonky Media Server on your old NAS DLINK DNS320 to finally realize that this version of Twonky Media Server isn't a free one but a trial about to expire, well then hold on before trashing your NAS!

I found a solution to reset the trial period of this Twonky software. I am not going to write a book about it so here it is you can download it here: Twonky trial reset

It's not really a crack, well it's not a crack at all , basically it's just a poor HTML page with links to some Remote Procedure Calls (RPC). Before clicking on the reset link you must be logged in to the administration interface of your Twonky server.

After clicking the reset link you should see a blank page and then that's it, you have a brand new trial version (which you can of course reset again and again as long as you wish)

Ma solution pour remettre à zéro la période d'évaluation du logiciel Twonky Media Server à télécharger ici: Remise à 0 Twonky

 

Enjoy!

Lire la suite
Mai 08

Quel est le nombre maximal de caractères qu'une adresse URL peur contenir ?

C'était la question que je me posais aujourd'hui.

Bien que le protocole HTTP ne spécifie pas de longueur maximale nos logiciels de navigation ou certaines configurations de serveur imposent quand même quelques limites.

 

Du coté des navigateurs il semblerait qu'internet explorer soit le plus strict en affichant un message d'erreur si l'URL dépasse 2083 caractères.

Firefox et Opéra quand à eux supportent des adresses URL beaucoup plus longues. Même si il ne devrait pas exister de telles adresses, ces navigateurs peuvent gérer une longueur de plus de 100 000 caractères!

 

En conclusion, quelle est la limite à ne pas franchir ?


Il n'existe donc pas de standard définissant de limite particulière, mais sachant qu'Internet Explorer impose une limite de 2083 caractères on peut dire que 2083 est à ne pas dépasser. En rêgle générale il est souvent plus intéressant de simplifier les choses. Si vous vous retrouvez avec des adresses de plus de 1000 caractères c'est qu'il y doit y avoir un problème quelque part.

Lire la suite
Mai 08

Test et destruction de mon AR.Drone 2 au dessus de Vesoul

J'ai récemment fait l'acquisition d'un drone (AR DRONE 2) mais comme j'ai été obligé de passer ces 2 derniers mois en Asie je n'ai pas vraiment eu l'occasion de m'entrainer à le piloter. A mon retour en France, comme le soleil brillait au dessus le Comté je me suis évidemment empressé de charger les batteries de l'engin ainsi que celles de mon note3 pour m'amuser à droner au dessus de Vesoul et de ses environs.

Mon but était de réaliser une vidéo aérienne de ce que l'on pouvait voir de beau dans ce coin de Haute-Saône afin de la montrer à des amis qui vivent loin d'ici.

Je n'avais jamais fait ce genre de réalisation auparavant et évidemment mes techniques de pilotage n'étaient encore pas tout à fait au point.

Voici donc le résultat :





Pour ceux qui n'auraient pas la patience de regarder jusqu'au bout je vais vous raconter la fin.

Je savais bien que je ne pouvais pas faire cette vidéo sans y inclure une scène se passant au dessus du fameux lac de Vaivre ! J'ai donc trouvé un endroit au bord du lac qui était assez dégagé et tranquille pour décoller. J'ai décollé, j'ai pris un peu d'altitude et je ne sais pas vraiment ce qui c'est passé, peut être un peu trop de vent ou bien un mauvaise connexion wifi, bref, mon drone est parti à toute vitesse vers le milieu du lac, je n'ai suis pas parvenu à le faire revenir. Il s'est écrasé dans l'eau et il à coulé.

Conclusion :

Certes je suis loin d'être un bon pilote et effectivement ce n'est peut être pas une si bonne idée que ça que de faire voler ce genre d'appareil au dessus d'un lac. Mais je pense aussi que ce modèle n'est pas vraiment fiable ! En effet , lors des quelques essaies que j'ai pu réaliser il était assez fréquent que le drone parte d'un coup dans un direction complètement aléatoire sans que je touche aux commandes ou bien qu'il entame une descente affolée pour finalement s'écraser alors qu'il semblait stable en l'air et qu'il n'y avait pas de vent.

 

En bref, les drones de Parrot sont des gadgets assez marrant à programmer et à piloter quand on est débutant mais il ne faut pas espérer réaliser de super productions vidéos avec, ni vouloir prendre trop de risques en survolant des zones un peu plus intéressantes qu'un parquet ou qu’une prairie bien plate.

Lire la suite
Oct 02

Ce que "shantee" signifie.

signification de Shanti ou Shantee

Mon nom de domaine,  Shantee.com (qui se prononce chan'ti ou shanti) peut faire penser au nom d'un spa, du site d'une escort girl, ou encore, pourquoi pas,  à celui d'un groupe de musique  (theshantee.com). Mais au juste, qu'est ce que ça veut dire "shantee" ? Et pourquoi ai-je ainsi baptisé mon site (qui sur lequel, je le rappelle au cas ou vous en douteriez, je n'offre aucun service d'escort mais simplement du développement web et de la création graphique ^^)  ?

La réponse se trouve sur ce lien que je viens de faire figurer en bas de mes pages : A propos de Shantee.
Lire la suite
Sep 25

'ALT' et 'TITLE' sur les balises 'IMG'. Quelles différences ? Lequel est le meilleur pour le SEO?

Les différences entre ALT et TITLES Vous le savez sûrement déjà, mais je vous le rappelle, voici, dans sa forme la plus basique la méthode pour placer une image en HTML :

<img src="/image.png" alt="la description de mon image" />

Vous avez bien sûr remarqué la présence de l'attribut alt="" ? Cet attribut sert (normalement) à décrire l'image. Il s'affiche à la place de l'image quand celle-ci, pour une raison ou une autre ne peut pas le faire (par exemple si l'utilisateur à désactivé leurs affichages, ou en cas de connexion trop lente). Cet attribut peut rester vide (par exemple, dans le cas d'une toute petite image de décoration). Mais il doit quand même figurer à l'intérieur de la balise <img>si l'on veut que son code soit 100% valide.

 
Il est également possible d'affubler notre balise <img> d'un autre attribut : title="Un titre pour l'image". Comme son nom l'indique il sert à donner un titre à l'image et permet d'apporter une information supplémentaire à ceux qui vont la regarder. Oui je mets ces derniers mots en gras car ils expliquent la différence majeure entre ces deux attributs alt et title.
 
La balise alt sera alors plus destinée aux moteurs de recherche (comme MattCutts l'explique ici). Les moteurs comme Google vont donc analyser les informations que contiennent ces attributs (surtout le alt ^^) mais il est inutile et même déconseillé de les remplir de longues listes de mots clés dans l'espoir que cela fasse ressortir votre page en premier sur google. Prenons un exemple concret. Imaginons que je souhaite afficher une image d'un monument que j'aurais visité à Paris, voila comment je remplirais les attributs de ma balise <img>

<img src="/tour-eiffel.jpg" alt="photo de la tour Eiffel à Paris" title="Le plus haut monument de Paris!" />


Dans cette exemple parfait, l'attribut alt rempli bien sa fonction de base. C'est à dire qu'il décrit l'image qui est censée s'afficher. Quand à l'attribut title, il donne un petit plus au visiteur qui viendrait à passer sa souris sur ma photo. Vous remarquerez aussi que dans mon exemple j'ai même optimisé le titre du fichier image. C'est peut être un détail minime, mais avouez que "tour-eiffel.jpg" ça parle plus que "DSC000465.JPG" ou que "image1.jpg".
 

Alors pour conclure , d'entre le "alt" et le "title" lequel est le plus important pour son référencement  ?

 

Le plus important c'est évidemment l'attribut ALT puisque de toute manière il doit intégrer la balise <img> pour qu'on obtienne du HTML valide. C'est aussi l'attribut que les moteurs analyseront en priorité. Bien sûr, si vous souhaitez une optimisation parfaite, il n'y pas de raison de se priver de l'attribut title. Il vous fera perdre 20 secondes de plus à remplir mais dans le travail de SEO mieux vaut avoir le plus possible d'informations pertinentes que pas assez.
 
Oh, une dernière chose ! Avant, il n'y a encore pas si longtemps que ça, quand on passait la souris au dessus d'une image, le contenu de l'attribut alt s'affichait dans une bulle, désormais c'est le contenu de l'attribut title qui à pris cette fonction.
 
Lire la suite