Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Langages de programmation

Cette première partie dédiée aux langages de programmation tente de montrer, pour les technologies coté client, comment s'est construite une idée du web à la fois technique et graphique.
by

François Mauviard

on 4 June 2015

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Langages de programmation

Langages Coté serveur
Langages de programmation
Une analogie qui reflète son époque
Le mot "Web" (toile) implique l'interconnexion à parts égales de chacun.
Une notion de "démocratie" et de communication à tout va s'en dégage et a construit jusqu'à présent Internet, allant contre les idées issues des médias antérieurs
Est-ce toujours le cas aujourd'hui ?
Une histoire technique du Web
Commençons par les techniques :
Différentes techniques
Différentes utilisations
Différentes utilisations
Les langages coté client :
pour la structure des pages
pour l'interactivité
Les autres langages pour la programmation de l'interactivité
Les langages coté serveur
Les réseaux
Besoins :
une identification formelle (IPv4-> IPv6)
des canaux spécialisés en fonction des outils de communication (les ports)
des connexions physiques adaptées (cables, fibres optiques, radio, satellites, ...) dans une interconnexion de plus en plus diversifiée.
un format générique de transfert de l'information (train de bits)
Une étape qui semble être réglée.
Prémices et origines (1)
HTML : la construction des pages Internet
Les origines : SGML (Standard Generalized Markup Language), un langage à balises universel
Pourquoi ce choix ? L'intérêt d'un média sémantique
décrit chaque élément de média (texte et partie de texte, image, video, ...) de façon structurée et précise
permet la construction de liens hypertextes vers des URI
Evolutions : HTML 3, 4, 4.1, XHTML
La mobilité, une évolutions des descriptions et HTML.
La nécessité d'un design : CSS
Pourquoi
? La quasi impossibilité de concilier design et sémantique
Comment
? : l'arrivée des designers dans le champ du web et le site csszengarden qui a montré les possibilités des CSS
Contrainte
: la nécessité de standardiser la lecture des feuilles de style
Aujourd'hui
: Adaptative et Responsive Web Design
Demain
: problématique des gestuelles liées à la multiplicité des périphériques
La mort du Design ?

Les débuts de l'interactivité : javaScript
Une technologie client interactive : la page HTML comme un programme
Les débuts : usages aléatoires (recopie des scripts et des bibliothèques pour obtenir des effets parfois peu recommandables)
La standardisation des bibliothèques (JQuery en tête) et l’apparition des plateforme de téléchargement de script (sourceForge puis gitHub)
AJAX : interactivité étendue.
Applications coté client
Une amélioration de l'interactivité vue par l'utilisateur
Nécessitent des plugins additionnels pour permettre leur lecture
Insérés dans le code html avec les balises
<object>
et
<embed>
Trois programmes principaux :
Java
Director
Flash
Java : issu du monde des informaticiens
Contemporain du Web (Sun Microsystems - 1982/90) issu du C++. Il s'agit donc de la déclinaison d'un langage fait originellement pour autre chose. Mais prévu pour être unlangage "embarqué" (dans une cafetière, une voiture, ...).
Arrivée de la notion d'
applet
, une petite application pouvant être lue à partir d'un périphérique possédant le lecteur.
Un langage abouti qui alourdit les pages web (à cause du lecteur pluripotent) et qui n'est pas entièrement compatible, notamment avec MacIntosh
Director : les designers à l'oeuvre
Contemporain du Web (Video Works, Music Works, puis MacroMind - 1990)
Créé initialement pour créer des "vidéos interactives" et d'y intégrer un très grand nombre de médias,
Permet de créer ensuite des CD-ROMs (jeux, culture, pédagogie, voir Montparnasse Multimedia en France).
Le
lecteur

