ZONNY - Projet arrêté

Le problème exposé dans ce sujet a été résolu.

NEWS: Les repos Github sont désormais publics (ci-dessous) et l’équipe dispose maintenant d’un Discord Discord !

Salut ! Je viens vous présenter aujourd’hui le projet ZONNY.

Qu’est-ce que c’est ?

ZONNY est une application (Android et iOS) permettant de créer des événements spontanés éphémères avec ses amis. Euh… concrètement ?

Voilà :

Image en HD

Alpha v0.1

L’idée générale est de pouvoir facilement et rapidement organiser des petits évènements avec ses amis genre une p’tite bière, un foot ou encore une expo (ouais expo on verra hein :p )

On connait tous (enfin du moins je crois !) le fait de devoir envoyer des messages à tous ses amis pour demander qui est libre dans l’après-midi, de demander qui est là quand on rentre de vacances ou encore de pas savoir quoi faire avec ses amis.

Aussi, contrairement à la majorité des autres applications, nous proposons à l’utilisateur de sortir (dans la vie réelle) et non pas de rester chez soi sur son écran.

Screens
Accueil
Sélection d’amis que l’utilisateur veut voir
Personnalisation d’un événement
Affichage d’un événement
Historique des évènements
Initiation à l’application
Mode fantôme
Édition d’un évènement
Maquettes
Accueil
Choix des bons amis
Sélection d’amis que l’utilisateur veut voir
Personnalisation d’un événement
Création manuelle d’un événement
Recherche d’un événement à proximité
Génération aléatoire d’un événement à proximité
Gestion de l’événement
Disparaître de la carte
Fonctionnalités
  • Carte affichant la position de vos amis de façon approximative, vos évènements, ceux auxquels vous êtes invités, ceux publics crées par vos amis. Il y a également des suggestions d’événements.

  • Demander à un ou plusieurs ami(s) s’ils sont libre(s) sans créer d’événement bien défini.

  • Créer soi-même un événement éphémère.

  • Chercher un évènement spontané à proximité.

  • Choix aléatoire d’un événement spontanés à proximité.

  • Chat avec uniquement les participants à l’événement. Non présente dans l’Alpha

  • Génération d’un point de rencontre équidistant de chaque participant (pour les événements n’ayant pas d’adresse/activité bien définie)

  • Disparaître de la carte

  • Créer un événement éphémère visible par tous les amis à proximité de l’utilisateur. Non présente dans l’Alpha

  • Système permettant de demander à être invité à un évènement public crée par un de ses amis.

D’autres fonctionnalités sont à l’étude, mais dans un soucis de temps et surtout de ne pas perdre l’utilisateur dans l’utilisation de l’application elles ne seront pas présentes dans les premières version de l’application.

Travail réalisé

Cela fait depuis quelques mois (certains plus productifs que d’autres) que nous travaillons sur ce projet. Dès le début, nous sommes partis trop rapidement. Nous avons donc en Septembre 2017 repris depuis zéro. Et depuis, le projet a sacrément avancé !

  • API Restful. Documentation Swagger incluse. https://zonny.me/docs. Pour les non initiés, il s’agit de la partie serveur qui est chargée de centraliser les données entre les différents utilisateurs. C’est le cerveau du projet en quelque sorte. Le Github est ici : https://github.com/baudev/ZONNY_API/
Base de données actuelle pour les intéressés. Certaines tables ne sont pas encore intégrées.
Choix des technologies
Les repositories Github

ZONNY VERSION ZONNY VERSION Build Status Coverage Status swagger validator

Intéressé ?

Ne sois pas timide et viens nous retrouver sur notre Discord !

Pourquoi je présente ce projet ici ?

La réponse est simple : pour avoir vos commentaires et vous montrer l’évolution de ce projet :)

J’ai beaucoup de questions à vous poser, je viens apprendre de votre expérience dans le développement d’un projet : « utilise tel Framework il est dingue », « mauvaise idée ce bouton » ou encore « idée de projet nulle parce que … ».

Voilà, merci de m’avoir lu !

+3 -0

Merci, en effet on voit pas grand chose! Une des solutions serait (je pense) de changer le couleur de "Liste" :

selecteur

Après, nous pensons enlever finalement cet affichage par liste. En effet, cela rajoute du travail pour quelque chose de pas forcément très utile. (surtout qu’après il faut se demander comment on affiche les événements,les amis…)

Je viens d’apprendre un mot ! On va donc prendre événement. Pourquoi se compliquer quand on peut faire simple ? :p

Une des autres questions que l’on se pose est celle de l’affichage des événements. Ne serait-il pas judicieux de leurs donner une forme différente des amis? On a pensé à une version rectangulaire :

événement, lequel de mieux ?

Salut,

Bien que je ne sois pas la cible de votre projet, je trouve que c’est une très bonne idée. Le design est réussi et travaillé. Globalement il est difficile de faire des retours aujourd’hui parce que on se rend pas très bien compte de la difficulté d’utilisation avant de l’avoir sur son téléphone.

Par contre je sais pas, mais j’ai l’impression que c’est le genre de fonctionnalité qui pourrait être ajouter à Snapchat. Déjà parce que le public de base est nombreux, et qu’après leur mode carte ça me semble être une suite assez logique. Je me verrais pas ajouter une nouvelle application pour ça.. Mais c’est mon avis.

Bonne journée !

+2 -0

Merci ! Je comprends mieux le silence sur ce topic du coup :p

En effet, cette fonctionnalité pourrait très bien être ajoutée à SnapChat. Mais heureusement ils ne m’ont pas encore piqué mon idée ! Non, sérieusement c’est pour cela que l’utilisation de l’application se fera avec son compte Facebook. Aucune autorisation particulière ne sera demandée par contre (ni la liste des amis, ni le mail etc). C’est très dur, comme tu le dis, de créer un "public de base" et c’est pour cela que la connexion par Facebook est nécessaire. Après, par rapport à SnapChat, la carte de ZONNY sera un peu différente : les localisations seront moins précises pour les amis qui ne seront pas à proximité de l’utilisateur. Quand la localisation est trop précise, c’est trop intrusif pour l’utilisateur et cela peut le pousser à désactiver la localisation voire même supprimer l’application.

Comme vous l’avez peut-être remarqué, hier quelques corrections ont été apportés au schéma de la base de données: une table était inutile et une autre n’était pas complète. Maintenant, cela devrait-être bon :D

J’ai finalement changé de Framework pour la réalisation de l’API. Il s’agit maintenant de Slim https://www.slimframework.com/. Il est très simple et rapide à prendre en main. Le codage de l’API a donc commencé !

J’ai également commencé une landing page pour ce projet. Je déteste faire plusieurs choses à la fois mais ça me détend quand le codage de l’API commence à me saouler :p

Un petit aperçu : Image utilisateur Il y a encore beaucoup de boulot sur cette page, ne vous fatiguez pas à faire des remarques sur ce screen!

Merci c’est une bonne question! Je n’y avais pas réfléchi concrètement… Ta question me pousse à revoir ma base de données (je préfère ça maintenant que dans deux semaines :p ). Je viens de la modifier #post161899 de telle sorte à ce que chaque position soit décomposée en deux valeurs : latitude et longitude. (J’en ai d’ailleurs profité pour ajouter une table stockant les IP des personnes malintentionnés)

Chaque latitude et longitude étant en coordonnées décimales (ex: 45.975 ; 2.324) l’algorithme est plus simple :

1
2
3
4
/* latitude et longitude de l'utilisateur */
$latitude = 46.22;
$longitude = 2.21;
$rayon = 20; // exprimé en km

Sachant que chaque degré de latitude et longitude correspond à 111 km ( par approximation )

1
2
3
4
5
6
7
$rayon_deg = $rayon / 111;
$latitude_mini = $latitude - $rayon_deg;
$latitude_max = $latitude + $rayon_deg;
$longitude_mini = $longitude - $rayon_deg;
$longitude_max = $longitude + $rayon_deg;

$request = "SELECT * FROM events WHERE latitude BETWEEN $latitude_mini AND $latitude_max AND longitude BETWEEN $longitude_mini AND $longitude_max"

Cette solution me semble la plus simple (pas forcément la plus juste après…). Si vous avez des idées/corrections, je vous écoute ;)

+0 -0

Fais attention à suivre un nommage cohérent entre les colones de ta BDD. Je pense qu’il vaut mieux que tu mettes ip en minuscules dans ta table hack_attempt. Je pense que ça serait égalementplus logique mettre le nom de cette table au pluriel : hack_attempt.

Sachant que chaque degré de latitude et longitude correspond à 111 km

Nan :D . Un degré c’est un angle. Ça ne correspond pas à une distance. Enfin, tu peux dire qu’à un endroit donné de la terre, un degré de latitude ou de longitude vaut telle distance en kilomètres. Mais ça ne sera pas vrai partout.

