![Page 1: Serveur web / Base de donnees Langages de développement](https://reader033.vdocuments.pub/reader033/viewer/2022042615/55a9293a1a28abb8768b47a5/html5/thumbnails/1.jpg)
SERVEUR WEB
BASES DE DONNÉES
LANGAGES DE DÉVELOPPEMENT
UNE PRÉSENTATION OTICOutils et Technologies de l’Information et de la Communication
Ludovic RÉUS (Licence ATII)
22-03-2015
![Page 2: Serveur web / Base de donnees Langages de développement](https://reader033.vdocuments.pub/reader033/viewer/2022042615/55a9293a1a28abb8768b47a5/html5/thumbnails/2.jpg)
PRÉAMBULE
Cette présentation n’a pas la prétention
d’explorer l’intégralité des sujets abordés.
Merci aux auteurs et contributeurs des sites cités dans ce diaporama.
J’ai appris énormément en consultant vos travaux.
J’espère en être le digne relais
Ludovic
Son objectif est de présenter la variétés des
technologies informatiques accessibles aux
professionnels.
2
![Page 3: Serveur web / Base de donnees Langages de développement](https://reader033.vdocuments.pub/reader033/viewer/2022042615/55a9293a1a28abb8768b47a5/html5/thumbnails/3.jpg)
RAPPEL
L’architecture client / serveur:
3
![Page 4: Serveur web / Base de donnees Langages de développement](https://reader033.vdocuments.pub/reader033/viewer/2022042615/55a9293a1a28abb8768b47a5/html5/thumbnails/4.jpg)
SOMMAIRE 4
SERVEURS WEB 5
BASE DE DONNÉES 13
LANGAGES DE DÉVELOPPEMENT 28
RESSOURCES DOCUMENTAIRES 37
![Page 5: Serveur web / Base de donnees Langages de développement](https://reader033.vdocuments.pub/reader033/viewer/2022042615/55a9293a1a28abb8768b47a5/html5/thumbnails/5.jpg)
SERVEURS WEB
5
![Page 6: Serveur web / Base de donnees Langages de développement](https://reader033.vdocuments.pub/reader033/viewer/2022042615/55a9293a1a28abb8768b47a5/html5/thumbnails/6.jpg)
SERVEURS WEB
Le serveur physique :
Un poste informatique centralisant des
ressources destinées à être diffusées sur un
réseau.
Le serveur HTTP ou Daemon HTTP:
Un logiciel prenant en charge les requêtes
client-serveur du protocole HTTP
6
![Page 7: Serveur web / Base de donnees Langages de développement](https://reader033.vdocuments.pub/reader033/viewer/2022042615/55a9293a1a28abb8768b47a5/html5/thumbnails/7.jpg)
SERVEURS WEB
Les développeurs de serveur HTTP
7
Source: Netcraft.com
![Page 8: Serveur web / Base de donnees Langages de développement](https://reader033.vdocuments.pub/reader033/viewer/2022042615/55a9293a1a28abb8768b47a5/html5/thumbnails/8.jpg)
SERVEURS WEB
Apache HTTP server
8
La popularité grâce aux suites multiplateformes
Xamp: Apache MySQL et PHP
Les technologies souvent rencontrées
![Page 9: Serveur web / Base de donnees Langages de développement](https://reader033.vdocuments.pub/reader033/viewer/2022042615/55a9293a1a28abb8768b47a5/html5/thumbnails/9.jpg)
SERVEURS WEB
Microsoft Internet Information Server
9
Pour les serveurs sous environnements Windows
Les technologies souvent rencontrées
![Page 10: Serveur web / Base de donnees Langages de développement](https://reader033.vdocuments.pub/reader033/viewer/2022042615/55a9293a1a28abb8768b47a5/html5/thumbnails/10.jpg)
SERVEURS WEB
NGINX HTTP Server
10
Le chouchou des sites poids lourds
Un serveur web mais aussi un proxy inverse
Atout principal: Une efficacité impressionnante dans
la distribution de contenu statique
![Page 11: Serveur web / Base de donnees Langages de développement](https://reader033.vdocuments.pub/reader033/viewer/2022042615/55a9293a1a28abb8768b47a5/html5/thumbnails/11.jpg)
SERVEURS WEB
Google Web Server
11
La solution propriétaire de Google
Pour tous les services de la multinationale
![Page 12: Serveur web / Base de donnees Langages de développement](https://reader033.vdocuments.pub/reader033/viewer/2022042615/55a9293a1a28abb8768b47a5/html5/thumbnails/12.jpg)
SERVEURS WEB
Après une très forte domination Apache est
au coude à coude avec IIS mais la montée en
puissance de NGINX pourrait bientôt changer
la donne.
L’évolution de l’offre web en termes de
diffusion de contenu et d’applicatifs aura très
certainement un impact sur ce marché
12
Pour résumer:
![Page 13: Serveur web / Base de donnees Langages de développement](https://reader033.vdocuments.pub/reader033/viewer/2022042615/55a9293a1a28abb8768b47a5/html5/thumbnails/13.jpg)
BASE DE DONNÉES
13
![Page 14: Serveur web / Base de donnees Langages de développement](https://reader033.vdocuments.pub/reader033/viewer/2022042615/55a9293a1a28abb8768b47a5/html5/thumbnails/14.jpg)
BASE DE DONNÉES
Un conteneur permettant de stocker et récupérer
l’intégralité de données brutes ou d’informations.
Wikipédia
Les données sont manipulées par un logiciel
moteur: le système de gestion de base de
données (SGBD)
14
Définition:
![Page 15: Serveur web / Base de donnees Langages de développement](https://reader033.vdocuments.pub/reader033/viewer/2022042615/55a9293a1a28abb8768b47a5/html5/thumbnails/15.jpg)
BASE DE DONNÉES 15
Pas un modèle mais plusieurs
![Page 16: Serveur web / Base de donnees Langages de développement](https://reader033.vdocuments.pub/reader033/viewer/2022042615/55a9293a1a28abb8768b47a5/html5/thumbnails/16.jpg)
BASE DE DONNÉES 16
Popularité des moteur de base de données
257 SGBD ! Source: Db-engines.com
![Page 17: Serveur web / Base de donnees Langages de développement](https://reader033.vdocuments.pub/reader033/viewer/2022042615/55a9293a1a28abb8768b47a5/html5/thumbnails/17.jpg)
BASE DE DONNÉES
Sept SGBD basé sur le modèle relationnel
Un modèle orienté document (MongoDB)
Un modèle clé / valeur (Redis)
Un modèle enregistrements extensibles (Cassandra)
Ces trois derniers modèles appartiennent à la
mouvance NOSQL (Not Only SQL)
17
Analyse du top 10
![Page 18: Serveur web / Base de donnees Langages de développement](https://reader033.vdocuments.pub/reader033/viewer/2022042615/55a9293a1a28abb8768b47a5/html5/thumbnails/18.jpg)
BASE DE DONNÉES
• La solution éprouvée la plus utilisée dans le monde.
• Unité logique: la table (ou relation / matrice)
• Le traitement des données se fait par le Structured Query Language (SQL)
• Un besoin important de ressource sur les bases volumineuses.
Les méthodes de modélisations comme MERISE et
UML sont particulièrement adaptées aux base de
données relationnelles.
18
La base de données relationnelle
Exemples: Oracle, MySQL, SQL Server, PostgreSQL
![Page 19: Serveur web / Base de donnees Langages de développement](https://reader033.vdocuments.pub/reader033/viewer/2022042615/55a9293a1a28abb8768b47a5/html5/thumbnails/19.jpg)
BASE DE DONNÉES
• La simplicité poussée à l’extrême.
• Le principe: stocker des valeurs dans des clés
• Ainsi on ne pourra retrouver une valeur que si on
connaît la clé.
Destinés aux systèmes simples qui disposent d’un
volume important d’informations.
19
La base de données clé - valeur
Exemples: Redis, Amazon DynamoDB, Memcached
![Page 20: Serveur web / Base de donnees Langages de développement](https://reader033.vdocuments.pub/reader033/viewer/2022042615/55a9293a1a28abb8768b47a5/html5/thumbnails/20.jpg)
BASE DE DONNÉES
• Les enregistrements n’ont pas de structure uniforme.
• Le type d’un champ peut changer entre les enregistrements et peut avoir plusieurs valeurs.
• Les enregistrements peuvent avoir une structure emboitée.
Ces bases de données souvent utilisées avec la
technologie JSON.
20
La base de données orientée document
Exemples: MongoDB, CouchDB, Amazon DynamoDB
![Page 21: Serveur web / Base de donnees Langages de développement](https://reader033.vdocuments.pub/reader033/viewer/2022042615/55a9293a1a28abb8768b47a5/html5/thumbnails/21.jpg)
BASE DE DONNÉES
• Les enregistrements n’ont pas de structure
uniforme.
• Les enregistrements peuvent avoir un nombre
d’attributs très grand (potentiellement des millions)
• Les attributs n’ont pas forcément le même nom
On peut les assimiler à un modèle clé – valeur dont la
valeur serait un tableau.
21
La bdd aux enregistrements extensibles
Exemples: Cassandra, HBase, Accumulo
![Page 22: Serveur web / Base de donnees Langages de développement](https://reader033.vdocuments.pub/reader033/viewer/2022042615/55a9293a1a28abb8768b47a5/html5/thumbnails/22.jpg)
BASE DE DONNÉES
• Utilise l’intégralité de la technologie XML
• Permet l’utilisation des langages Xpath, Xquery,
XSLT
Ces SGBD ne sont pas forcés de stocker leurs
informations au format XML.
22
La base de données orientée XML
Exemples: MarkLogic, Virtuoso, Sedna
![Page 23: Serveur web / Base de donnees Langages de développement](https://reader033.vdocuments.pub/reader033/viewer/2022042615/55a9293a1a28abb8768b47a5/html5/thumbnails/23.jpg)
BASE DE DONNÉES
• Permet à un attribut d’enregistrement de contenir
plusieurs valeurs
• On peut ainsi limiter les problèmes de jointures
23
La base de données multi-valeurs
Exemples: Adabas, Rocket UniData, Rocket D3
Id Nom prenom
1 Didier Dédé
id permis
1 B
1 F
Id Nom prenom permis
1 Didier Dédé B;F
![Page 24: Serveur web / Base de donnees Langages de développement](https://reader033.vdocuments.pub/reader033/viewer/2022042615/55a9293a1a28abb8768b47a5/html5/thumbnails/24.jpg)
BASE DE DONNÉES
• Le modèle est constitué de nœuds et d’arcs
• Un enregistrement est représenté par un nœud
• Un arc est un pointeur physique entre 2
enregistrements liés
• On parcourt le graphe pour trouver les données
24
La base de données orientée graphe
Exemples: Neo4j, Titan, OrientDB
Le lien direct entre les enregistrements permet ainsi
d’éviter le coût en ressource des jointures.
![Page 25: Serveur web / Base de donnees Langages de développement](https://reader033.vdocuments.pub/reader033/viewer/2022042615/55a9293a1a28abb8768b47a5/html5/thumbnails/25.jpg)
BASE DE DONNÉES 25
Exemple de modèle de grapheSource: Les Bases Orientées Graphes, No SQL et Neo4j
Écrit par Peter Neubauer, traduit par Simon Baslé
![Page 26: Serveur web / Base de donnees Langages de développement](https://reader033.vdocuments.pub/reader033/viewer/2022042615/55a9293a1a28abb8768b47a5/html5/thumbnails/26.jpg)
BASE DE DONNÉES
• Une évolution de base de données orientée graphe
• RDF pour Ressource Description Framework
• Modélisation par un triplet Ressource Prédicat
Cible
26
La base de données RDF ou dépôt de triplets
Exemples: MarkLogic, Virtuoso, Jena
Elle dispose d’outils supplémentaires comme le
langage de requêtes SPARQL
![Page 27: Serveur web / Base de donnees Langages de développement](https://reader033.vdocuments.pub/reader033/viewer/2022042615/55a9293a1a28abb8768b47a5/html5/thumbnails/27.jpg)
BASE DE DONNÉES
L’explosion du nombre d’informations à traiter
(Big Data) pousse les modèles relationnels
dans leurs limites.
La mouvance NoSQL est apparue pour
apporter de nouvelles alternatives adaptées.
Leur modèles moins cohérents offre en
contrepartie une haute disponibilité et un
meilleur partitionnement de l’info.
27
Pour résumer:
![Page 28: Serveur web / Base de donnees Langages de développement](https://reader033.vdocuments.pub/reader033/viewer/2022042615/55a9293a1a28abb8768b47a5/html5/thumbnails/28.jpg)
LANGAGES DE DÉVELOPPEMENT
28
![Page 29: Serveur web / Base de donnees Langages de développement](https://reader033.vdocuments.pub/reader033/viewer/2022042615/55a9293a1a28abb8768b47a5/html5/thumbnails/29.jpg)
LANGAGES DE DÉVELOPPEMENT
Langage informatique:
Un langage formel Turing-complet ou non utilisé lors
de la conception, la mise en œuvre, ou l'exploitation
d'un système d'information.
On pourra distinguer:
• Les langages de programmation
• Les langages de définition de données
• Les langages de requêtes
• Les langages de balisages
29
Définition:
Source: Wikipédia
![Page 30: Serveur web / Base de donnees Langages de développement](https://reader033.vdocuments.pub/reader033/viewer/2022042615/55a9293a1a28abb8768b47a5/html5/thumbnails/30.jpg)
LANGAGES DE DÉVELOPPEMENT
Langages compilés:
Ils sont traduits en langage machine par un
compilateur avant de pouvoir être exécuté
indépendamment.
30
Deux grandes catégories:
Langages interprétés:
Ils sont systématiquement exécutés par un
interpréteur qui simule une machine qui connaitrait le
langage.
![Page 31: Serveur web / Base de donnees Langages de développement](https://reader033.vdocuments.pub/reader033/viewer/2022042615/55a9293a1a28abb8768b47a5/html5/thumbnails/31.jpg)
LANGAGES DE DÉVELOPPEMENT
Le langage d’origine est compilé en Bytecode qui est
lui-même compilable à la volée (JIT – Just In Time
compiler).
Son but: Réduire les dépendances matérielles.
31
La solution intermédiaire: le Bytecode
Quelques exemples:
PHP Java Perl Python SQL .NET…
![Page 32: Serveur web / Base de donnees Langages de développement](https://reader033.vdocuments.pub/reader033/viewer/2022042615/55a9293a1a28abb8768b47a5/html5/thumbnails/32.jpg)
LANGAGES DE DÉVELOPPEMENT
Définition:
Le paradigme est la représentation de l’exécution du
programme vue par le développeur.
On utilisera souvent plusieurs paradigmes ensemble
pour un même développement.
32
Les paradigmes de programmation
Chaque langage est conçu pour supporter un ou
plusieurs paradigmes, pour autant certains seront
plus ou moins adaptés.
![Page 33: Serveur web / Base de donnees Langages de développement](https://reader033.vdocuments.pub/reader033/viewer/2022042615/55a9293a1a28abb8768b47a5/html5/thumbnails/33.jpg)
LANGAGES DE DÉVELOPPEMENT 33
Quelques exemples:
• La programmation orientée objet:
Un ou plusieurs ensembles d’actions et de données interagissant ensemble
C++, Java…
• La programmation descriptive:
Un code descriptif dont l’interprétation renvoie un résultat.
HTML, XML …
• La programmation impérative:
La suite d’instructions ordonnées
C, Java
![Page 34: Serveur web / Base de donnees Langages de développement](https://reader033.vdocuments.pub/reader033/viewer/2022042615/55a9293a1a28abb8768b47a5/html5/thumbnails/34.jpg)
LANGAGES DE DÉVELOPPEMENT 34
Popularité des langages de programmation:
![Page 35: Serveur web / Base de donnees Langages de développement](https://reader033.vdocuments.pub/reader033/viewer/2022042615/55a9293a1a28abb8768b47a5/html5/thumbnails/35.jpg)
LANGAGE DE DÉVELOPPEMENT
Les langages informatiques sont nombreux et en perpétuelle évolution.
35
Pour résumer:
Les tendances actuelles vous permettront
d’orienter les plus indécis et de vous faire une
idée des besoins de la profession.
Il serait inutile de privilégier ici l’un d’entre eux tant leur utilisation dépend du besoin de votre projet et de la façon dont vous le concevrez.
![Page 36: Serveur web / Base de donnees Langages de développement](https://reader033.vdocuments.pub/reader033/viewer/2022042615/55a9293a1a28abb8768b47a5/html5/thumbnails/36.jpg)
36
Merci de votre attention.
Un avis, un conseil ?
N’hésitez pas à commenter cette présentation
SERVEUR WEB
BASES DE DONNÉES
LANGAGES DE DÉVELOPPEMENT
Ludovic RÉUS (Licence ATII)
22-03-2015
Merci aux auteurs et contributeurs des travaux cités dans ce diaporama.
![Page 37: Serveur web / Base de donnees Langages de développement](https://reader033.vdocuments.pub/reader033/viewer/2022042615/55a9293a1a28abb8768b47a5/html5/thumbnails/37.jpg)
RESSOURCES DOCUMENTAIRES 37
• Netcraft
march-2015-web-server-survey
• Venturebeat
nginx the web server tech you've never heard of that powers
netflix facebook wordpress and more
• guillaume-leduc
la distribution de contenu avec nginx et x-accell
• Wikipedia
Base_de_données
Langage informatique
• DB-engines
Classement des moteurs de base de données
• InfoQ
Les Bases Orientées Graphes, NoSQL et Neo4j
• TIOBE
TIOBE Index for March 2015