PROJET AUTOBLOG


Planet-Libre

source: Planet-Libre

⇐ retour index

mozillaZine-fr : Microsoft profiterait de Windows 10 pour éliminer Firefox

vendredi 31 juillet 2015 à 09:18

Windows 10 vs FirefoxVous n’êtes pas sans savoir que Windows 10 débarque cette semaine sur les PC des utilisateurs de Windows 7 et 8. Lors de cette mise à jour, le choix des utilisateurs qui préfèrent Firefox serait ignoré au profit de Edge, le nouveau navigateur de Microsoft. De plus, la manipulation à effectuer pour retrouver son choix de Firefox par défaut ne serait pas évidente pour tous les utilisateurs. C’est en tout cas ce dont se plaint le PDG de Mozilla, Chris Beard, dans une lettre ouverte à Microsoft qu’il a publiée hier sur le blog de la fondation. On se croirait revenu à l’époque de la guerre Netscape 4 Internet Explorer 4 !

Gravatar de mozillaZine-fr
Original post of mozillaZine-fr.Votez pour ce billet sur Planet Libre.

Articles similaires

Carl Chenet : Liens intéressants Journal Du Hacker semaine #31

vendredi 31 juillet 2015 à 00:00

Suivez-moi aussi sur Diaspora*diaspora-banner ou Twitter  ou sur Identi.ca

logo-journal-du-hacker

Pour cette 31ème semaine de 2015, 5 liens intéressants que vous avez peut-être ratés, relayés cette semaine par le Journal Du Hacker, votre source d’informations pour le Logiciel Libre francophone !

docker

owncloud

Pour ne plus rater aucun article de la communauté francophone, voici :

De plus le site web du Journal Du Hacker est « adaptatif (responsive) ». N’hésitez pas à le consulter depuis votre smartphone ou votre tablette !

Le Journal Du Hacker fonctionne de manière collaborative, grâce à la participation de ses membres. Rejoignez-nous pour proposer vos contenus à partager avec la communauté du Logiciel Libre francophone et faire connaître vos projets.

Et vous ? Qu’avez-vous pensé de ces articles ? N’hésitez pas à réagir directement dans les commentaires de l’article sur le Journal Du Hacker ou bien dans les commentaires de ce billet :)


Gravatar de Carl Chenet
Original post of Carl Chenet.Votez pour ce billet sur Planet Libre.

Loutre.ch : Et si on utilisait Drupal uniquement comme Backend ?

jeudi 30 juillet 2015 à 16:00
Drupal et Angular (bannière)

Le monde du développement web est de plus en plus compliqué avec des nouvelles technologies qui sortent toutes les semaines quasiment. Ceci est un billet avant tout de réflexion, qui traite des notions de frontend et de backend, de Drupal, de webservices, de méthodes de travail. Comment est-ce qu’on pourrait faire mieux ? Est-ce qu’on peut coupler la facilité de Drupal et les performances, par exemple, d’AngularJS ?

Backend et Frontend

On va commencer par une petite explication préliminaire simplifiée sur les notions de frontend et de backend.

Par backend, on entend le ou les systèmes permettant de traiter, de récupérer et de sauvegarder des informations dans une base de données. Il n’y a souvent pas d’interface prévue pour l’humain dans ce cas, mais la sortie est adaptée pour le frontend.

Par frontend, on entend le fait d’afficher ces mêmes données à un utilisateur d’un site, mais aussi de lui permettre d’intéragir avec. Il est possible d’avoir un frontend pour ajouter du contenu. C’est le frontend qui va faire l’interface entre le backend et l’utilisateur.

Backend et Frontend dans Drupal

Dans Drupal 7, on a tendance à parler de l’admin comme étant le backend : un autre thème, une autre interface, utilisée par les responsables du site pour administrer le site. Le frontend sera utile aux visiteurs du site, car c’est là qu’ils verront le thème “corporate”, les blocs de navigation, le contenu mis en forme et, par exemple, la possibilité d’ajouter des commentaires.

Techniquement, Drupal est construit d’une manière à ne pas séparer complétement le backend et le frontend. Les nuances se situent dans le thème et dans les modules. Les templates (.tpl.php) ainsi que les traditionnels fichiers CSS et JS font partie du frontend, et le backend se situerait dans le fichiers .module - avec ses inclusions - ou dans le fichier template.php dans le cas d’un thème. C’est pas très clair ? Voilà exactement où je veux en venir. Le développement frontend et le développement backend sont deux spécialisations différentes qui ne sont pas séparées complétement dans Drupal.

Ben et Lucie