Sur thoughtco.com, ils disent « Each degree of latitude is approximately 69 miles (111 kilometers) apart. ». Ce n’est pas vrai pour les degrés de longitude. Et en plus, ils expliquent que c’est une petite approximation parce que la terre n’est pas vraiment ronde (oui, elle est un peu aplatie aux pôles, mais c’est un détail, on va dire qu’elle est parfaitement ronde).

Du coup, on peut quand-même partir du principe qu’un degré de latitude vaut 111 kilomètres. Mais pour connaître la taille d’un degré de longitude à un endroit donné, il faut connaître la latitude à cet endroit : Un degré de longitude près d’un pôle sera beaucoup plus petit qu’un degré de longitude à l’équateur.

Si ton application ne sera utilisée que dans un endroit donné, tu peux peut être faire une (affreuse) approximation (moche) de la taille d’un degré de longitude.

Tu peux faire des opérations mathématiques dans tes requêtes SQL. Même sans sortir les cosinus, sinus et racines carrées (ce qui peut quand-même se faire), tu peux déterminer si un point est dans un cercle en appliquant de manière simple le théorème de Pythagore.

Merci c’est une bonne question! Je n’y avais pas réfléchi concrètement… Ta question me pousse à revoir ma base de données (je préfère ça maintenant que dans deux semaines :p ). Je viens de la modifier #post161899 de telle sorte à ce que chaque position soit décomposée en deux valeurs : latitude et longitude.

<?php?>

C’est pas une bonne solution. Utilise un truc fournit par ta base de donnée. Postgres a PostGIS, Mongo permet des indexes et requêtes géospatiales, etc.

+5 -0

Merci pour vos retours !

Fais attention à suivre un nommage cohérent entre les colones de ta BDD. Je pense qu’il vaut mieux que tu mettes ip en minuscules dans ta table hack_attempt. Je pense que ça serait égalementplus logique mettre le nom de cette table au pluriel : hack_attempt.

motet-a

Corrigé, merci ;)

Sachant que chaque degré de latitude et longitude correspond à 111 km

Nan :D . Un degré c’est un angle. Ça ne correspond pas à une distance. Enfin, tu peux dire qu’à un endroit donné de la terre, un degré de latitude ou de longitude vaut telle distance en kilomètres. Mais ça ne sera pas vrai partout.

motet-a

En effet, cette approximation est fausse mais elle me semblait nécessaire :honte: . Alors que pas du tout en fait !

Dans cette présentation : https://fr.scribd.com/presentation/2569355/Geo-Distance-Search-with-MySQL il y a une diapo qui m’a particulièrement fait peur. Elle montre le temps d’exécution de la requête suivante :

1
SELECT *, 3956 * 2 * ASIN(SQRT( POWER(SIN((@orig_lat - abs( dest.lat)) * pi()/180 / 2),2) + COS(@orig_lat * pi()/180 ) * COS( abs (dest.lat) *  pi()/180) * POWER(SIN((@orig_lon  dest.lon) *  pi()/180 / 2), 2) )) as distanceFROM hotels desthaving distance < @distORDER BY distance limit 10;

C’est énorme 4 secondes o_O . Après je n’ai pas vérifié par moi même… C’est pour cela que j’ai pensé à tort qu’il fallait une autre solution rapide mais approximative.

Merci c’est une bonne question! Je n’y avais pas réfléchi concrètement… Ta question me pousse à revoir ma base de données (je préfère ça maintenant que dans deux semaines :p ). Je viens de la modifier #post161899 de telle sorte à ce que chaque position soit décomposée en deux valeurs : latitude et longitude.

<?php?>

C’est pas une bonne solution. Utilise un truc fournit par ta base de donnée. Postgres a PostGIS, Mongo permet des indexes et requêtes géospatiales, etc.

victor

Je ne connaissais pas ces solutions et franchement elles sont tops ! Malheureusement j’ai regardé pour MySQL et je n’ai pas trouvé d’équivalent. Dommage :'( .

J’hésite presque à passer sur Postgre pour cette fonctionnalité (même si j’ai déjà beaucoup de lecture : Slim pour l’API, NodeJS pour le chat…). Est-ce que cela vaut le coup ?

