Partage
  • Partager sur Facebook
  • Partager sur Twitter

Diagramme d'activité pour créer un site Web

    19 avril 2016 à 11:06:44

    Bonjour à tous ! 

    Je me lance dans le développement Web pour un programme universitaire. Le programme nous a en gros dit de créer un réseau social assez basique pour s'entrainer (Site et application) avec un certain cahier des charges. 

    Pour le site Web :

    - Site Web Responsive

    - Framework JS :
    Angular JS ou React

    - Framework CSS :
    Au choix


    Et pour le front end, je copie-colle car je ne sais pas vraiment de quoi ça parle :

    Stack MEAN Runtime NodeJS API Rest HTTP : Express ou Loopback Accès au données : Mongoose Persistance : MongoDB

    ou bien 

    Stack JAVA Web Conteneur de servlet Tomcat API Rest HTTP : Jersey Accès au données : JPA, provider Hibernate ou Eclipse-link Persistance : MySQL 

     Avec pour contraine de créer une API rest Http


    Tout d'abord, est ce que vous pourriez m'expliquer les grandes différences entre les deux choix d'implémentations pour le front end ?

    De plus, et voici est ma question principale : 
     Je pars d'un niveau presque zéro en développement. C'est à dire qu'à ce jour, j'ai déjà vu et saurais pratiqué HTML, CSS, Bootstrap et JQuery (et je suis en plein apprentissage du JavaScript). Quand je dis l'avoir vu, c'est que j'ai vu les tutos, et tout compris. Seulement, je ne connais évidemment pas les balises par coeur et j'aurais besoin des bibliothèques en ligne qui rappellent tout ça.

    Du coup, je manque cruellement de hauteur pour le projet, et ne sais pas du tout dans quel ordre procéder et ni vers quels langages me tourner exactement. C'est très agréable d'apprendre pleins de choses différentes, mais je n'ai pas énormément de temps sur cet exercice et dois avancer très rapidement. 
    Est ce que quelqu'un qui a déjà fait un projet de la sorte saurais me conseiller sur une démarche précise avec des objectifs précis à faire ? (Quel language apprendre en premier et à partir de quel moment dans l'apprentissage puis-je commencer à coder directement. Si quelqu'un ici a déjà créé un réseau social, quels ont été le étapes "cinétiquement déterminantes", ou les grosses difficultés du projet ?

    Merci beaucoup à ceux qui prendront la peine de lire mon message et/ou de me répondre ! 



     

    • Partager sur Facebook
    • Partager sur Twitter
      22 avril 2016 à 23:57:04

      Par frontend tu veux dire backend (frontend c'est l'interface, backend le serveur). En très gros :

       - NodeJS + MongoDB ça veut dire 1/ que ton backend est programmé en JS (comme ton frontend du coup) et fonctionne en asynchrone 2/ que tu utilises un SGBD non-relationnel (qui tombe sous le label NoSQL) orienté documents, càd tu stockes un ensemble de données (toutes les informations personnelles d'un utilisateur par exemple) dans un objet JSON qui n'a pas de relation avec les autres, à toi de définir un mapping pour accélérer les traitements

      Pour prendre un peu de recul sur le charabia que je viens d'écrire, je pense que la lecture des articles wikipédia sur NodeJS et le NoSQL s'imposent.

       - Tomcat + MySQL ça veut dire 1/ que ton backend est programmé en Java (si je dis pas de bêtises, jamais utilisé Tomcat) 2/ que ton SGBD est MySQL, un SGBD relationnel (donc des tables avec des champs, liées entre elles), même fonctionnement que ce que tu obtiendrais à travers le cours PHP/MySQL de ce site, et si j'ose dire, fonctionnement "classique" pour tout site web conçu il y a plus de 3-4 ans (et approche encore valable aujourd'hui selon les besoins, mais pour des réseaux sociaux, c'est l'approche NodeJS + NoSQL qui est privilégiée).

      Dans la mesure où l'objectif c'est un réseau social, j'aurais tendance à opter pour NodeJS + MongoDB, en plus ça permet de faire 99% du code en JS, après ça fait peut-être trop de nouveaux concepts à aborder d'un seul coup, surtout si tu es déjà un peu familier du PHP/MySQL ou équivalent (ou tout simplement du SQL).

      L'API Rest ça veut "juste" dire que tes requêtes HTTP pour créer, lire, modifier, supprimer des données (CRUD) doivent respecter cette méthode, pas de nouveau langage ni de programmation supplémentaire, juste l'obligation de respecter une certaine forme pour tes requêtes HTTP et tes URL (Rest ça devient un nouveau standard du web). ça permet du coup d'afficher une interface assez simple à comprendre et à intégrer dans une autre application qui s'adressera à ton serveur (typiquement, tu commences par créer une interface web, et plus tard tu fais une application native Android en t'appuyant exactement sur le même backend).

      Si tu choisis de partir sur du tout JS, la courbe d'apprentissage va être immonde, tu vas ramer le temps de comprendre à quoi correspondent les composants et ce qu'ils font, à tous les niveaux, une fois que t'as saisi les concepts, c'est presque facile, il n'y "plus qu'à" taper du JS.

      Sinon, t'auras un démarrage un peu difficile sur AngularJS (et probablement sur React aussi, je connais pas), si t'as déjà fait du PHP et éventuellement du Java, et un peu de SQL, la partie serveur sera beaucoup plus cool.

      Si tu pars de zéro, je saurais pas dire s'il y a une architecture plus cool à aborder que l'autre, j'ai découvert NodeJS et le NoSQL alors que j'avais pratiqué PHP/MySQL ou trucs approchants pendant plusieurs années, donc avec des préjugés qui ont rendu la compréhension plus difficile.

      Je sais pas quel est le temps que tu es censé consacrer au projet, mais tu as l'air de partir d'assez loin, à priori c'est un Hello World avec une tête de réseau social qui est attendu, donc c'est plus la compréhension de l'architecture d'un service web qui compte ici, et c'est aussi probablement ce qui te prendra le plus de temps : comprendre comment ça marche (d'abord comment fonctionne le service à haut niveau : rôle du frontend et du backend, comment se font les échanges... puis comment fonctionne chaque framework, ce qui te donnera les clés pour coder). Après taper le code ça peut être un peu laborieux si t'as pas l'habitude des langages, mais ce sera moins difficile à comprendre.

      • Partager sur Facebook
      • Partager sur Twitter
      What's it called? Monorail... Once again! MONORAIL!

      Diagramme d'activité pour créer un site Web

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown