Synthèse sur l’identité numérique

Dans nos articles précédents, nous avons commencé par définir ce qu’était l’identité numérique et de quoi celle-ci se composait (adresse IP, avatar, blogs, sites, géo-localisation, cookies, achats sur internet, …).
Dans un monde où Internet est de plus en plus omniprésent (e-commerce, réseaux sociaux et professionnels, outil de recherche, …), maîtriser son identité numérique est fondamental. Au niveau d’un individu et aussi au niveau d’une entreprise, nous avons fourni des réflexions, pistes et astuces à suivre pour s’en construire une de façon intelligente.
Mais nous ne sommes pas les seuls auteurs de notre identité numérique, qui peut être aussi façonnée par les traces laissées par notre environnement (entourage, résultats officiels, participation à des événements, … ) que nous ne souhaitons pas toujours rendre public. Pour reprendre la main sur nos traces, il est nous est paru important de décrire la législation les gouvernant et de fournir un petit guide pratique pour tenter de supprimer certaines composantes de notre identité.
Un autre problème qui devient crucial, étant donné la multiplication des services maintenant proposés sur Internet, est celui de l’authentification/usurpation d’identité. Nous avons donné dans cet article quelques astuces pour lutter contre l’usurpation d’identité, et présenté quelques outils à utiliser pour garantir une certain niveau de sécurité.
La question de l’identité numérique est loin d’être achevée, tant au niveau de la législation qui n’est pas encore suffisamment précise et complète, que par son rôle qui commence à prendre beaucoup d’importance et donc soulève de plus en plus d’interrogations.

Plan du rapport final :

I. Définition de l’identité numérique et ses enjeux
a) définitions
b) éléments qui composent l’identité numérique
c) enjeux

II. Promouvoir son identité numérique
a) pour un individu
b) pour une entreprise

III. Protéger son identité numérique
a) veiller
b) lutter contre les fraudes liées à l’identité numérique
c) législation

“Google m’a tuer” : synthèse et plan du rapport final

Synthèse

Tout au long du projet, nous nous sommes efforcés de mettre en évidence comment les services gratuits ont modifié la relation entre les éditeurs d’applications et leurs utilisateurs. En effet, dans le modèle payant, un client devait payer pour obtenir un accès à un logiciel, les droits des deux parties étaient alors définies clairement et engageaient les sociétés commercialisant les applications à respecter un certains cahier des charges. Dans le modèle gratuit, la relation est différente. Si la gratuité est souvent la principal raison qui pousse les internautes à utiliser un service web, ils oublient en général que l’éditeur n’est plus responsable face à l’utilisateur. Les conditions générales d’utilisation, bien souvent oubliés, sont rarement contraignantes pour les sociétés du web.

L’utilisateur devient parfois dépendant de l’application, et le choc peut être terrible lorsque celle-ci vient à être modifiée, ou que le gestionnaire de cette dernière décide de fermer le compte de l’internaute concerné. C’est ce qui est arrivé à Thomas Monopoly : après avoir migré tous les services dont il pouvait avoir besoin (boîtes mails, agenda, album photo,…), Google a décidé de fermer son compte sans raison apparente.

Le combat de Thomas Monopoly pour récupérer son compte illustre la relation asymétrique apparaissant avec le gratuit. Ce cas, appuyé par une étude sur les différents modèles économiques des sociétés délivrant des services gratuit, nous a permis de mieux comprendre comment l’utilisateur peut reprendre le pouvoir.

Rapport final

Après avoir rédigé, non sans plaisir, ces billets réguliers pour le blog de veille technologique, nous allons maintenant nous atteler à l’écriture de notre rapport final visant à synthétiser et mettre en forme la matière accumulée au cours du projet. Celui-ci aura le déroulement suivant :

  1. Thomas Monopoly : une introduction frontale au problème.
  2. Internaute et services gratuits : une relation complexe et asymétrique.
  3. Services gratuits et entreprise : un cas d’utilisation particulier et à déconseiller.
  4. Le gratuit : un modèle économique viable ?

“Google m’a tuer” : Du changement chez Google.

Nous avions annoncé la semaine dernière que nous traiterions du modèle économique des sociétés qui propose des services “gratuit”, mais on se trouve sur un blog de veille et les nouvelles nous ont rattrapées : Google a changé sa politique de confidentialité !

Quoi de neuf sous le soleil de Mountain View ? A partir du 1er mars les règles de confidentialitées vont être unifiées pour une soixantaine de services Google dont Gmail, G+,… Ces nouvelles règles visent selon Alma Whitten, responsable des question de confidentialité chez Google, à :

“En bref, nous vous considérerons comme un utilisateur unique au travers de tous nos produits, ce qui signifiera un expérience Google plus simple et intuitive ” – Alma Whitten

Ceci signifie que dorénavant Google aura une vue globale sur vous, utilisateur de services Google, car il ira puiser des informations à partir de tous leurs services que vous utilisez. Ainsi ils pourront croiser celles-ci, qui étaient avant officiellement séparées, et en apprendre plus sur vous, et de cette façon encore plus personnaliser votre surf… enfin les publicités qui vous serons montrées.