Sinon la solution envisagée en MySQL serait celle proposée par Google https://developers.google.com/maps/articles/phpsqlsearch_v3#creating-the-map :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
SELECT 
id, 
(
   3959 *
   acos(cos(radians(37)) * 
   cos(radians(lat)) * 
   cos(radians(lng) - 
   radians(-122)) + 
   sin(radians(37)) * 
   sin(radians(lat )))
) AS distance 
FROM markers 
HAVING distance < 25 
ORDER BY distance LIMIT 0, 20;
+0 -0

J’hésite presque à passer sur Postgre pour cette fonctionnalité (même si j’ai déjà beaucoup de lecture : Slim pour l’API, NodeJS pour le chat…). Est-ce que cela vaut le coup ?

Postgres, MySQL, MariaDB et SQLite sont toutes basées sur du SQL. Il y a pas mal de choses qui changent entre ces BDD mais la syntaxe reste globalement la même. Tant que tu ne fait pas des choses assez avancées, tu ne devrais pas avoir d’énormes problèmes à passer de l’une à l’autre.

En revanche, je pense que mélanger PHP et Node.js pour le backend va compliquer un peu les choses : C’est deux langages bien différents, deux écosystèmes également bien différents et ça ne tourne pas du tout pareil en production (pas de *CGI pour Node.js). Tu as pensé à tout faire avec Node.js ou même avec PHP (en utilisant éventuellement un service externe pour le temps réel genre SNS/GCM/Pusher, même si ça peut compliquer un peu) ?

+1 -0

J’hésite presque à passer sur Postgre pour cette fonctionnalité (même si j’ai déjà beaucoup de lecture : Slim pour l’API, NodeJS pour le chat…). Est-ce que cela vaut le coup ?

Postgres, MySQL, MariaDB et SQLite sont toutes basées sur du SQL. Il y a pas mal de choses qui changent entre ces BDD mais la syntaxe reste globalement la même. Tant que tu ne fait pas des choses assez avancées, tu ne devrais pas avoir d’énormes problèmes à passer de l’une à l’autre.

motet-a

Je vais y réfléchir, à commencer par regarder à quel point c’est différent pour mon utilisation!

En revanche, je pense que mélanger PHP et Node.js pour le backend va compliquer un peu les choses : C’est deux langages bien différents, deux écosystèmes également bien différents et ça ne tourne pas du tout pareil en production (pas de *CGI pour Node.js). Tu as pensé à tout faire avec Node.js ou même avec PHP (en utilisant éventuellement un service externe pour le temps réel genre SNS/GCM/Pusher, même si ça peut compliquer un peu) ?

motet-a

C’est ici que les choses se compliquent en effet ! En fait, je ne souhaite pas créer de système de chat dans cette application. Pleins d’applications sont déjà extraordinaires pour cela. La connexion se faisant en plus par Facebook, pourquoi se priver de Messenger ?

Le scénario :

  • l’utilisateur a crée l’événement et clique sur "Messenger".
  • si l’évent comprend seulement un ami alors on ouvre simplement la conversation Messenger avec cet ami.
  • si l’évent comprend plusieurs amis alors ça se complique. Le bot de ZONNY crée une conversation Messenger de groupe avec ceux ayant déjà répondu oui à l’évent. Parmi tout ceux qui n’ont pas encore répondu, ceux qui répondront oui par la suite seront automatiquement ajouté à la conversation de groupe.

C’est une fonctionnalité très pratique en soit ! Mais la réaliser est plus compliquée. J’ai regardé dans la doc Facebook, pas moyen de faire cela :'( . Du coup la seule solution envisageable est la création d’un bot en NodeJS https://github.com/Schmavery/facebook-chat-api. Le problème reste quand même qu’il ne s’agit pas d’une solution officielle et il y a donc un risque de ban du bot. La question est maintenant de savoir si ce risque est très élevé et s’il ne faudra pas malheureusement seulement créer un chat dans l’application.

Il existe pas un truc ressemblant à mailto:// ou magnet:// ou encore web+mastodon:// mais pour messenger ? (sms:// ou messenger:// ?)

Dryusdan

Pas exactement. Par contre Facebook serait presque prêt à payer pour que les gens intègrent messenger dans leurs apps, évidemment ! Ils fournissent des SDK généralement bien conçus et bien documentés. Je désapprouve mais bon, j’utiliserai pas l’app de l’OP de toute façon.

+1 -0

Il existe pas un truc ressemblant à mailto:// ou magnet:// ou encore web+mastodon:// mais pour messenger ? (sms:// ou messenger:// ?)

Dryusdan

Non malheureusement. Il en existe quand-même quelques intéressantes comme par exemple fb://messaging/groupthreadfbid/ pour afficher un groupe. (liste complète : https://stackoverflow.com/a/30231726/8219923 )

Pas exactement. Par contre Facebook serait presque prêt à payer pour que les gens intègrent messenger dans leurs apps, évidemment ! Ils fournissent des SDK généralement bien conçus et bien documentés. Je désapprouve mais bon, j’utiliserai pas l’app de l’OP de toute façon.

victor

Je veux bien comprendre pourquoi tu désapprouves. Mais un chat dans l’application ne pourra être que plus nul que ceux déjà existants. En soit créer un bon système de conversation, c’est créer une application à part entière ! Entre un bon système de conversation "maison" et Messenger je choisirai aussi la solution indépendante :)

Ce soir, c’était décomposition des différentes opérations possibles dans l’API. C’est pas très documenté mais si vous voulez voir :

L’API (enfin le début) est enfin en ligne à l’adresse : https://zonny.me/v1/docs

Pour l’essayer vous pouvez utiliser les différents tokens suivants :

  • test
  • test1
  • test2
  • test3

Vous pouvez tout essayer! Merci cependant de ne pas supprimer ces comptes. N’hésitez pas à nous faire part de vos remarques, suggestions…

Les informations suivantes ne sont plus tenues à jours.

ACCOUNT

POST/account ou PUT/account

  • Variable(s) : fb_access_token / expire
  • Traitement : récupérer côté serveur le name / first_name / last_name / profile_picture_url. Vérifier si l’utilisateur existe déjà dans la base de données à partir de son fb_user_id. Si oui : update ‘members’ sinon : insert ‘members’. Récupérer la liste de tous les amis facebook de l’utilisateur utilisant l’application
  • Réponse : key_app

GET/account/ - sécurisé

  • Variable(s) :
  • Traitement : Récupérer toutes les infos sur l’utilisateur dans la table ‘members’.
  • Réponse : id/name/first_name/last_name/profile_picture_url/latitude/longitude/last_latitude/last_longitude/level/unavailable/internet_last_check_up/

GET/account/friends - sécurisé

  • Variable(s) :
  • Traitement : Récupérer tous les amis de la table ‘friends_links’ qui sont d’accord que les utilisateurs les voient (authorization=true).
  • Réponse : id/name/first_name/last_name/profile_picture_url/mutual_friends/mutual_likes/authorization/

POST/account/friends - sécurisé

  • Variable(s) : friend_id/authorization
  • Traitement : Update dans la table ‘friends_links’ l’autorisation à l’ami de voir l’utilisateur.
  • Réponse :

POST/account/unavailable/start - sécurisé

  • Variable(s) : datetime
  • Traitement : Update dans la table ‘members’ de l’indisponibilité de l’utilisateur.
  • Réponse :

POST/account/unavailable/end - sécurisé

  • Variable(s) :
  • Traitement : Update dans la table ‘members’ de l’indisponibilité de l’utilisateur.
  • Réponse :

POST/account/localisation - sécurisé

  • Variable(s) : latitude/longitude
  • Traitement : Update dans la table ‘members’ de la localisation de l’utilisateur.
  • Réponse :

EVENTS

GET/events/historic - sécurisé

  • Variable(s) :
  • Traitement : Récupérer toutes les lignes dans ‘events_member_details’ où invited_friend = id de l’utilisateur
  • Réponse : id/name/creator_id/public/latitude/longitude/duration/information/picture_url/messenger/state/creation_datetime/reponse/

POST/events/ - sécurisé

  • Variable(s) : nom/public/latitude/longitude/duration/information/picture_url/invited_friends_id[]
  • Traitement : Insérer dans la table ‘events’ l’événement ainsi qu’une ligne pour chaque ami dans la table ‘event_member_details’.
  • Réponse :

GET/events/search - sécurisé

  • Variable(s) : query/category
  • Traitement : Rechercher dans la table ‘researchable_events’ un événement correspondant aux critères de recherche et à proximité
  • Réponse : id/name/latitude/longitude/information/picture_url/category/start_date/end_date/start_time/end_time/repeat/repeat_type/creation_datetime/

GET/events/aleatory - sécurisé

  • Variable(s) :
  • Traitement : Rechercher aléatoirement dans la table ‘researchable_events’ d’un événement à proximité.
  • Réponse : id/name/latitude/longitude/information/picture_url/category/start_date/end_date/start_time/end_time/repeat/repeat_type/creation_datetime/