Shockwave
, permet d'intégrer des applets dans des pages Web.
Le
Lingo
, un langage de programmation, a amélioré l'interactivité
Existe aujourd'hui en
version 12
. Applications mobiles, etc.
Flash : l'honorable descendant
Un logiciel dédié initialement à la création graphique animée, principalement vectorielle.
Très rapidement dédié à la publication animée pour le web, de nombreux films d’animation voient le jour rapidement grâce à ce logiciel. L’adjonction d’un langage de programmation
ActionScript
permet d’ajouter de l’interactivité de plus en plus complexe.
Flash est aujourd'hui plutôt dédié à la production de plateformes interactives avec son et video (
Adobe Connect
...) et capture de flux audio et video. De l’animation, Flash est rentré dans le monde du logiciel utilitaire.

Langages Coté Client
Prémices et origines (1)
Terme exact : langage de script coté serveur : c’est un langage interprêté par un programme installé dans l’ordinateur qui sert les pages
Le serveur est nécessairement HTTP (Hyper Text Transfert Protocole)
Il peut interpréter plusieurs langages très différents
On ne parle dans ce cours que des plus influents
Les serveurs
Apache … et les autres
Apache : le plus influent dans le monde openSource. Il permet d’avoir un serveur maison gratuit à la maison
Serveur IIS sous Windows permet l’interprétation des scripts ASP
TomCat : permet de faire tourner des applets créées à partir de script JSP.
La notion de service
Un serveur “sert” des clients sur la base de leurs “requêtes”
Une requête est envoyée par le “client” (le navigateur) au serveur
il interprête la requête envoyée par le client sur la base des données d’URL et et d'autres données(cookies, ...)
Le serveur interprête le langage php concerné par cette requête
Le serveur renvoie une page HTML (ou un mix HTML/CSS/javaScript, etc.) au navigateur
Le service est rendu : on peut voir cette page.
PHP : Hypertext Preprocessor
Contemporain de histoire du Wb (www) - 1995. Langage proche du C.
Langage interprété par le serveur Apache. La version 5 actuelle construit un véritable modèle objet qui normalise les méthodes de programmation.
La réputation de PHP d'être d’un langage faiblement sécurisé provient du développement de PHP4 dans les années 2000. Ce n’est plus le cas aujourd’hui.
Pas de feuille de route pour une évolution du PHP aujourd’hui.
ASP : Active Server Pages
Arrivée dans le Web en 1996
L'ASP a donné son nom aux “sites dynamiques” par opposition aux sites statiques
A l’inverse de PHP, l’aspect sécuritaire et objet fut là dès le début
C'est un langage interprété, comme PHP par le serveur. Au début, serveur IIS Microsoft uniquement, mais maintenant, on peut utiliser Apache::ASP, y compris sur un serveur Linux.
JSP : JAVA Server Pages
Le principe est différent par rapport aux deux langages précédents :
le JPS est un langage compilé qui permet de construire des
servlets
(
applets
coté serveur) qui utilisent des bibliothèques pour fournir un langage à balises (XML) complêt. C’est le
servlet
Java qui construit véritablement les pages.
Le serveur (
tomCat
par exemple) compile le code et fournit les pages HTML) à l’internaute. Il peut être également fourni dans Apache.
Une architecture
trois tiers
Les bases de données relationnelles
La séparation du contenu et de la forme. Toutes les données (y compris codage numérique des images) peuvent être intégrées dans une base de données
Chaque type de donnée y est défini de façon originelle. La différence selon les différentes formes de bases de données peut se faire
selon la diversité de déclaration des types de données
la gestion des héritages.
...
Format des bases de données
De nombreux formats, plus ou moins lourds, plus ou moins complêts :
SQL / mySQL le plus largement utilisé
Microsoft SQL Server
LiteSQL : base de données légère inscrite dans un fichier déplaçable
PostGreSQL : un format très complet ouvert et libre, peu utilisé, mais en plein dévelopement (entre autres parce que les types de données sont plus diversifiées que dans la plupart des autres SGBDR).
Autres : peu utilisés dans les métiers du Web.
Langages et métiers
Même dans le domaine du Web, dès que les flux de programmation sont importants, les métiers se spécialisent :
Administrateur serveur : s'occupe des serveurs, des services associés (pour le langage de programmation, les bases de données, les automatisations de maintenance)
Administrateur base de données. Pour de très grosses entreprises ou services.
Webmestre : programme, développe, maintient, y compris pour des CMS (voir cours suivant).
Full transcript