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

Présentation

Application de PFE
by

ben rejeb moncef

on 18 August 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Présentation

Stample
Implémentation de la Linked Data platform (RDF, WebID) dans le backend Scala de l'application web Stample
Présenté Par :
Moncef BEN RAJEB
Tuteur pédagogique
Mr Pierre MARET
Responsable Stample :
Mr Henry STORY
Cadre du Travail
Démo
Plan
Introduction
Cadre de travail
Scala
Démo SecureSocial
Conclusion
Qu'est-ce qu'il faut pour apprendre Scala?
Stample, première plateforme de réseau social distribué et sécurisé, redonne à chacun le contrôle exclusif de ses informations et améliore l'ergonomie de l'apprentissage, du travail individuel et de la collaboration.


Sample
Attraper facilement du contenu du web.

Drag & drop des fichiers depuis votre ordinateur, créer des notes et articles de n'importe quel appareil.
Staple
Organiser gracieusement votre bibliothèque de contenu personnel grâce à l'architecture d'arborescence similaire à un système de fichier.
Options visuelles conçues avec soin des informations dont vous avez besoin et accessible en un coup d'œil.
Stamp

Résumer, mettre en évidence et d'annoter tous vos contenus.

Partager parfaitement du contenu et des métadonnées avec certains membres de votre réseau.

Transformer la plateforme Stample en Réseau social décentralisé et sécurisé :

- Résoudre le problème de l'architecture client / serveur.

- Donner la possibilité aux l'utilisateurs d'avoir son propre contenu social dans un datacenter chez lui.
Scala
Language unifiant programmation orientée-objet et fonctionnelle.
tourne sur la JVM
compatible avec les librairies Java
statiquement et fortement typé
soucis de la concurrence (immutable)
inférence de type
tout est objet
Système de type plus complet
Collections et structures immuables
Aide à programmation concurente
En quelques mots
Points forts
Intégration du module SecureSocial
"la plus grand force de Scala c'est la
comptabilite avec Java, la plus grande
faiblesse c'est sa compatibilite avec Java"
Scala est très intéressant : Il est compatible avec JAVA et sont ecosystème.

Par contre cette capacité affaibli le langage : présence de null, surcharge de méthodes, limitation des capacités d'inférence, trop de polymorphisme.
Scala VS. Java
package
com.exmple.scala.hello

object

Hello
{
def
main(args : Array[String]): Unit= println("Hello, Scala")
}

Quelques curiosités, par rapport à Java :
Les
points-virgules
sont manquants!
Le modificateur d'accès
public
est manquant!
La déclaration du main commence avec
def
Le type de retour du
main
et le type de son paramètre
args
sont écrites après les noms
Le
main
retourne un certain type
Unit
mystérieux
Il y'a un signe = et pas des accolades dans la déclaration de méthode.
Hello un
object
non pas
class

Être un Superman en Programmation ?
Mutabilité VS. immutabilité
Impératif VS. Fonctionnel

Mutable, Impératif Style :

val
listOneToTen: List[Int] = {

var
i: Int = 1

var
list: List[Int] = List()
while (i <= 10) {
list :+= i

i += 1
}
list
}

Purement Fonctionnel :

def
listToTen(i: Int) =

if
(i <= 10)


i :: listToTen(i + 1)

else
Nil


val

listOneToTen = listToTen(1)
Une façon plus facile : (1 to 10 ).toList

Ou encore (1 to 10 ).toStream
Lazy
list

Ce pendant, il reste plusieurs concepts intéressants.

Plus de détailles sur ma page web http://ideas2d.com/moncef/home.php
dans le milieu professionnel
Stample dans quelques mois
Reste à faire :
Court terme
Long terme (3-4 mois)
- Choisir et écrire les Ontologies
- Migration des Stamples de JSON à Turtle
- Intégration de LDP dans Stample
- Optimisation ...
Durant ce Stage
- J'ai appris plusieurs concepts de la programmation fonctionnelle Scala,
- PlayFramework, MongoDB,
- Les techniques pour programmer plus efficacement,
- Le cycle de vie d'une Start-Up, la volonté,
la patience, ect...
- HTML5, CSS3 en programmant mon rapport de
stage.


Pour travailler avec Stample, J'avais besoin d'apprendre Scala
Merci Pour votre Attention
Architecture distribuée
Architecture Actuelle
Transition de l'architecture de Stample
Architecture de Stample
Full transcript