De l'image à la playlist musicale !

Cette série commence par la réalisation d'une application très simple au départ, qui devient porgressivement un outil de partage sur internet de playlists musicales. Les premières parties sont issues des travaux de David Wolber et Ralph Morelli.

  • La première version consiste à jouer l'appel de Coluche (ou un discours de Luther King) quand on clique sur leur image.
  • puis on ajoute une deuxième image (ou plus exactement un deuxième bouton) associé à une deuxième personnalité et un deuxième enregistrement. On doit alors synchroniser la lecture en utilisant des conditions ou branchements conditionnels.
  • On ajoute ensuite, en dessous de chaque bouton, un composant qui permet de choisir dans une liste de personnalités associées à une image et un enregistrement historique (Luther King, Malcolm X, abbé Pierre, Coluche, Simone Veil, Robert Badinter)
  • Les fichiers images et sons qui étaient lues sur le smartphone, sont ensuite remplacées par les mêmes données lues sur Internet. On le fait tout simplement en changeant l'adresse du répertoire des fichiers.
  • Pour que l'ensemble des données de l'application soient gérées et mises à jour sur Internet, il reste à transférer le catalogue de données : c'est ce que l'on fait dans cette étape en regroupant la listes des auteurs, des images et des sons dans un seul catalogue au format JSON (JavaScript Objet Notation) que l'on décode avec un bloc de lecture App Inventor.
    Nous avons alors franchi un chemin considérable qui a permis :
    1. d'organiser et décrire des données complexes avec le format JSON : JavaScript Object Notation (une description des donénes sous forme d'objets),
    2. de séparer complètement la partie "algorithmique", sur le smartphone, de la partie "données" qui peut être gérée, mise à jour, partagée et administrée directement sur le Web.
    Deux éléments fondamentaux dans la construction d'applications en réseau avec partage de données.
  • Enfin - en changeant deux lignes de code - nous verrons que notre application historique devient immédiatement un juke box avec l'accès à des bases de données de milliers de musiques.

Notions abordées et vocabulaire

  • objet ou artefact informatique (computational artifact) - objet créé par l'homme qui comprend une part de traitement numérique, par exemple une application mobile ou une page web.

  • Programmation évènementielle (event-driven programming) - méthode de programmation où les programmes sont constitués par des procédures (ou du code) qui répondent à des évènements comme le click sur un bouton, le changement de la valeur d'un capteur comme le GPS ou l' inclinaison du téléphone, etc..

  • Matériel (Hardware) - composants matériels de nos ordinateurs et autres appareils comme le clavier ou le processeur.

  • Logiciel (Software) - programmes qui tournent sur un ordinateur comme les applications mobiles que nous allons faire dans ce cours.

  • Abstraction - un des grands principes utilisés en programmation, que nous développerons dans ce cours. Une abstraction est la représentation générale et simplifiée d'un objet ou d'un processus complexe. Un exemple que nous verrons, est la notion de carte (géographique)que nous utiliserons avec le géoportail de l'IGN, open street maps ou Google maps.

  • Nombre binaire (Binary number) - nombre écrit en base 2, c'est à dire avec des 0 et des 1.

  • bit (bit) : vient de binary digit, c'est à dire 0 ou 1

  • caractère (character) : dans les programmes, c'est n'importe quel symbole stocké sur un octet.

  • cyber-espace (cyberspace) : métaphore qui désigne l'univers non-physique engendré par les systèmes informatiques

  • centre serveur de données (data center) : infrastructure physique ou virtuelle que les entreprises utilisent pour héberger les ordinateurs, serveurs et moyens de connection nécessaires à leur système d'information

  • disque (disk drive) : moyen de stockage des données auxquelles on peut accéder de façon aléatoire, et que l'on peut effacer et mettre à jour. (Note : la notion d'accès aléatoire veut dire que l'on peut accéder à n'importe quelle donnée rapidement, par opposition aux moyens de stockage séquentiels comme les cassettes ou les bandes magnétiques, qui sont lues dans l'ordre d'enregistrement)

  • donnée ou données (data) : une donnée, au sens informatique, est une information représentée ou stockée dans un format particulier. La ou les données prennent des formes multiples : le texte sur une feuille de papier, les octets sur un disque dur ou une carte mémoire, ...

  • liste blanche (whitelist) : nom générique d'une liste d'adresses email ou IP considérées comme sûres (spam free)

  • liste noire (blacklist) : dans le contexte d'internet, ce terme désigne une liste de courriels (emails) émetteurs de "spam"

  • Loi de Moore : Loi empirique selon laquelle le nombre de transistors ou de circuis intégrés par mm2 double tous les ans depuis l'invention des circuits intégrés.

  • propriété intellectuelle : fait référence au droit de propriété associé aux créations de la pensée. La propriété intellectuelle regroupe la propriété industrielle et la propriété littéraire et artistique. Elle comprend en particulier les brevets, le copyright, les marques.

  • réseau de données (data network) : réseau de télécommunication qui permet aux ordinateurs d'échanger des données

  • réseau informatique (network) : groupe de deux ordinateurs ou plus, reliés par un moyen d'échange de données

  • processeur (processor) : abrégé de microprocesseur ou CPU : Unité Centrale de Traitement (Central Processing Unit)

  • réseau social (social networking) : ensemble d'individus ou d'organisations reliés par des interactions sociales régulières. Un réseau social fédère les relations et les flux d'information entre les personnes, les groupes, les organisations, les animaux, les ordinateurs et tout ce qui traite d' informations ou de connaissances.