Mozilla a sorti il y a quelque temps BrowserID[1], un système de connexion similaire, simple à mettre en place et peu contraignant pour l'utilisateur puisqu'il suffit de fournir une adresse e-mail valide pour se connecter.
L'intérêt d'un tel système est de permettre aux utilisateurs de se connecter rapidement sans avoir à taper leur mot de passe à chaque fois. De plus, il simplifie pour vous la gestion des comptes et renforce la sécurité de votre site puisque vous n'aurez pas à stocker les mots de passe de vos utilisateurs.
L'autre intérêt de BrowserID, c'est que contrairement aux autres systèmes qui transmettent tout un tas d'information sur l'utilisateur[2], BrowserID n'utilise lui que l'adresse e-mail et ne piste pas l'utilisateur[3].
Ce système est relativement facile à intégrer à un site web. Cependant, sachez qu'il vous faudra quand même de bonnes bases en PHP et en JavaScript. Si ce n'est pas votre cas, sachez qu'il existe tout un tas de plugins pour des CMS comme Drupal, SPIP ou WordPress.
Côté client, il suffit de charger le script include.js[4] et de lier la fonction navigator.id.get au clic du bouton de connexion.
Exemple en JavaScript :
var login, connect, loginBtn;
login = function (assertion) {
"use strict";
if (assertion) {
document.location = "login.php?assertion=" + assertion;
}
};
connect = function () {
"use strict";
navigator.id.get(login);
};
loginBtn = document.getElementById("login");
if (loginBtn.addEventListener) {
loginBtn.addEventListener("click", connect, false);
} else if (loginBtn.attachEvent) {
loginBtn.attachEvent("onclick", connect);
}
Exemple avec jQuery :
/*global $*/
var login, connect;
login = function (assertion) {
"use strict";
if (assertion) {
document.location = "login.php?assertion=" + assertion;
}
};
connect = function () {
"use strict";
navigator.id.get(login);
};
$(".loginBtn").bind("click", connect);
Quand l'utilisateur cliquera sur le bouton, une fenêtre va s'ouvrir et lui demander d'entrer son adresse e-mail.
Si c'est la première fois qu'il utilise BrowserID, il devra la valider (en cliquant sur un lien dans un mail) et sinon, il pourra se connecter directement.
Une fois que l'utilisateur a validé sa connexion, le script envoie une assertion (un hash contenant les informations de connexion) à la page indiquée (login.php dans l'exemple ci-dessus).
Il faut donc récupérer cette assertion côté serveur et la renvoyer au serveur de BrowserID qui va vérifier qu'elle est valide.
L'assertion doit être envoyée à https://browserid.org/verify avec une requête POST. Le serveur renvoie ensuite un objet JSON contenant l'adresse e-mail de l’utilisateur et l'état de la connexion.
Exemple en PHP avec curl :
$url = "https://browserid.org/verify";
$curl = curl_init($url);
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt(
$curl, CURLOPT_POSTFIELDS, "assertion=".strval(
$_GET["assertion"]
)."&audience=".$_SERVER["HTTP_HOST"]
);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$response=json_decode(strval(curl_exec($curl)));
curl_close($curl);
if ($response->status==="okay") {
//C'est bon
echo "Vous êtes connecté en tant que ".$response->email.".";
} else {
//C'est pas bon
echo "Erreur : ".$response->reason;
}
Exemple avec jQuery :
/*global $*/
function login(assertion) {
"use strict";
$.ajax({
type: "POST",
url: "https://browserid.org/verify",
data: {
assertion: assertion
},
success: function (res) {
var response = JSON.parse(res);
if (response.status === "okay") {
alert(response.email);
} else {
alert("Erreur : " + response.reason);
}
}
});
}
Et voilà, c'est tout. Si le statut est okay, vous n'avez plus qu'à ouvrir une session pour le compte qui utilise cette adresse e-mail.
Vous trouverez ici une petite démonstration qui montre comment se passe la connexion. (Le code de la démo est disponible sur le serveur SVN de StrasWeb.)
[1] Le projet est en train d'être renommé Persona, plus d'informations ici.
[2] Par exemple, Facebook Connect transmet toute une partie des informations du profil Facebook (nom, sexe, photo, liste d'amis, etc.) à chaque site auquel vous vous connectez.
[3] Pour l'instant, l'adresse e-mail et le domaine sont transmis à browserid.org à chaque connexion, mais, à terme, le système devrait être décentralisé.
[4] Le système est implémenté en JavaScript mais il est prévu à terme de l'implémenter directement dans Firefox.
Changements spécifiques à SeaMonkey
- Le nom de domaine est désormais mis en évidence par défaut dans la barre d’adresse, configurable dans les préférences.
- Le nombre d’onglets à restaurer en même temps peut désormais être configuré dans les préférences.
- Les boîtes de dialogue d’authentification des nom d’utilisateur et mot de passe des groupes de discussion ont été combinées et montrent désormais pour quel serveur est l’invite.
Changements de la plateforme Mozilla
- La version minimum supportée de Windows est désormais XP SP2, le support de Windows 2000 a été abandonné.
- Le protocole SPDY est désormais activé par défaut pour une navigation plus rapide sur les sites supportés.
- La propriété CSS column-fill a été implémentée.
- Le support expérimental des objets ECMAScript 6 Map et Set a été implémenté.
- Le support de la syntaxe étendue de la propriété CSS3 background-position a été ajouté.
- La pseudo-classe :invalid peut désormais être appliquée à l’élément
<form>.- L’unité CSS d’<angle>
turnest désormais supportée.- Correction de plusieurs problèmes de stabilité.
La page des nouveautés dans SeaMonkey 2.10 des notes de diffusion mentionnent d’autres corrections de bogues intéressantes propres à SeaMonkey. Pour davantage de renseignements sur les bogues corrigés et les nouveautés de ce train de sorties, voir la liste de bogues corrigés dans Firefox 13.0 et les notes de diffusion de Thunderbird 13.0 (changements majeurs uniquement).
SeaMonkey 2.10 bêta 1 est disponible en maintenant 26 langues dont toujours le français, gratuitement et librement pour Windows, Mac OS X et Linux.
—
© 2010-2012 Mozinet - Ce billet a été publié sur BlogZiNet.
]]>Raphael est une bibliothèque créée par Dmitry Baranovskiy qui fait partie des Sencha Labs.
L'objectif de cette bibliothèque est de simplifier l'usage du dessin vectoriel sur le Web. Raphael s'appuie sur le standard SVG du W3C (qui est très bien supporté par tous les navigateurs modernes) et utilise le langage VML de Microsoft pour pouvoir supporter les vieilles versions d'Internet Explorer. Elle essaye également d'harmoniser certains problèmes d’implémentation de SVG comme les animations SVG. En conséquence, Raphael est une excellente couche d'abstraction pour produire des dessins vectoriels qui déchirent sur le Web.
Cette bibliothèque dispose d'une excellente documentation agrémentée de nombreux exemples, n'hésitez pas à l'utiliser de manière intensive.
L'exemple suivant va permettre de dessiner un simple cercle rouge à l’intérieur de l'élément HTML ayant l'identifiant "myPaper".
// Cet exemple crée une zone de dessin
// de 100px de large par 100px de haut.
// Cette zone est créée dans le coin haut/gauche
// de l'élément #myPaper (ou le coin haut/droit
// si l'élément a l'attribut dir="rtl")
var paper = Raphael("myPaper", 100, 100);
// Le cercle aura un rayon de 40
// et son centre sera aux coordonnées 50,50
var c = paper.circle(50, 50, 40);
// Le cercle sera rempli en rouge
// Notez que le nom des propriétés du
// cercle suit la recommandation SVG
c.attr({
fill: "#900"
});
En dépit du fait que Raphael limite les possibilités offertes par SVG (principalement à cause des limites intrinsèques du langage VML) il permet de faire des trucs assez avancés :
Raphael dispose également d'un système d'extensions qui vous permet de créer vos propre méthodes personnalisées.
Par exemple, voici une extension qui permet de créer des camemberts :
/**
* Pie method
*
* cx: Position en x du centre de rotation
* cy: Position en y du centre de rotation
* r : rayon
* a1: angle (en degrés) du début du camembert
* a2: angle (en degrés) de la fin du camembert
*/
Raphael.fn.pie = function (cx, cy, r, a1, a2) {
var d, flag = (a2 - a1) > 180;
a1 = (a1 % 360) * Math.PI / 180;
a2 = (a2 % 360) * Math.PI / 180;
d = [
// Placement de l'axe de rotation
"M", cx, cy,
// Déplacement jusqu'au début la courbe
"l", r * Math.cos(a1), r * Math.sin(a1),
// Dessin de la courbe
"A", r, r, "0", +flag, "1",
cx + r * Math.cos(a2), cy + r * Math.sin(a2),
// Fermeture du chemin
"z"
];
return this.path(d.join(' '));
};
Vous remarquerez dans cet exemple qu'il est nécessaire d'être familier avec la syntaxe des chemins SVG (Raphael fera la conversion vers VML de manière transparente) mais une fois que c'est fait, vous pouvez l'utiliser comme n'importe quelle autre primitive disponible dans Raphael. Vous pouvez voir cette extension à l’œuvre sur jsFiddle :
Si vous n'êtes pas familier avec SVG ou si vous souhaitez supporter les vieilles versions d'Internet Explorer, cet outil est fait pour vous. Cependant, il s'agit d'une bibliothèque JavaScript ce qui signifie que vous devez connaître ce langage pour pouvoir vous en servir. De même, vous ne pouvez pas directement écrire du SVG et demander à Raphael de le parser et de l'interpréter (il existe d'autres bibliothèques pour ça).
Du point de vue du support navigateur, Raphael dispose d'un large éventail. Il supporte Firefox 3.0+, Safari 3.0+, Chrome 5.0+, Opera 9.5+ et Internet Explorer 6.0+.
En fait, le seul navigateur qui ne puisse pas bénéficier de Raphael est le navigateur natif pour Android 1.x et 2.x (ainsi bien sur que certains navigateurs pour "feature phone"). Cela vient du fait que ces navigateurs ne supportent aucune technologie de dessin vectoriel. Android ne commence à supporter (partiellement) SVG qu'à partir d'Android 3.0. Faites donc attention si vous prévoyez de travailler avec des terminaux mobiles.
Raphael est la première bibliothèque qui a permis aux développeurs et designers Web d'utiliser largement SVG. Si vous voulez créer de belles applications sans vous plonger dans l'API DOM de SVG ou si vous avez une contrainte liée au support de vieux navigateurs, cette bibliothèque vous offrira de nombreuses possibilités.
Pour finir, voici quelques exemples d'utilisation assez cools de Raphael:
]]>
Décidément, quel talent ! Après le beanie, Janet Swisher a tricoté un nouveau bonnet charmant : un passe-montagne en forme de dinosaure Mozilla.
Bonjour Janet, et bravo !
Once again, what an impressive talent! After the beanie, Janet Swisher has knitted another lovely hat: a Mozilla-dinosaur shaped balaclava.
Bonjour Janet, and bravo!
]]>Le projet d’amélioration, connu sous le nom de « In Content Preferences », bien qu’encore incomplet est disponible sur les versions nocturnes à compter du 10 mai 2012. Cette page web décrit les détails techniques de cet ajout et sa conception, même s’il reste du travail avant que le code ne soit disponible pour le grand public.
Si vous êtes curieux et vous voulez voir de vos propres yeux cette nouvelle interface, il suffit d’avoir une version nocturne récente, et d’entrer : « about:config » (sans les guillemets) dans la barre d’adresses.
Ensuite, il faut mettre sur « true » la valeur : browser.preferences.inContent
Voici une petite vidéo qui montre la nouvelle présentation des options / préférences.
J’avoue que cela est intéressant de voir un tel changement, surtout quand on utilise des environnements de bureau comme KDE, Gnome Shell qui propose des interfaces ressemblantes. A creuser donc
Nous avons le plaisir d'annoncer le lancement du projet Up for Grab. L'idée est toute simple : il y a de nombreuses fonctionnalités que nous aimerions voir implémentées dans Thunderbird mais nous manquons cruellement de ressources pour les développer. Nous avons donc décidé d'ouvrir un espace commun, où n'importe qui peut aller piocher un sujet et le développer. Vous allez ainsi avoir l'opportunité de travailler directement avec les personnes clés de l'équipe Thunderbird qui vous guideront et vous soutiendront tout au long du développement.
Et vous savez quoi ? Ce n'est pas réservé aux développeurs. Tout le monde peut contribuer en fonction de ses propres atouts : conception d'interface, localisation, contrôle de la qualité, test, rédaction de documentation... C'est votre chance d'apporter votre pierre à l'édifice et de faire avancer Thunderbird.
Si vous avez toujours rêvé de contribuer au projet et que vous ne saviez pas comment l'aborder, c'est votre chance. Saisissez-la !
]]>
(Photo : Hubert Gajewski)
Trop la classe ! La communauté Mozilla en Pologne vient d’élire son nouveau bureau, et comme vous pouvez le constater, il est composé au deux tiers de femmes ! De gauche à droite : Sara Prussak, Bartosz Piec, et Joanna Mazgaj, l’un des membres émérites de WoMoz, qui a tenu à signaler ce fait d’armes. Bravo donc à la Pologne pour nous montrer la voie ! Longue vie à ce nouveau bureau, et à la communauté Mozilla Pologne qui compte une vingtaine de personnes, dont plusieurs sont également membres de WoMoz. Bonjour Mozilla ne manquera pas de vous présenter, séparément, certains de ses membres.
Bonjour la Pologne !
So cool! The Mozilla Polish community has just elected its new board members, and as you can see, it consists in two thirds of women! From left to right: Sara Prussak, Bartosz Piec, and Joanna Mazgaj, an experienced WoMoz member, wished to point out that this feat of battle. Congratulation to Poland for showing us the way! Long live the new office, and the Polish Mozilla community and its score of people, many of whom are also members of WoMoz. Bonjour Mozilla will take care to present, individually, some of its members.
Bonjour Poland!
]]>
Mais qu’ils sont beaux ! Bonjour Mozilla leur décerne officiellement le titre de Mariés de l’Année ! Ludovic et Zola sont désormais mari et femme, et cela leur va bien ! Tous nos vœux de bonheur à ce merveilleux couple !
Bonjour les mariés !
Aren’t they beautiful? Bonjour Mozilla officially award them the title of Bride and Groom of the Year! Ludovic and Zola are now man and wife, and it suits them very well! Our best wishes to this wonderful couple!
Bonjour married couple!
]]>Quand nous rencontrons et parlons aux gens, il y a souvent des questions sur Firefox, sur comment le calendrier de sorties fonctionne et quels sont nos différents canaux pour les tests. Par conséquent, je tiens à vous les présenter/rappeler et vous permettre également de savoir où les tests sont les plus important, à la fois pour vous et pour nous.
Fondamentalement, nous avons quatre différents canaux de version de Firefox :
Contenu de l’image :
Le processus de sorties de Mozilla délivre aux utilisateurs les nouvelles fonctionnalités, les améliorations de performance et les mises à niveau de sécurité toutes les six semaines. Il est composé de quatre canaux de développement produisant des versions simultanées de Firefox pour Windows, Mac, Linux et Android.
Firefox est publié sur un calendrier de six semaines, ce qui signifie que toutes les six semaines il y aura de nouvelles versions de Firefox Release, Firefox Beta et Firefox Aurora. Nightly est, naturellement, publié toutes les nuits.
Il y a de nombreuses façons différentes d’exécuter plusieurs versions de Firefox en même temps. Toutes se résument en installer les différents profils que vous avez pour chaque instance du navigateur Web. La méthode la plus simple est probablement d’utiliser le Gestionnaire de profils tel que décrit sur MDN.
Si vous êtes sur Mac OS X, il est facile d’utiliser la version automatisée de l’installation de plusieurs profils de Firefox.
Une autre possibilité, en code brut et comme décrit dans Plusieurs instances de Firefox, est de lancer le gestionnaire de profils directement :
# Sur Windows cliquez sur Démarrer > Exécuter puis : "C:\Program Files\Mozilla Firefox\firefox.exe" -no-remote -ProfileManager # Mac OS X et Linux, dans le Terminal firefox -ProfileManager # En fonction du système/de l'installation, vous pourriez avoir besoin de faire ceci à partir du répertoire ./firefox -ProfileManager
La version de Firefox qui est la meilleure version à tester pour les développeurs Web est Firefox Aurora. Il est dans un état assez stable pour être utilisé, mais dispose également de fonctionnalités à leur dernière étape avant qu’elles ne soient approuvées. Par conséquent, vos chances d’affecter les implémentations, de trouver des bogues, d’améliorer les fonctionnalités est quand il est devenu Firefox Aurora – de même, il nous donne une meilleure chance de faire en sorte que lorsque Firefox sera officiellement sorti, toutes les choses seront en place de la meilleure manière possible.
Par conséquent, veuillez prendre le temps de tester Firefox Aurora et les nouvelles fonctionnalités, afin que nous puissions, ensemble, aider Firefox et rendre le Web meilleur !
Le document original et cette traduction sont soumis aux conditions de la licence
Creative Commons : « Paternité – Partage des conditions initiales à l’identique 3.0 »
ou toute version postérieure.
Voir aussi sur BlogZiNet : Travailler avec plusieurs Firefox simultanément.
—
© 2010-2012 Mozinet - Ce billet a été publié sur BlogZiNet.
]]>Monitor Master(1) est simple et efficace. En un clic, vous pouvez (2) :
Déplacer un onglet ou ouvrir un lien dans un autre moniteur

Les petits symboles pour sélectionner un moniteur
Davantage encore pour très bientôt
Dans la version courante seuls deux moniteurs sont possibles, la version 2.0 qui n'attend plus que sa validation sur AMO pourra gérer un un plus grand nombre de moniteurs. En téléchargeant la version d'aujourd'hui la mise à jour vous sera automatiquement proposée par le site officiel.
Mais euh c'est en anglais tout ça ?
Ben oui, mais vous avez un moyen facile et utile pour tous de contribuer à la diffusion de cette extension, inscrivez-vous sur BabelZilla et traduisez-la en ligne ici (26 courtes lignes seulement)