Dans la suite, notre développeur frontend s’appelle Ben, et notre développeuse backend Lucie.

Ben s’occupe de l’interface, il discute avec les designers pour faire une intégration graphique propre en ordre en utilisant Sass et Less s’il en a la possibilité. Il gére les tailles de fenêtres, et fait du responsive design car il connait les viewport sizes des périphériques mobiles. Il se spécialise dans des framework javascript et connait par coeur les spécifications des navigateurs. Il discute tous les jours avec Lucie pour obtenir les données dans un format qu’il pourra utiliser. Voici un super article (EN) qui met un peu à plat ce que représente Ben fait de nos jours.

Lucie pour sa part aime les algorithmes, sait que MariaDB est un fork de MySQL, connait les avantages de PostgreSQL et est en train de se dire que CouchDB, c’est vachement bien en fait. Elle a étudié le Java et le PHP mais découvre le Javascript coté serveur. Elle utilise des systèmes d’abstraction pour faire des requêtes vers des bases de données, mais en fait pour certaines choses bien précises c’est peut-être mieux de faire sans. Elle déteste le CSS et dit que c’est un truc pour artiste, parce qu’elle, son résultat, elle aime le fournir en JSON dans un service REST (ça sera expliqué par la suite).

La problématique Drupal

Un développeur Drupal est quelqu’un qu’on pourrait qualifier, dans un certain sens, de développeur Full Stack. C’est à dire qu’il fait à la fois du backend et du frontend. Les développeurs Full Stack ne sont parfois pas très bien vus dans la communauté des développeurs car selon certains, ils connaissent trop de choses pour être efficaces dans un domaine bien précis. Mais bon, ceci n’est point le débat. Il est certes possible de faire travailler Ben et Lucie dans le même projet: Ben code ses templates et dans le même dossier, Lucie va programmer la logique dans les fichiers .modules et .inc. C’est théoriquement possible, mais pas du tout efficace, le code de l’un est trop dépendant du code de l’autre, et les deux doivent connaitre Drupal.

Les webservices

Cette dépendance entre le backend et le frontend est bien connue dans le développement web et n’est pas uniquement problématique avec Drupal. Dès qu’on veut construire quelque chose de bien spécifique et de professionnel, il faut commencer à séparer et à organiser son code, et à développer des méthodologies de travail.

La problématique été résolue en partie notamment avec l’apparition des webservices. Il s’agit de méthodes permettant de faire transiter des données d’un système à un autre, d’un serveur à un autre. Le service REST, à la mode aujourd’hui, permet de créer, d’accéder, de modifier et de supprimer des ressources via des requêtes HTTP. Bien souvent, c’est le format JSON (Javascript Object Notation) qui sera utilisé pour transmettre les données afin de simplifier la vie de Ben, qui connait bien le Javascript et pourra utiliser ses données telles quelles sans les modifier.

L’accès au service REST se fera par une URL et un verbe parmi les suivants : POST (ajouter), GET (obtenir), PUT (modifier), DELETE (supprimer). Ils correspondant à l’acronyme CRUD . Le client, dans notre cas le code javascript de Ben, fera par exemple une requête GET sur http://monservicerest.org/clients pour obtenir une liste des clients, techniquement un tableau d’objets javascript. En fonction du code à Lucie, il pourra également ajouter des clients avec un POST, afficher uniquement le client avec l’id 42, afficher uniquement le nom du client avec l’âge du directeur et son repas préféré, etc.

On aura donc Ben et Lucie, en communication sur leurs besoins respectifs bien sûr, mais travaillant de manière autonome sur leurs propres projets. Ils sont indépendants technologiquement, et ça, c’est vraiment trop bien.

Et avec Drupal ?

Comment rendre indépendants Ben et Lucie sur un projet Drupal ? La solution que j’avance ici serait d’utiliser Drupal comme backend uniquement pour l’authentification, la gestion de contenu (types de contenu, taxonomie, etc.), l’administration en général, et d’utiliser… Drupal Services : https://www.drupal.org/project/services. Ce qui est trop beau, c’est que c’est déjà inclus dans Drupal 8 !

Ben sera donc libre d’utiliser le framework de son choix, de créer un frontend digne de ce nom pour ses utilisateurs, complétement indépendant de Drupal. Les administrateurs et les éditeurs de contenu auraient toujours une interface Drupal, parce que bon, c’est tout de même un des points forts de cet outil à mon avis : la gestion du contenu. Lucie n’aura pas à faire de templating ni de CSS, car l’administration de Drupal est déjà faite. Elle n’aura à priori qu’à coder ses modules en toute tranquilité et à exposer le contenu au service REST.

Aller encore plus loin

Les grandes questions qui se posent maintenant sont de savoir si c’est pertinent, si ça a déjà été fait pour des gros projets, ou si le module Services de Drupal n’est fait que pour être utilisé accessoirement à des fins complémentaires.

Cette approche permet une séparation des rôles tout en gardant Drupal comme outil de gestion de contenu. On gagne du temps avec Drupal sur certains types de projet, c’est un fait, malheureusement il n’est pas toujours aisé d’avoir un site très performant car Drupal, dans sont ensemble et avec tous ses modules (backend et frontend mélangés), n’est pas léger. Le concept de ne garder que le meilleur de Drupal et d’utiliser d’autres outils comme Backbone.js ou AngularJS comme frontend permet non seulement d’avoir une interface utilisateur moderne mais également indépendante des compétences Drupal du développeur, et de ce fait, le code est également beaucoup plus maintenable et transposable dans le cas où on déciderait de changer de backend pour une quelconque raison.

Pour certains projets, on pourrait même aller plus loin : Non content des performances de traitement de Drupal, un développeur PHP pourrait greffer un framework de son choix (Laravel, Symfony?) sur la base de données crée par Drupal et créer un service REST lui-même.

Les administrateurs du site entrent du contenu dans Drupal, auraient accès à du site building standard, avec la gestion des types de contenu, de la taxonomie, des utilisateurs. Une fois le contenu dans une base de données, un framework complétement différent (même pas forcément en PHP) prend le relais et expose cette dernière dans un service REST créé sur mesure en fonction des besoins du frontend.

Une complication que je pourrais voir de prime abord est la gestion des ACL, mais rien n’est impossible… La discussion est ouverte.

Gravatar de Loutre.ch
Original post of Loutre.ch.Votez pour ce billet sur Planet Libre.

Sheldon.fr : Activer l’accélération matérielle AES pour son VPN

jeudi 30 juillet 2015 à 12:10

ITC-cloud-info-aesnifull.gif.rendition.cq5dam.thumbnail.920.460

On a vu comment monter un VPN, maintenant, comment peut on l’améliorer d’un point de vu performance ?

via l’accélération matérielle de votre CPU !

Alors, ça ne sera pas valable dans tous les cas, puisqu’il faut que votre cpu vous propose les instructions nécessaires, ainsi que votre VPN et votre distribution sachent les utiliser.
Pour commencer vérifiez, si votre CPU a les bonnes instructions : au minimum « AES », au mieux « AES-NI », si comme moi vous avez un CPU Intel, vous pouvez faire un tour sur le site du constructeur : Intel ARK.

Ou consulter la liste suivante : http://ark.intel.com/fr/search/advanced?AESTech=true&MarketSegment=DT

Vous pouvez également vérifier directement sur votre VPN coté serveur et coté client la présence du flag :

#sur un linux
cat /proc/cpuinfo | grep flags
#sur une BSD
dmesg -a | grep Features

Dans mon cas, mon client VPN (un Pfsense) est virtualisé sur un Proxmox à partir du couple KVM+Qemu.
De base le CPU qui est virtualisé, ne propose pas l’accès à ces instructions, il faut donc modifier la conf de votre VM, pour lui spécifier d’utiliser le cpu du même type que l’hôte :

Capture d’écran_2015-07-30_12-07-53

Après un reboot, je vérifie si ma VM voit le bon CPU et les bonnes instructions :
Capture d’écran_2015-07-30_12-22-19

Capture d’écran_2015-07-30_12-23-06

C’est bon pour moi, tout le petit monde est présent !


 

Dans PF, « System / Advanced / Miscellaneous »
Vous avez une section « Cryptographic Hardware Acceleration »

Vous devez y activer les options de votre CPU :

Capture d’écran_2015-07-30_12-26-33Puis dans « VPN / OpenVPN / Client », éditez votre conf,
Pour y spécifier là aussi le type d’accélération matérielle, et l’algo à utiliser, dans mon cas « AES-128-CBC » (je n’ai pas encore testé le 256, mais ça sera fait rapidement) :

Capture d’écran_2015-07-30_12-28-10

Il faut maintenant se connecter sur la partie serveur d’OpenVPN (en CLI ou via l’interface AS) pour modifier les options de l’algo à utiliser.

sur AS, dans « Advanced VPN », rajouter pour le serveur et le client : « cipher AES-128-CBC »

Capture d’écran_2015-07-30_12-29-46

On sauvegarde tout, on redémarre les dameons et les clients.
et tout devrait fonctionner.

 

La différence de perfs ne se voit pas immédiatement, mais en chargeant un peu le VPN, je dirais que la consommation CPU a baissé d’un bon tiers.
J’attends de tester plus longtemps et de voir les graphs de conso CPU pour être sur de ça, à moins que ça ne soit un effet placebo 😉

Gravatar de Sheldon.fr
Original post of Sheldon.fr.Votez pour ce billet sur Planet Libre.

Articles similaires

genma : Calomel SSL Validation

jeudi 30 juillet 2015 à 09:00

Cet article fait suite à mon article Https le cadenas ne suffit pas que je vous invite à lire (ou relire) en prérequis du courant article.

Dans ce billet je souhaiterai présenter deux extensions pour Firefox qui permettent de vérifier la qualité du cadenas dans le cadre d'une connexion httpS.

L'extension Calomel SSL Validation

Calomel SSL Validation est une extension pour Firefox dont le but est d'indiquer la force de la connexion SSL. Le bouton de la barre change de couleur en fonction de la puissance de chifrremnt, du rouge (faible) au vert (fort). Une fenêtre déroulante montre un résumé détaillé de la connexion SSL. Calomel SSL Validation sur le site des addons.mozilla.org

Le site officiel de l'extension étant https://calomel.org/firefox_ssl_validation.html.

Ce que montre Calomel SSL Validation

Une fois installée, lorsque l'on se rend sur différents sites webs sur lesquels sont établis des connexions sécurisée (via SSL ou mieux TLS), un petit bouclier prend différentes couleurs et indique donc la qualité du cadenas.

Voici quelques exemples :

Si il n'y a pas de connexion https de disponible, on aura :

Sur le site de Wordpress.com qui propose le https, on a une couleur rouge barré : il y a des failles, et le paramétrage incorrect.

Sur le webmail de Free. Une couleur bleu et la mention Secure.

Sur le site de Tails, on a un score de 93%, une couleur Verte et la mention Very Strong.

Sur le site de ma banque, on a le droit à une belle couleur Rouge. Pour rester compatible avec de vieilles versions d'Internet Explorer, le certificat SSL utilisé par ma banque est de très mauvaise qualité (algorithmes dépassés, configuration obsolète).

Pourquoi l'utiliser ?

Comme on a donc un indice, une couleur et des détails sur la configuration et la justification de la couleur/indice, cette extension est un bon moyen de voir de façon visuelle et de sensibiliser au fait que, comme je le disais Https le cadenas ne suffit pas.

Aller plus loin ?

Attention : ce que je dis ci-dessous est vulgarisé. L'idée est là, mais je n'entre pas dans les détails.

Issu de Comment ça marche SSL ? par Sebsauvage

La négociation SSL ("handshake")

Au début de la communication le client et le serveur s'échangent :
- la version SSL avec laquelle ils veulent travailler,
- la liste des méthodes de chiffrement (symétrique et asymétrique) et de signature que chacun connaît (avec longueurs de clés),
- les méthodes de compression que chacun connaît,
- des nombres aléatoires,
- les certificats.
Client et serveur essaient d'utiliser le protocole de chiffrement le plus puissant et diminuent jusqu'à trouver un protocole commun aux deux. Une fois que cela est fait, ils peuvent commencer à échanger des données.

Dit autrement, dans le cadre de l'établissement d'une connexion SSL/TLS, le serveur dialogue avec le navigateur. Chacun expose les algorithmes et type de chiffrement qu'il est capable de faire, ils se mettent d'accord sur un algorithme et un type de chiffrement commun. Par défaut, c'est celui qui est le plus faible qui est choisi. En effet, plus le chiffrement est fort, plus le temps de calcul nécessaire est élevé. Et donc pour des raisons d'optimisation, on prend ce qui demande le moins de temps de calcul... Or quand un serveur (celui d'une banque) propose le support de vieilles configurations, la communication avec un navigateur (même moderne)va prendre la plus petite sécurité. Par exemple, SSL. Pourtant SSL est obsolète et a été remplacé par TLS...

L'extension Calomel permet de forcer l'usage de TLS 1.2 quand celui-ci est disponible afin que si le serveur le supporte, on est une connexion httpS de qualité, qui soit chiffrée avec la plus forte qualité possible par défaut (et non la plus faible, si vous avez suivi et compris le paragraphe précédent). L'extension propose également d'autres options d'optimisation qu'il faudra que j'étudie pour en parler dans un prochain billet sur ce blog.

Gravatar de genma
Original post of genma.Votez pour ce billet sur Planet Libre.