Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. Google App Engine — Wikipédia
Google App Engine — Wikipédia 👆 Click Here! Read More..
Un article de Wikipédia, l'encyclopédie libre.

Cet article est une ébauche concernant un logiciel.

Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants.
Page d’aide sur l’homonymie

Pour les articles homonymes, voir GAE.

Google App Engine
Description de l'image Google App Engine icon.jpg.

Informations
Développé par Google
Dernière version 1.9.0 (11 février 2014)
Écrit en PythonVoir et modifier les données sur Wikidata
Environnement World Wide Web
Type Programmation Web
Site web site officiel

modifier - modifier le code - voir Wikidata (aide)

Google App Engine (GAE) est une plateforme de conception et d'hébergement d'applications web basée sur les serveurs de Google.

Historique

[modifier | modifier le code]

La première version de ce service (appelée 'beta'), est sortie en avril 2008, avec la possibilité d'enregistrer uniquement des comptes gratuits[1]. L'offre de cette première version propose 500Mo de stockage persistant, et suffisamment de bande passante et de capacités de calcul pour servir 5 millions de pages par mois. Toutefois il est possible d'acheter davantage de ressources.

Depuis, de nombreuses fonctionnalités sont venues étayer l'offre de ce service ainsi que des outils facilitant le développement et la gestion des applications.

Avril 2008 :

  • Premier lancement du service Google App Engine fournissant des outils de développement ainsi que les API pour le langage Python.
  • Sortie de la première version du SDK.

Mai 2008 :

  • L'outil Google App Engine Launcher est disponible sur MacOS.
  • Ajout des APIs Image Manipulation et MemCache.
  • Les inscriptions au service sont désormais ouvertes au public.

Juillet 2008 :

  • Possibilité d’héberger jusqu’à 10 applications au lieu de 3.
  • Possibilité d’exporter les logs.

Décembre 2008 :

  • Outils de monitoring pour chaque application (temps CPU utilisé, niveau d’utilisation du disque, bande passante du réseau consommée,…).

Avril 2009 :

  • Support du langage Java et de Cron.
  • Sortie d’un plugin Google pour Eclipse qui facilite le développement et l’intégration d’applications GWT (Google Web Toolkit).

Juin 2009 :

  • Possibilité de planifier des tâches automatiques avec l’API Task Queue.
  • Support de Django

Septembre 2009 :

  • Support du protocole XMPP (messagerie instantanée)
  • Python Google App Engine Launcher disponible sur Windows.

Octobre 2009 :

  • Réception des emails directement depuis l'application.

Novembre 2011 :

  • Support officiel du produit par Google (qui n'est plus en bêta)

Fonctionnement

[modifier | modifier le code]

Google App Engine permet entre autres la création de base de données (appelées datastore) et la gestion des utilisateurs.

Fonctionnement général

[modifier | modifier le code]
Architecture du Google App Engine
Architecture du Google App Engine

La figure présente de manière globale le fonctionnement de la plate-forme. Les requêtes sont traitées par le Load Balancer qui a pour rôle de répartir les charges sur les différents Clusters à tolérance de pannes.

Pour la partie persistance, la base de données DataStore repose sur le SGBD, BigTable, développé en interne par Google. Le langage de requêtes associé à BigTable est GQL (Google Query Langage).

Utilisateurs et sécurité

[modifier | modifier le code]

Cette gestion des utilisateurs est une extension de celle utilisée par Google : l'utilisateur s'authentifie en utilisant son compte Google (Gmail par exemple). Les applications créées ne sont ainsi pas amenées à gérer la création des comptes, la gestion des données utilisateur ou la récupération des mots de passe. Ce service, libère aussi le développeur d'application de négocier la sécurité avec l'utilisateur. Cela permet aussi à l'utilisateur final de ne pas avoir à s'authentifier lorsqu'il visite un nouveau service App Engine.

Sandbox

[modifier | modifier le code]

Afin de protéger le système, les applications sont exécutées dans un Sandbox. Ce qui implique certaines contraintes :

  • Les écritures de fichiers ne sont pas autorisées
  • La création de sockets n’est pas autorisée
  • Les applications ne peuvent pas lancer de Threads
  • Les processus tournant depuis plus de 30 secondes sont arrêtés
  • Les extensions C pour Python sont désactivées

Langage de programmation

[modifier | modifier le code]

Au moment du lancement, seule l'utilisation de Python au travers d'une version limitée du framework web Django, du framework web webapp proposé par Google (c'est celui qu'utilise le tutoriel) ou sans framework web : un simple CGI en Python suffit. L'interface Web Server Gateway Interface (WSGI) est aussi disponible. Google a indiqué que, dans le futur, d'autres langages seraient disponibles.

  • Depuis le 7 avril 2009, le langage Java est utilisable à partir la version 1.2.0 du SDK.
  • Depuis le 10 mai 2011, avec la version 1.5.0, est disponible le langage Go (mais encore de façon expérimentale pour l'instant).

Les outils fournis par google : Le SDK open source (sous licence Apache) contient un serveur de développement ainsi que divers utilitaires pour gérer l'application sur le serveur de Google. Pour programmer une application Google App Engine Java, il existe un plugin pour Eclipse qui permet de développer et de mettre en ligne l’application. Le support du serveur de développement est disponible pour Netbeans.

Python

[modifier | modifier le code]

Pour créer un hello world avec Google app Engine, utilisant le "framework" webapp :

from google.appengine.ext import webapp
from google.appengine.ext.webapp.util import run_wsgi_app

class MainPage(webapp.RequestHandler):
    def get(self):
        self.response.headers['Content-Type'] = 'text/plain'
        self.response.out.write('Hello, webapp World!')

application = webapp.WSGIApplication(
                                     [('/', MainPage)],
                                     debug=True)

def main():
    run_wsgi_app(application)

if __name__ == "__main__":
    main()

Java

[modifier | modifier le code]

Exemple de code pour une servlet helloworld :

package helloworld;

import java.io.IOException;
import javax.servlet.http.*;

public class HelloServlet extends HttpServlet {
   
    public void doGet(HttpServletRequest req, HttpServletResponse resp)
              throws IOException {

        resp.setContentType("text/plain");
        resp.getWriter().println("Hello ");
   }
}

Services

[modifier | modifier le code]

Google fournit pour différents langages de programmation un ensemble d’API permettant d’accéder à différents services.

  • Memcache : cache au-dessus de la base de données.
  • URL Fetch : pour faire des requêtes HTTP/HTTPS sur un autre serveur.
  • Email : pour envoyer et de recevoir des emails.
  • Images : pour manipuler des images (rotation, dimension etc.)
  • Google Accounts : permet d’utiliser les comptes Google pour des identifications au sein d’une application.
  • XMPP : pour envoyer et recevoir des messages au format XMPP (utilisé dans Google Talk)
  • Task Queues : sert à mettre des tâches de fond en file d’attente.
  • Cron : pour la planification des tâches à exécuter de manière récurrente pour, par exemple, envoyer une lettre d'information chaque mois.
  • Channel API : permet de créer une communication entre navigateur et serveur (push). C'est une implémentation de Comet avec l'aide d'une bibliothèque javascript.
  • Backends : pour créer des instances permanentes d'une application avec un accès à plus de mémoire (nouveauté de la version 1.5.0)
  • Pull Queues : comme les Task Queues mais l'application choisit des tâches dans la queue pour les exécuter (au lieu d'être servie) (nouveauté de la version 1.5.0)

Les services Google App Engine de base sont gratuits, mais soumis à des quotas. Il est possible d’acheter un quota plus large pour chaque service. Le tableau ci-dessous indique les quotas gratuits et payants pour les requêtes et les accès en base de données.

Quotas globaux du Google App Engine
Service Quota gratuit / jour Maximum du quota payant / jour
Nombre de requêtes 1 300 000 43 000 000
Bande passante entrante 1 GB 1 046 GB
Bande passante sortante 1 GB 1 046 GB
Temps CPU 6.5 heures 1 729 heures
Nombre d’appels à la base de données 10 000 000 140 000 000
Taille des données 1 GB Pas de maximum

Google Cloud SQL

[modifier | modifier le code]

En octobre 2011, Google ajoute une base de données SQL sans entretien, qui supporte JDBC et DB-API[2]. Ce service vous permet de créer, configurer et utiliser des bases de données relationnelles avec les applications App Engine. Moteur de base de données MySQL version 5.1.59 et la base de données ne doit pas être supérieure à 10 Go [3].

Contexte technologique

[modifier | modifier le code]

Le service Google App Engine vient concurrencer ceux d'Amazon nommé Amazon Web Services (AWS) et de Microsoft nommé Windows Azure. Ce sont des lots de services applicatifs qui permettent à une application web de stocker des données et d'exécuter du code sur leurs serveurs respectifs.

Beaucoup d'analystes techniques avaient prédit l'arrivée de Google dans ce créneau. « Google finally realizes it needs to be the web platform » a écrit Mike Masnick, qui publie le blog Techdirt[4].

Voir aussi

[modifier | modifier le code]

Notes et références

[modifier | modifier le code]
  1. ↑ (en) Présentation en anglais du service Google App Engine sur le site officiel.
  2. ↑ Google Cloud SQL: votre base de données dans le nuage
  3. ↑ [Google http://blog.napagoda.com/2011/10/sample-application-with-google-cloud.html SQL Cloud: Exemple d'application]
  4. ↑ (en) Google finally realizes it needs to be the web platform

Liens internes

[modifier | modifier le code]
  • Python (langage)
  • Django
  • ORM
  • BigTable
  • Cloud Computing

Liens externes

[modifier | modifier le code]

Sur les autres projets Wikimedia :

  • Google App Engine, sur Wikimedia Commons
  • (en) Site officiel
  • (en) App Engine Google's Cloud Computing Platform presentation
  • (fr) Google App Engine pour Java
  • (fr) SDK open source
  • (en) Tutoriel Google App Eng en Java
  • (en) Tutoriel Google App Eng en Python
v · m
Google
  • Créateurs de Google : Larry Page et Sergey Brin
  • PDG actuel de Google : Sundar Pichai
  • Ancien PDG de Google : Eric Schmidt
Moteur de recherche
  • Recherche Google
  • Images
  • Vidéos
  • Livres
  • Actualités
  • Scholar
  • Trends
  • Shopping
  • Groupes
  • Appliance
  • Recherche personnalisée
  • Archives de journaux
  • SafeSearch
  • Google Patents
Services en ligne
  • YouTube
  • Photos
  • Arts & Culture
  • Chat
  • Blogger
  • Wallet
  • Keep
  • Code
  • My Business
  • Tables
  • NotebookLM
Google Workspace
  • Gmail
  • Agenda
  • Contacts
  • Suite bureautique
  • Drive
  • Meet
  • Drawings
Google Cloud
  • Google App Engine
  • Cloud Storage (en)
  • Compute Engine (en)
  • Google BigQuery
  • VirusTotal
  • Apigee
  • Kaggle
  • Firebase
Applications
  • Analytics
  • Sites
  • Allo
  • Maps
  • Modélisateur de bâtiments 3D
  • Street View
  • Transit
  • Podcasts
  • Moon
  • Mars
  • Fit
  • Android Auto
  • FeedBurner
  • Gemini
  • LaMDA
Logiciels
  • Android
  • Assistant
  • Chrome
  • Chrome OS
  • Chromium
  • Crowdsource
  • Earth
  • Authenticator
  • Gboard
  • Fuchsia
  • Gemini
Matériels
  • Android TV
  • Nexus
  • Pixel
  • Pixel Buds
  • Cardboard
  • Chromebook
  • Chromecast
  • Chromebox (en)
  • Nest
Outils
  • Compte
  • Traduction
  • PageRank
  • TrustRank
  • Googlebot
  • reCAPTCHA
  • Catull
  • J'ai de la chance
  • Summer of Code
Publicité
  • AdSense
  • AdWords
  • AdMob
  • Adscape (en)
  • Shopping
Google Marketing Platform
  • DoubleClick
  • Analytics
  • Looker Studio (en)
  • Optimize (en)
  • Tag Manager
Outils de développement
  • App Inventor
  • Cloud Messaging
  • Code
  • Googlebot
  • Guava
  • Guice
  • Web Server
  • KML
  • Go
  • MapReduce
  • Mediabot
  • Sitemaps
  • Web Toolkit
  • Search Console
Magasins
  • Play (Jeux)
  • Store (en)
Autres activités
  • Lunar X Prize
  • Projet Ara
  • Google for Startups
  • Digital Garage
  • DeepMind
Anciens produits
  • Answers
  • Barre d'outils
  • Buzz
  • Base
  • Checkout
  • Cloud Print
  • Contributor (en)
  • Desktop
  • Domains
  • Flu Trends
  • Gears
  • Gmail Notifier
  • Google+
  • Hangouts
  • Health
  • IGoogle
  • Inbox
  • Jaiku
  • Knol
  • Labs
  • Latitude
  • Lively
  • Map Maker
  • Noop
  • Offers
  • Orkut
  • Pack
  • Picasa
  • Reader
  • Stadia
  • Talk
  • URL Shortener
  • Vidéos
  • Wave
  • Wifi
  • TV
  • X
  • Surveys
Lieux
  • Garage Google
  • Googleplex
Articles liés
  • Liste des services
  • Acquisitions de Google
  • Bombardement
  • Critiques
  • Domaines
  • Doodle (Doodle Champion Island Games)
  • Google.org
  • .google
  • Labs
  • Logo
  • Googlism
  • Googlefight
  • Plateforme
  • Taxe
Voir aussi : Alphabet Inc.
  • icône décorative Portail de Google
Ce document provient de « https://fr.teknopedia.teknokrat.ac.id/w/index.php?title=Google_App_Engine&oldid=218208789 ».
Catégories :
  • Logiciel écrit en Python
  • Service Google
Catégories cachées :
  • Wikipédia:ébauche logiciel
  • Page utilisant P277
  • Logiciel catégorisé automatiquement par langage d'écriture
  • Article utilisant une Infobox
  • Catégorie Commons avec lien local différent sur Wikidata
  • Article contenant un appel à traduction en anglais
  • Portail:Google/Articles liés
  • Portail:Internet/Articles liés
  • Portail:Informatique/Articles liés

  • indonesia
  • Polski
  • الرية
  • Deutsch
  • English
  • Español
  • Français
  • Italiano
  • مصر
  • Nederlands
  • 本語
  • Português
  • Sinugboanong Binisaya
  • Svenska
  • Українска
  • Tiếng Việt
  • Winaray
  • 中文
  • Русски
Sunting pranala
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022
Email: pmb@teknokrat.ac.id