Flash, Java and Co

Les utilisateurs sont régulièrement sollicités par des alertes pour faire des mises à jour.
Bien évidement, il y a celles de l'éditeur du système d'exploitation (Windows, Office, silverlight, Internet explorer pour Microsoft et Mac OS X pour Apple),
mais il y en a aussi d'autres très connus que l'on associe volontier au système mais qui n'appartiennent pas à Microsoft ou à Apple.

Il s'agit de Flash (éditeur Adobe)  et Java (éditeur Oracle).

En fait, Flash, Java, Silverlight, sont avant tout des outils de développement. Mais comme il nécessite l'installation d'un complément au système côté utilisateurs (avec des mises à jour régulières), ils sont devenus familiers de grand nombre d'utilisateurs.

Cette page vise à vous démystifier un peu ces termes.
 

Flash  (Adobe)

Depuis son lancement en 1996, la technologie Flash est devenue une des méthodes les plus populaires pour ajouter des animations et des objets interactifs à une page web. 
Le langage de programmation d'un client Flash web se fait en ActionScript. 

Les fichiers Flash créés peuvent être inclus dans une page web pour un usage sur Internet ou peuvent être montrés sous forme indépendante (sous la forme d'un fichier exécutable seul, sans plugiciel) en vue d'une utilisation hors ligne. Le contenu graphique des fichiers Flash permettent d'obtenir des applications web riches grâce aux support du vectoriel et des fichiers multimédia qui intègrent le son numérique et la vidéo numérique. On utilise Flash pour produire des contenus visuels dans l'approche dite "RichMedia" et "Motion Design" du Web.

Ce logiciel est actuellement utilisé dans les contextes suivants :
. Création de sites Internet et de jeux vidéo distribués sur le World Wide Web.
. Création d'illustrations.
. Création de vidéos pour la télévision ou le cinéma (génériques, clips musicaux, publicités, courts-métrages d'animation).
. Conception d'habillages pour des émissions télévisées.
. Création d'applications multimédia.
. Portions d'interfaces de jeux vidéo
. Création de diaporamas interactifs.
. Création de bannières publicitaires.
. Distributions marketing sur CD.
. Diffusion de vidéos via le Web.
. Module Web permettant d'interagir avec une base de données.
. Flash Video, extension .flv

Controverses - Flash et le « Web » :

Même si Flash est utilisé sur de nombreux sites Internet, il ne s'agit pas d'une norme du W3C, et donc en tant que tel il ne fait pas partie du Web. 
En effet, bien qu'un plugin Flash soit pré-installé sur la majorité des ordinateurs grand public, de nombreux systèmes d'exploitation, libres ou non, ne disposent pas d'un lecteur. Il est impossible de l'utiliser « quelle que soit sa plate-forme ». On retrouve Flash partiellement sur les ordinateurs Linux. Flash est présent sur les Mac mais pas sur les iPhone et iPad. Les smartphones équipés d'Android 4.1 ne supporteront plus le flash.

Flash Player : Une mort présagée et désormais officialisée

La dernière génération du langage HTML (HTML 5) utilisé pour l'affichage des pages web permet d'ores et déjà d'afficher des vidéos, des extraits sonores, s'annonce comme un très probable remplaçant des animations flash.
Même l'éditeur de flash (Adobe) le reconnait et cherche désormais à promouvoir son logiciel «Adobe air» qui permet de développer des applications en HTML 5. 

Reste que avant qu'il n'y ait plus besoin d'installer un lecteur flash (et ses mises à jours) pour pouvoir lire toutes les pages web souhaitées, il faudra que les sites soit re-développé en HTML5. Cela peut prendre du temps.
Ce changement pourait avoir lieu rapidement si les sites ne veulent pas être les oubliés des utilisateurs - toujours plus nombreux - de tablettes tactiles et smartphone non compatible avec flash. 



Java  (Oracle)

Java est un langage de programmation informatique orienté objet présenté officiellement le 23 mai 1995.

La particularité principale de Java est que les logiciels écrits dans ce langage sont très facilement portables sur plusieurs systèmes d’exploitation tels que UNIX, Windows, Mac OS ou GNU/Linux, avec peu ou pas de modifications. 
Le langage reprend en grande partie la syntaxe du langage C++, très utilisé par les informaticiens.

Oracle présente Java comme pouvant offrir un environnement fiable et flexible pour accueillir les applications fonctionnant sur plus de 3 milliards d'appareils, notamment :
. les téléphones portables, 
. les lecteurs de livres électroniques, 
. les téléphones VoIP, 
. les téléviseurs et décodeurs TV, 
. les lecteurs de Blu-ray, 
. les routeurs, 
. les imprimantes, 
. les cartes d'identité, 
. les compteurs électriques intelligents, 
. les IRM 
. et les kiosques.

Java permet de développer des applications client-serveur. Côté client, les applets sont à l’origine de la notoriété du langage. C’est surtout côté serveur que Java s’est imposé dans le milieu de l’entreprise grâce aux servlets, le pendant serveur des applets, et plus récemment les JSP (JavaServer Pages) qui peuvent se substituer à PHP, ASP et ASP.NET.

Utilisation Web - Côté client

Historiquement, la possibilité des navigateurs Web de lancer des applets Java était la seule solution pour afficher des applications clientes riches (RIA pour Rich Internet Application). Des technologies concurrentes ont émergé parmi lesquelles Macromedia Flash, le DHTML JavaScript, Silverlight basé sur XAML ou Xul.
Les applets sur le poste Client peuvent communiquer avec des servlets sur le Serveur, tout comme Javascript peut communiquer avec le Serveur au moyen d’AJAX. Flex utilise la technologie Flash par le biais du Adobe Flash Player.
À une époque où Javascript souffrait de problèmes de compatibilité inter-navigateur, les applets Java avaient l'avantage de la portabilité car le portage d'interfaces complexes était difficile à assurer pour tous les navigateurs du marché.
Mais les progrès faits dans les technologies concurrentes à Java ont amené la plupart des développeurs à se détourner des applets Java et des problèmes inhérents à cette technologie (incompatibilités entre les JVM, mauvaises performances, pauvreté des bibliothèques graphiques, complexité) et de la retombée de la « mode » Java. Enfin, les navigateurs modernes n'incluent plus systématiquement l'environnement Java à cause de sa taille importante et le taux de machines capables d'afficher des applets n'était plus que de 70 % en 2010, bien plus faible que pour Flash par exemple3. En 2010, la quasi-totalité des applications clients riches utilisent des technologies alternatives ; Flash pour l'essentiel mais aussi GWT.

exemple sur site de Photoweb, cela permet d'intégrer sur la page web en cours, l'arborescence des dossiers de votre ordinateur. Pratique pour sélectionner et transférer vos fichiers.
Sur certains sites pour tester la qualité de l'accès Internet (voip.ovh.net, www.pingtest.net ), un module Java est activé pour lancer une interaction avancé entre votre poste et un serveur de tests. Cela permet de tester les pertes de paquets, etc.

Le risque, évidement c'est que ces fonctionnalités avancées soient détournées pour un usage par des virus ou des pirates.
C'est pour cela que régulièrement des mises à jour sont proposées pour limiter ces risques ... 

Utilisation sur le poste de travail

L’utilisation native du langage Java pour des applications sur un poste de travail restait jusqu'à présent relativement rare à cause de leur manque de rapidité. Cependant, avec l’accroissement rapide de la puissance des ordinateurs, les améliorations au cours de la dernière décennie de la machine virtuelle Java et de la qualité des compilateurs, plusieurs technologies ont gagné du terrain comme par exemple Netbeans et l’environnement Eclipse, les technologies de fichiers partagés Limewire et Azureus. Java est aussi utilisé dans le programme de mathématiques Matlab, au niveau de l’interface homme machine et pour le calcul formel. Les applications Swing apparaissent également comme une alternative à la technologie .NET.
Utilisation avec les mobiles[modifier]
Java, et le langage qui en dérive : JavaFX, essaye d'occuper une niche pressentie pour devenir un marché d'avenir important : les plateformes mobiles (PDA, tablettes, téléphones). Cependant, là encore, la concurrence est rude. Microsoft Silverlight, et la convergence de Flash et de JavaScript/Ecmascript en ActionScript, sont également bien positionnées dans ce nouveau domaine. Java, notamment via Eclipse et NetBeans, offre déjà des environnements de développement intégrés pour mobile. Java est le principal langage utilisé pour développer des applications pour le système d'exploitation libre pour Mobile de Google : Android.

Microsoft et autres systèmes

Microsoft a fourni un environnement de travail de type Java, dénommé J++, avec ses systèmes d’exploitation avant la sortie de Windows XP en 2001. Suite à une décision de justice, et au vu du non-respect des spécifications de ce langage, Microsoft a dû abandonner celui-ci et créer un nouveau langage, de nom C# .
Beaucoup de fabricants d’ordinateurs continuent d’inclure un environnement JRE sur leurs systèmes Windows.
Java apparaît également comme un standard au niveau du MacOS X d’Apple aussi bien que pour les distributions Linux. De nos jours, la plupart des utilisateurs peuvent lancer des applications Java sans aucun problème.

A ne pas confondre, Java et Javascript

Ce sont tous les deux des langages de programmation (moins poussée pour le JavaScript), mais ce ne sont pas les mêmes langages. 

Java est un langage de programmation, qui n'est pas centré sur les sites WEB. Comme présenté plus haut dans le document Java cible un large éventail de domaine d'applications. Il est cependant utilisé dans certains sites. On parle alors d'applets Java. 

JavaScript (aussi abrégé JS) est utilisé dans la conception de pages WEB, pour certains éléments dynamiques et fonctions plus ou moins utiles et pratiques. JavaScript sert par exemple à contrôler les données saisies dans des formulaires HTML, ou à interagir avec le document HTML 
Javascript est généralement activé par défaut dans tous les navigateurs (Internet Explorer, Firefox, Chrome,Safari, etc).
Côté utilisateur, c'est donc relativement transparent, et le produit ne subit pas des mises aussi régulière que Java ou Flash.

Avec, la perspective de la généralisation de HTML5, destiné à embarquer de nombreuses fonctionnalités RIA et multimédia, les applets Java viendront peut-être à disparaitre prochainement.


Silverlight ( Microsoft )

Silverlight est un plugin pour navigateur Web multiplate-forme (Windows et Mac OS, Linux via le projet Moonlight), qui permet de développer des applications Web riches dans un moteur de rendu vectoriel. Il fonctionne de façon similaire à Adobe Flash dont il se veut une alternative.

Compatibilité avec les navigateurs :

Il est disponible pour Windows et Mac OS X, à l’aide de plugins disponibles pour Internet Explorer, Safari d’Apple et Firefox de la Fondation Mozilla. Pour Linux, c'est plus compliqué.

Avenir de Silverlight :

Lancé en 2007, silverlight n'a pas su s'imposer (en tous cas de façon hégémonique). Avec l'avènement du HTML5 et ses possibilités d'interfaces enrichies, certaines rumeurs annoncent la fin prochaine de silverlight (à l'image de flash).

Comments