GET/events/infos - sécurisé

  • Variable(s) : id
  • Traitement : On vérifie si l’utilisateur a le droit de voir cet événement ou si l’événement est public
  • Réponse : id/name/creator_id/public/latitude/longitude/duration/information/picture_url/messenger/state/creation_datetime/

PUT/events/edit - sécurisé

  • Variable(s) : id/name/public/latitude/longitude/duration/information/picture_url/
  • Traitement : On vérifie si l’utilisateur est bien le créateur de l’événement
  • Réponse : id/name/creator_id/public/latitude/longitude/duration/information/picture_url/messenger/state/creation_datetime/

POST/events/response - sécurisé

  • Variable(s) : id/reponse
  • Traitement : Update de la table ‘events_member_details’ où invited_friend_id = id de l’utilisateur
  • Réponse :

DELETE/events/delete/ - sécurisé

  • Variable(s) : id
  • Traitement : On vérifie que l’utilisateur est le créateur de l’événement. On supprime la ligne de l’événement dans ‘events’ ainsi que celles des invités dans ‘events_member_details’.
  • Réponse :

ACCUEIL

GET/ - sécurisé

  • Variable(s) : rayon
  • Traitement : Récupère tous les amis de l’utilisateur situé dans son rayon de proximité, qui sont disponibles et qui ont donné l’autorisation à l’utilisateur de les voir (modifier un peu les positions des amis). Récupérer aussi la liste des événements dans lesquels l’utilisateur est impliqué et qui se déroulent dans les prochaines 24h.
  • Réponse : friends : { id/name/first_name/last_name/profile_picture_url/latitude/longitude/last_latitude/last_longitude/level/}, events : { id/name/creator_id/public/latitude/longitude/duration/information/picture_url/messenger/creation_datetime/reponse/ }

Les variables en italiques sont facultatives.

S’il en manque, qu’il y a des erreurs ou autre, n’hésitez pas ;)

+0 -0

Je veux bien comprendre pourquoi tu désapprouves.

Parce que je vais pas créer un compte Facebook juste pour ton application.

Mais un chat dans l’application ne pourra être que plus nul que ceux déjà existants. En soit créer un bon système de conversation, c’est créer une application à part entière !

<?php?>

Tu surestimes pas mal la difficulté que ça représente.

+1 -0

Pour moi, POST /account/update devrait être PUT /account, GET /account/infos devrait être GET /account, et POST /events/create devrait être POST /events : POST veut dire “créér une nouvelle ressource”, PUT veut dire “modifier une resource existante”.

Je veux bien comprendre pourquoi tu désapprouves.

Parce que je vais pas créer un compte Facebook juste pour ton application.

victor

Ma remarque "Je veux bien comprendre pourquoi tu désapprouves" était une affirmation :lol: Je ne me permettrai pas de te parler comme ça ! Mais tu soulèves un point intéressant : ceux qui n’ont pas Facebook. Ils sont nombreux. J’ai pensé à l’intégration d’une connexion par SMS mais un problème majeur me gêne :

Ceux qui se connectent par Facebook doivent impérativement donner leur numéro de téléphone pour qu’ils puissent être trouvé comme amis par ceux se connectant par SMS. C’est gênant car c’est quand même une autorisation Android très intrusive. Faut-il seulement donner le choix de donner son numéro ou alors oublier cette solution ?

Mais un chat dans l’application ne pourra être que plus nul que ceux déjà existants. En soit créer un bon système de conversation, c’est créer une application à part entière !

<?php?>

Tu surestimes pas mal la difficulté que ça représente.

victor

Il faut dire que je n’y connais pas grand chose dans ce "domaine". J’ai fais cet après-midi quelques recherches… Je suis prêt à abandonner mon idée d’intégration de Messenger si j’arrive à créer moi-même un système stable et complet! Je souhaite par contre rester sur du PHP si possible. Si tu as des conseils, je suis preneur :) . Je vais faire un tour sur les différentes solutions SNS/GCM/Pusher ce soir.

Pour moi, POST /account/update devrait être PUT /account, GET /account/infos devrait être GET /account, et POST /events/create devrait être POST /events : POST veut dire “créér une nouvelle ressource”, PUT veut dire “modifier une resource existante”.

motet-a

Merci pour tes corrections et d’avoir tout lu ! En effet, la différence entre POST et PUT était un peu floue pour moi. Je corrige ça dans la minute.

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte