Bonsoir,
Je me lance dans un nouveau projet, et j'en suis aux choix techniques à mettre en place. Ce projet si tout se passe bien et que la mayo prend pourrait être d'assez grande envergure.
Le projet comprend une application web et les applis mobile qui vont avec, dans un premier temps ces applis seront surement sous cordova, mais si ça fonctionne correctement on passera certainement en natif purs.

Concernant la technique j'hésite entre plusieurs choses, effectivement, je fais du php mais je n'ai pas encore "vraiment" utilisé de framework (je préférais tout faire moi même...), pour ce projet ce sera indispensable, du coup j'étais parti pour utiliser cakephp, mais la sortie prochaine de la version 3 me refroidi un peu à apprendre maintenant la 2 et devoir tout re-coder pour passer à la 3 rapidement. L'autre choix est symfony, là ce qui me fait peur c'est de vraiment perdre beaucoup de temps à assimiler son fonctionnement, car il doit surement être très bien mais les retours que j'en ai eu sont qu'il n'est quand même pas super accessible.

Et finalement, un 3éme solution me fait de l'oeil c'est carrément partir sous ruby avec ruby on rails...

Il faut savoir que le projet est destiner à être héberger sur un serveur dédier.

Du coup déjà avec ce que je vous ai dit, vous avez des recommandations (avantage/inconvénient) des choix proposer?

L'autre grosse question est sur le sgbd, effectivement jusqu'a aujourd'hui je me suis toujours servi de mysql, mais là, toujours si la mayo prend, il devrait y avoir énormément de flux de données et je regarde un peu du coté des sgbd nosql (principalement cassandra).
Pour essayer d’être plus précis, j'aurais en bdd des centaines de milliers de référence avec chacune, suivant leurs type, différente information (ex: gencode, libeller, marque, allergène, vitamine...), ces références seront classer par famille de produit, et les utilisateurs pourront consulter et faire différentes chose avec ces produits. Pour le nombre d'utilisateur, ces difficile de prévoir, mais je préfère partir sur le faite que sa va intéresser mon public et du coup prévoir une architecture qui supporte une montée en charge plutôt que subir et devoir modifier a la va vite en cas de succès.
De même beaucoup de donnée pourrais être récolté afin d’être analyser et pouvoir être utiliser pour renforcer et faciliter l'expérience utilisateur (sorte de big data).

Voila, j'espere que vous pourrez m'aider a valider mes choix en expliquant pourquoi vous conseillez plutot tel ou tel solution.


Merci a vous