PACK PAPIER LINUX MAGAZINE 2016


  • Magazine Papier
  • Version Numérique (PDF)


  • Magazine Papier
  • Version Numérique (PDF)


  • Magazine Papier
  • Version Numérique (PDF)


  • Magazine Papier
  • Version Numérique (PDF)


  • Magazine Papier
  • Version Numérique (PDF)


  • Magazine Papier
  • Version Numérique (PDF)


  • Magazine Papier
  • Version Numérique (PDF)


  • Magazine Papier
  • Version Numérique (PDF)


  • Magazine Papier
  • Version Numérique (PDF)


  • Magazine Papier
  • Version Numérique (PDF)


  • Magazine Papier
  • Version Numérique (PDF)

Twitter Bootstrap serait-il dépassé ?

Découvrez et utilisez Google Polymer, 

un framework web vraiment modulaire !


SOMMAIRE :

Actualités
p. 06 PHP 7 : Enfin !

Humeur
p. 12 Hadopi : cinq ans après, quel bilan ?

Repères
p. 16 Pratique de la norme MISRA C
p. 22 Parcourir des graphes en largeur

Les « how-to » du sysadmin
p. 32 Inspeqtor : surveillez vos processus

Sysadmin
p. 36 Service de calcul d'itinéraire
p. 38 Installation d'un moteur de recherche pour du géocodage
p. 42 Point d'accès WIFI 

Les « how-to » du développeur
p. 46 Datatables : interagir avec les tableaux HTML
p. 52 Gérer les expressions régulières en langage C

Développement
p. 58 Les addons, c'est encore sa Forge
p. 68 Un chat en PHARO : le serveur
p. 72 Un chat en PHARO : le client

Développement web & mobile
p. 76 Faisons un peu de chimie HTML avec Polymer

 

 

EDITO :

L’éducation est ce qu’il y a de plus important dans notre société, car c’est ce qui permet de lutter contre toutes les formes d’obscurantisme. Le savoir est une arme de dissuasion massive permettant de prévenir bon nombre de dérives. Il est donc essentiel de le préserver et de le transmettre aux plus jeunes. Dans ce rôle de transmission, on va trouver bien entendu les parents, puis les musées et certains médias (qui ne seront accessibles que par une volonté parentale) et bien sûr les enseignants. Ces derniers agissent en suivant les directives de leur ministre à savoir la ministre de l’Éducation Nationale.

Dans le cadre du Plan Numérique à l’École, la ministre a signé un partenariat entre le Ministère de l’Éducation Nationale et Microsoft. Avant de nous en émouvoir, penchons-nous sur les termes de ce partenariat consultable par tout un chacun [1]. On trouve dans ce document cinq axes :

1. La rédaction sous l’égide des services de l’État d’une « Charte de confiance » visant à assurer la protection des données personnelles des élèves et des enseignants.

2. L’accompagnement et la formation des acteurs du Plan Numérique : il s’agit de former les décideurs des services du Ministère, les chefs d’établissements et les enseignants à l’utilisation des produits Microsoft (dans le document on parle de « technologies », mais le terme « produits » me semble plus approprié puisque l’on a affaire à des logiciels propriétaires qui n’ont rien à voir avec des technologies au sens où nous l’entendons).

3. La mise à disposition de solutions pour l’utilisation des équipements mobiles. On peut traduire cela par une mise à disposition des produits de Cloud Microsoft (Office 365 Education, Microsoft Azure Active Directory, etc.) avec la mise en place d’une plateforme d’analyse des données d’apprentissage. Bien que, là encore, on nous assure une parfaite confidentialité et sécurité des données, nous ne sommes pas dupes : Microsoft se positionne pour implanter ses solutions et ainsi être à même de posséder un maximum de données qu’il pourra rentabiliser par la suite (comme Google).

4. Une expérimentation pour l’apprentissage du code à l’école. « L’apprentissage du code »... cette expression me fait horreur ! On peut apprendre à programmer ou encore s’initier au développement informatique, mais « apprendre le code »... Quel code ? Le code de l’honneur ? Le code de la route ? Cet apprentissage se déroulera sous la forme d’une expérimentation dans une vingtaine de classes dans une ou deux académies. Les enseignants seront formés à l’animation des cours (là ce n’est pas précisé dans le document donc je l’ajoute : sur des produits Microsoft) et seront donc ensuite à même, après quelques heures de formation, d’enseigner « le code ». En tant que formateur, j’ai été confronté à de nombreux groupes dans lesquels tous les participants possédaient des connaissances de base en informatique. Dire qu’au bout d’une semaine chacun aurait été capable d’enseigner la matière que je venais de leur inculquer me paraît particulièrement irréaliste, car ils n’avaient pas le recul nécessaire. Les enseignants, ne possédant pas forcément le même bagage technique initial, bénéficieront-ils d’une formation d’une durée suffisante leur permettant d’acquérir le savoir-faire, mais surtout la théorie sous-jacente ? Enseigner ce n’est pas recracher bêtement du savoir comme on pourrait ânonner une comptine incomprise, il faut l’avoir fait sien et être en capacité de donner à l’autre la possibilité de progresser.

5. L’apport d’une aide financière ou technique aux acteurs français de l’e-Éducation (constructeurs de terminaux mobiles sous Windows, éditeurs d’applications éducatives Windows App ou éditeurs de ressources numériques et de manuels scolaires souhaitant intégrer leurs manuels numériques à Office 365 Education).

Que déduire de cette analyse ? Chacun des points énoncés ci-dessus peut être réalisé sur la base de logiciels libres. Microsoft a réussi un grand coup de lobbying, car en se positionnant aussi fortement dans notre système éducatif, il s’assure des gains considérables. En effet, les enseignants formés aux produits Microsoft utiliseront ces produits dans leurs enseignements et les enfants les utiliseront également. Par effet de boule de neige, ayant appris à manipuler des produits Microsoft, nous aurons une nouvelle génération d’utilisateurs Microsoft qui arrivera sur le marché. Il y aura bien quelques enseignants « rebelles », mais cela sera insignifiant comparé à la masse qui aura été endoctrinée. Il est bien connu que la résistance aux changements est un frein important quant à la modification des comportements et en s’attaquant aux plus jeunes, Microsoft est certain de remporter la bataille.

Ce qui est très étrange, c’est que cet accord, fortement favorable à Microsoft, a donné lieu à la publication d’un communiqué de presse en date du 30 novembre 2015 et à une communication tous azimuts du ministère de l’Éducation. Un peu comme si quelqu’un criait sur tous les toits sa joie d’avoir été arnaqué. Est-on certain de la présence de conseillers techniques compétents et intègres dans les ministères ?

Autre partenariat, un peu moins médiatisé, le partenariat entre le Ministère de l’Éducation Nationale et Cisco. Il s’agit cette fois essentiellement de formation par e-learning (Cisco Network Academy) aux technologies réseau et internet. Là c’est le coup de grâce... J’ai déjà du mal à comprendre l’accord avec Microsoft mais là, le Ministère de l’Éducation Nationale, qui a donc sous sa tutelle des Universités dans lesquelles on trouve des maîtres de conférence et des professeurs en informatique va demander à une entreprise externe de former des étudiants et des enseignants ? Et le fait d’utiliser les ressources en interne, c’est impossible ? Qui va choisir les thèmes des formations mises à disposition et les technologies employées ?

Nous ne pourrons bientôt plus nous émouvoir de recevoir des fichiers docx illisibles, car ce sera la norme, ce sera ce que le gouvernement a décidé pour nous. Les solutions libres semblaient être de plus en plus prises au sérieux, mais ces partenariats viennent tout remettre en cause en formatant les adultes de demain. La période de l’évangélisation semblait close, il va falloir repartir en campagne...

Tristan Colombo

[1] Accord de Partenariat entre le Ministère de l’Éducation Nationale et Microsoft France : http://cache.media.education.gouv.fr/file/Partenaires/17/7/convention_signee_506177.pdf

 

N'envoyez jamais un humain faire le travail d'une machine !

Automatisez vos conteneurs

avec Docker & Ansible !


SOMMAIRE :

Actualités
p. 06 PostgreSQL - Architecture et notions avancées

Humeur
p. 08 Une si discrète institution

Repères
p. 12 La Programmation Orientée Objet pour tous ?

Les « how-to » du sysadmin
p. 16 Réalisez les sauvegardes de votre téléphone Android avec ssh

Sysadmin
p. 20 Sauvegarde automatisée de ses données personnelles
p. 30 Ansible & Docker sont dans un bateau

Les « how-to » du développeur
p. 38 Protocole de découverte de services

Développement
p. 44 Format WAV : créez des ondes sonores en C
p. 50 Format WAV : des sons de plus en plus complexes
p. 56 Interfaces utilisateur en Python : le mode CLI
p. 64 Asciidoc et Asciidoctor pour soigner votre documentation
p. 68 Pharo : générer des documents PDF avec Artefact

Développement web & mobile
p. 78 Création d'un menu en 5 minutes avec Polymer

 

EDITO :

Je vais revenir ce mois-ci sur un problème récurrent : l’ergonomie et l’utilisabilité des interfaces Web. De plus en plus de services sont proposés en ligne et c’est à se demander si leurs concepteurs les utilisent ou les ont seulement testés. Dans les dernières pages qu’il m’ait été donné de tester, on peut trouver : ▪ un formulaire qui disparaît à la validation lorsque l’un des champs contient une entrée incorrecte ; ▪ un formulaire dont l’ascenseur se trouve intégré à la page de façon tellement esthétique qu’il est invisible : on ne sait donc pas comment accéder au bas du formulaire et au bouton de validation ; ▪ des messages sur un site marchand (plutôt connu) où, sous prétexte de convivialité, les concepteurs ont glissé un peu d’ « humour » : « Et hop ! C’est dans votre panier ! » ou encore « Veuillez patienter, la page suivante va se charger automatiquement... ou pas :-) ». Et bien en tant que client je ferai pareil : je reviendrai... ou pas ! ▪ un panier qui indique qu’il contient un article alors que tous les articles ont été supprimés ; ▪ #un bouton « page suivante » qui renvoie sur la page d’accueil ; ▪ un formulaire de contact qui, une fois connecté et donc identifié, redemande à l’utilisateur de saisir ses nom, prénom, adresse, numéro de client, etc. Faire une requête dans la base de données est sans doute trop compliqué ! ▪ j’ai gardé le meilleur pour la fin avec un formulaire contenant un champ obligatoire sous la forme de boutons radio... et dont tous les boutons sont désactivés ! Je dois faire partie des quelques personnes en France ayant pu valider le formulaire en l’éditant et en modifiant les lignes <input type="radio" disabled="disabled" ...>.

Ce formulaire n’est pas censé s’adresser aux seuls informaticiens, mais peut-être s’agit-il d’un test caché ? Comment tout cela est possible ? Comment ces erreurs de conception peuvent-elles perdurer ? Pourquoi continuer d’accepter de tels agissements de la part de certains développeurs ? Si votre garagiste répare votre voiture et vous explique que pour démarrer il faudra dorénavant tourner trois fois sur vous-même avant d’ouvrir le capot, ajouter un peu d’huile, faire tourner le moteur deux minutes puis l’éteindre avant de redémarrer... est-ce que vous trouverez ça normal ? Certes non, pourtant nous n’avons pas tous des connaissances en mécanique auto. Alors pourquoi en informatique trouve-t-on normal d’avoir des programmes qui fonctionnent « à peu près » ou que les clients se voient proposer des solutions abracadabrantesques de contournement des problèmes ? Le logiciel libre est un début de réponse, mais n’est plus suffisant : de nombreuses entreprises surfent sur l’ « open source », détournant à leur profit le système économique du logiciel libre en produisant des logiciels au code obscur et non documenté de manière à pouvoir revendre par la suite des formations ou de nouveaux développements. Il n’y aurait donc aucune solution ? Si ! Râler comme on le ferait avec notre garagiste... et continuer à lire et faire lire GNU/Linux Magazine pour acquérir de nouveaux savoirs :-)

Tristan Colombo

Réalité virtuelle

Créez vos propres mondes avec A-Frame ! 


SOMMAIRE :

Actualités
p. 06 Construire un autre monde avec des technologies Web : A-Frame

Humeur
p. 14 Donne un poisson à un chat ...

Repères
p. 16 Créez vos propres bibliothèques
p. 22 Des Giga-octets aux Gibi-octets

Les « how-to » du sysadmin
p. 24 Cluster MySQL 5.6 et bascule automatique avec mysqlfailover

Sysadmin
p. 30 Orchestrez vos conteneurs Docker avec Docker Compose

Les « how-to » du développeur
p. 36 Mise en place de tests unitaires en Python avec unittest
p. 45 Modifiez un tableau html avec Greasemonkey

Développement
p. 48 Utilisation de Micmac pour la génération de modèle numérique d’élévation par traitement d’images acquises par microdrone
p. 58 Interfaces utilisateur en Python : le mode texte
p. 66 Wildfly Swarm

Développement web & mobile
p. 72 Implémentez SRP en Javascript et PHP !
p. 79 Un service Web en 10 minutes avec Bottle

 

EDITO :

Connaissez-vous la Délégation générale à la langue française et aux langues de France (la DGLFLF de son petit nom) ? Non ? Alors pour votre plus grand bonheur, vous allez apprendre qu’il s’agit d’un service directement rattaché au ministre chargé de la culture et qu’il est composé d’une trentaine de personnes. Son objectif est, je cite, « d’animer et de coordonner la politique linguistique du Gouvernement et d’orienter son évolution dans un sens favorable au maintien de la cohésion sociale et à la prise en compte de la diversité de notre société ». Si j’ai décidé de vous parler de cette instance ce mois-ci, c’est suite à la publication de l’article « Vers une norme française pour les claviers informatiques », paru sur le site du Ministère de la Culture [1]. En résumé, ce texte nous explique qu’il est « presque impossible d’écrire en français correctement avec un clavier commercialisé en France ». Ainsi on ne peut pas (ou très difficilement si je me réfère à l’atténuation impliquée par l’usage du mot « presque ») utiliser :

▪  des caractères majuscules accentués tels que «  É » ou « Ç » ;
▪ des guillemets français doubles en forme de chevrons c’est-à-dire « ... » en lieu et place des guillemets droits " ... " ;
▪ les ligatures avec « æ » (« e » dans « a ») et « œ » (« e » dans « o ») et bien entendu leurs variantes en caractères majuscules « Æ » et « Œ ».

Mais par quel miracle ai-je pu donc écrire tous les caractères qui précèdent ? Peut-être simplement en ayant correctement configuré mon clavier ? Je ne m’étais jusqu’ici jamais trop posé la question et j’ai donc découvert qu’il s’agit de la configuration « Français Français (variante) » :
Les différents caractères sont accessibles soit en appuyant simplement sur la touche, soit en la combinant avec la touche de verrouillage majuscule, avec <AltGr> ou avec <AltGr> + <Shift>. On peut donc en conclure que les éminents membres de cette institution n’ont pas configuré leur clavier correctement et que plutôt que de suivre une formation en informatique ou de s’informer auprès d’une personne compétente, ils ont préféré lancer un nouveau projet normatif auprès de l’AFNOR [2].

Plus grave, il paraît indispensable à la DGLFLF que ce nouveau clavier permette une utilisation aisée des différentes langues présentes sur notre territoire (langues régionales et étrangères), car on doit pouvoir recourir à plusieurs langues au sein d’un même document. Je me suis donc renseigné sur les langues régionales et étrangères présentes sur notre territoire en me basant sur les informations données par la DGLFLF :

langues régionales [3] : alsacien, basque, breton, catalan, corse, flamand occidental, franco-provençal, langues d’oil, langue d’oc, parlers liguriens ;
langues des Outre-mer [4] : créoles (guadeloupéen, martiniquais, guyanais, réunionnais), kanak, tahitien, etc. (une cinquantaine de langues au total) ;
langues non-territoriales [5] : arabe dialectal, arménien occidental, berbère, judéo-espagnol, romani et yiddish.

On peut donc commencer à imaginer à quoi pourrait ressembler la touche A (en se limitant quand même dans le nombre d’alphabets). Pour accéder sur une même touche aux différents alphabets, il faudra alors utiliser des combinaisons de touches... Quel sera donc l’intérêt par rapport à ce que l’on peut faire actuellement ? Et que dire des symboles mathématiques ? Ils ne constituent pas une langue, mais il est fréquent de devoir utiliser des caractères du grec ancien. Il faudrait donc ajouter également cet alphabet et un ensemble assez conséquent de symboles. Pour la DGLFLF, les caractères « utiles » seraient « ≤ », « ≥ » et « ‰ ». Je propose donc de supprimer aussi les caractères « inutiles » tels que le pipe « | » (d’ailleurs sur un clavier standard de Mac, il faut un minimum de trois mains pour réaliser la combinaison de touches permettant d’accéder à ce caractère).

L’article [1] résume en fait la section II « Vers une norme française pour les claviers informatiques ? » du rapport au parlement sur l’emploi de la langue française [6]. Dans ce rapport, on est rassuré d’apprendre que sur un « système Mac » les utilisateurs « chevronnés » seront capables d’accentuer une lettre majuscule à l’aide de la touche de verrouillage majuscule. Ouf ! Donc dans la vraie vie, il y a les utilisateurs de Windows qui ne peuvent pas écrire correctement en français et les utilisateurs de Mac chevronnés qui y parviendront. GNU/Linux ça vous dit quelque chose ? Le noyau de Mac OS X n’est-il pas basé sur UNIX ? Au lieu de se dire que le problème vient du système d’exploitation ou de la méconnaissance des utilisateurs, lançons un vaste projet de création d’une nouvelle norme, c’est bien plus efficace !

Il faut noter que l’AFNOR se base apparemment sur ce rapport et non sur la déclaration de l’article [1] puisque son projet de normalisation se borne aux langues d’écriture latine. Je vous rappelle d’ailleurs à ce propos qu’il existe déjà une disposition de clavier adaptée à notre langue : le Bépo. Par contre, dans le contexte d’une utilisation multilingue, l’usage de cette disposition ne sera plus adapté. Les mots-clés des langages sont tirés de l’anglais et il serait donc plus intéressant d’utiliser un clavier Dvorak, car ces dispositions ont été pensées aussi pour minimiser la fatigue musculaire. Cela revient donc à modifier perpétuellement la disposition des touches ce qui, vous en conviendrez, ne serait guère efficace en terme de vitesse de frappe. Sans compter les problèmes inhérents à un changement de clavier (pour aider un collègue, pour les enseignants ou formateurs passant de machine en machine, etc.). Avez-vous remarqué le nombre de fautes de frappe que l’on fait lorsque l’on passe d’un clavier Azerty à un autre et que les touches sont décalées de quelques millimètres ? Imaginez donc avec des lettres se trouvant sur des touches « mouvantes » dont la disposition est complètement modifiée d’un clavier à l’autre.

Pour finir, en résumant tout cela à l’extrême, on en déduit qu’il est difficile d’écrire correctement en français sous Windows. Pour rappel, le ministère de l’Éducation nationale a signé un partenariat avec Microsoft et c’est bien ce ministère qui veille aux programmes appliqués dans les écoles, collèges et lycées, lesquels programmes contiennent également un apprentissage de la langue française... cherchez l’erreur ! Quant à nous, tant que nos claviers nous le permettent, nous pourrons continuer à administrer des serveurs, développer des applications et tester les techniques proposées dans les pages qui suivent. Je vous souhaite une bonne lecture...

Il y a deux mois nous nous insurgions de la signature du partenariat entre le ministère de l’Éducation nationale et Microsoft et nous apprenons donc maintenant que ce partenariat qui revient à « vendre » nos enfants à Microsoft et à ses suites logicielles ne leur permettra pas d’écrire en français alors que des solutions libres et fonctionnelles existent ! Dernièrement, les amendements déposés pour donner la priorité au logiciel libre dans le secteur public se sont transformés en un « encouragement » à l’utilisation des logiciels libres et des formats ouverts lors du développement, de l’achat ou de l’utilisation d’un système informatique malgré les actions de l’APRIL et le soutien de certains députés. Autant dire que bien qu’il existe des solutions pérennes et libres que vous, lecteurs de GNU/Linux Magazine, utilisez tous les jours, nous allons continuer à payer des délégations inadaptées qui imagineront d’autres normes aussi inutiles qu’elles sont incompétentes. Je vous souhaite tout de même une bonne lecture...

Tristan Colombo


Références

[1] DGLFLFL, « Vers une norme française pour les claviers informatiques » : http://www.culturecommunication.gouv.fr/Politiques-ministerielles/Langue-francaise-et-langues-de-France/Politiques-de-la-langue/Langues-et-numerique/Les-technologies-de-la-langue-et-la-normalisation/Vers-une-norme-francaise-pour-les-claviers-informatiques

[2] AFNOR, « Projet de nouveau modèle de clavier informatique » : http://www.afnor.org/liste-des-actualites/actualites/2015/novembre-2015/respect-de-l-ecriture-francaise-vers-un-nouveau-modele-de-clavier-informatique

[3] DGLFLFL, « Langues régionales » : http://www.culturecommunication.gouv.fr/Politiques-ministerielles/Langue-francaise-et-langues-de-France/Politiques-de-la-langue/Langues-de-France/Langues-regionales

[4] DGLFLFL, « Langues des Outre-mer » : http://www.culturecommunication.gouv.fr/Politiques-ministerielles/Langue-francaise-et-langues-de-France/Politiques-de-la-langue/Langues-de-France/Langues-des-Outre-mer

[5] DGLFLFL, « Langues non-territoriales » : http://www.culturecommunication.gouv.fr/Politiques-ministerielles/Langue-francaise-et-langues-de-France/Politiques-de-la-langue/Langues-de-France/Langues-non-territoriales

[6] « Rapport au parlement sur l’emploi de la langue française », 2015 (la section II débute en p. 51) : http://www.culturecommunication.gouv.fr/content/download/129266/1410822/version/4/file/Rapport%20au%20parlement%202015.pdf

Quels risques êtes-vous prêts à prendre avec vos données ?

Créez un cluster haute disponibilité

avec MYSQL/MariaDB


SOMMAIRE :

Actualités
p. 06 Ionic, le framework HTML5 qui aurait dû accélérer vos développements Cordova
p. 16 Petit tour du FOSDEM 2016

Humeur
p. 18 C'est ton bug ! Débrouille-toi avec !

Repères
p. 20 Bash, les bonnes pratiques
p. 26 Bash : aller encore plus loin avec les bonnes pratiques

Les « how-to » du sysadmin
p. 32 Dix façons de tester l'ouverture d'un port

Sysadmin
p. 36 Le cluster H-A MySQL sans ramer avec Galera Cluster !
p. 44 Découverte des drivers virtuels : les drivers vidéo
p. 50 Découverte des drivers virtuels : les drivers audio

Les « how-to » du développeur
p. 54 Utilisez SwiftMailer pour envoyer des mails

Développement
p. 56 Créer des documents simplement avec Pillar
p. 64 Atteindre le Graal : écrire son propre langage de programmation
p. 71 Outillez vos processus de développement avec Aphrodite

Développement web & mobile
p. 76 Intégrez JavaScript dans PHP

 

 

EDITO :

Il est amusant de constater comme nous fonctionnons tous selon des systèmes d’appartenance à des clans. Il y a le clan des partisans du logiciel libre contre le reste du monde, le clan des administrateurs système contre les développeurs et si on continue à affiner on peut arriver, au sein des développeurs, à trouver des oppositions entre développeurs Python, Java, C, etc. On doit même pouvoir trouver des écoles s’opposant au sein d’un même langage !

Quand j’étais jeune (non pas que je sois maintenant vieux...), je lisais déjà GNU/Linux Magazine et j’aimais dans cette revue l’ouverture qu’elle m’offrait, les découvertes technologiques que je pouvais y faire. Sans appartenir à une chapelle autre que « GNU/Linux », j’ai toujours été curieux de tout ce que je ne connaissais pas. En tant que rédacteur en chef, je suis toujours heureux de lire un article soumis en me disant « là j’ai appris quelque chose ». Ce sont ces découvertes que j’aime partager avec vous.

Dans les mails que je reçois, certains trouvent qu’il y a trop d’articles d’administration système, et d’autres trop d’articles de développement. Je pense chaque numéro de GNU/Linux Magazine de manière à essayer de trouver le meilleur équilibre possible entre les différentes rubriques et technologies de façon à ce que chaque lecteur puisse trouver son bonheur et, en même temps, élargir ses connaissances en ayant accès à des articles qui n’appartiennent pas forcément à son domaine de prédilection.

Le contenu de votre magazine dépend de deux paramètres fondamentaux :

▪ le point de vue de nos auteurs ;
▪ le point de vue de nos lecteurs.

Concernant le premier groupe, je vous invite à ne pas hésiter à venir nous rejoindre. Vous travaillez dans un domaine spécifique, vous souhaiteriez voir apparaître certains champs de compétences particuliers ? Sentez-vous libre de prendre la plume (ou plutôt le clavier) ! Certains diront « je ne suis pas écrivain », mais tout un chacun sait écrire et partager ses expériences. Nous n’attendons ni du Balzac ni du Tolkien, mais simplement vous qui avez une expérience à partager, une façon de programmer que vous présenterez à votre manière. C’est la première ligne qui compte, le reste suit naturellement ; alors j’attends que vous nourrissiez votre magazine et grossissiez les rangs du groupe des auteurs. Osez nous faire part de vos propositions de thèmes d’articles sur contrib@gnulinuxmag.com. Nous pourrons alors en discuter.

Concernant maintenant le second groupe, pour essayer de répondre toujours de manière plus poussée à vos attentes, j’aurais maintenant besoin de votre concours : deux petites minutes de votre temps pour répondre à un sondage en ligne qui permettra à la rédaction de mieux vous connaître (en tant que lecteur anonyme de GNU/Linux Magazine bien entendu, nous n’avons pas signé de partenariat avec la NSA...). Ce sondage est accessible à l’adresse suivante : http://www.gnulinuxmag.com/sondage-gnulinux-magazine-2016/

N’oubliez pas que l’on n’entend que ceux qui s’expriment et qu’en ne participant pas vous donnez plus de poids aux avis des autres lecteurs. En attendant les résultats de ce sondage, j’espère que vous prendrez plaisir à lire le présent numéro !

Tristan Colombo

Synthèse vocale

Faites parler votre ordinateur ! 

 


SOMMAIRE :

Actualités
p. 06 Nouveau langage Perl 6 : une expressivité sans précédent

Humeur
p. 14 Code et maintenabilité

Repères
p. 16 Peut-on vraiment calculer avec un ordinateur ?
p. 22 Expliquer un code QR
p. 28 Déchiffrer un code QR

Sysadmin
p. 32 Mettre en place un bureau virtuel sur son serveur dédié
p. 38 Tomcat en version « Stateless »
p. 46 Git init /etc

Les « how-to » du développeur
p. 52 Rédiger son article avec Asciidoc[tor]

Développement
p. 56 Écrire son thème Asciidoctor
p. 64 Il ne lui manque que la parole...
p. 72 Le Graal à portée de main: écrire un interpréteur

Développement web & mobile
p. 78 Android Context : Quel Context utiliser dans votre application Android ?

 

EDITO :

La complexité est un problème auquel tout développeur est confronté un jour ou l’autre et autant que ce soit le moins souvent possible ! La complexité ? Non, je ne parle pas de complexité algorithmique qui est nécessaire et permet d’optimiser le code. Il est question ici de la complexité induite par certains développeurs dans leurs programmes. N’avez-vous jamais rencontré un code censé réaliser une tâche extrêmement simple et clairement définie sans pour autant pouvoir le lire rapidement ? Un effet pernicieux de la fatigue ? Non, simplement un individu qui souhaite étaler son savoir, montrer qu’il « sait » de quoi il parle. Ainsi, pour répondre au problème « écris une fonction permettant d’additionner deux entiers », là où un développeur consciencieux se limiterait à l’écriture effective de ladite fonction, ces individus vont définir au minimum deux classes et une interface (et s’ils ont le moyen d’utiliser l’héritage, ça ne sera que mieux).

Quid de la philosophie UNIX : « ne faire qu’une seule chose, mais la faire bien » ? À quoi bon développer un système capable d’effectuer des opérations sur les nombres complexes quand on demande une simple addition d’entiers ? Cet exemple est bien entendu abrégé mais, aussi contradictoire que cela puisse paraître, la plus grande difficulté est de simplifier les choses. Pour pouvoir travailler en équipe et maintenir du code, il faut être capable d’écrire des instructions claires au sein d’une architecture qui aura peut-être demandé des heures de réflexions, mais paraîtra évidente. Le développeur qui « étale sa science » est un nuisible pour l’équipe, une source de perte de temps et de tensions (essayez de discuter avec quelqu’un qui a forcément raison).

Si nous changeons de domaine, prenons le dessin, n’importe quel étudiant des beaux arts sera capable de dessiner un « bête » taureau. En retrouver les lignes essentielles sera un travail autrement plus complexe et la vue du résultat final passera pour une évidence. On pourra entendre « un enfant de maternelle peut le faire » ou « moi en cinq minutes je fais la même chose »... Certes, une fois que le résultat est là, que tout le travail de simplification a été effectué, la reproduction sera plus aisée. Si vous cherchiez une idée de destination pour vos prochaines vacances, vous pourrez théoriquement voir les onze états successifs de la lithographie « Le Taureau » de Pablo Picasso au MoMA (Metropolitan Museum of Art). Mais comme les œuvres voyagent, il n’y sera peut-être pas... avec un peu de chance, vous pourrez la voir en France (elle était à Beaubourg il y a quelques années). Sinon on peut aussi en trouver des photos sur internet : http://www.moma.org/collection/works/62951 pour l’état III ou encore http://www.moma.org/collection/works/63062 pour l’état XI. Vous comprendrez de quoi je veux parler.

L’idée est la même lorsque l’on effectue une présentation devant un auditoire : créer des slides bourrés de texte, de code et d’équations est à la portée du premier venu. Simplifier le propos, alléger les supports visuels tout en expliquant des choses complexes, là est la réelle difficulté et la réelle preuve de maîtrise. Pour y parvenir, il n’y a qu’une solution : rester humble et continuer à apprendre, par exemple en lisant GNU/Linux Magazine...

Bonne lecture !

Tristan Colombo

Créez votre première application graphique en GTK+ !

Faites vos premiers pas en GTK+
Définissez votre thème
Internationalisez votre application


SOMMAIRE :

Actualités
p. 06 Le langage Perl 6, poursuite du tour d'horizon
p. 14 PostgreSQL 9.5 : les nouvelles fonctionnalités SQL

Humeur
p. 18 Je suis pas analyste !

Repères
p. 22 Peut-on vraiment calculer avec un ordinateur : les opérations
p. 32 Décoder un code QR

Les « how-to » du sysadmin
p. 42 Chiffrer une partition avec LVM et LUKS

Sysadmin
p. 46 Gestion de paquets sûre et flexible avec GNU Guix

Les « how-to » du développeur
p. 52 Déconnexion PDO : du comptage de références en PHP

Développement
p. 58 Programmer avec GTK+
p. 66 Un vrai langage

Développement web & mobile
p. 74 (Re)Découvrons jQuery

 

EDITO :

Faut-il faire table rase du passé ?

Ne vous inquiétez pas, je ne vous invite pas à la rédaction d’un devoir de philosophie, mais à une réflexion beaucoup plus prosaïque sur l’importance à donner à des technologies dites « dépassées ». L’informatique est un domaine où tout évolue très vite, du matériel aux langages. Faut-il pour autant considérer comme inutile tout ce qui a permis d’arriver au point où nous en sommes, de construire les langages que nous utilisons actuellement ? Dernièrement je me suis trouvé confronté à un étudiant qui dénigrait tout ce qui était « ancien » arguant qu’il y avait une « vieille méthode », et une « méthode performante ». Pourtant, dans un contexte d’apprentissage, la « vieille méthode », celle qu’il faudrait mettre au rebut et dont on a honte, permet de comprendre la « nouvelle méthode », celle qui est sous les feux des projecteurs. Parce que pour construire la nouvelle méthode, il a fallu comprendre l’ancienne !

Il n’est pas possible de comprendre le monde dans lequel nous vivons sans connaître un minimum l’Histoire. Il en est de même pour l’informatique. Avant d’utiliser le dernier framework à la mode, il est bon de connaître les bases du langage sur lequel il s’appuie. De nos jours on se retrouve confronté à des problèmes de mode qui sont très proches de ce que l’on peut constater dans le domaine vestimentaire. Une année, il « faudra » porter du noir et puis l’année d’après ce sera du fluo, puis des dégradés de bleus, etc. On retrouve le même problème avec les smartphones : pourquoi changer de smartphone tous les 6 mois pour avoir le dernier « I-Sung 4K THX Dolby TrueHD octaconta-core » avec 2Tio de mémoire extensible à 128Pio par ajout d’une carte SuperMicroSD High++, équipé d’une caméra Dual Pixel 120MP ? En dehors de pouvoir frimer pendant deux mois jusqu’à la sortie de l’ « I-Sung v2++ », à quoi cela sert-il ? Les commerciaux et publicistes font bien leur travail et du moment qu’il y a des consommateurs, les constructeurs sont heureux. Ce consumérisme se retrouve jusque dans les frameworks que nous employons : il faudra absolument utiliser le framework F1 puis, six mois plus tard F1 sera totalement has been, F2 sera ce qui se fait de mieux, etc. ! Les arguments seront simples à trouver : « sur Internet, tout le monde utilise F2 » et si « tout le monde » le fait, alors ils ont forcément raison. On changera donc de framework tous les six mois et il faudra réapprendre une logique différente. Pourtant une chose n’aura pas changé : le langage sur lequel s’appuie le framework. Si le développeur connaît bien celui-ci, quels que soient les changements il pourra s’adapter rapidement.

Ainsi, il y a deux écoles : soit on accepte d’apprendre les bases de manière à pouvoir évoluer et être capable de s’adapter, soit on se forme à une technologie éphémère de manière à être rentable rapidement et sur une durée très limitée. Tiens, ça rappelle le schéma des « modes » : on prend un développeur pour un an ou deux et après on s’en débarrasse, comme les smartphones. Il existe quand même une différence : pour les smartphones, on commence à les recycler...

Je n’ai pas pu convaincre mon étudiant, certaines personnes sont trop bornées et je ne pense pas qu’il ouvre jamais un GNU/Linux Magazine, pourtant c’est dans ces pages que l’on peut trouver à la fois des notions essentielles et les actualités des derniers frameworks. Je vous souhaite donc une lecture enrichissante !

Tristan Colombo

 

Vision assistée par ordinateur
Analysez vos images avec OpenCV

▪ Reconnaissez des couleurs et des formes
▪ Décomptez des objets

Période : Juillet - Août 2016

SOMMAIRE

Actualités :

p. 06 PostgreSQL 9.5 : encore des nouveautés

Humeur :

p. 12 Les réseaux asociaux

Repères :

p. 16 Expliquer un corps fini
p. 20 Bienvenue dans le monde des descripteurs de fichiers

Les « how-to » du sysadmin :

p. 28 Configurer à chaud votre serveur OpenLDAP

Sysadmin :

p. 35 Démystification de l'attaque par Buffer Overflow

Les « how-to » du développeur :

p. 42 Filtrez vos courriels avec Python

Développement web & mobile :

p. 46 Apprenez à tenir vos promesses avec JavaScript

Développement :

p. 50 Déstructurez vos documents : conversion LaTeX vers LibreOffice
p. 54 Python : un environnement vraiment isolé avec GNU Guix
p. 58 Réalisation d'un automatisme d'objets connectés sans Cloud ni smartphone
p. 68 Vision assistée par ordinateur via OpenCV 

PRéFACE

Voici venu le temps... des vacances (« l’île aux enfants » c’est fini depuis un petit moment déjà) ! Nous allons pouvoir en profiter pour nous reposer et aussi pour apprendre et tester tout ce que nous n’avons pas eu le temps de faire tout au long de l’année. Pourquoi continuer à « apprendre » alors que l’on pourrait simplement se laisser griller au soleil sur un rocher ?

Peut-être simplement pour se mettre au goût du jour et comprendre les nouveaux mots qui ont été ajoutés à la dernière édition du Petit Robert. Dans un premier temps, nous pouvons nous rassurer sur le fait qu’il n’y a pas eu de nouvel anglicisme francisé à la manière du fameux « cédérom ». Mais, dans un second temps, la découverte de la définition de certains termes peut étonner. Ainsi, le verbe « geeker » a fait son entrée dans le dictionnaire... et sa définition est : « passer du temps devant un ordinateur »... Oui, vous avez bien lu... et si nous faisons partie de la même génération, là, nous ne comprenons plus ! Un « geek » est donc aujourd’hui simplement quelqu’un qui, en lisant entre les lignes, passe du temps devant un écran et donc, pourquoi pas, passe sa vie sur Facebook, Twitter, Periscope, etc. ? Je sens que nous allons avoir du travail et un certain nombre de définitions à apprendre pour ne pas faire de contresens, car nous sommes quand même bien loin du « geek » originel qui était un solitaire un peu fou, absorbé dans ces pensées/problèmes informatiques au point de ne pas se soucier de son apparence : vêtements négligés, cheveux en désordre et généralement barbus (ne s’applique pas aux « geekettes » :-)). Le fait que le « geek » soit un solitaire ne le coupe pas pour autant de relations sociales puisqu’il communique avec ses semblables par le biais de l’outil informatique, généralement au sein de communautés. Quant à la pilosité du « geek », elle trouve sans doute également sa source dans le fait que la plupart des grands noms de l’informatique étaient (ou sont) barbus : Dennis Ritchie, Ken Thompson, Richard Stallmann, Guido van Rossum, etc. Ces gens-là se trouvent être désormais des geeks au même titre que Paris Hilton (27,7k tweets) ! Peut-être va-t-il falloir trouver un nouveau terme pour désigner les « geeks » d’hier...

Pour revenir dans un domaine plus technique, nous vous proposons dans ce numéro un certain nombre d’applications ludiques telles que : ▪ l’analyse d’images avec OpenCV qui vous permettra de repérer des formes, compter des objets, etc., ▪ ou le codage d’une intelligence artificielle capable de jouer contre vous au morpion (voire aux dames ou aux échecs suivant vos envies).

En associant les deux projets, vous pourrez détecter la position des pièces du jeu de morpion sur papier puis demander à l’ordinateur de jouer. Pour le dessin des pièces dans le monde réel se sera un peu plus compliqué sans un robot capable d’écrire... mais le challenge peut être amusant et sujet d’un article que nous nous ferons plaisir à publier ! Sinon vous pouvez vous contenter de compter la somme constituée par la poignée de pièces de monnaie que vous a rendu le pharmacien (ça fait mal un coup de soleil !) et que vous venez de jeter négligemment devant votre webcam... Bref, je vous souhaite de passer de bonnes vacances en apprenant, geeks que nous sommes et ce, même par 40° à l’ombre.

Bon été et bonne lecture !!!

Tristan Colombo

Créez votre première intelligence artificielle !


SOMMAIRE :

Actualités

p. 06 PostgreSQL 9.5 : Sécurité et Réplication

Humeur

p. 12 J’en ai ma claque, j’abandonne tout et je pars élever des chèvres dans le Larzac

Repères

p. 18 Le Tic Tac Toe un jeu simple à développer ?
p. 32 Fabriquer un corps fini

Les « how-to » du sysadmin

p. 38 Fonctionnalités avancées d’Aptly

Sysadmin

p. 44 Continuous Data Protection For GNU/Linux

Les « how-to » du développeur

p. 50 Développement rapide d'un micro gestionnaire de tickets avec Node.js

Développement

p. 58 Chez les Barbus – Java & Sécurité
p. 64 Modélisation d'un système de téléinformation EDF
p. 72 Format MIDI : composez en C !

Développement web & mobile

p. 79 À la découverte d'une application « unhosted » : Litewrite et PHP RemoteStorage



EDITO :

Pendant que nous profitions de vacances bien méritées, l’IEEE (Institute of Electrical and Electronics Engineers) publiait son étude annuelle des langages de programmation les plus populaires. Les données présentées sont issues de différentes sources, dont les recherches Google, les projets GitHub (actifs et créés), Stack Overflow (questions posées et nombre de vues), etc. auxquelles sont attribuées plus ou moins d’importance. Les résultats sont affichés sous la forme d’un tableau interactif où il est possible de filtrer les données par type d’utilisation (développement web, mobile, en entreprise ou embarqué) et par type de classement, chaque classement ayant sa propre configuration en terme de poids appliqué aux différentes sources (classement IEEE, langages ayant la progression la plus rapide, langages recherchés par les employeurs aux États-Unis, langages populaires dans le monde open source et enfin un type personnalisé en cliquant sur Custom puis Edit ranking) [1]. Dans ces conditions, il est bien sûr très facile de modifier complètement le classement en jouant sur deux ou trois indicateurs. Toujours est-il que ce classement nous donne les grandes tendances concernant les langages qui sont les plus employés et ceux qui le sont de moins en moins. Que peut-on donc retenir du classement de l’IEEE ?

▪ Les quatre langages les plus employés restent toujours les mêmes : C, Java, Python et C++.

▪ Le cinquième langage le plus employé est le... R ? Devant C#, PHP et JavaScript ? On constate ici un effet pernicieux de la mesure : plus un langage sera complexe et/ou mal documenté, plus le nombre de recherches sera conséquent... et entraînera son apparition en tête de classement.

▪ En développement mobile, Python disparaît du classement (manque de confiance des développeurs envers le framework Kivy ?) et étrangement Objective C n’apparaît qu’à la huitième place, après Scala. Les deux premières places sont occupées par C et Java (Android).

▪ En développement web on retrouve Java, Python, C# et PHP et on découvre que l’IEEE considère HTML comme un langage...

▪ Le langage Go est plus employé qu’en 2015, au contraire de l’usage de Perl qui continue de chuter.

▪ Enfin, sans surprise, Actionscript et OCaml font partie des langages les moins employés.

Encore une fois, ces classements n’indiquent en aucune façon qu’un langage est « bon » ou « mauvais » ou même « meilleur » qu’un autre, mais ils permettent de suivre la tendance des logiciels produits et donc de savoir quels langages seront le plus à même d’être demandés sur le marché du travail... Pour finir, sans aucun rapport avec ce qui précède, devant la recrudescence d’auteurs se sentant obligés d’appliquer le « Guide pratique pour une communication publique sans stéréotype de sexe » du Haut Conseil à l’Égalité entre les femmes et les hommes [2], il me paraît important d’effectuer une précision sur les textes que vous pouvez lire dans nos magazines. Sans aucunement souhaiter renier notre lectorat féminin, nous maintiendrons dans nos textes un masculin se voulant généraliste et permettant de garantir la lisibilité d’articles qui peuvent être complexes. En effet, appliquer la marque du féminin et du singulier en les séparant par des points comme préconisé en page 15 dudit guide conduit à des étrangetés du type « les utilisateur.rice.s » qui répétées au fil d’un texte en ralentissent nécessairement la lecture. L’Histoire de l’informatique a été écrite par des hommes, mais aussi des femmes telles que Ada Lovelace et Grace Hopper et le fait de ne pas employer une écriture pointilliste ne nous le fait pas oublier. Aussi, n’hésitez pas que vous soyez lecteurs ou lectrices à nous proposer des articles sur les technologies que vous employez... qu’elles soient en lien ou non avec le top des langages de l’IEEE :-)

Je vous souhaite à toutes et à tous (et non à tou.te.s) une bonne lecture !

Tristan Colombo

Réalité Augmentée

Intégrez vos objets 3D dans le monde réel avec ARToolKit

Dessinez vos marqueurs

Créez des objets 3D VRML et affichez-les


SOMMAIRE :

Actualités

p. 06 Générer son appli avec JBoss Forge

Humeur

p. 12 Logiciel « libre » ou Open Source : finissons-en avec les polémiques !

Repères

p. 14 Peut-on vraiment calculer avec un ordinateur : mesurer et améliorer la précision

p. 22 Recherche de motifs géométriques dans une image : la transformée de Hough

Sysadmin

p. 34 Gestion des Access Control List de vos réseaux

Développement

p. 40 Les secrets de fabrication d'une entrée gagnante de l'IOCCC

p. 48 Partez à la découverte de la réalité augmentée

p. 60 Conception d'un système de télé-information EDF

p. 74 Pharo et les bases de données relationnelles

Développement web & mobile

p. 80 Écrire une bibliothèque performante pour Node.js

EDITO :

     Je regardais dernièrement les smartphones sortis en 2016 et ceux prévus pour 2017. Je ne cherche pas à changer mon bon vieux smartphone qui n’a que trois ans demi, mais tous mes smartphones précédents n’ayant jamais eu l’occasion de fêter leur deux ans d’existence, je me méfie et commence à me renseigner... Quelle ne fut pas ma surprise de constater la grande « nouveauté » initiée cette année, la grande évolution technologique : sur pratiquement tous les modèles, la batterie est désormais non amovible (oui, même les modèles plaqués or avec touches en rubis à €€€€). Or, cet élément s’use très vite et le changer permet de prolonger la durée de vie de son smartphone : plus de batterie amovible implique une durée de vie plus courte des smartphones... mais un gain plus important pour les constructeurs (coûts de fabrication moins élevés et vente de plus de smartphones).

     À l’heure d’une prise de conscience environnementale mondiale soulignée par la COP22, de l’accroissement du nombre d’objets recyclés (disparition des sacs en plastique chez les commerçants, etc.), et du tri sélectif, il est navrant de constater que, parallèlement, les objets que nous construisons peuvent de moins en moins souvent être réparés. Je parlais des smartphones, mais j’ai également pu voir un picoprojecteur dont la coque en plastique était scellée, un réfrigérateur que l’on propose de remplacer pour... une charnière cassée, une décapeuse thermique échangée sans l’avoir même inspectée, etc.

     Le projet Google ARA a (avait ?) pour but de construire un smartphone modulaire permettant de ne changer que des éléments particuliers et non le smartphone dans son intégralité et de permettre ainsi de réduire l’impact économique et environnemental de la « course au meilleur smartphone ». Le premier de ces smartphones devait être commercialisé cette année, mais pour l’instant le site de Google ARA (http://www.projectara.com/) n’annonce qu’une version pour développeurs, mais rien de précis pour une version grand public.

     Ainsi va donc le monde de la technologie et en attendant un smartphone complètement recyclé/able utilisons de façon ludique celui que nous avons entre les mains. Ainsi ce mois-ci, pourquoi ne pas tester la réalité augmentée en intégrant vos propres objets 3D dans la réalité ? C’est beaucoup plus amusant que de jouer à un certain jeu dont je tairai le nom, mais que tout un chacun aura reconnu et dont le principal intérêt est d’augmenter les bénéfices de la société éditrice (ainsi que la quantité de données collectées...?) et de faire courir une foule importante dans des lieux plus ou moins improbables.

     Je vous souhaite une bonne lecture ainsi que de belles expériences de réalité augmentée...

                                                                                                                            Tristan Colombo

Réseaux de neurones & reconnaissance de symboles manuscrits

          ▪ Installez le framework Tensorflow

          ▪ Lancez l'apprentissage sur un jeu de données

          ▪ Reconnaissez des chiffres manuscrits


SOMMAIRE :

Actualités

p. 06 Le stockage de séries chronologiques avec InfluxDB

p. 12 PostgreSQL 9.6 et le parallélisme

Humeur

p. 18 Et BEM ! Des css enfin lisibles !

Repères

p. 22 Apprentissage supervisé à l’aide de réseaux de neurones

p. 34 Réparer un code QR

Les « how-to » du sysadmin

p. 38 Trier automatiquement les fichiers d’un répertoire au fil de leur apparition

Sysadmin

p. 44 Les réseaux logiques (VLANs)

p. 54 Apprenez à programmer la libpcap

Développement

p. 62 Format MIDI et musique algorithmique

p. 68 Des menus dans une application GTK+

Développement web & mobile

p. 76 Ajax avec jQuery

EDITO :

     Ce mois-ci je vais revenir sur un sujet déjà abordé à de nombreuses reprises dans mes éditos : la qualité des sites internet. Nous sommes en 2016 (pratiquement en 2017) et il est encore possible d’avoir à utiliser des sites défiant toutes les règles de base de l’ergonomie ou même, pour être plus précis, qui sont mis en production alors qu’ils sont en phase de test. Je ne vais pas vous parler du blog culinaire de tel ou tel amateur, mais d’un véritable site, payé avec des fonds publics. Qu’un amateur ne soit pas au fait des aspects techniques ou juridiques peut être excusé... mais pas une entreprise professionnelle payée par une institution !

     Pour ancrer mon propos dans la réalité, sachez donc qu’un beau jour, mon épouse, souhaitant acheter des billets pour un musée m’appelle à la rescousse : impossible de finaliser la commande. Je m’installe donc devant l’ordinateur et là... horreur ! Je me trouve face à la page d’authentification précédant normalement le paiement, mais dont le contenu ne correspond pas du tout puisque l’on me demande de « Choisir ma visite ». Il y a de quoi se poser des questions ! Je vérifie donc mon panier qui contient bien les tickets et je tente à nouveau de valider la commande... en vain. Je peux même admirer de multiples affichages de « Thème désactivé temporairement » ou encore, « Test expo ». Cela soulève deux problèmes :

           ▪ #l’image de la ville renvoyée par le site : ouvert depuis juin 2013, ce musée possède une magnifique architecture très travaillée ; on aurait pu espérer un site internet dont justement l’architecture ait été d’une meilleure qualité et ne pas avoir à subir des pages de test !

          ▪ #l’absence de mentions légales : en suivant la philosophie du logiciel libre, je me suis dit qu’il me fallait signaler les erreurs pour qu’elles soient corrigées et j’ai recherché quelle entreprise avait obtenu le marché. Ma recherche s’est avérée infructueuse pour cause d’absence de mentions légales... Pour rappel, dans le respect de la loi, celles-ci doivent être obligatoirement présentes et indiquer notamment la raison sociale, la forme juridique, le nom du responsable de la publication, les coordonnées de l’hébergeur du site, etc. Vous pourrez consulter pour une liste non exhaustive la page [1] rappelant de plus que « Le manquement à l’une de ces obligations peut être sanctionné jusqu’à un an d’emprisonnement, 75 000 € d’amende pour les personnes physiques et 375 000 € pour les personnes morales ». Nous sommes donc en présence d’un grand musée national qui a dépensé de l’argent public pour la réalisation d’un site web non fonctionnel et qui ne respecte même pas la législation en vigueur...

     Ces problèmes aboutissent à un constat désolant : celui d’un musée national ayant sollicité beaucoup de ressources pour penser un contenu, mais qui bénéficie d’un site internet plus proche d’un projet en cours de développement que d’une réelle plateforme, jolie vitrine du travail des conservateurs de ce dit musée.

     Comme l’aurait dit Philippe Meyer : « Nous vivons une époque moderne, le progrès fait rââââge !!! ».

[1] #Site officiel de l’Administration Française, « Quelles sont les mentions légales sur un site ? » : https://www.service-public.fr/professionnels-entreprises/vosdroits/F31228

                                                                                                                                                   Tristan Colombo

Moteur de recherche :

Créez un robot qui fouille le web pour vous !

                     Développez un web crawler

                     ▪ Implémentez un moteur d'indexation


SOMMAIRE :

Actualités

p. 06 Découvrez les nouveautés de PHP 7.1

Humeur

p. 18 Fichtre et si j’étais le problème de mon équipe ?

Repères

p. 14 Utilisez un code source de qualité en respectant un standard

p. 22 Préparer un code QR

p. 28 Dessiner un code QR

Sysadmin

p. 32 Knock kock knock’in on heaven’s door

p. 40 Virtualisation avancée avec Proxmox VE : volumes ZFS et cluster Corosync

Les « how-to » du développeur

p. 44 Moteur de Template Twig : prise en main

p. 50 Étendez Pandoc avec Lua

Développement

p. 54 Python et le cas du switch (ou the switch case en anglais)

p. 58 Analyser le Web à l’aide d’un Web Crawler

Développement web & mobile

p. 68 Web Cryptography API

p. 74 TypeScript : devenez sérieux avec JavaScript

EDITO :

À quoi sert le Web si l'on ne peut pas le parcourir et trouver les informations que l'on souhaite ?

Aujourd'hui, il suffit d'ouvrir un moteur de recherche (bien souvent Google) et de taper sa requête pour obtenir une réponse pertinente en quelques secondes... pour peu que l'on sache construire la requête correctement. Le fait d'obtenir cette information paraît naturel mais, pour les plus vieux d'entre nous (ou les moins jeunes devrais-je dire), rappelez-vous qu'il y a quelques dizaines d'années nous utilisions des annuaires (Yahoo ! étant le premier d'entre eux). Excite introduisit ensuite les bases des véritables moteurs de recherche. Ces moteurs prirent alors l'aspect de portails et se livrèrent une guerre sans merci. Les sociétés qui proposaient ces moteurs perdirent peu à peu de vue le fait que les utilisateurs souhaitaient se focaliser sur la recherche et elles multiplièrent les sources de distraction (puisque nous sommes sur un portail) de manière à engranger un maximum de revenus publicitaires. De plus, la recherche n'était pas particulièrement efficace... et c'est alors qu'apparût Google, qui écrasa tous les autres.

De nos jours peu de moteurs résistent encore à l'hégémonie de Google. On peut citer par exemple DuckDuckGo, Qwant ou encore Bing. Chacun fera alors son choix en estimant la pertinence des réponses. Notons également la présence de méta-moteurs : des sites qui interrogent différents moteurs de recherche et qui agrègent les réponses. Certains de ces méta-moteurs sont un peu particuliers : ils n'interrogent qu'un seul moteur, mais permettent d'assurer la confidentialité de vos recherches (comme Startpage).

Derrière tous les moteurs de recherche se trouve la même mécanique : parcourir le Web, collecter des informations et les indexer en fonction de critères propres à chaque moteur. Dans ce numéro, nous vous proposons de revenir sur les bases des moteurs de recherche, de créer votre Web Crawler pour l'envoyer fouiller les pages web à la recherche des informations qui vous intéressent. Vous pourrez en quelque sorte créer vos propres espions du Web numériques : lancez vos robots le soir et récupérez vos données au petit matin. Parcourez les pages à la recherche d'erreurs, de liens morts, étudiez l'évolution des sites dans le temps... devenez le maître du Web (à ponctuer par un rire guttural :-)).

Pour finir, comme vous l'aurez sans doute remarqué, le numéro 200 approche à grands pas (ainsi que la nouvelle année, comme cela avait été calculé au lancement du magazine... si, si :-)). Nous avons décidé de nous servir de ce numéro un peu spécial pour marquer le coup en vous proposant une nouvelle formule qui se veut un peu plus proche de l'esprit des débuts. De nouvelles rubriques verront le jour. Lesquelles ? Comment ? Vous le saurez le mois prochain...

                                                                                                                             Tristan Colombo

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      

Acheter ce pack


Référence : PPAP_LM_16

69,00 €

86,90 €

Nouveaux produits