PROJET AUTOBLOG


bfontaine.net

Site original : bfontaine.net

⇐ retour index

Mise à jour

Mise à jour de la base de données, veuillez patienter...

Mot de passe oublié ?

dimanche 3 juillet 2011 à 13:04

La quasi-totalité des sites proposant demandant une identification proposent une procédure pour les étourdis (Quora n'en propose pas, par exemple). Il en existe plusieurs sortes, que l'on peut lister ici:

La classique

La procédure classique consiste à renvoyer le (nouveau) mot de passe par e-mail. La méthode la moins sécurisée envoie le mot de passe actuel par e-mail, ce qui implique que les mots de passe sont stockés en clair dans la base de données. Grave erreur ! Si un pirate arrivait à récupérer tout ou une partie de cette base de données, c'en est fini pour vous. Une méthode plus sécurisée consiste à chiffrer les mots de passe dans la base de données (md5, sha1, etc), et à en re-générer un qui sera envoyé par e-mail.

Le problème de cette procédure, c'est que si la boîte mail de l'utilisateur a été piratée ou simplement si quelqu'un d'autre y a accès, la personne tier pourra voir le nouveau mot de passe.

L'originale

Une procédure plus originale consiste à envoyer le nouveau mot de passe par sms. La plupart des opérateurs mobiles le permettent, ainsi que des sites comme Ankama ou Multiwizz. Elle a ses inconvénients: l'utilisateur doit accepter de fournir son numéro de téléphone portable, et l'envoi du sms a un coût. Il est possible d'envoyer des sms via l'API de certains hébergeurs (OVH le permet, tandis que 1&1 propose une interface d'administration mais pas d'API). Il existe également des offres extérieures (TM4B, par exemple). Les tarifs varient entre 0.08€ et 0.12€ généralement, mais peuvent atteindre 0.20€ (HT) en fonction du prestataire et de la quantité que vous commandez.

L'avantage de cette procédure, c'est qu'elle est plus sécurisée que la précédente, mais elle est payante.

La sécurisée

La procédure la plus sécurisée est l'envoi d'un courrier, mais elle est également la plus longue et la plus coûteuse. Elle est à réserver pour des sites web où la sécurité doit être élevée (sites de banques, par exemple). Free l'utilise en cas d'oubli de mot de passe pour les pages persos.

L'intégrée

La procédure intégrée permet de réinitialiser son mot de passe directement sur le site concernée. C'est la plus simple pour l'utilisateur, mais le plus dur est de s'assurer que c'est bien le propriétaire du compte qui fait la demande de réinitialisation. Il est possible, par exemple, de demander la réponse à une ou plusieurs questions secrètes qui auront été définies à l'inscription. On peut également poser des questions sur des champs cachés du profil, que seul l'auteur connaît. Lorsque l'on tente de se connecter à Facebook depuis un autre pays, celui-ci effectue une vérification d'identité via les photos des amis du compte; il présente une photo avec trois possibilités, et demande de choisir le nom de celui ou celle qui est représenté(e) sur la photo. Certains sites de MMORPG proposent d'envoyer un scan d'une carte d'identité pour confirmer que l'on est bien le propriétaire du compte. Cette dernière méthode est lourde à gérer autant du côté utilisateur qu'administrateur.

Si l'on est sûr de pouvoir identifier le propriétaire d'un compte de façon automatique sans se tromper, cette procédure est la plus intéressante.

La personnalisée

La procédure personnalisée consiste à contacter un responsable du site. Elle se rapproche de la précédente, car la seule tâche du responsable sera de déterminer si la personne qui l'a contacté peut prouver qu'elle est bien propriétaire du compte. Cette procédure reste extrêmement rare, puisqu'elle demande des moyens humains adaptés à l'audience du site, et peut être remplacée par l'une des précédentes.


À mon sens, la meilleure procédure est l'intégrée, ou alors un mélange de plusieurs procédures, comme l'e-mail et le sms, avec un message à l'administrateur si vraiment cela ne marche pas. Mais aucune des procédure n'est adaptée à 100% des cas.

[Tuto] Un bouton Twitter animé 100% CSS3

lundi 27 juin 2011 à 10:42

Aujourd'hui, je vous propose de réaliser un bouton Twitter animé en CSS3, similaire à celui présent en bas à gauche de ma page d'accueil.

On aura besoin pour cela:

On commence par écrire la structure en HTML; On utilisera un <div> contenant deux paragraphes:

<div id="twitter">
    <p class="logo">
        <a href="http://twitter.com/#!/pseudo" title="pseudo sur Twitter">
            <abbr title="Twitter">t</abbr>
        </a>
    </p>
    <p class="name">
        <a href="http://twitter.com/#!/pseudo" title="pseudo sur Twitter">@pseudo</a>
    </p>
</div>

La présence d'une balise <abbr> permet de rendre ce "t" plus compréhensible. J'utilise la balise <p> car je veux désigner deux (petits) blocs de texte, c'est donc la balise la plus appropriée. J'utilise les classes logo et name pour pouvoir adapter ce type de bouton à d'autres applications. Ainsi, il me suffira d'utiliser la même structure avec ces classes-là pour obtenir le même comportement.

En haut de notre feuille de style (ou tout au moins avant la stylisation de notre bouton), on importe la police Picowa avec @font-face, qui fonctionne de la façon suivante:

@font-face {
    font-family: "Le Nom que je veux utiliser";
    src: url('le chemin vers ma police/picowa.TTF');
}

Ici, on a donc:

@font-face {
    font-family: "Picowa";
    src: url('.../picowa.TTF');
}

On ajoute également une précision pour annuler un comportement de Firefox qui consiste à ajouter une bordure en pointillés en dessous des abréviations:

abbr[title] {border-bottom:none}

On donne une taille à notre bouton, qui sera de 40x40 pixels:

#twitter {
    height:40px;
    width:40px;
    overflow:visible;
    padding:0px;
    pdisplay:inline-block;
    margin:5px;
}

On normalise les liens, et on passe les paragraphes en position relative:

#twitter a,
#twitter a:visited {
    color:inherit;
    text-decoration:inherit;
}
#twitter > .logo a {
    cursor:inherit;
}
#twitter > p {
    position:relative;
}

On s'attaque au logo:

Il sera blanc sur fond bleu ciel, de taille 2em, centré, avec une bordure arrondie, et, surtout, en police Picowa:

#twitter > .logo {
    color:white;
    font-size:2em;
    font-family:"Picowa", verdana;
    background-color:#abcdef;
    padding:4px;
    margin:0px;
    height:100%;
    width:38px;
    text-align:center;
    vertical-align:middle;
    border-radius:6px;

J'utilise la police Verdana au cas où la propriété @font-face ne serait pas supportée. Je précise également un z-index de 2, de façon à pouvoir cacher mon nom derrière, qui sortira sur la droite lorsqu'on passera la souris sur le logo. Enfin, je souhaite que le curseur ne trahisse pas la présence du lien (qui n'est là que pour les interfaces tactiles), et de l'ombre portée:

    z-index:2;
    cursor:default;
    box-shadow:5px 5px 10px #bcdeff inset;
}

Par soucis de lisibilité, je n'écris pas les propriétés avec les préfixes de navigateur. Notre bouton a maintenant l'apparence suivante:

Bouton twitter

On s'attaque ensuite à l'affichage du pseudo: J'utilise la police Georgia, sur un fond jaune clair, en gras, avec le texte aligné à droite:

#twitter > .name {
    font-family: georgia, serif;
    background-color:#ffd;
    font-weight:bold;
    text-align:right;

Ici, je souhaite que, par défaut, mon pseudo reste caché, donc je précise un z-index à 1, et des dimensions adaptées. De plus, je souhaite qu'ici, le curseur montre bien la présence d'un lien:

    margin:0px 5px 0px 0px;
    padding:6px 5px 4px 4px;
    top:-42px;
    height:24px;
    left:15px;
    width:10px;
    overflow:hidden;
    z-index:1;
    cursor:pointer;

Enfin, j'ajoute des bordures arrondies et un dégradé gris sur les bords:

    border-top:2px solid lightgray;
    border-right:2px solid lightgray;
    border-bottom:2px solid lightgray;
    border-top-right-radius:4px;
    border-bottom-right-radius:4px;
    box-shadow:0px 0px 2px #aaa inset;
}

Visuellement, rien n'a changé puisque le second bloc est caché sous le premier. On va faire en sorte qu'on le voit lorsque l'on passe la souris dessus:

#twitter:hover > .name {
    width:88px;
    left:33px;
}

Ces deux valeurs sont à modifier en fonction de la longueur de votre pseudo. Maintenant, lorsque l'on passe la souris sur le logo, voici ce qu'on peut voir:

Bouton Twitter avec pseudo

Afin de rendre notre bouton plus agréable, on va y ajouter des animations: lorsque l'on passera la souris sur le logo, celui-ci pivotera de 90° puis le pseudo sortira:

#twitter:hover > .logo {
    transform:rotate(-90deg);
}

Soyons précis: lorsque je passe la souris sur le logo, celui-ci pivote de 90° en 0.2 secondes, puis (soit 0.2 secondes après le passage de la souris) le pseudo sort en 0.2 secondes. Ensuite, lorsque je retire la souris, le pseudo se cache en 0.2 secondes, puis (soit 0.2 secondes après que j'eû retiré la souris) le logo retourne à sa position normale en 0.2 secondes. Ceci me permet de regrouper les propriétés CSS.

D'une part, les transitions immédiates:

#twitter:hover > .logo,
#twitter > .name {
    transition:all 0.2s ease-in-out;
}

De l'autre, celles avec un délai de 0.2 secondes:

#twitter > .logo,
#twitter:hover > .name {
    transition:all 0.2s 0.2s ease-in-out;
}

Voilà le résultat avec les préfixes de navigateurs:

Bouton Twitter: évolution

N'hésitez pas à copiez tout ou une partie de la feuille de style, et à adapter cet exemple à vos goûts.

iTunes: Destination cadeaux

jeudi 23 juin 2011 à 14:52

Chaque semaine, iTunes offre un single gratuitement, disponible au téléchargement du mardi au mardi de la semaine suivante. Cette semaine, pas de single, mais une sélection de cadeaux pour l'opération "Destination cadeaux". Pour fêter l'arrivée de l'été, iTunes offre donc un album, Summer Hits, qui, comme son nom ne l'indique pas, comprend 4 morceaux sans grand intérêt (Christophe Maé, Shy'm, Judith (qui ?), Grégoire), et un clip de James Blunt. Côté application, Paris Match, Jack et le Haricot magique (pour les enfants) et le jeu Babel Rising (Dans lequel vous incarnez un Dieu qui tente d'empêcher des humains de construire une tour de Babel). Des eBooks sont également offerts, un guide de l'Italie (Édité chez Petit Futé), un livre pour enfants (Histoires pour tous les soirs) et un roman, Légende, de David Gemmel. Les eBooks sont uniquement lisibles via l'application iBooks, sur iPad, iPhone et iPod Touch, comme les applications. Inutile de les télécharger si vous ne possédez aucun de ces appareils. Enfin, deux épisodes de séries, le pilote de The Mentalist, et le premier épisode de Vampire Diaries, tous deux uniquement en version française (pas de VOST).

Pour profiter de ces cadeaux, c'est par ici: Destination cadeaux.