SlideShare une entreprise Scribd logo
SERVEUR WEB
BASES DE DONNÉES
LANGAGES DE DÉVELOPPEMENT
UNE PRÉSENTATION OTIC
Outils et Technologies de l’Information et de la Communication
Ludovic RÉUS (Licence ATII)
22-03-2015
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
RAPPEL
L’architecture client / serveur:
3
SOMMAIRE 4
SERVEURS WEB 5
BASE DE DONNÉES 13
LANGAGES DE DÉVELOPPEMENT 28
RESSOURCES DOCUMENTAIRES 37
SERVEURS WEB
5
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
SERVEURS WEB
Les développeurs de serveur HTTP
7
Source: Netcraft.com
SERVEURS WEB
Apache HTTP server
8
La popularité grâce aux suites multiplateformes
Xamp: Apache MySQL et PHP
Les technologies souvent rencontrées
SERVEURS WEB
Microsoft Internet Information Server
9
Pour les serveurs sous environnements Windows
Les technologies souvent rencontrées
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
SERVEURS WEB
Google Web Server
11
La solution propriétaire de Google
Pour tous les services de la multinationale
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:
BASE DE DONNÉES
13
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:
BASE DE DONNÉES 15
Pas un modèle mais plusieurs
BASE DE DONNÉES 16
Popularité des moteur de base de données
257 SGBD ! Source: Db-engines.com
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
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
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
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
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
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
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
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.
BASE DE DONNÉES 25
Exemple de modèle de graphe
Source: Les Bases Orientées Graphes, No SQL et Neo4j
Écrit par Peter Neubauer, traduit par Simon Baslé
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
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:
LANGAGES DE DÉVELOPPEMENT
28
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
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.
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…
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.
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
LANGAGES DE DÉVELOPPEMENT 34
Popularité des langages de programmation:
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.
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.
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

Contenu connexe

Tendances

Les Base de Données NOSQL
Les Base de Données NOSQLLes Base de Données NOSQL
Les Base de Données NOSQL
kamar MEDDAH
 
2014 11-18-luxid-for-open text-pn
2014 11-18-luxid-for-open text-pn2014 11-18-luxid-for-open text-pn
2014 11-18-luxid-for-open text-pn
Jean-Marc Touzard
 
Java et les bases de données
Java et les bases de donnéesJava et les bases de données
Java et les bases de donnéesGuillaume Harry
 
Base NoSql et Python
Base NoSql et PythonBase NoSql et Python
Base NoSql et Python
yboussard
 
Hadoop Hbase - Introduction
Hadoop Hbase - IntroductionHadoop Hbase - Introduction
Hadoop Hbase - Introduction
Blandine Larbret
 
Introduction aux bases de données NoSQL
Introduction aux bases de données NoSQLIntroduction aux bases de données NoSQL
Introduction aux bases de données NoSQL
Antoine Augusti
 
BigData_Chp4: NOSQL
BigData_Chp4: NOSQLBigData_Chp4: NOSQL
BigData_Chp4: NOSQL
Lilia Sfaxi
 
Les modèles NoSQL
Les modèles NoSQLLes modèles NoSQL
Les modèles NoSQLebiznext
 
Tech day hadoop, Spark
Tech day hadoop, SparkTech day hadoop, Spark
Tech day hadoop, Spark
Arrow-Institute
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-Reduce
Lilia Sfaxi
 
Présentation des bases de données NoSql
Présentation des bases de données NoSqlPrésentation des bases de données NoSql
Présentation des bases de données NoSql
Sidi LEKHALIFA
 
Presentation Hadoop Québec
Presentation Hadoop QuébecPresentation Hadoop Québec
Presentation Hadoop Québec
Mathieu Dumoulin
 
Big Data, Hadoop & Spark
Big Data, Hadoop & SparkBig Data, Hadoop & Spark
Big Data, Hadoop & Spark
Alexia Audevart
 
Introduction NoSql 201406 - lbroudoux
Introduction NoSql 201406 - lbroudouxIntroduction NoSql 201406 - lbroudoux
Introduction NoSql 201406 - lbroudoux
Laurent Broudoux
 
Big Data: Hadoop Map / Reduce sur Windows et Windows Azure
Big Data: Hadoop Map / Reduce sur Windows et Windows AzureBig Data: Hadoop Map / Reduce sur Windows et Windows Azure
Big Data: Hadoop Map / Reduce sur Windows et Windows Azure
Microsoft
 
