IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Conception Web Discussion :

Conseils pour une creation de site web a un developpeur non web.


Sujet :

Conception Web

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 43
    Par défaut Conseils pour une creation de site web a un developpeur non web.
    Bonjour à tous,

    Je suis developpeur de logiciel embarque depuis maintenant 7 ans, et connais relativement bien les languages suivants : Asm, C, C++, ObjetiveC, Java, Python - pour les utiliser tous les jours. Pas mal de programmation réseau à mon actif (j'ai écrit des serveurs d'applications, avec les applications qui vont avec - le plus souvent pour de l'embarqué). Bref tout ça pour dire que j'ai quelques connaissances en programmation.

    Depuis peu, j'ai des idées de créations webs. Cela-dit, a part avoir écrit un petit blog (jamais publié) avec du PHP et du javascript (pour faire des animations sympas dessus), et suivit quelques tutorials sur le net pendant mes heures perdus, on ne peut pas dire que je sois un expert.

    Je souhaiterai écrire un site relativement simple, mais qui suit toutes les règles de l'art.

    En gros, voilà les points importants du site:

    - Gestion utilisateur.
    - des formulaires sont fournis a l'utilisateur(de façons dynamiques si possible).
    - un espace administrateur qui me permettra de générer mes formulaires.
    - J'aimerai que ces formulaires soient transmis de manière sécurisée.
    - Une base de donnee que je pourrai aller consulter via d'autres applications.
    - A base de ces formulaires remplis, le server va lancer des scripts ou des applications pour générer des fichiers (doc, pdf, autres...?), et éventuellement les envoyer par mail à l'utilisateur, ou les proposer en téléchargement. Bien sur, le tout de manière sécurisée aussi.
    - Je voudrais avoir un truc un minimum sympa (sans flash ou autres joyeusetés), donc je pense que le javascript s'impose pour avoir des animations par exemple. Il vaut mieux partir sur AJAX?
    - Bien entendu, je voudrais faire les choses de manière a ce que le référencement ne devienne pas une horreur quand je décide de m'y coller.
    - Je veux écrire des blocs réutilisables. Si demain je veux implémenter d'autres applications en ligne (j'ai en tete un googledoc par exemple - meme si l'idee de base n'est pas ca), je peux recuperer mes blocs parce qu'ils ont ete fait de maniere generiques.

    Du coup, mes questions sont les suivantes:

    - En partant de ce que je viens de décrire, je pense que si le CMS peut avoir des atouts (rapidement en ligne), il va me bloquer tres rapidement (le googledoc pas forcement possible)? J'apprends un Framework? - sachant que l'idee n'est pas de trouver du travail par la suite. Je pars de zero et je me constuis mon propre FWK - c'est con de reinventer la roue avec une gestion d'user, des soucis de securite, les problemes browser specific... par exemple non? Y'aurait pas des trucs entre deux?
    - D'apres vous, Javascript, html, css et PHP ca suffit pour faire mon bousin? (si on parle d'un googledoc)
    - Est-ce que d'autres personnes ayant le meme profil que moi se sont deja lances dans l'aventure? Si oui, en combien de temps vous etes vous sentis a l'aise avec les langages?
    - Je n'ai pas a l'heure actuelle de deadline concernant mon projet. Cependant, j'aimerai que les premieres versions soient dispo d'ici 5-6 mois. Vous pensez que c'est raisonnable (en faisant du code tout propre et de qualite bien sur)?
    - Pensez-vous qu'il est raisonnable de partir sur un projet comme ca tout seul et de s'occuper de tout (serveur, client, design, referencement, base de donnee...)? Vaut-il mieux penser a sous traiter certaines parties (en prenant le risque de perdre la main sur les choses)?


    Je pense que ca sera tout dans un premier temps. Je rebondirai au besoin dependant des reponses que j'aurai!

    Merci d'avance!!

  2. #2
    Membre éprouvé
    Avatar de Rakken
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 257
    Par défaut
    Quelques éléments de réponses :
    - D'apres vous, Javascript, html, css et PHP ca suffit pour faire mon bousin?
    Oui, absolument.

    Pour le CMS, effectivement, tu vas avoir un tas de trucs tout fait qui font que le départ sera très rapide, mais tu risques de te heurter à des problèmes pas forcément très amusant quand tu voudras faire des trucs un peu spécifiques (ce qui arrive *toujours*).
    Entre le CMS (ou tu remplis les cases que le site te fournis) et le tout-à-la-main, il y a les framework, qui te fournissent un cadre pour le développement et un tas d'outil tout fait. Tu réinventes pas la roue, mais tu dois réapprendre à pédaler à chaque framework... Zend Framework, CakePhp sont deux exemples, mais il y a en a plein d'autres.

    Pour te sentir à l'aise avec le php, si tu sais déjà bien coder par ailleurs, ça devrait aller assez vite. Pour le javascript... perso, je ne suis toujours pas à l'aise parce que je m'en sert seulement au besoin et que je limite ce besoin au maximum.

    Pour les effets & autres, il y a des libs javascript, du genre jquery qui sont très bien. J'aime bien ce genre de lib, parce que c'est une boite à outil dans laquelle tu peux piocher.

    Cinq/six mois pour un projet, ca ne veut rien dire... si tu fais ça sur tes soirées ou à temps complet, c'est très différent. A temps complet, avec ce temps là, en extrapolant un peu à partir des morceaux de fonctionnalité dont tu as parlé, j'aurai très largement le temps de le faire.

    Pour ce qui est du référencement, un bon truc, c'est de regarder ton site sous Lynx (un navigateur en mode texte), tout ce que tu peux lire sous lynx peut être lu par google, si ça passe sous lynx, le référencement sera, au pire, correct.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 43
    Par défaut
    Merci Rakken pour toutes ces réponses.

    J'ai par ailleurs chercher de moi même, et il me semble que je vais partir sur un framework. J'ai pas mal regardé symphony qui me plait bien pour le moment. Mais je vais prendre le temps de bien étudier les autres pour bien me rendre compte des avantages/inconvénients.
    Concernant le javascript, en effet, je ne compte pas en abuser, et je vais certainement me limiter à faire des anims ( j'avais en effet regardé jquery qui m'avait eu l'air d'être pris en main assez rapidement).

    Concernant mon projet, ca sera le soir après le boulot. J'ai déjà eu l'occasion de bosser de cette manière pour d'autres projets, et j'arrive à dégager environ 20h par semaine. Si on fait un rapide calcul, ca fait 2,5x26 = 65md. J'ai tendance à penser que ca sera suffisant pour une V1 (eventuellement pas full feature).

    D'un point de vue technique, j'ai en tête l'architecture globale. Par contre, il y'a des points sur lesquels je bloque.

    En gros voilà les parties qui me font le plus soucis:

    - Premièrement, j'aimerai faire quelque chose du style:
    - Je suis super admin.
    - Un client qui créé un compte d'une certaine façon est admin de son compte.
    - Un client du client qui créé un compte est simple utilisateur, mais n'a accès qu'aux informations du compte auquel il est rattaché.
    Est-ce qu'il y'a des FWK qui permettent de faire un mechanisme pareil sans trop forcer? J'ai vu dans symphony la gestion des users, mais je n'ai pas vu 3 niveaux de droits (enfin 4 avec le mode non connecté).

    - Deuxièmement, j'ai du mal à concevoir comment gérer mes comptes.
    Mon idée, serait quelque chose du style (c'est amené à évoluer):
    Une database pour le compte super administrateur.
    Une database par compte administrateur + un folder où stocker les informations qui ne rentre pas dans la database + un folder pour chaque compte dans ce compte administrateur (bien entendu en lien avec la database).

    Est-ce que c'est quelque chose qui a du sens? (sachant que mon nombre d'utilisateur risque d'être grand (~1000 compte admin + 10000 comptes user chacun, mais que les données pour chaque user relativement petites)) Est-ce que vous avez déjà utilisé un truc du style? Niveau sécurité, c'est OK? (en partant du prédicat que le code PHP est bien fait...) Avez-vous d'autres propositions?

    - Enfin, je compte écrire un soft en C++ qui pourra faire du traitement sur ces informations lorsque le server lui réclame. Pas de soucis à ce niveau là?

    Encore merci pour ton aide.

  4. #4
    Membre éprouvé
    Avatar de Rakken
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 257
    Par défaut
    Etant, à titre personnel, peu friand des frameworks, je n'en connais pas qui fassent déjà ce que tu veux. Ceci étant, ça ne semble pas insurmontable. Le truc, c'est vraiment de bien penser ton architecture avant. Si le boulot en amont est bien fait (et il n'est pas très différent pour un site web que pour une appli "classique"), ça ira.
    Après, faut trouver un framework qui "t'aide" à faire un module user personnalisé comme celui que tu veux et pas qui t'empêche d'avancer. Mes compétences s'arrêtent là. Perso, je le ferai intégralement à la main je pense, ce qui ne veut pas dire que c'est la meilleure solution.

    65md, ca fait trois mois à temps plein. C'est assez pour une première version. Après, faut voir à quel point tu apprends vite ou pas ;-)

    Si l'estimation de ton volume d'utilisateurs est correcte, 1000 * 10000, on arrive vite à dix millions d'utilisateurs, tu vas avoir des problèmes de perfs. A minima il te faudra ta base de donnée et ton serveur apache sur deux serveur physique différent (quand tu regardes un sites tourner, y a deux trucs qui mangent du proc, c'est la bdd et le traitement php pur). Plus probablement, tu devras mettre en place un système de load balancing (sur la même ip vont se cacher plusieurs serveurs), avec tous les problèmes de synchro inter-serveur que ça va engendrer.
    Par contre, la sécurité dépends quasi exclusivement de ta manière de coder.

    Pour le soft en c++, à priori, aucun problème, le php peut appeler des programmes externes.
    Tu peux même envisager un système de "webservice", ou sur une url non destinée à être vue par un utilisateur, tu passes des infos (genre getStatBrutes.php?date=...) et le php te retourne (par exemple), un xml que tu pourras traiter. Dans le même genre, il existe php-cli, qui est un php destiné à être utilisé comme un script shell, sans passer par apache, ce qui est pas mal approprié pour un prog c++ qui tourne sur le même serveur.

    Dernier point, pour tes multiples bases de données... perso, dans tous mes projets je n'ai toujours utilisé qu'une seule base. Je ne saurais pas te dire à quel point il peut être pertinent de les dupliquer pour chaque admin.
    A froid, j'aurai tendance à dire que ce n'est pas utile, mais vu le nombre d'user que tu vises, ca peut peut-être être intéressant quand même pour diviser le boulot sur plusieurs serveurs.
    Éventuellement, tu peux poser cette question précise dans le sous-forum qui va bien tu auras une réponse plus pertinente que la mienne.

    Dans tous les cas, bon courage ;-)

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    43
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 43
    Par défaut
    Merci encore de ta contribution.

    Concernant la charge. Je me suis pas bien exprimé. En fait j'aurais en effet 1000 clients "admins", mais les 10000 autres ne seront pas des clients régulier, seulement des clients du client qui viendront répondre à un questionnaire (certainement une seule fois dans leur vie).
    En bref, on sera loin des 10 Millions de users en même temps, mais plutôt des phases, ou un client va fournir un questionnaire à une liste de ses clients, qui eux vont venir y répondre et populer la database du client admin.

    En gros, je vais avoir des databases relativement grosses avec des millions d'entrée (au bout d'un certain temps bien sur), mais un traffic journalier relativement raisonnable (j'imagine mal plus de 1000 connections par jour - et encore en étant laaaaaaaaaaaaarge).

    De plus je préfére avoir une database par client admin, car je pourrai l'exporter plus facilement il me semble.

    Concernant le fait de tout faire from scratch sans FWK, je pense que si je le fais bien, je gagnerai évidemment du temps dans mes développements futurs, mais j'ai peur qu'en tant que novice je tombe dans tout un tas de pièges qu'un FWK me fera éviter par défault.

    Ton avis perso à toi:

    Le plus rapide (pour la première application seulement) est d'apprendre à se servir correctement d'un FWK, ou de partir de zéro et de créer mes modules en fonction de mes besoins ? (on est pas à la minute près, mais si c'est du x2, ca devient intéressant)

    Parce que par analogie, si tu prends un FWK graphique en C/C++, le temps est incomparable, et il est plus rapide - et de loin - d'apprendre à bosser sur un SDK plutot que de tout faire from scratch.

  6. #6
    Membre très actif

    Homme Profil pro
    Inscrit en
    Octobre 2011
    Messages
    354
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2011
    Messages : 354
    Par défaut
    Bonjour,

    personnellement je conseillerais le "tout-à-la-main" surtout pour faire ses armes. La gestion intégrale du site de A à Z est le meilleur moyen pour tout comprendre.

    Cela amène à s'arrêter sur un incertain nombre de points :
    d'abord niveau technos :

    - Le langage PHP forcément, mais si tu as fais tu Java/C++, alors il ne faut pas se priver du PHP5 orienté objet.

    - Php/Mysql

    - Le XHTML/CSS3 pour les styles

    - le javascript + librairies comme jquery citée plus haut

    - éventuellement plus tart, la technologie Ajax

    Puis ensuite voir les questions liées à la performance, sécurité, etc..

    url_rewriting, compressions, etc...

    De toute façon, qu'un site passe par un CMS, framework ou autre, il est toujours en chantier.

    Alors c'est sûr que la version 1.0 semblera éloignée des objectifs fixés, mais dans 4 mois, ce sera l'inverse.

Discussions similaires

  1. conseil pour création d'un site web
    Par lionel84 dans le forum Débuter
    Réponses: 2
    Dernier message: 31/10/2008, 23h02
  2. conseils pour une application à interface web
    Par stdebordeau dans le forum Access
    Réponses: 2
    Dernier message: 16/05/2008, 12h54
  3. Conseil pour une mission dans le Web
    Par jason69 dans le forum Contrat
    Réponses: 18
    Dernier message: 12/09/2007, 15h32
  4. Un hébergeur pour une douzaine de sites web !
    Par speedev dans le forum Hébergement
    Réponses: 4
    Dernier message: 20/07/2007, 09h05
  5. Conseil pour une école (conception web , multimédia)
    Par DonKnacki dans le forum Etudes
    Réponses: 3
    Dernier message: 11/03/2007, 10h55

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo