Merge branch 'unstable' of github:jsmaniac/2011-m1s2-ter into unstable

This commit is contained in:
Georges Dupéron 2011-05-18 12:40:28 +02:00
commit 3b917d56a2
5 changed files with 83 additions and 14 deletions

View File

@ -22,7 +22,7 @@ public class FrontPage extends Activity {
webView = (WebView) findViewById(R.id.webview);
webView.getSettings().setJavaScriptEnabled(true);
js = new JavaScriptInterface(this);
js = new JavaScriptInterface(this, webView);
webView.addJavascriptInterface(js, "PtiClicAndroid");
Log.i("[INFO]", Constant.SERVER + Constant.SERVER_URL);
webView.loadUrl(Constant.SERVER + Constant.SERVER_URL);

View File

@ -5,12 +5,11 @@ import org.pticlic.model.Constant;
import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.webkit.WebChromeClient;
import android.webkit.WebView;
public class Main extends Activity {
private WebView webView;
private JavaScriptInterface js = null;
@ -26,9 +25,8 @@ public class Main extends Activity {
webView.setVerticalScrollBarEnabled(false);
webView.setHorizontalScrollBarEnabled(false);
js = new JavaScriptInterface(this);
js = new JavaScriptInterface(this, webView);
webView.addJavascriptInterface(js, "PtiClicAndroid");
Log.i("[INFO]", Constant.SERVER + Constant.SERVER_URL);
}
@Override
@ -36,7 +34,7 @@ public class Main extends Activity {
super.onStart();
webView.loadUrl(Constant.SERVER + Constant.SERVER_URL);
}
@Override
public void onBackPressed() {
if (js.getScreen().equals("splash") || js.getScreen().equals("frontpage"))

View File

@ -4,17 +4,21 @@ import android.app.Activity;
import android.app.ProgressDialog;
import android.content.SharedPreferences;
import android.preference.PreferenceManager;
import android.webkit.WebView;
import android.widget.Toast;
public class JavaScriptInterface {
private Activity mContext;
private ProgressDialog dialog;
private String screen;
private WebView webView;
/** Instantie l'interface et initialise le context */
public JavaScriptInterface(Activity c) {
/** Instantie l'interface et initialise le context */
public JavaScriptInterface(Activity c, WebView webView) {
mContext = c;
this.webView = webView;
}
/**
* Permet de setter une valeur dans les preferences
*
@ -33,7 +37,8 @@ public class JavaScriptInterface {
*/
public String getPreference(String aName) {
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(mContext);
return prefs.getString(aName, "");
String res = prefs.getString(aName, "");
return res;
}
/** Permet d'afficher une progressbar
@ -44,6 +49,10 @@ public class JavaScriptInterface {
dialog = ProgressDialog.show(mContext, title, message);
}
public void info(String title, String message) {
Toast.makeText(mContext, message, Toast.LENGTH_SHORT);
}
/** Permet de retirer l'affichage de la boite de dialog
*
*/
@ -52,6 +61,10 @@ public class JavaScriptInterface {
dialog.dismiss();
}
public void switchCSS(String newTheme) {
webView.reload();
}
/** Permet de quitter l'application
*
*/

View File

@ -371,12 +371,13 @@ ajaj.request = function(url, data, okFunction, smallErrorFunction, bigErrorFunct
try {
smallErrorFunction = smallErrorFunction || ajaj.smallError;
bigErrorFunction = bigErrorFunction || ajaj.bigError;
var user = UI().getPreference("user");
var passwd = UI().getPreference("passwd");
var user = "" + UI().getPreference("user");
var passwd = "" + UI().getPreference("passwd");
if (user != '' && passwd != '') {
// TODO : on transfère le user/passwd à chaque fois ici… c'est pas très bon.
data = $.extend({user:user, passwd:passwd}, data);
if (!data.user) data.user = user;
if (!data.passwd) data.passwd = passwd;
}
return $.getJSON(url, data, function(data) {
try {
if (data && data.isError) {

57
rapport/bilan.tex Normal file
View File

@ -0,0 +1,57 @@
\documentclass[a4paper,11pt,french]{article}
\usepackage[frenchb]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{verbatim}
\usepackage{graphicx}
\usepackage{hyperref}
\usepackage{graphicx}
\usepackage{um2/geometry}
\hypersetup{%
colorlinks,%
linkcolor=black,%
filecolor=black,%
urlcolor=black,%
citecolor=black%
}
\title{Bilan de TER - Groupe 42\\---\\Reconception du jeu Pticlic sous Android}
\author{Yoann \textsc{Bonavero} \and Bertrand \textsc{Brun} \and John \textsc{Charron} \and Georges \textsc{Dupéron} \\\\ Encadrant: M. Mathieu \textsc{Lafourcade}}
\begin{document}
\newgeometry{top=0.5cm, right=2cm, left=2cm, bottom=0.5cm}
\maketitle
\noindent Le sujet de notre projet a été défini comme suit :
\begin{quotation}
\noindent L'étude et le prototypage d'une version [du jeu PtiClic] fonctionnant sur Android semble intéressante. En particulier on s'intéressera a deux aspects : les contraintes imposées par l'environnement smartphone, le biais qu'imposent ces contraintes sur le jeu et les données récoltées. Il s'agira donc de modéliser une version adaptée aux smartphones et d'en implémenter un prototype fonctionnel. \\
\end{quotation}
\noindent Rôles~:
\begin{itemize}
\item Chef de projet~: Bertrand \textsc{BRUN}
\item Responsable de la communication et de la logistique~: John \textsc{CHARRON} (les 3 premiers mois), Bertrand \textsc{BRUN} (par la suite) \\
\end{itemize}
\noindent Nous avons réalisé deux prototypes, l'un sous Android\texttrademark en Java à l'aide de l'Android Development Tools pour téléphones mobiles sous Android\texttrademark, l'autre pour tout type de smartphone en HTML5 et d'autres langages Web. Outre ces prototypes, nous avons réalisé un site Web (\url{www.pticlic.fr}) pour la gestion des utilisateurs et pour faire connaître notre application. Nous avons aussi fait testé notre application par des alpha-testeurs.
\\
\noindent En ce qui concerne le premier prototype, nous avons tout d'abord suivi ce qui a été prévu dans notre diagramme de Gantt initial : Georges \textsc{Dupéron} et Yoann \textsc{BONAVERO} ont travaillé principalement côté serveur et base de données alors que Bertrand \textsc{BRUN} et John \textsc{CHARRON} se sont occupés de l'application client. Le site Web n'avait pas été prévu initialement et a été réalisé par Yoann \textsc{BONAVERO} et John \textsc{CHARRON} alors que Bertrand \textsc{BRUN} et Georges \textsc{Dupéron} ont continué leur travail respectif. Le planning du projet a été modifié, nous avons opté pour deux itérations au lieu de quatre.
\\
\noindent Lors de la deuxième itération du projet, Yoann \textsc{BONAVERO} a continué à travailler sur le site Web, l'améliorant en ajoutant des pages telles que la partie 'Création de parties', Georges \textsc{Dupéron} sur l'application en HTLM5, Bertrand \textsc{BRUN} sur les modifications de l'application Android\texttrademark{} intégrant les modifications suite aux premiers alpha-tests alors que John \textsc{CHARRON} s'est penché sérieusement sur la dimension TALN du projet, un aspect du projet dont nous avions sous-estimé l'importance.
\\
\noindent Reste à faire~:
\begin{itemize}
\item améliorations/expérimentations sur des algorithmes de génération de mots centraux, mots nuages et relations
\item authentification des utilisateurs dans l'application
\item attribution à un joueur donné le droit de créer une partie
\item affichage de la personne qui a créé une partie dans la page de score
\end{itemize}
\end{document}