Petit-déjeuner MapReduce-La révolution dans l’analyse des BigData
Petit-déjeuner MapReduce-La révolution dans l’analyse des BigDataPetit-déjeuner MapReduce-La révolution dans l’analyse des BigData
Petit-déjeuner MapReduce-La révolution dans l’analyse des BigData
Marc Bojoly
 
Plateforme bigdata orientée BI avec Hortoworks Data Platform et Apache Spark
Plateforme bigdata orientée BI avec Hortoworks Data Platform et Apache SparkPlateforme bigdata orientée BI avec Hortoworks Data Platform et Apache Spark
Plateforme bigdata orientée BI avec Hortoworks Data Platform et Apache Spark
ALTIC Altic
 
Valtech - NoSQL, solution alternative ou complémentaire aux bases de données ...
Valtech - NoSQL, solution alternative ou complémentaire aux bases de données ...Valtech - NoSQL, solution alternative ou complémentaire aux bases de données ...
Valtech - NoSQL, solution alternative ou complémentaire aux bases de données ...
Valtech
 
Big data: NoSQL comme solution
Big data: NoSQL comme solutionBig data: NoSQL comme solution
Big data: NoSQL comme solutionJEMLI Fathi
 
Présentation Big Data et REX Hadoop
Présentation Big Data et REX HadoopPrésentation Big Data et REX Hadoop
Présentation Big Data et REX Hadoop
Joseph Glorieux
 

Tendances (20)

Les Base de Données NOSQL
Les Base de Données NOSQLLes Base de Données NOSQL
Les Base de Données NOSQL
 
2014 11-18-luxid-for-open text-pn
2014 11-18-luxid-for-open text-pn2014 11-18-luxid-for-open text-pn
2014 11-18-luxid-for-open text-pn
 
Java et les bases de données
Java et les bases de donnéesJava et les bases de données
Java et les bases de données
 
Base NoSql et Python
Base NoSql et PythonBase NoSql et Python
Base NoSql et Python
 
Hadoop Hbase - Introduction
Hadoop Hbase - IntroductionHadoop Hbase - Introduction
Hadoop Hbase - Introduction
 
Introduction aux bases de données NoSQL
Introduction aux bases de données NoSQLIntroduction aux bases de données NoSQL
Introduction aux bases de données NoSQL
 
BigData_Chp4: NOSQL
BigData_Chp4: NOSQLBigData_Chp4: NOSQL
BigData_Chp4: NOSQL
 
Les modèles NoSQL
Les modèles NoSQLLes modèles NoSQL
Les modèles NoSQL
 
Tech day hadoop, Spark
Tech day hadoop, SparkTech day hadoop, Spark
Tech day hadoop, Spark
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-Reduce
 
Présentation des bases de données NoSql
Présentation des bases de données NoSqlPrésentation des bases de données NoSql
Présentation des bases de données NoSql
 
Presentation Hadoop Québec
Presentation Hadoop QuébecPresentation Hadoop Québec
Presentation Hadoop Québec
 
Big Data, Hadoop & Spark
Big Data, Hadoop & SparkBig Data, Hadoop & Spark
Big Data, Hadoop & Spark
 
Introduction NoSql 201406 - lbroudoux
Introduction NoSql 201406 - lbroudouxIntroduction NoSql 201406 - lbroudoux
Introduction NoSql 201406 - lbroudoux
 
Big Data: Hadoop Map / Reduce sur Windows et Windows Azure
Big Data: Hadoop Map / Reduce sur Windows et Windows AzureBig Data: Hadoop Map / Reduce sur Windows et Windows Azure
Big Data: Hadoop Map / Reduce sur Windows et Windows Azure
 
Petit-déjeuner MapReduce-La révolution dans l’analyse des BigData
Petit-déjeuner MapReduce-La révolution dans l’analyse des BigDataPetit-déjeuner MapReduce-La révolution dans l’analyse des BigData
Petit-déjeuner MapReduce-La révolution dans l’analyse des BigData
 
Plateforme bigdata orientée BI avec Hortoworks Data Platform et Apache Spark
Plateforme bigdata orientée BI avec Hortoworks Data Platform et Apache SparkPlateforme bigdata orientée BI avec Hortoworks Data Platform et Apache Spark
Plateforme bigdata orientée BI avec Hortoworks Data Platform et Apache Spark
 
Valtech - NoSQL, solution alternative ou complémentaire aux bases de données ...
Valtech - NoSQL, solution alternative ou complémentaire aux bases de données ...Valtech - NoSQL, solution alternative ou complémentaire aux bases de données ...
Valtech - NoSQL, solution alternative ou complémentaire aux bases de données ...
 
Big data: NoSQL comme solution
Big data: NoSQL comme solutionBig data: NoSQL comme solution
Big data: NoSQL comme solution
 
Présentation Big Data et REX Hadoop
Présentation Big Data et REX HadoopPrésentation Big Data et REX Hadoop
Présentation Big Data et REX Hadoop
 

Similaire à Serveur web / Base de donnees Langages de développement

11 visual basic .net - acces aux donnees avec ado .net
11 visual basic .net - acces aux donnees avec ado .net11 visual basic .net - acces aux donnees avec ado .net
11 visual basic .net - acces aux donnees avec ado .net
Hamza SAID
 
Base de données NoSQL
Base de données NoSQLBase de données NoSQL
Base de données NoSQL
Oussama ARBI
 
Les bases pour utiliser SPARQL
Les bases pour utiliser SPARQLLes bases pour utiliser SPARQL
Les bases pour utiliser SPARQL
BorderCloud
 
ABES - intervention congrès Semweb pro (5-11-2014)
ABES - intervention congrès Semweb pro (5-11-2014)ABES - intervention congrès Semweb pro (5-11-2014)
ABES - intervention congrès Semweb pro (5-11-2014)
ABES
 
Du web sémantique à tous les étages
Du web sémantique à tous les étagesDu web sémantique à tous les étages
Du web sémantique à tous les étages
SemWebPro
 
Metadonnees et SID
Metadonnees et SIDMetadonnees et SID
Metadonnees et SID
Sylvie Dalbin
 
Discovery Session France: Atelier découverte de la Data Virtualization
Discovery Session France: Atelier découverte de la Data VirtualizationDiscovery Session France: Atelier découverte de la Data Virtualization
Discovery Session France: Atelier découverte de la Data Virtualization
Denodo
 
cours06-nosql.pdf
cours06-nosql.pdfcours06-nosql.pdf
cours06-nosql.pdf
hbadir
 
Alphorm.com Formation le langage SQL
Alphorm.com  Formation le langage SQLAlphorm.com  Formation le langage SQL
Alphorm.com Formation le langage SQL
Alphorm
 
Big data
Big dataBig data
Discovery Session France: Atelier découverte de la Data Virtualization
Discovery Session France: Atelier découverte de la Data VirtualizationDiscovery Session France: Atelier découverte de la Data Virtualization
Discovery Session France: Atelier découverte de la Data Virtualization
Denodo
 
Bases de données no sql.pdf
Bases de données no sql.pdfBases de données no sql.pdf
Bases de données no sql.pdf
ZkSadrati
 
États des lieux du Web sémantique
États des lieux du Web sémantiqueÉtats des lieux du Web sémantique
États des lieux du Web sémantiqueIvan Herman
 
Le langage sql
Le langage sqlLe langage sql
Le langage sql
Abderrahim Aitali
 
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDB
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDBSGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDB
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDB
Romain Cambien
 
Cl484 g formation-ibm-db2-10-1-for-linux-unix-and-windows-quickstart-for-expe...
Cl484 g formation-ibm-db2-10-1-for-linux-unix-and-windows-quickstart-for-expe...Cl484 g formation-ibm-db2-10-1-for-linux-unix-and-windows-quickstart-for-expe...
Cl484 g formation-ibm-db2-10-1-for-linux-unix-and-windows-quickstart-for-expe...CERTyou Formation
 
Alphorm.com-Formation MongoDB Administration
Alphorm.com-Formation MongoDB AdministrationAlphorm.com-Formation MongoDB Administration
Alphorm.com-Formation MongoDB Administration
Alphorm
 
Hadoop et son écosystème
Hadoop et son écosystèmeHadoop et son écosystème
Hadoop et son écosystème
Khanh Maudoux
 

Similaire à Serveur web / Base de donnees Langages de développement (20)

11 visual basic .net - acces aux donnees avec ado .net
11 visual basic .net - acces aux donnees avec ado .net11 visual basic .net - acces aux donnees avec ado .net
11 visual basic .net - acces aux donnees avec ado .net
 
Base de données NoSQL
Base de données NoSQLBase de données NoSQL
Base de données NoSQL
 
Les bases pour utiliser SPARQL
Les bases pour utiliser SPARQLLes bases pour utiliser SPARQL
Les bases pour utiliser SPARQL
 
ABES - intervention congrès Semweb pro (5-11-2014)
ABES - intervention congrès Semweb pro (5-11-2014)ABES - intervention congrès Semweb pro (5-11-2014)
ABES - intervention congrès Semweb pro (5-11-2014)
 