Car en effet le but recherché par Google double d’une part simplifier sa politique de confidentialité et d’autre part offrir une plus grande personnalisation à l’utilisateur. Alma Whitten nous éclaire sur cet aspect dans son billet :

“Peut-être pourrons-nous vous dire que vous serez en retard pour un rendez-vous en prenant en compte votre localisation, votre agenda ou encore les conditions de circulation” – Alma Whitten

Cette extrême personnalisation de l’expérience sur les services Google n’est peut être pas encore pour maintenant, mais nous donne une idée du but recherché. Nous ne sommes plus très loin de cette parodie :

The Google Toilet: SuperNews!

Le problème de la légalité de ces nouvelles règles se posent bien évidemment. Google assure par la voix de Peter Fleischer que :

“Nous avons bien sûr consulté les autorités de protection de la vie privée, la FTC comme la CNIL en France” – Peter Fleischer

Et avance même :

“La simplification de nos politiques pour plus de lisibilité nous semble aller dans le sens de ce que préconisent les différentes autorités” - Peter Fleischer

Cependant la Commission Européenne va prochainement réviser la directive sur la vie privée, ce qui pourrait changer les règles du jeu pour Google en Europe et l’obliger à changer à nouveau sa politique de confidentialité.

Si ces nouvelles règles vous révulsent et que vous voulez montrer votre mécontentement, que faire ? La réponse est simple : quitter ces services Google. En effet comme expliqué dans un de nos précédents articles, le fournisseur du service peut unilatéralement changer les CGU et l’utilisateur n’a d’autre choix que de les accepter si il veut continuer à l’utiliser. Malgré tout Google a promis de faciliter la libération des données stockées sur ses services lors du départ de ceux ci.

Pour conclure vous trouverez ci dessous la vidéo de Google annonçant le changement de ses règles de confidentialités :

Google Privacy Policy Update

 

La solution mise en place à l’université de Strasbourg

Suite à un entretien avec M. Schnell de l’Université de Strasbourg, nous en savons un peu plus sur ce projet, qui avait retenu notre attention.
M. Schnell, développeur du logiciel de capture et responsable recherche & développement, a bien voulu répondre à nos questions.
La plateforme de l’Université de Strasbourg a remporté un franc succès auprès des élèves de première année de médecine, souvent plus nombreux que les places disponibles dans l’amphi. Des solutions, telles que la diffusion en simultané dans plusieurs salles, ont donc été mises en place. « Des étudiants prenaient souvent des photos des illustrations PowerPoint ainsi que des tableaux de près lors de la pause », nous raconte M. Schnell.
L’Université de Nantes suit d’ailleurs la même logique : la majorité des cours sont enregistrés puis diffusés en interne.

Chez leurs confrères strasbourgeois, la visibilité est à l’appréciation du professeur qui publie sa vidéo. Les cours accessibles en ligne (à cette adresse : http://audiovideocours.u-strasbg.fr/avc/home ) sont très souvent consultés par les étudiants. En effet, chaque vidéo de première année de médecine est consultée en moyenne 7 000 fois !
Les utilisateurs à Strasbourg sont toutefois bien plus nombreux que les étudiants de Centrale Nantes. En effet, environ  42 500 (1) élèves sont inscrits dans l’Université, contre 1 500 (2) dans notre école. La plateforme sera donc moins sollicitée et le nombre de vidéos plus faible chez nous. Toutefois, le projet de l’Université de Strasbourg nous a impressionnées. Il ne semble avoir aucun point faible !

Par exemple, le site n’est jamais inaccessible, même lorsque 1 000 étudiants en première année de médecine s’y connectent simultanément après un cours ! Cela est dû au poids des médias synchronisés, et non à une bande passante exceptionnelle.

Petite digression concernant la capture de vidéo, car même si cela est hors sujet de veille technologique, la captation à Strasbourg permet de justifier le choix des serveurs. En effet, un cours d’une heure pèse en moyenne 50 Mo, alors qu’à Centrale Nantes une soutenance de 20 minutes en fait 200 ! Mais comment font-ils ?

M. Schnell a développé un logiciel qui enregistre la voix et qui prend une capture d’écran lorsque l’intervenant clique ou fait défiler ses diapositives. Un fichier texte enregistre le moment du changement.

Fichiers obtenus après captation d'un cours

Fichiers obtenus après captation d'un cours

Lors de la lecture sur le site web, c’est la bande son qui est jouée par défaut, et les captures d’écran sont affichées sur la page de façon synchronisée. Ce n’est donc pas, à proprement parler, une vidéo, même si une vidéo au format mp4 est générée par le serveur et disponible en téléchargement, pour la mobilité notamment. Le logiciel de capture est donc léger (développé en Python) et la “vidéo” finale 12 fois moins lourde qu’avec Podcast Producer (utilisé à Centrale Nantes). Évidemment, les animations sur les présentations sont à bannir, ou alors il faudra ajouter des captures manuellement lors de l’enregistrement (touche impression écran du clavier), ou ajouter des animations ou vidéos illustratives en pièce jointe à l’enregistrement sur le serveur. La post-production n’est pas aisée pour l’instant, car il faut à la fois modifier le “timelaps” (voir illustration ci dessus) et les captures. La dernière version du logiciel de captation permet cependant de couper aisément un enregistrement existant.

Un seul serveur suffit donc ! C’est un investissement moindre. Nous imaginions des serveurs multiples, au vu du poids d’une vidéo classique, et du nombre de vidéos hébergées si tous les cours étaient enregistrés. Ce serveur utilise Tomcat, Flash et du Python : stable et résistant à la charge, il ne nécessite que peu de maintenance.

A propos de maintenance, une seule personne est chargée à temps partiel de résoudre les bugs. C’est un avantage non négligeable : il est peu probable que quelqu’un soit engagé à Centrale Nantes pour la seule maintenance de la plateforme.

La gestion des vidéos se fait par les enseignants eux-mêmes. La partie administrateur de la plateforme est extrêmement simple d’utilisation, comme l’a souligné M. Schnell. Les enseignants peuvent choisir le niveau de visibilité, les tags, rajouter des diapositives, supprimer et ajouter des vidéos en un clic.
Ce genre de projet posant parfois problème au sein du corps enseignant, il est important que l’utilisation du produit ne nécessite pas de formation supplémentaire.
A l’Université de Strasbourg, le projet a été grandement porté par les étudiants, très envieux de revoir leurs cours sur Internet. Avant de développer une telle plateforme à Centrale Nantes, il sera nécessaire d’impliquer les élèves, tout comme ça été le cas pour le serveur pédagogique contenant les supports de cours.

La plateforme de l’Université de Strasbourg continue toujours d’évoluer et de nombreux projets sont en cours.
On peut citer notamment l’ajout d’une fonctionnalité permettant de retranscrire la voix du professeur en texte, qui serait un plus pour l’intégration d’élèves mal entendant et qui permettrait la recherche de mot-clé parmi la partie orale de la présentation.

Nous tenons à remercier chaleureusement M. Schnell pour toutes ces informations. Nous souhaiterions à l’avenir rencontrer quelqu’un du projet des Mines de Nantes, ou de l’Université de Nantes, afin de comparer les technologies utilisées.
Néanmoins, la plateforme mise en place par l’Université de Strasbourg répond bien aux critères de l’école de Centrale Nantes, et il est possible de publier des contenus existants vidéo ou audio comme sur une plateforme de partage vidéos classique. Il faudrait peut-être envisager de changer de système de capture afin de bénéficier des avantages décrits précédement. Celui de M.Schnell ne nécessite pas d’investissement matériel et il est compatible avec les différents OS.

Creative Commons License

La vidéo au service de l’enseignement et de la recherche by Marie Mainguy – Camille Guerin (étudiantes Ecole Centrale Nantes – option Informatique) is licensed under a Creative Commons Attribution 3.0 Unported License.

Les problèmes technologiques soulevés par la mise en place d’une plateforme de vidéo

Une plateforme de vidéo pédagogique en ligne est avant tout un défi technologique. Nous allons dans cet article soulever ces questions, auxquelles nous apporterons d’ici peu des éléments de réponse, grâce aux écoles ayant déjà une plateforme.

Qu’est-ce qu’une plateforme de vidéo? C’est tout d’abord un espace de stockage : les vidéos sont des objets lourds en matière d’hébergement. Il faut donc commencer par estimer le nombre de vidéos que l’on va produire, afin de déterminer le nombre de serveurs et leur taille.

Figure 1 – Serveur/client – source : Wikipédia


Il est aussi possible d’opter pour une solution Cloud et de louer des serveurs qui ne seront pas physiquement présents au sein de l’Ecole Centrale de Nantes. Dans ce cas, le prix est moins impactant au lancement du projet, mais la location sur la durée mérite une étude approfondie. En effet, l’achat d’un serveur dédié est un lourd investissement.

Survient ensuite le problème de la bande passante :
En informatique on désigne par bande passante un débit d’information. C’est donc un abus de langage qui fait l’analogie entre un nombre de réponses par unité de temps (bits/seconde) et des hertz.
Il y a donc deux « bandes passantes » qui méritent notre attention : celle du serveur et celle du réseau. Bien souvent, la première est limitée par la seconde.
En effet, on peut s’attendre à ce que plusieurs personnes se connectent en même temps à la plateforme, et qu’elles ne souhaitent pas attendre leur tour de visionnage. Il faut donc commencer par estimer le nombre d’utilisateurs potentiels et le nombre de vidéos vues par unité de temps. A titre d’exemple, Youtube a dépassé les 2 milliards de vidéos vues par jour en 2010. Il consommait, en 2009, 10% de la bande passante des Etats-Unis.

Une fois toutes nos vidéos stockées, il va falloir les indexer : c’est-à-dire les classer et leur attribuer des méta-données. Il faut prévoir un moyen d’ajouter ces données aux fichiers uploadés sur la plateforme. Il est déconseillé de réunir des vidéos qui concernent des thèmes complètement divergents dans une seule et même catégorie, afin d’éviter que cette dernière ne devienne complètement chaotique.

Une fois mis en ligne, il faut maintenir le système. Combien de temps cela prend-il ? Faut-il une personne à plein temps sur cette mission ? Les mêmes problèmes se posent quant aux évolutions futures. Il est nécessaire d’améliorer continuellement ce genre de plateforme, afin d’optimiser le rendu, grâce aux différents retours d’utilisateurs, et de s’adapter aux nouvelles technologies. Toutefois, dans une école formant de futurs ingénieurs en informatique, on imagine très bien de futurs projets liés à l’évolution de l’outil.

Toutes ces questions, nous les poserons aux responsables des plateformes des Mines de Nantes et de l’Université de Strasbourg. Le prochain article apportera des réponses quant à leurs choix.

Sources:

Creative Commons License

La vidéo au service de l’enseignement et de la recherche by Marie Mainguy – Camille Guerin (étudiantes Ecole Centrale Nantes – option Informatique) is licensed under a Creative Commons Attribution 3.0 Unported License.

Comment lutter contre l’usurpation de son identité numérique?

Le développement des nouvelles technologies a suscité l’apparition de techniques de communication rendant accessible au plus grand nombre la possibilité de se faire passer pour un autre. Ainsi, le développement de réalités virtuelles (Second life), de réseaux sociaux et autres plateformes de commerce en ligne, a vu naître une criminalité numérique à l’instar du monde physique, dans laquelle s’inscrit l’usurpation d’identité.

L’usurpation d’identité et ses conséquences

D’après la CNIL, l’usurpation d’identité est l’utilisation, sans votre accord d’informations qui permettent de vous identifier telles que votre nom, prénom, adresse e-mail, photographies…

Les applications et services web qui demandent un login et un mot de passe sont de plus en plus nombreuses, et il devient ainsi délicat de gérer et surveiller ses identités. L’usurpation d’identité est de plus en plus fréquente – selon AVG technologies, ce sont ainsi 20.000 comptes uniquement Yahoo, AOL et Hotmail en 2010.

Les conséquences sont diverses :

  • redirection de son courrier vers une autre adresse,
  • ouverture de compte au nom de la personne usurpée,
  • publication de messages problématiques sur son réseau social ou blog,
  • piratage de sa carte bancaire …

Comment lutter contre l’usurpation d’identité ?

Depuis le 14 mars 2011, le délit d’usurpation d’identité numérique est désormais sanctionné par la loi Loppsi 2 (loi d’Orientation et de programmation pour la sécurité intérieure). L’article 2 dispose en effet que, « l’utilisation malveillante, dans le cadre des communications électroniques, de l’identité d’autrui ou de toute autre donnée personnelle, en vue de troubler sa tranquillité ou de porter atteinte à son honneur ou sa considération sera passible de 15 000 euros d’amende et d’un an de prison ».

Jusqu’à l’adoption dudit texte, aucune définition ni sanction spécifique du délit d’usurpation d’identité numérique n’était légalement prévue.

 Quelques astuces pour prévenir l’usurpation d’identité

  •  Choisir un mot de passe sûr (à bannir : date de naissance, celle de ses enfants, son surnom, des suites comme 12345 ou abcdef, etc ) en combinant dans sa composition des caractères minuscules et majuscules, chiffres et caractères alphanumériques.
  • Eviter d’utiliser le même mot de passe pour plusieurs, voire l’ensemble de ses comptes. Ce qui limitera les soucis si l’un d’entre eux est piraté!
  • Changer régulièrement ses mots de passe
  • Ne pas fournir d’informations personnelles par mail sans vérifier la nature de l’expéditeur par exemple en rappelant un numéro dont vous êtres sûrs
  • Ne pas donner son adresse e-mail dans n’importe quel formulaire. Créer un mail “pourriel” que l’on utilisera uniquement pour ces formulaires.
  • Installer des anti-virus et des logiciels anti-spyware et surtout les mettre à jour régulièrement.
  • Ne pas cliquer sur un lien URL dans un e-mail : tapez plutôt l’adresse directement dans votre logiciel de navigation. En effet, ouvrir un lien dans un email frauduleux peut vous emmener, via un système de piratage par phishing , sur un site qui vous semblera tellement réel que vous pourriez y indiquer vos informations de connexion.

Enfin, il est important de noter que si vous êtes victimes d’usurpation d’identité en ligne, la CNIL peut vous aider à faire valoir vos droits, notamment pour effacer de fausses informations vous concernant, ou reprendre l’accès d’une messagerie électronique piratée par exemple.

Utiliser des outils pour authentifier notre identité numérique

Des industriels et start-ups planchent sur leurs propres solutions pour gérer les identités numériques :

OPEN ID :

C’est un système d’authentification décentralisé en bonne voie pour gagner son pari, puisqu’il bénéficie du soutien des acteurs majeurs des TIC. Ainsi, Microsoft et AOL ont déclaré leur soutien à Open ID, suivis d’Orange, qui la propose à ses clients. Enfin, Yahoo, Google, Verisign, IBM et Microsoft sont entrés, début 2008, au comité de direction de l’OpenID Foundation.

Le principe d’OpenID est simple : permettre à l’internaute de s’authentifier auprès de plusieurs sites ayant implémentés cette technologie en utilisant un seul et même identifiant OpenID.

Concrètement, il suffit de s’enregistrer auprès du site OpenID ou d’un des fournisseurs d’identifiants partenaires, qui agissent en tiers de confiance Il s’agit de sites tels que Claim ID, MyOpenID, ou encore Verisign. L’internaute crée ainsi son compte unique et reçoit une url spécifique.

Lorsqu’il se connecte ensuite à un site qui a mis en place le système OpenID, il lui suffit de donner cette url pour être identifié.

DATA PORTABILITY

Annoncé en janvier 2008 et soutenu par des poids lourds du Web (Yahoo !, Google, Netbvibes, Facebook, MySpace et LinkedIn), le projet DataPortability permettra de garantir la portabilité des données personnelles des internautes. En clair, ses membres pourront changer de réseau social ou de service de partage en quelques clics, sans devoir s’identifier à chaque fois qu’ils se connectent à un service.

 

 

 

CLAIM ID

Créé par deux étudiants doctorants à l’université de Caroline du Nord, ClaimID est un service gratuit, qui permet d’associer à son identité des liens renvoyant vers ses principales traces numériques.

Il vous permet donc de décliner votre identité sur Internet et de revendiquer la propriété des liens que vous produisez. Pour cela, le MicroID vous permet de « revendiquer » un de vos écrits sur le Web. C’est un identifiant unique, une sorte de filigrane digital, que vous placez sur vos propres pages.

Cela permet aux internautes qui cherchent votre nom sur un moteur de recherche de voir ce qui est de vous et ce qui ne l’est pas en ligne. Mieux, il vous laisse classifier, annoter, donner la priorité et partager l’information à votre sujet, de façon à ce que les personnes qui vous cherchent puissent voir l’identité que vous voulez présenter.

Après avoir sauvegardé vos liens, vous disposerez d’une page publique ClaimID, que les moteurs de recherche indexeront.

Lecteur de carte à puces

La meilleure manière de protéger votre identité numérique sur Internet, notamment lors de transaction bancaire en ligne, est encore d’utiliser un lecteur de carte à puce ou un token qui prouve que vous êtes bel et bien l’utilisateur. Les experts de la sécurité appellent cela l’authentification à « deux facteurs » : le premier facteur est un élément que vous avez en votre possession (code confidentiel, mot de passe) et le second est un élément matériel. Ainsi, le lecteur de carte à puce apporte un plus haut degré de sécurité car vous devez d’abord entrer votre identifiant ou mot de passe pour utiliser votre identité en ligne

Vers une nouvelle carte d’identité ?

En juillet 2011, l’Assemblée Nationale a adopté en première lecture le projet  d’une nouvelle forme de carte d’identité française. Celle-ci prévoit 2 puces dont une “puce régalienne” qui contiendrait les noms, prénoms, sexe, date et lieu de naissance, adresse, taille, couleur des yeux, empreintes digitales et photographie du titulaire.

Une seconde puce dite “de services dématérialisés”, facultative, pourra également être contenue dans la carte. Cette puce permettra au titulaire de ” s’identifier sur les réseaux de communication électronique et de mettre en œuvre sa signature électronique”. La puce sera lue grâce à un boîtier spécialement fourni, et permettra une identification en ligne qui devrait favoriser le commerce électronique.

Les deux puces conserveraient les données séparément, de sorte que les opérateurs privés ou les administrations ne pourront pas accéder aux données de la puce “régalienne”.

Mais tant la nature et la quantité de  données biométriques et commerciales qui pourront dès lors être accessibles au gouvernement, que leur protection (sécurité du dispositif mise en doute) fait polémique.

Sources :

http://www.haas-avocats.com/e-reputation/delit-usurpation-identite-au-secours-e-reputation/
http://www.commentcamarche.net/faq/14410-proteger-son-identite-numerique
http://www.cnil.fr/vos-libertes/vos-droits/details/article/lusurpation-didentite-en-questions/
http://www.referencement-blog.net/securite-identite-numerique-video-731
http://www.securisezvotreidentite.com/Comment-voler-votre-identite.php#internet
http://www.justaskgemalto.com/fr/naviguer/tips/

http://www.murielle-cahen.com/publications/usurpation-facebook.asp
http://www.lemonde.fr/societe/article/2011/07/08/pas-encore-adoptee-la-carte-d-identite-biometrique-est-deja-critiquee_1546615_3224.html

Les familles de langages fonctionnels

Les langages fonctionnels sont regroupés en quatre grandes familles, se distinguant chacune par une approche de programmation différente:
- la famille ML
- la famille Lisp
- la famille à Evaluation retardée
- la famille Communication

Nous présenterons ici dans les grandes lignes chacune de ces familles.

A- La famille ML

La famille ML comprend deux branches principales : Caml et ses dérivés( Caml-Light et Objective CAML) ; SML (Standard ML) et ses descendants (SML/NJ et mossml) .

Une spécifiation complète du langage Caml n’a jamais été rédigée. Ainsi, les différentes évolution du langages ont pu être effectuée en toute liberté. Caml est un langage statiquement typé, ce qui est très contraignant (n’autorise pas que les valeurs modifiables soient polymorphes). Les différentes versions de Caml-Light ont évolué vers le typage actuel des traits impératifs et se sont enrichies de nombreuses bibliothèques. CSL, le suivant de la famille, a quant à lui introduit le compilateur natif. Enfin le benjamin, Objective CAML, ajoute principalement l’extension objet par rapport à CSL.

En ce qui concerne SML, la spécification formelle a été donnée avant la première implantation. Cette démarche a permis la réalisation de plusieurs implantations, dont la plus connue est SML/NJ (Standard ML of New Jersey). Le système de typage initial de SML est différent de celui de Caml pour les traits impératifs en introduisant un niveau de faiblesse sur les variables de type. Cependant, les différences entre les deux langages se sont estompées avec le temps. Les deux branches ont maintenant le même système de type pour le noyau fonctionnel et impératif. Si les deux langages ne fusionnent pas, cela provient principalement de leur développement séparé.

B- La famille LISP: Scheme

Le langage Scheme (1975) est un dialecte du langage Lisp (1960). C’est un langage fonctionnel à évaluation stricte, muni de traits impératifs, typé dynamiquement. Sa syntaxe est régulière et marquée par l’usage des parenthèses. Scheme possède un système de macro-expansion très pratique. Il permet non seulement d’effectuer des ruptures de calcul (exceptions) mais aussi des reprises de calcul grâce aux continuations. Il existe de très nombreuses implantation de Scheme. Il est même utilisé comme langage de macros pour le logiciel de retouche d’images GIMP.

C- La famille à Evaluation Retardée

À la différence de ML ou Lisp, les langages à évaluation retardée ne calculent pas les paramètres d’appel des fonctions à leur passage, mais quand l’évaluation du corps de la fonction le nécessite. Il existe une version paresseuse de ML appelée Lazy ML mais les représentants principaux de cette famille de langages sont Miranda et Haskell.
Miranda est un langage fonctionnel pur, c’est à dire sans effet de bord. Un programme Miranda est une suite d’équations définissant les fonctions et les structures de données.

D- La famille “Communication


ERLANG est un langage fonctionnel typé dynamiquement pour la programmation concurrente( parallélisme). Il a été développé par la société Ericsson dans le cadre d’applications pour les télécommunications. Il est maintenant en open source. Il est conçu pour que la création de processus et leur communication soient aisées. Les communications se font par envoi de messages et elles peuvent être soumises à des délais. Il est facile de définir des protocoles via des ports. La gestion des erreurs utilise un mécanisme d’exceptions et de signaux qui peuvent se propager entre les processus. De nombreuses applications de téléphonie ont été réalisées avec Erlang.

Le langage SCOL est un langage de communication pour la construction de mondes 3D. Il est développé par la société Cryo Networks. Son noyau est proche de celui de Caml : il est fonctionnel, statiquement typé, polymorphe paramétrique avec inférence de types. Il est multimedia grâce à ses API pour le son, la 2D et la 3D. Le moteur 3D est très efficace. L’originalité de SCOL provient de la communication entre machines virtuelles au travers de canaux. Un canal est un couple (environnement, liaison réseau). La liaison est une socket (TCP ou UDP).

Bibliographie:

http://www.pps.jussieu.fr/Livres/ora/DA-OCAML/book-ora203.html

http://www.journaldunet.com/developpeur/tutoriel/out/051121-panorama-langages-fonctionnels.shtml

 

 

Le langage évolutif SCALA

Pourquoi développer un langage comme SCALA?

Le langage SCALA (SCAlable LAnguage) a été crée à l’Ecole Polytechnique de Lausane en 2001 (première version stable parue en 2003), et en est actuellement à sa version 2.9. A la tête du projet: Martin Odersky, avec pour but d’ exprimer les modèles de programmation courants dans une forme concise et élégante.
Scala est un langage moderne, qui s’appuie sur la machine virtuelle Java, multiplateforme, orienté objet et qui propose une syntaxe simple et élégante.
Il s’inspire de la programmation orienté-objet autant que des langages fonctionnels, et garde pour symbole la programmation par paliers. Cette combinaison lui permet d’avoir une flexibilité bien plus importante que la plupart des langages actuels. SCALA est par exemple idéal pour gérer l’ensemble des problématiques de développement liées au parallélisme, très en vogue actuellement de part la multiplication chez le consommateur des ordinateurs multi-coeurs.

Quelques caractéristiques du langage

SCALA présente de nombreuses caractéristiques qui le rendent très intéressant à utiliser. En voici une liste non exhaustive:
1) Caractéristiques de “fond”

SCALA est un langage:

•    Orienté-objet  ET  Fonctionnel
•    Statiquement typé.
•    contenant des classes génériques.
•    contenant des méthodes polymorphiques.
•    autorisant la création de fonctions imbriquées.
•    ne requérant pas de constructeurs ( new inutile lors de l’instanciation)
1) Caractéristiques de “forme”

SCALA :
•    ne nécessite pas de terminateur tel que ; à la fin des instructions.
•    a une syntaxe proche de celle de Java
•    est compatible avec le runtime Java et le runtime .NET

Une révolution pour de nombreuses sociétés

SCALA, de par sa flexibilité et sa facilité d’adaptation aux problématiques informatiques actuelles, a rapidement été adopté par un nombre important de sociétés, et il est aujourd’hui vanté comme étant l’un des langages les plus concis, élégants, et efficaces du marché.

Quelques exemples: des sociétés du web comme Twitter, Foursquare et Linkedin, mais aussi d’autres secteurs, à l’instar de la française EDF, de Siemens et plus récemment du quotidien anglais The Guardian, ont toutes adopté à des niveaux divers le langage. Twitter a entre autres utilisé Scala pour son système de file d’attente (queuing) qui traite à grande vitesse les millions de messages des abonnés.

Bibliographie:

http://www.scriptol.fr/programmation/scala.php

http://fr.wikipedia.org/wiki/Scala_%28langage%29

http://www.ictjournal.ch/fr-CH/News/2011/05/06/Scala-un-langage-de-programmation-suisse-qui-convainc-les-plus-grands.aspx

http://www.siteduzero.com/news-62-40012-des-nouvelles-du-langage-scala.html

Plateformes de vidéos pédagogiques: quelles solutions mises en places par les établissements d’enseignement supérieur?

Nous allons étudier dans cet article la structure de quelques plateformes proposées par des institutions en France, et éventuellement les retours correspondants sur leur mise en place, leur utilisation au quotidien côté administrateur et gérance, leur maintenance, les possibilités d’amélioration qu’elles offrent…
Cette analyse sera structurée en trois parties traitant chacune d’une institution et de la solution qu’elle a choisie pour sa plateforme: dans l’ordre, les Mines de Nantes, HEC et l’université de Strasbourg.
La plateforme pédagogique des Mines de Nantes, accessible ici, est en fait commune à toutes les écoles des mines françaises. Elle propose une interface disponible en plusieurs langues et un accès anonyme ou en s’identifiant.
Malheureusement, les tests sur les ressources externes s’avèrent peu concluants, même si le contenu a l’air assez étoffé à première vue:

Test d’accès à une ressource externe sur le site des Mines.

Après avoir réussi à enfin lancer une vidéo, la qualité est décevante:

Capture d’écran d’une vidéo diffusée sur le site des Mines.

L’ensemble de cette plateforme est supporté par l’environnement d’apprentissage libre Moodle. Cette option pourra être explorée plus avant dans un prochain article.

Par ailleurs, on note la présence très positive d’un site rassemblant les explications et expliquant la démarche suivie par l’ensemble du corps enseignant: le CAPE, Centre d’Appui aux Pratiques d’Enseignement. La note sur les droits d’auteur est particulièrement intéressante pour notre étude.

Il est enfin important de souligner que l’EMN a choisi de diffuser une partie de ses vidéos via iTunes U (dont nous avons parlé dans notre article précédent).

Chez HEC, la section vidéos est carrément vide. L’absence de liens vers une plateforme externe est préjudiciable et étonnante de la part d’un établissement qui investit autant dans son image… D’autant plus, après l’annonce en grande pompe de l’arrivée d’HEC sur Youtube Edu à la rentrée 2009, présentée comme le futur fer de lance des plateformes pédagogiques françaises:

“Nous considérons que l’avenir de l’internet c’est la vidéo, par conséquent nous avons créé une chaîne HEC Paris sur YouTube, leader mondial, pour donner accès à tous et à tout moment aux conférences et événements organisés par notre école. Nous sommes honorés de figurer parmi les premium partners du projet en Europe.”

La grande école ne se cache pas d’avoir monnayé cette première place, et pourtant: une des seules (si ce n’est la seule) liste de lecture du compte HECParis qui propose vraiment un contenu pédagogique, ‘Faculty & Research’, ne contient que onze vidéos depuis octobre 2009. Elles ont été vues à peine quelques centaines de fois (voire 25 seulement) mais proposent cependant un contenu bien monté: musique d’introduction, homogénéité du début des vidéos (quelques diapositives présentant le sujet) et qualité du propos sont au rendez-vous.

Quant à cette vidéo, nous sommes toujours perplexes:

Renvoi (?) d’HEC de Youtube Edu vers iTunes U.

Enfin, on peut remarquer que le catalogue de 8 000 vidéos dont se targue la première grande école de commerce française se résume actuellement à 252 liens.

La meilleure surprise dénichée lors de nos recherches est la plateforme de l’Université de Strasbourg: bien référencée sous Google, proposant une interface publique et une interface interne, dans plusieurs langues et plusieurs thèmes, elle a tout pour plaire. Elle établit même un standard de qualité: on peut y trouver du contenu audio et vidéo, enregistré ou en direct, et on peut s’abonner ou télécharger les fichiers. La page d’accueil est conviviale et propose un moteur de recherche efficace, et une sélection de contenus publics, populaires, ou par thème. Chaque vidéo est disponible en plusieurs qualités.

Nous comblant de joie, voici ce que l’on découvre en ouvrant les informations légales:

Informations légales de la plateforme de l’université de Strasbourg.

Le site a en effet été realisé par l’Université elle-même. Toute l’aide et les tutoriels sont facilement accessibles et simples à comprendre. Le site du projet est l’étape ultime pour ceux qui, comme nous, sont intéressés par la mise en place d’une plateforme similaire. Leur solution nous parait suffisamment intéressante et aboutie pour envisager d’entrer en contact avec les responsables de son implémentation (plus de nouvelles au prochain article !).

Nous avons donc vu, à travers l’étude de ces trois plateformes, que ces solutions ont chacune des avantages et des inconvénients, notamment quand on les met en perspective avec les attentes des utilisateurs vues dans l’article précédent. Il nous faut désormais nous attacher aux contraintes techniques d’une telle plateforme dans la pratique et adapter ces critères de qualité aux besoins de l’Ecole Centrale de Nantes.

Creative Commons License

La vidéo au service de l’enseignement et de la recherche by Marie Mainguy – Camille Guerin (étudiantes Ecole Centrale Nantes – option Informatique) is licensed under a Creative Commons Attribution 3.0 Unported License.

Langages fonctionnels-Haskell

Cet article s’attachera à décrire les grands éléments définissant la logique du langage Haskell. Celui-ci, créé en 1990, reste aujourd’hui très utilisé dans le monde professionnel.
On souhaite mettre ici en avant la logique et les éléments typiques des langages fonctionnels.

Définition

« Haskell est un langage purement fonctionnel, paresseux, mettant en jeu le typage statique, les fonctions d’ordre supérieur, et le polymorphisme. »

Tout est dans la définition! Haskell est en effet un langage de programmation purement fonctionnel. Il ne fait aucune concession qui pourrait l’éloigner de ce paradigme. Il fait d’ailleurs parti des rares langages à ne pas avoir conservé la syntaxe héritée du C qui est aujourd’hui reprise par nombre de langages (Java, C++, PHP, Javascript…), pour adopter une syntaxe plus “mathématique”.

Haskell met en œuvre la logique de programmation suivante : au lieu de dire à l’ordinateur comment résoudre un problème, le programmeur décrit la solution, et la façon de l’exécuter.

Détaillons les autres éléments de cette définition.

Paresse

L’évaluation paresseuse est une caractéristique utilisée presque exclusivement par les langages de programmation fonctionnelle. Tout comme Haskell, Scheme et OCaml utilisent également cette technique.

Elle consiste a ne pas exécuter de code tant que le résultat de ce code n’est pas absolument nécessaire. Dans la plupart des langages en effet, un certain nombre de calcul peuvent être exécuté à l’avance, alors que que le résultat n’est finalement pas utilisé. L’évaluation paresseuse permets donc d’optimiser l’exécution du code.
Lors de l’exécution d’un programme Haskell, les calculs ne sont effectués que lorsqu’ils sont nécessaires. Cette logique rend possible la représentation et la manipulation de valeurs infinies,

Typage statique, polymorphisme

Comme on l’a dores et déjà précisé dans le précédent article, les variables ne sont pas modifiable en Haskell. D’autre part, les types sont déterminés à la compilation (la précision du type n’est pas nécessaire lors de la création de la variable). Le compilateur détecte lui-même les erreurs de typage (ex: somme de deux variables de types différents).
Un autre élément utilisé par Haskell: le polymorphisme. Il s’agit d’autoriser un code à être utilisé avec différents types, ce qui permet d’éviter la redondance des définitions, et conduit à un codage plus abstrait.

Récursivité & fonctions d’ordre supérieur

L’immuabilité des variables en Haskell entraîne une forte utilisation des fonctions récursives. En effet, celles-ci ne nécessitent souvent pas la création puis modification de variables temporaires.
De même, les fonctions d’ordres supérieurs sont très utilisées. Celles-ci prennent une ou plusieurs fonctions comme entrées, OU qui renvoient une fonction en sortie.
Il n’est pas rare qu’une fonction récursive face appel à une fonction d’ordre supérieur.
Deux types de variables sont prédominants en Haskell : les listes, et les arbres. En effet, ceux-ci ont une structure très maniable lors de l’utilisation de fonctions récursives.

Conclusion

On a vu qu’ Haskell met en œuvre de nombreux éléments intéressants des langages fonctionnels. De plus, la simplicité de son écriture, et la non pollution des fonctions par une ponctuation redondante en font un langage très appréciable à l’utilisation.
Cependant, Haskell présente certaines limites de programmation. Par exemple, il n’est pas toujours aisé de programmer avec des variables immuables.
C’est pourquoi, nous étudierons dans un second temps Scala, un langage alliant logique fonctionnelle et impérative.