dimanche 23 mars 2014

L'esprit agile est-il en voie de disparaître ? 13 ans après la publication du manifeste agile, un développeur note l'échec des méthodes agiles

Tout professionnel de l’IT s’accorde que le développement logiciel n’est pas une mince affaire. Par le passé, cela reposait essentiellement sur des méthodes et des processus de développement lourds, rigides et coûteux, qui conduisaient à des cycles de développement assez lents. En 2001 le manifeste agile a été publié. Ce dernier décrit une nouvelle approche, une nouvelle famille de méthodes de développement logiciel dites « méthodes agiles ».

Toutefois, ce manifeste décrit les grandes lignes pour des méthodes de développement axées sur le développeur, la collaboration étroite entre l’équipe de développement et le client ainsi que l’importance du feedback des utilisateurs.

13 ans plus tard, force est de constater que les méthodes agiles ont échoué. C’est en tout cas ce que pense Mike Hadlow, un développeur senior, dans un billet de blog. Mais alors pourquoi cet échec ? Une dérive, une incompréhension ou encore un abus serait à l’origine de l’échec, selon celui-ci.

Agile est en premier lieu un état d’esprit mettant au centre de la scène le développeur, chacun doit trouver son propre rythme en suivant un chemin balisé par des méthodes connues. Il ne s’agit donc pas de méthodes de management de l’équipe de développement ni de recourir d’une manière bête et disciplinée à certaines pratiques telles que les stand-up meeting journalier, de courtes itérations de 2 semaines et de micro deadlines trop rigides.

Une des conséquences de la mauvaise interprétation/application des concepts agiles est la désignation de chefs de projet non sensibles à l’aspect technique du développement logiciel, ces derniers sont alors initiés aux méthodes agiles en les considérants à tort comme des méthodes de management. 

En effet quoi de mieux qu’un développeur pour comprendre un autre, hors si les méthodes agiles se targuent d’être centré sur le développeur et que le chef de projet n’est pas dans cette dynamique, cela conduira inévitablement à l’échec, dans le cas contraire, cela relève de la chance ou d'autres facteurs, mais certainement pas de l’application d’une méthode agile.

Au final, il demeure clair que la réussite de la mise en œuvre d’une méthode agile passe en premier lieu par une bonne compréhension des aspects techniques du développement, de la capacité du chef de projet à sympathiser avec le développeur et à le motiver, faute de cela, les méthodes agiles subsisteront, mais l’esprit agile sera en perdition et finira par mourir.

Source : Blog de Mike Hadlow

MakeHuman 1.0.0 : un outil pour créer des personnages 3D pour vos applications et jeux vidéo.

MakeHuman 1.0.0 : un outil pour créer des personnages 3D

MakeHuman est une application développée en Python (2.7) qui vous permettra de créer des personnages 3D et de les exporter pour les utiliser notamment dans Blender.


Le développement de MakeHuman a débuté en 1999 sous la forme d'un module pour Blender sous le nom de « MakeHead ». Il n'était alors capable que de créer des modèles de tête. La première version de l'outil a vu le jour en 2000.
En 2005, les développeurs ont opté pour une application complètement dédiée (OpenGL 2.1) et aujourd'hui, celle-ci arrive à la version 1.0.0 et permet de générer des modèles complets d'humains.

Les modèles générés sont propres, complètement rigged et composés uniquement de rectangles. Les modèles sont aussi préparés pour être utilisés dans Mudbox/zBrush et proposent pour cela 1170 cible de morphing contrôlables. Ainsi, MakeHuman permet générer des modèles pour être utiliser dans la majorité des applications 3D. On pourra le comparer à Poser.


Le logiciel et son code source sont sous licence AGPL3+. Le contenu et les modèles fournis sont sous licence CC0.

Vous pouvez télécharger MakeHuman ici ou consulter son code source.

Votre opinion

 Comment créez vous vos personnages pour vos jeux ?
 Allez-vous utiliser MakeHuman, le tester ?

Source

Gamefromscratch
Site officiel

Fin du support de Windows XP : Microsoft intensifie la campagne

Le compte à rebours est lancé pour la fin du support de Windows XP.

Microsoft a publié un site qui affiche le nombre de jours, heures et minutes restant aux utilisateurs de son célèbre OS pour migrer.

Windows XP a été publié le 25 octobre 2001. Après plus de douze ans d’existence, l’OS reste demeure encore très célèbre auprès des utilisateurs de PC, revendiquant la seconde place dans les classements de NetApplications et StatCounter.

Microsoft mettra officiellement fin au support de celui-ci le 08 avril prochain. L’OS ne recevra plus aucun correctif de sécurité, exposant les personnes qui l’utilisent encore aux actions des pirates.

Pour accompagner les utilisateurs dans la migration vers un autre OS, Microsoft a lancé le site AmIRunningXP.com, dont l’utilité est assez surprenante. Le site permet à l’utilisateur de savoir s’il est sous Windows XP. Une information qui est déjà fournie lors du démarrage du PC. Quoique, si vous interrogez plusieurs utilisateurs, certains seront incapables de donner avec exactitude la version de l’OS qu’ils utilisent.


À ce nouveau site, s’ajoute un bon d’achat de 50 dollars pour aider les personnes qui veulent acquérir un ordinateur portable, une tablette ou Windows 8 dans une boutique Microsoft. Un support premium de 90 jours est également offert, sans aucuns frais supplémentaires, pour assister les utilisateurs dans la transition.

Cette nouvelle campagne vient s’ajouter à plusieurs efforts déjà consentis par Microsoft, pour pousser les adeptes de Windows XP à l’abandonner, dont la plus récente est l’affichage d’un pop d’alerte de la fin imminente du support de Windows XP depuis le 08 mars 2014.


Microsoft propose également un outil gratuit pour simplifier le transférer des fichiers et paramètres personnels de Windows XP vers un OS pris en charge (Windows 7, Windows 8 ou Windows 8.1).

Source : AmIRunningXP.com

Java 8 est disponible, la plate-forme se met aux expressions lambdas, Tour d'horizon des nouveautés

Si les versions 6 et 7 de Java étaient des évolutions douces : Java 8 est d'un tout autre ordre. Plus de 56 nouvelles fonctionnalités ont été ajoutées (http://openjdk.java.net/projects/jdk8/features). Les arrivées des lambdas, des méthodes par défaut, des interfaces fonctionnelles et de Stream vont modifier en profondeur le langage et donc l'écosystème Java tout entier. Nous pouvons aussi citer l'incorporation d'une nouvelle API pour gérer les dates, de nouvelles annotations et d’un nouveau moteur d'exécution JavaScript.


Java 8 devrait ainsi avoir un impact au moins aussi important que Java 5 à son époque (rappelez-vous l'apparition des Generics). Il faut donc s'y préparer dès à présent. Voici quelques nouveautés plus en détail.


Les nouveautés du langage



Interfaces fonctionnelles
 : connues précédemment sous le nom de Single Abstract Method interfaces (SAM Interfaces), cette nouveauté introduit les interfaces qui possèdent uniquement une seule méthode d’instance abstraite. Les plus connues sont java.lang.Runnable, java.awt.event.ActionListener, java.util.Comparator. Avec Java 8, elles portent le nom d'interfaces fonctionnelles. Dès lors qu'une interface possède une seule méthode d’instance abstraite, elle est désignée comme interface fonctionnelle. Il est aussi possible d'annoter l'interface par @FunctionalInterface. Si une interface est annotée ainsi et possède plus d'une méthode d’instance abstraite, une erreur de compilation sera produite. C'est un peu le même principe qu'avec l'annotation @Override.

L'interface ci-dessous Runnable possède une méthode et est annotée @FunctionalInterface.
Code :


1 2 3 4
@FunctionalInterface 
public interface Runnable { 
    void run(); 
}
Le nouveau package java.util.function propose d’ailleurs un certain nombre d’interfaces fonctionnelles répondant à divers usages.

Lambdas : il s'agit de la plus grosse nouveauté de Java 8. Décrite depuis la JSR 335 (https://jcp.org/en/jsr/detail?id=335), cette fonctionnalité permet d'apporter la puissance de la programmation fonctionnelle dans Java. Une expression lambda peut être assimilée à une fonction anonyme, ayant potentiellement accès au contexte (variables locales et/ou d'instance) du code appelant. Ces "fonctions anonymes" peuvent être affectées dans une interface fonctionnelle. Le code de l’expression lambda servira ainsi d’implémentation pour la méthode abstraite de l’interface. On peut donc les utiliser avec n'importe quel code Java utilisant une telle interface, à condition que les signatures de la méthode correspondent à celle de l’expression lambda.

La syntaxe utilisée est la suivante : (paramètres) -> code ou (paramètres) -> {code} quand il y a plus d'une instruction. 

Prenons l'exemple du tri des éléments d'une collection. 
Code :


1 2 3 4 5 6
Arrays.sort(testStrings, new Comparator<String>() { 
    @Override 
    public int compare(String s1, String s2) { 
        return(s1.length() - s2.length()); 
    } 
});
En utilisant les lambdas, la nouvelle écriture sera :
Code :


1 2 3 4 5 6 7 8 9
// Forme longue : 
Arrays.sort(testStrings, (String s1, String s2) -> { return s1.length() – s2.length(); }); 
 
// Forme courte (possible uniquement s’il n’y a qu’une instruction) : 
Arrays.sort(testStrings, (String s1, String s2) -> s1.length() – s2.length()); 
 
// Forme courte avec type implicite des paramètres 
// (le type est déduit par le compilateur via l’inférence) 
Arrays.sort(testStrings, (s1, s2) -> s1.length() – s2.length());
Les interfaces fonctionnelles servent aux lambdas, facilitant ainsi l'écriture puisqu'elles permettent d'écrire l'implémentation de façon plus concise. Nous montrons ci-dessous un exemple d'implémentation de l'interface Runnable.
Code :


Runnable r1 = () -> { System.out.println("My Runnable"); };
Plus de détails sur les lambdas sont disponibles dans un tutoriel publié récemment :http://soat.developpez.com/tutoriels...t-lambda-java8

Références de méthode : une référence de méthode est utilisée pour définir une méthode en tant qu’implémentation de la méthode abstraite d’une interface fonctionnelle. La notation utilise le nom de la classe ou une instance de la classe, suivi de l'opérateur « :: » et du nom de la méthode à référencer. Le type des paramètres sera déduit du contexte selon l’interface fonctionnelle vers laquelle on affecte la référence.

On peut distinguer quatre types de méthodes références :
  • Les références vers une méthode static, qui s’utilisent toujours avec le nom de la classe en préfixe. La signature de la référence correspond alors à la signature de la méthode.
    Code :


    1 2
    Supplier<Double> random = Math::random; 
    double result = random.get(); // Math.random();
  • Les références vers une méthode d’instance, liées à une instance spécifique, qui s’utilisent toujours avec l’instance en préfixe. Ici également, la signature de la référence correspond à la signature de la méthode, et tous les appels s’appliqueront sur l’instance définie dans la référence de méthode :
    Code :


    1 2 3
    Random r = new Random(); 
    Supplier<Double> random2 = r::nextDouble; 
    double result2 = random2.get(); // r.nextDouble();
  • Les références vers une méthode d’instance, mais sans lien avec une instance précise. Comme pour les méthodes static, on utilisera comme préfixe le nom de la classe. La signature de la référence correspond alors à la signature de la méthode, précédée par un argument du type de la classe, qui correspondra à l’instance sur laquelle on appellera la méthode :
    Code :


    1 2 3 4 5 6 7
    Function<Random,Double> random3 = Random::nextDouble; 
    Random r1 = new Random(); 
    Random r2 = new Random(); 
    Random r3 = new Random(); 
    double result1 = random3.apply(r1); // r1.nextDouble(); 
    double result2 = random3.apply(r2); // r2.nextDouble(); 
    double result3 = random3.apply(r3); // r2.nextDouble();
  • Enfin, il est possible de référencer un constructeur en utilisant le mot-clef “new” comme nom de méthode. Très pratique pour créer une fabrique :
    Code :


    1 2
    Function<String, Thread> factory = Thread::new; 
    Thread t = factory.apply("name"); // new Thread("name");


Les références de méthodes sont une alternative aux expressions lambdas, lorsqu’il n’y a qu’une seule et unique méthode à exécuter, pour une syntaxe encore plus claire :
Code :


1 2 3 4 5 6 7 8 9 10 11
Random r = new Random(); 
 
Supplier<Double> random = Math::random; 
Supplier<Double> random2 = r::nextDouble; 
Function<Random,Double> random3 = Random::nextDouble; 
Function<String, Thread> factory = Thread::new; 
 
Supplier<Double> random = () -> Math.random(); 
Supplier<Double> random2 = () -> r->nextDouble(); 
Function<Random,Double> random3 = (Random random) -> random.nextDouble(); 
Function<String, Thread> factory = (String name) -> new Thread(name);
Cela peut également être une alternative intéressante à l’API de reflection, puisque cela permet un code sécurisé.

Méthodes par défaut (Defender Methods) : cette fonctionnalité permet de proposer une implémentation dite par "défaut" aux méthodes déclarées dans les interfaces. Par conséquent, depuis Java 8, une interface Java contient du code. L'avantage est de pouvoir faire évoluer les interfaces sans avoir à tout casser.

Dans l'exemple ci-dessous, une interface Person déclare deux méthodes. La méthode sayHello est dite par défaut via le mot clé default. Toute implémentation de Person imposera que la méthode sayGoodBye() soit implémentée. Pour sayHello, l'implémentation ne sera pas obligatoire, même si elle reste bien sûr possible.
Code :


1 2 3 4 5 6
interface Person { 
    void sayGoodBye(); 
    default void sayHello() { 
        System.out.println("Hello there!"); 
    } 
}
Les méthodes par défaut permettent ainsi de faire évoluer l’API des interfaces sans provoquer de grosses incompatibilités dues à l’absence d’implémentation dans les classes qui les implémentent. L’API de base en profite grandement en enrichissant certaines de ses interfaces (en particulier dans l’API de Collections dont les interfaces s’enrichissent de plusieurs méthodes).

Plus de détails sur cette nouveauté peuvent être trouvés sur le tutoriel publié dernièrement :http://oliviercroisier.developpez.co...es-interfaces/

Méthodes static dans les interfaces : Java 8 propose également la possibilité de créer des méthodes statiques depuis une interface Java.

Dans l'exemple ci-dessous, une interface Person déclare une méthode statique.
Code :


1 2 3 4 5
interface Person { 
    static void sayHello() { 
        System.out.println("Hello there!"); 
    } 
}
Cela peut s’avérer utile pour proposer des méthodes utilitaires liées à l’interface (comme une “fabrique” par exemple).

Les mises à jour de l'API
Stream et parallèles streams sur les collections : Java 8 apporte également la notion de Stream, qui représente un flux de données que l'on peut manipuler à la volée. L'utilisation d'un Stream se compose de trois parties :
  • La création du flux à partir d'une source de donnée qui peut être très variée (un tableau, une collection, un flux d'entrée/sortie, des données générés à la volée, etc.)*;
  • Des opérations intermédiaires, qui permettent de transformer le flux en un autre flux (en filtrant des données ou en les transformant par exemple)*;
  • Une opération terminale, qui permet d'obtenir un résultat ou d'effectuer une opération spécifique.


Par exemple, pour créer un flux à partir d'une collection, on utilisera tout simplement la nouvelle méthode stream() de Collection.
On peut alors appliquer autant d'opérations intermédiaires que nécessaire, comme filter(), qui permet de filtrer certaines données, map() qui permet de modifier la donnée à la volée, distinct() qui permet d'éviter les doublons, sorted() qui permet de les trier, ou encore limit() qui restreint la taille des données.
Une fois toutes nos opérations intermédiaires effectuées, il faut alors appliquer la méthode finale qui va déterminer notre action. On peut par exemple utiliser forEach() pour itérer sur toutes ces valeurs, min()/max() pour récupérer seulement la valeur min/max, finAny()/findFirst() pour récupérer un élément correspondant aux critères, etc.

Bien sûr, toutes ces opérations sont pensées pour être utilisées avec des expressions lambdas ou des références de méthodes.

API java.time (http://openjdk.java.net/jeps/150) : la nouvelle API date, heure et calendrier basée sur la JSR 310 est disponible dans les packages java.time.*. Les classes sont désormais immuables et thread-safe. L'utilisation des méthodes chaînables rendent le code plus lisible. La nouvelle API différencie également deux modèles de temps : le temps machine et le temps humain. Pour une machine, le temps n’est qu’un entier augmentant depuis l’epoch (01 janvier 1970 00h00min00s0ms0ns). Pour un humain en revanche, il s’agit d’une succession de champs ayant une unité (année, mois, jours, heure, etc.). À noter également que le mois "0" n'existe plus et le mois "1" correspond au mois de janvier. Plus de détails sur cette nouveauté peuvent être trouvés sur le tutoriel publié dernièrement :http://soat.developpez.com/tutoriels...me-date-java8/.

Annotations multiples (http://openjdk.java.net/jeps/120) : Java 8 offre maintenant la possibilité de répéter plusieurs fois une annotation de même type pour un élément donné d'un programme.

Dans l'exemple ci-dessous, l’annotation @Schedule est utilisée deux fois, ce qui n'était pas permis dans les versions antérieures.
Code :


1 2 3
@Schedule(dayOfMonth="last") 
@Schedule(dayOfWeek="Fri", hour="23") 
public void doPeriodicCleanup() { ... }
Nashorn, le nouveau moteur Javascript (http://openjdk.java.net/jeps/174) : un moteur JavaScript proposé par défaut depuis le JDK. Plus de détails sur cette nouveauté peuvent être trouvés sur le tutoriel publié récemment : http://soat.developpez.com/tutoriels...nashorn-java8/

Nous pourrions continuer la liste des modifications en précisant également la suppression du PermGen pour la machine virtuelle, les nombreux ajouts pour JavaFX (http://pixelduke.wordpress.com/2013/...part-i-javafx/) ou finalement l'ajout de classes dont l'intérêt va se découvrir au fil du temps. L'on peut citer, par exemple, les classes LongAdder et DoubleAdder (http://blog.palominolabs.com/2014/02...vs-atomiclong/).

Vous l'aurez compris, Java 8 nous apporte une vraie évolution dans le paysage Java. Pour plus de détails, n'hésitez pas à faire un tour sur :


Les avis de l'équipe Java de Developpez.com

Fabrice Bouyé (bouye)

Le JDK 8 est enfin là !

À la vue des expressions lambdas, certains diront qu'avec quelques années de retard, Java met enfin à niveau sa syntaxe événementielle pour rattraper celle de C#, Groovy ou encore Scala.
Cependant, on aurait tort de penser qu'il s'agit là d'un simple sucre syntaxique destiné à donner un aspect moderne au langage et à le rendre plus attrayant !

Ces nouvelles fonctionnalités arrivent, en effet, avec une refonte majeure de la JVM, que ce soit au niveau du support des expressions lambdas elles-mêmes, des références de fonctions (similaires aux pointeurs de fonctions pour ceux ayant fait du C/C++) ou encore de la refonte des collections par l'introduction des streams.
Outre l'aspect extérieur (les API que nous, programmeurs, sommes amenés à manipuler), désormais la JVM s'adapte aux traitements en parallèle et au support du multicœur, et le tout sans devoir manuellement manipuler des threads ou des workers !

De plus, l'excellente bibliothèque des gestions du temps JODA-Time a fini par évoluer pour devenir le JSR 310, la nouvelle API de temps et de date du JDK 8.
Simple, efficace et pratique d'emploi, elle promet de nous faire rapidement oublier les fastidieuses opérations sur java.util.Calendar et java.util.Date, toujours promptes à créer toutes sortes de fiascos temporels si on n'y prend pas garde.

J'attends beaucoup de ce premier pack de fonctionnalités. Cependant, je garde également l’œil ouvert sur ce qui est encore à venir, ces autres fonctionnalités qui n'ont pu être intégrées au JDK 8 (jigsaw, etc.).
Les plans pour le futur JDK 9 semblent toujours aussi appétissants...
Mickael Baron (Mickael Baron)

Je suis très enthousiaste de l'arrivée de Java 8 et des nombreuses fonctionnalités qui sont proposées. À mon avis, il faudra un certains temps afin de maîtriser toutes les subtilités des améliorations. Je compte sur les nombreux rédacteurs de Developpez.com pour nous faire découvrir tous les secrets de cette version.

Je suis également curieux de voir comment cette nouvelle version va s'imposer dans le monde de l'entreprise où on croise encore des JDK 1.4.

La fonctionnalité la plus intéressante de mon point de vue reste les implémentations par défaut, je regrette même qu'elle arrive aussi tard. Les évolutions des interfaces seront plus faciles à réaliser. Pour les lambdas, je ne suis pas encore assez expérimenté pour en comprendre toutes les subtilités mais je compte bien m'y mettre quand mon Eclipse préféré sera disponible.

Bienvenue Java 8 !!!
Frédéric Martini (AdiGuba)

Java continue son évolution.

D'aucuns diront qu'il s'agit d'une évolution bien lente. Je parlerais plutôt d'évolution prudente et intelligente.

Certes Java ne fait pas la course aux fonctionnalités, mais elles ont le mérite d'être réfléchies et pesées.

Je trouve par exemple la notion d'interface fonctionnelle particulièrement ingénieuse, car non seulement cela permet de ne pas s'embêter à manipuler un nouveau type de données (des "fonctions-types" ou des types delegate), mais cela permet également une retro-compatibilité avec de nombreuses APIs existantes, et cela sans la moindre effort !

Les expressions Lambdas (et les références de méthode) permettront également de concevoir de nouveaux types d'APIs, mais n'oublions pas non plus les méthodes par défaut, qui permettront une meilleure évolution des APIs existantes et futures (et d'ailleurs l'API de Collections en profite bien).

Je pense vraiment qu'il s'agit d'une version qui marquera sans doute un tournant aussi important que J2SE 5.0...
Thierry Leriche-Dessirier (thierryler)

Selon moi, les trois points les plus importants de cette nouvelle version sont 1) les Lambdas 2) les streams et 3) la disparition du permgen.

L'ajout des interfaces fonctionnelles et des méthodes par défaut a été imposé par les Lambdas. Ça reste très intéressant malgré tout. À mon sens, c'est tout de même au second plan.

Les Lambdas sont synonymes de programmation fonctionnelle. Si ce n'était qu'une question de syntaxe, ça aurait eu moins d'impact. Des frameworks tels que Guava le proposent déjà, comme je le montre dans l'article intitulé "Tutoriel d'introduction à la programmation fonctionnelle avec Guava".

Avec Java 8, on va bien plus loin. On a aussi accès au "reduce" du "filter-map-reduce" mais, et surtout, cela travaille pour de vrai dans un contexte multithread/multicoeur. On pouvait déjà travailler en multicoeur en Java, surtout depuis Java 7 qui a bien défriché le terrain pour Java 8, mais il fallait se coltiner les points techniques à chaque fois, avec les risques que cela comporte et avec une syntaxe non adaptée. Java 8 rend cela "simple".

Il ne faut pas oublier que les fabricants de processeurs ne cherchent plus à augmenter la fréquence. C'est désormais une course aux cœurs. L'avenir est donc aux traitements parallèles et aux lambdas. Encore faudra-t-il bien comprendre les patterns de la programmation fonctionnelle, pour ne pas les utiliser de travers et à tout-va.

Le permgen, quant à lui, disparaît et ce n'est pas trop tôt. On pointe les projecteurs sur le langage en oubliant qu'il se passe des choses en coulisse et plus spécifiquement du côté de la JVM. N'oublions pas que Java, c'est un langage et une Virtual Machine. C'est très important. La VM est conçue pour optimiser les programmes (plan d’exécution) à l'utilisation. Ce n'est pas juste un lanceur de classe Main. Avec la disparition du permgen, on voit le rapprochement des plusieurs éditeurs de JVM/GC qui porte ses fruits.
 Télécharger la nouvelle version de Java

dimanche 16 mars 2014

Rachat de SFR : Bouygues Telecom veut céder son réseau à Free


Rachat de SFR : Bouygues Telecom veut céder son réseau à Free
La procédure de rachat de SFR évolue. L'un des candidats, Bouygues Telecom, se prépare aux contreparties demandées en négociant avec Free la vente de son réseau. Si le rachat de SFR se concrétise, il n'y aura plus que trois opérateurs, ce qui plaît à Arnaud Montebourg. 

Le groupe Vivendi a clôturé l'envoi des offres de rachat de sa filiale SFR le 5 mars dernier. Les candidats sont deux, Numericable et Bouygues Telecom

Bouygues se prépare, déjà, aux contreparties demandées par l'autorité de concurrence. Si le rachat de SFR se concrétise, Bouygues aurait deux réseaux, ce qui ne serait pas équilibré par rapport aux concurrents. 
Pour y remédier, Bouygues Telecom s'est rapproché de Free afin de lui vendre son réseau composé de 15 000 antennes en 2G, 3G et 4G. Cela permettra à Bouygues de se concentrer sur les infrastructures -plus importantes- de SFR, et à Free de détenir de nombreuses antennes et une partie du réseau 4G solide de Bouygues. 
Free et Bouygues viennent de signer un accord d'un montant de 1.8 milliard d'euros
Toutefois, il ne sera effectif que si l'offre de rachat de Bouygues est acceptée par Vivendi et par les autorités. 
Du côté du gouvernement, Bouygues peut compter sur le ministre du redressement productif, Arnaud Montebourg
Celui-ci a accordé un entretien au journal Le Parisien ce dimanche. Il a rappelé que le gouvernement ne veut pas entendre parler de plan social et souhaite que l'acquéreur s'engage dans le « patriotisme français » et l'investissement dans le très haut débit. Par rapport à ces objectifs, Arnaud Montebourg a déclaré que « (nous) souhaitons déjà que les candidats améliorent ces offres au regard de nos exigences ». 
Toutefois, il s'est montré favorable à l'offre de Bouygues : « la concurrence par la destruction s'arrêtera si nous revenons à trois opérateurs mobiles tout en maintenant des prix bas. Elle ne s'arrêtera pas si Numericable conquiert SFR puisque la concurrence restera à quatre dans le mobile. Et au final, soit Free soit Bouygues, sera à ramasser à la petite cuillère avec des milliers d'emplois perdus ». 

Si le groupe Vivendi accepte l'offre de Bouygues, il restera à voir si les autorités françaises et la Commission européenne seront favorables à cette acquisition. 

Plus d'un adulte sur quatre commencent une activité sur un dispositif pour la finir sur un autre D'après une étude de GTK

À la demande de Facebook, le cabinet GTK a mené une étude pour permettre de mieux cerner les habitudes de personnes qui passent d’un appareil à l’autre (smartphone, tablette, ordinateur portable ou de bureau). C’est ainsi qu’un panel d’un peu plus de 4 000 individus a été constitué aux États-Unis et au Royaume-Uni pour comprendre les motivations liées au changement d’appareil mais surtout les retombées au niveau des commerçants.


L'étude a constaté que les utilisateurs ont une connexion différente vis-à-vis de chaque appareil, et que chacun d’eux joue un rôle distinct. Le smartphone par exemple est considéré comme le dispositif à tout faire. Près de deux tiers des adultes en possession d’un smartphone (77% au Royaume-Uni et 76% aux États-Unis) font savoir qu’il est toujours présent et est le plus souvent utilisé dans la communication ou les activités sociales. En revanche la tablette est considérée comme un outil de divertissement et est souvent utilisée à la maison pour 50% des Britanniques et 43% des Américains. L’ordinateur portable pour sa part est consacré aux tâches importantes comme le travail ou la gestion des finances selon 86% du panel anglais et 80% du panel américain.

Voici en bref d’autres conclusions de l’étude :

  • plus de 60% des individus utilisent au moins deux dispositifs par jour, plus de 40% utilisent au moins trois appareils ;
  • parmi ceux qui utilisent au moins deux appareils, un peu plus de la moitié disent qu'ils commencent une tâche sur un appareil pour la finir sur un autre ;
  • ce pourcentage s'élève à 77% pour les personnes utilisant au moins trois dispositifs quotidiens.
  • cette commutation d'appareil se fait en général en faveur d’écran à taille plus large (de smartphone vers tablette, ordinateur portable ou de bureau).
  • les tablettes peuvent être considérées comme des appareils mobiles, toutefois seuls 22% des utilisateurs en font usage sur la route contre 76% qui préfèrent les smartphones à la place.
Pour Oliver Robinson, chercheur en technologie pour le compte de GFK, « la façon dont le smartphone est perçu a changé au cours des dix dernières années en même temps que de nouvelles fonctionnalités lui étaient attribuées. ». Pour Facebook, les données ainsi récoltées soulignent la nécessité pour les commerçants d’être compatibles sur différentes plates-formes et ainsi préparer les utilisateurs qui veulent commencer une transaction sur un appareil et la finir sur un autre. D'ailleurs le rapport indique que « c'est une nécessité absolue pour toutes les marques, les entreprises et les détaillants de garder un historique en ligne autant fluide et cohérent que possible pour les clients. Si dans ma navigation j'ajoute un panier depuis mon smartphone, je m'attends à ce que le même historique soit disponible si je vais accéder au site depuis mon ordinateur de bureau, et vice versa. C'est la seule façon de garantir la satisfaction du client et encourager les prochaines visites »Source : Blog GFK

iOS 7.1 disponible au téléchargement pour iPhone IPad et iPod Touch

Apple vient de mettre à disposition une nouvelle mise à jour pour son OS mobile, iOS passe en version 7.1 et est disponible pour iPhone, iPad et iPod touch.
Au programme, quelques améliorations, correction de bugs, mais pas de grandes nouveautés à part l'arrivée de CarPlay, qui permet d’intégrer iOS dans les véhicules de nombreux constructeurs automobiles, comme Volvo, Mercedes ou encore Peugeot/Citroën...

Cette mise à jour comprend des améliorations et des corrections de problèmes, dont les points suivants :

  • CarPlay
    • L’expérience iOS repensée pour la voiture.
    • Connectez simplement votre iPhone à un véhicule compatible avec CarPlay.
    • Prise en charge de Téléphone, Musique, Plans, Messages et d’apps audio de tierce partie.
    • Un contrôle avec Siri, l’écran tactile et les boutons de la voiture.
  • Siri
    • Gérez manuellement l’écoute de Siri en maintenant le bouton principal enfoncé lorsque vous parlez, puis en le relâchant une fois que vous avez terminé ; ou bien laissez Siri repérer automatiquement la fin de votre requête.
    • De nouvelles voix masculines et féminines plus naturelles pour le chinois mandarin, l’anglais britannique, l’anglais australien et le japonais.
  • Radio iTunes
    • Suivez l’actualité et le sport sur de nouvelles stations recommandées diffusant des émissions de la NPR, d’ESPN, et bien d’autres.
    • Ajout d’un champ de recherche au-dessus des stations recommandées pour faciliter la création de stations à partir de votre artiste ou morceau préféré.
    • Achetez des albums rien qu’en touchant un bouton depuis la fonction À l’écoute.
    • Abonnez-vous à iTunes Match sur votre iPhone, iPad ou iPod touch et profitez de Radio iTunes sans publicité.
  • Calendrier
    • Possibilité d’afficher une vue mensuelle de vos événements.
    • Ajout automatique des jours fériés locaux pour de nombreux pays.
  • Accessibilité
    • Les caractères gras sont désormais disponibles pour le clavier, la calculatrice et beaucoup d’autres glyphes d’icônes.
    • L’option Réduire les animations s’étend maintenant à l’app Météo, à Messages et à l’interface utilisateur multitâche.
    • De nouvelles options permettent d’afficher la forme des boutons, d’assombrir les couleurs des apps et de réduire le point blanc.
  • Intégration d’un nouveau réglage dans Appareil photo pour l’activation automatique du mode HDR sur l’iPhone 5s.
  • Prise en charge du trousseau iCloud dans davantage de pays.
  • Effacement automatique des notifications d’appels FaceTime lorsque vous répondez sur un autre appareil.
  • Résolution d’un problème pouvant provoquer le blocage occasionnel de l’écran d’accueil.
  • Reconnaissance améliorée des empreintes digitales via Touch ID.
  • Amélioration des performances de l’iPhone 4.
  • Correction de l’affichage des nombres supérieurs à 10 000 dans la pastille signalant les messages non lus sur l’icône de Mail.
  • Diverses améliorations de l’interface utilisateur.
Pour en savoir plus sur les correctifs de sécurité contenus dans cette mise à jour, consultez la page web suivante : http://support.apple.com/kb/HT1222?viewlocale=fr_FR

HTTPS révélerait les données privées des internautes lors de la navigation Selon une analyse de chercheurs américains

HTTPS est réputé comme étant un protocole qui garantit l’intégrité et la confidentialité des données envoyées par un hôte en raison de ses algorithmes de chiffrement et de son système de validation de certificat. Même si des tiers sont parvenus à contourner sa couche de sécurité, avec par exemple des attaques de type Man In The Middle, il reste très utilisé dans les systèmes de paiement électronique, de transactions bancaires en ligne et autres.

Quatre chercheurs américains ont fait une analyse du trafic du protocole HTTPS et montrent que le trafic web laisse suffisamment d’informations pour être retracé même lorsqu’il est chiffré. Ils ont mis en place une attaque qui leur a permis de reconstituer tout le trafic des utilisateurs sur des sites web sécurisés par HTTPS. Concrètement, ils ont pu savoir les pages web que les utilisateurs ont visitées et récupérer des informations qu’ils ont partagées, notamment au niveau des formulaires. Le test a été effectué sur 6000 pages de 10 sites web avec 89% de précision. Les informations recueillies sur les sites web sont celles relatives à la santé, la finance, la justice et l’orientation sexuelle.

Les chercheurs expliquent que leur « attaque applique des techniques de clustering pour identifier des échantillons dans le trafic. Ils utilisent ensuite une distribution gaussienne pour déterminer la similitude de chaque groupe et de cartographier les échantillons du trafic en une représentation largeur fixe compatible avec un large éventail de techniques d'apprentissage machine ». Ils ont nommé leur attaque « Bag of Gaussians » en raison de sa similitude avec l’attaque « Bag-of-Words ».

Selon les chercheurs, cette faiblesse de HTTPS peut être exploitée pour procéder à une surveillance en ligne par les agences de renseignement. Cependant, les chercheurs ont émis des moyens de protection.

Pour prévenir une attaque similaire à celle des chercheurs, les utilisateurs peuvent ouvrir plusieurs pages différentes dans les onglets de leur navigateur. Ça pourrait aider à brouiller les pistes lors de la reconstitution du trafic. Par ailleurs, l’attaque suppose que la structure des liens est respectée, donc lorsqu’un utilisateur ne respecte pas correctement ladite structure, l’attaque peut s’avérer plus difficile à faire.

Les développeurs sont-ils condamnés par leurs convictions ? Chacun est sûr d'avoir fait le bon choix et défend avec hargne son langage

L’histoire nous le rappelle souvent et jusqu’à ce jour, aveuglés par nos convictions religieuses, nous sommes condamnés à errer sur cette terre et à guerroyer.

Nul besoin de rappeler que bien souvent poussés par des convictions religieuses, les gens se hâtent de formuler de fausses vérités et de les colporter, ou prétendent que leur religion est détentrice de la vérité, car ils sont soit aveuglés par leur ignorance soit dans le déni de l’autre. Alors certes il est difficile de s’essayer à toutes les religions, mais une étude minutieuse et plus fine pourrait nous ouvrir à d’autres horizons et à d’autres visions.

Amis lecteurs, je vous rassure vous ne vous êtes pas égarés, ceci n’est pas le portail de la chaine TV Histoire, mais bien le portail dédié aux professionnels IT et si vous ne me croyez pas, regarder du côté de l’URL vous serez enfin rassurés.

Ceci fait, je vous pose cette question « Si vous repensiez à votre carrière de développeur, n’auriez-vous pas l’étrange impression d’avoir toujours fait le bon choix en ce qui concerne le langage de programmation utilisé ». Oseriez-vous dire le contraire ? Soyez rassuré, vous n’êtes pas le premier et sans doute pas le dernier, en d’autres termes, cela ne devrait pas se conjuguer au « vous » mais au « nous ».

Alors, nous développeurs, pourquoi défendons-nous avec autant de conviction, de hargne et de véhémence les langages de programmation avec lesquels nous codons, les frameworks avec lesquels nous développons et enfin les systèmes d’exploitation sur lesquels nos machines tournent ?

La réponse est simple, ceci est dans la nature même de l’être humain, de son esprit formaté, de l’enracinement de ses convictions qu’importe leur nature religieuse, technologique, etc.

Une autre réponse possible tiendrait au fait que nous sommes des développeurs et par la même occasion de grands passionnés de technologie, alors cette passion nourrit en nous un sentiment d’attachement ou encore des opinions bien tranchées sur les technologies que nous utilisons, à l’image de nos convictions religieuses. Toutefois ce qui est rassurant et à contrario des religions, il est nettement plus simple de s’essayer à d’autres langages de programmation, de s’ouvrir à d’autres technologies, d’autres concepts, d’étudier tout cela grâce à la richesse du web et du savoir actuel. Tout cela permet à la fois d’enrichir son savoir et de se faire sa propre opinion, en toute objectivité.

Au final, si nous voulons éviter la prochaine croisade au nom du saint langage X ou OS Y, il serait plus judicieux, plus intelligent et plus instructif de se détacher de nos chaînes et de nos convictions, pour s’ouvrir à d’autres langages, d’autres frameworks et d’autres OS. Ainsi exempts de toute subjectivité, nous serons en mesure de découvrir qu’à quelques rares exceptions près, à la lumière de certaines faiblesses ou prouesses technologiques, les langages de programmation se valent, idem pour les frameworks et les OS, il ne s’agit donc que de goûts et de couleurs.

Les développeurs sont-ils condamnés par leurs convictions ? Chacun est sûr d'avoir fait le bon choix et défend avec hargne son langage

L’histoire nous le rappelle souvent et jusqu’à ce jour, aveuglés par nos convictions religieuses, nous sommes condamnés à errer sur cette terre et à guerroyer.

Nul besoin de rappeler que bien souvent poussés par des convictions religieuses, les gens se hâtent de formuler de fausses vérités et de les colporter, ou prétendent que leur religion est détentrice de la vérité, car ils sont soit aveuglés par leur ignorance soit dans le déni de l’autre. Alors certes il est difficile de s’essayer à toutes les religions, mais une étude minutieuse et plus fine pourrait nous ouvrir à d’autres horizons et à d’autres visions.

Amis lecteurs, je vous rassure vous ne vous êtes pas égarés, ceci n’est pas le portail de la chaine TV Histoire, mais bien le portail dédié aux professionnels IT et si vous ne me croyez pas, regarder du côté de l’URL vous serez enfin rassurés.

Ceci fait, je vous pose cette question « Si vous repensiez à votre carrière de développeur, n’auriez-vous pas l’étrange impression d’avoir toujours fait le bon choix en ce qui concerne le langage de programmation utilisé ». Oseriez-vous dire le contraire ? Soyez rassuré, vous n’êtes pas le premier et sans doute pas le dernier, en d’autres termes, cela ne devrait pas se conjuguer au « vous » mais au « nous ».

Alors, nous développeurs, pourquoi défendons-nous avec autant de conviction, de hargne et de véhémence les langages de programmation avec lesquels nous codons, les frameworks avec lesquels nous développons et enfin les systèmes d’exploitation sur lesquels nos machines tournent ?

La réponse est simple, ceci est dans la nature même de l’être humain, de son esprit formaté, de l’enracinement de ses convictions qu’importe leur nature religieuse, technologique, etc.

Une autre réponse possible tiendrait au fait que nous sommes des développeurs et par la même occasion de grands passionnés de technologie, alors cette passion nourrit en nous un sentiment d’attachement ou encore des opinions bien tranchées sur les technologies que nous utilisons, à l’image de nos convictions religieuses. Toutefois ce qui est rassurant et à contrario des religions, il est nettement plus simple de s’essayer à d’autres langages de programmation, de s’ouvrir à d’autres technologies, d’autres concepts, d’étudier tout cela grâce à la richesse du web et du savoir actuel. Tout cela permet à la fois d’enrichir son savoir et de se faire sa propre opinion, en toute objectivité.

Au final, si nous voulons éviter la prochaine croisade au nom du saint langage X ou OS Y, il serait plus judicieux, plus intelligent et plus instructif de se détacher de nos chaînes et de nos convictions, pour s’ouvrir à d’autres langages, d’autres frameworks et d’autres OS. Ainsi exempts de toute subjectivité, nous serons en mesure de découvrir qu’à quelques rares exceptions près, à la lumière de certaines faiblesses ou prouesses technologiques, les langages de programmation se valent, idem pour les frameworks et les OS, il ne s’agit donc que de goûts et de couleurs.

Les développeurs sont-ils condamnés par leurs convictions ? Chacun est sûr d'avoir fait le bon choix et défend avec hargne son langage

L’histoire nous le rappelle souvent et jusqu’à ce jour, aveuglés par nos convictions religieuses, nous sommes condamnés à errer sur cette terre et à guerroyer.

Nul besoin de rappeler que bien souvent poussés par des convictions religieuses, les gens se hâtent de formuler de fausses vérités et de les colporter, ou prétendent que leur religion est détentrice de la vérité, car ils sont soit aveuglés par leur ignorance soit dans le déni de l’autre. Alors certes il est difficile de s’essayer à toutes les religions, mais une étude minutieuse et plus fine pourrait nous ouvrir à d’autres horizons et à d’autres visions.

Amis lecteurs, je vous rassure vous ne vous êtes pas égarés, ceci n’est pas le portail de la chaine TV Histoire, mais bien le portail dédié aux professionnels IT et si vous ne me croyez pas, regarder du côté de l’URL vous serez enfin rassurés.

Ceci fait, je vous pose cette question « Si vous repensiez à votre carrière de développeur, n’auriez-vous pas l’étrange impression d’avoir toujours fait le bon choix en ce qui concerne le langage de programmation utilisé ». Oseriez-vous dire le contraire ? Soyez rassuré, vous n’êtes pas le premier et sans doute pas le dernier, en d’autres termes, cela ne devrait pas se conjuguer au « vous » mais au « nous ».

Alors, nous développeurs, pourquoi défendons-nous avec autant de conviction, de hargne et de véhémence les langages de programmation avec lesquels nous codons, les frameworks avec lesquels nous développons et enfin les systèmes d’exploitation sur lesquels nos machines tournent ?

La réponse est simple, ceci est dans la nature même de l’être humain, de son esprit formaté, de l’enracinement de ses convictions qu’importe leur nature religieuse, technologique, etc.

Une autre réponse possible tiendrait au fait que nous sommes des développeurs et par la même occasion de grands passionnés de technologie, alors cette passion nourrit en nous un sentiment d’attachement ou encore des opinions bien tranchées sur les technologies que nous utilisons, à l’image de nos convictions religieuses. Toutefois ce qui est rassurant et à contrario des religions, il est nettement plus simple de s’essayer à d’autres langages de programmation, de s’ouvrir à d’autres technologies, d’autres concepts, d’étudier tout cela grâce à la richesse du web et du savoir actuel. Tout cela permet à la fois d’enrichir son savoir et de se faire sa propre opinion, en toute objectivité.

Au final, si nous voulons éviter la prochaine croisade au nom du saint langage X ou OS Y, il serait plus judicieux, plus intelligent et plus instructif de se détacher de nos chaînes et de nos convictions, pour s’ouvrir à d’autres langages, d’autres frameworks et d’autres OS. Ainsi exempts de toute subjectivité, nous serons en mesure de découvrir qu’à quelques rares exceptions près, à la lumière de certaines faiblesses ou prouesses technologiques, les langages de programmation se valent, idem pour les frameworks et les OS, il ne s’agit donc que de goûts et de couleurs.

dimanche 9 mars 2014

OVH s'allie à IBM pour lancer Worklight Une plateforme Cloud de développement d'applications mobiles

Dans le souci de simplifier la tâche aux développeurs d’applications mobiles de toute catégorie, OVH et IBM s’unissent pour offrir une plateforme de développements mobiles. Nommée Worklight, elle a été conçue par une division d’IBM dans la région parisienne avec un environnement hébergé chez OVH. Les deux sociétés veulent « lui faire rencontrer un public élargi de PME » parce qu’elle « est une plateforme puissante » qui aiderait les développeurs à créer, exécuter et gérer des applications métier mobiles pour leurs propres besoins et/ou ceux de leurs clients.

Worklight permet aux développeurs de facilement accéder à l’environnement IBM Worklight complet, y compris les outils et API, en mode hébergé sur les serveurs d’OVH, nécessaires pour la conception et le développement de leurs applications. Pour ce faire, un espace client leurs est offert. Ils pourront développer des applications mobiles en HTML5, JavaScript et CSS, qui accèdent aux fonctions natives de chaque plate-forme mobile du marché.

La plateforme est offerte à partir de 179 euros le mois sur les gammes de serveurs dédiés d’OVH dont « Entreprise », « Hosting » et « Infrastructure ». Rappelons que ces serveurs répondent aux exigences de toute catégorie de personnes, des étudiants aux grandes entreprises passant par les PME et les startups. Une période de test gratuit de 30 jours est offerte pour permettre la découverte de la plateforme en toute liberté.

OVH et IBM veulent permettre aux développeurs de lancer leur stratégie de mobilité à un coût très abordable dans des conditions souples. Elles ne pensent pas s’arrêter à cette étape de leur collaboration qui n’est qu’un début. « Au-delà de cet annonce, nous prévoyons une collaboration à long terme entre nos deux entreprises » a fait savoir Michel Granger, Directeur Midmarket et Managed Services Providers chez IBM France. D’autres solutions IBM seraient bientôt disponibles résultant de leur coopération.

 Plus de détail sur l'offre d'OVH

 Découvrez Worklight