Du web sémantique à tous les étages
Du web sémantique à tous les étagesDu web sémantique à tous les étages
Du web sémantique à tous les étages
 
Metadonnees et SID
Metadonnees et SIDMetadonnees et SID
Metadonnees et SID
 
Discovery Session France: Atelier découverte de la Data Virtualization
Discovery Session France: Atelier découverte de la Data VirtualizationDiscovery Session France: Atelier découverte de la Data Virtualization
Discovery Session France: Atelier découverte de la Data Virtualization
 
cours06-nosql.pdf
cours06-nosql.pdfcours06-nosql.pdf
cours06-nosql.pdf
 
Alphorm.com Formation le langage SQL
Alphorm.com  Formation le langage SQLAlphorm.com  Formation le langage SQL
Alphorm.com Formation le langage SQL
 
Big data
Big dataBig data
Big data
 
Discovery Session France: Atelier découverte de la Data Virtualization
Discovery Session France: Atelier découverte de la Data VirtualizationDiscovery Session France: Atelier découverte de la Data Virtualization
Discovery Session France: Atelier découverte de la Data Virtualization
 
Bases de données no sql.pdf
Bases de données no sql.pdfBases de données no sql.pdf
Bases de données no sql.pdf
 
Intro SQL
Intro SQL Intro SQL
Intro SQL
 
États des lieux du Web sémantique
États des lieux du Web sémantiqueÉtats des lieux du Web sémantique
États des lieux du Web sémantique
 
Le langage sql
Le langage sqlLe langage sql
Le langage sql
 
Le langage sql
Le langage sqlLe langage sql
Le langage sql
 
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDB
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDBSGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDB
SGBDR vs NoSQL, Différences et Uses Cases. Focus sur ArangoDB
 
Cl484 g formation-ibm-db2-10-1-for-linux-unix-and-windows-quickstart-for-expe...
Cl484 g formation-ibm-db2-10-1-for-linux-unix-and-windows-quickstart-for-expe...Cl484 g formation-ibm-db2-10-1-for-linux-unix-and-windows-quickstart-for-expe...
Cl484 g formation-ibm-db2-10-1-for-linux-unix-and-windows-quickstart-for-expe...
 
Alphorm.com-Formation MongoDB Administration
Alphorm.com-Formation MongoDB AdministrationAlphorm.com-Formation MongoDB Administration
Alphorm.com-Formation MongoDB Administration
 
Hadoop et son écosystème
Hadoop et son écosystèmeHadoop et son écosystème
Hadoop et son écosystème
 

Serveur web / Base de donnees Langages de développement

  • 1. SERVEUR WEB BASES DE DONNÉES LANGAGES DE DÉVELOPPEMENT UNE PRÉSENTATION OTIC Outils et Technologies de l’Information et de la Communication Ludovic RÉUS (Licence ATII) 22-03-2015
  • 2. 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
  • 4. SOMMAIRE 4 SERVEURS WEB 5 BASE DE DONNÉES 13 LANGAGES DE DÉVELOPPEMENT 28 RESSOURCES DOCUMENTAIRES 37
  • 6. 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
  • 7. SERVEURS WEB Les développeurs de serveur HTTP 7 Source: Netcraft.com
  • 8. SERVEURS WEB Apache HTTP server 8 La popularité grâce aux suites multiplateformes Xamp: Apache MySQL et PHP Les technologies souvent rencontrées
  • 9. SERVEURS WEB Microsoft Internet Information Server 9 Pour les serveurs sous environnements Windows Les technologies souvent rencontrées
  • 10. 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
  • 11. SERVEURS WEB Google Web Server 11 La solution propriétaire de Google Pour tous les services de la multinationale
  • 12. 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:
  • 14. 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:
  • 15. BASE DE DONNÉES 15 Pas un modèle mais plusieurs
  • 16. BASE DE DONNÉES 16 Popularité des moteur de base de données 257 SGBD ! Source: Db-engines.com
  • 17. 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
  • 18. 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
  • 19. 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
  • 20. 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
  • 21. 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
  • 22. 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
  • 23. 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
  • 24. 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.
  • 25. BASE DE DONNÉES 25 Exemple de modèle de graphe Source: Les Bases Orientées Graphes, No SQL et Neo4j Écrit par Peter Neubauer, traduit par Simon Baslé
  • 26. 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
  • 27. 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:
  • 29. 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
  • 30. 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.
  • 31. 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…
  • 32. 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.
  • 33. 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
  • 34. LANGAGES DE DÉVELOPPEMENT 34 Popularité des langages de programmation:
  • 35. 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.
  • 36. 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.
  • 37. 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