Centrale Lille Course Catalogue

Web 2.0 technologies

Course label : Web 2.0 technologies
Teaching departement : MIN / Applied Mathematics and General Computing
Teaching manager : Mister THOMAS BOURDEAUD HUY
Education language : French
Potential ects : 4
Results grid :
Code and label (hp) : G1G2_ED_MIN_TWE - Technologies web 2.0

Education team

Teachers : Mister THOMAS BOURDEAUD HUY / Madam ISABELLE LE GLAZ
External contributors (business, research, secondary education): various temporary teachers

Summary

This course covers the main tools for producing rich interfaces for Web 2.0 (RIA). It presents and enables the implementation of the concepts of layered architecture (frontend and backend), AJAX and RESTful APIs. The elective is organized in 3 training modules: FrontEnd, Backend and Single Page Apps. A mini-project allows students to understand the development phases of a Web application of their choice, from the writing of the specifications to the technical development through the design stages of the GUI and the information system. In addition to giving the students the opportunity to practice the technologies presented on problems of reasonable size, and to develop their analytical skills and ability to work independently, this workshop will highlight user experience issues and elements of agile project methodology. Finally, interventions from practicing professionals will complete the presentation of good practices in enterprise development.

Educational goals

At the end of the course, the student will be able to : - Understand the history of Web technologies, the current technical solutions of Web 2.0 (Ajax, RIA), the context and issues of the Mobile Web and the perspectives of the field. - Identify and understand the interactions of a web browser with a server, as well as the mechanisms implemented within the HTTP protocol. - Understand the layered organization of the Web, both frontend (structure, presentation, interaction) and backend (Model, View, Controller), and the benefits of such a division. - Develop using the languages of the Web : (X)HTML, CSS, javascript, JSON format, php, mysql - Handling today's advanced development solutions: HTML5 API, jQuery, bootstrap, RESTFul API - Understand the issues of ergonomics, UX and responsive design - Understand Web security issues (SQL injections and XSS vulnerabilities) - Understand the performance issues and the specificities of Web applications running on Mobile, the interest of the solutions offered by HTML5 - Apprehend good practices for code development and industrialization Contribution of the course to the skills repository; at the end of the course, the student will have progressed in : - the ability to concretize or make a prototype (1.9). o Indeed, he will have to realize a mini-project of Web application development. - the ability to understand and formulate the problem (2.1); the ability to use concepts or principles in event descriptions (2.2); the ability to recognize the specific elements of a problem (2.3); the ability to identify the interactions between elements (2.4) o He will have the opportunity to use code inspection tools and use design diagrams to represent the interactions between the different layers of his solution architecture. - the ability to propose one or more resolution scenarios (2.5). o He will be required to organize the technical solutions seen in progress to solve different case studies. The domain of the Web is such that there are often many technical solutions to achieve the same functional goal. For example, this is notably the case in the field of Web Design (HTML/CSS); o As part of his mini-project, he will have to produce several design documents (mockups, conceptual and physical data models) - the ability to converge towards an acceptable solution (monitoring hypotheses, orders of magnitude, etc.) (2.7) o Indeed, within the framework of the mini-project, an incremental development approach will be proposed. This will be the opportunity to come back to certain functionalities as the technical solutions addressed in the courses are developed (for example, we will move from "cliquodrᅵme forms" type solutions to rich interfaces as we discover ajax type solutions and HTML5 interactions). - the ability to grasp all the scientific and technical dimensions of a project (3.1) o In fact, not only will he have to achieve a result that is functionally correct with respect to the specifications of his project, but he will also have to justify the quality of his development with respect to the issues of ergonomics/UX, performance, security and maintainability of his code. - the ability to quickly deepen a domain (3.2). o Indeed, the languages of the Web are numerous and interacting. From the very first courses, the student will have to be able to mobilize a vast set of technologies. He will have to be able to understand in autonomy numerous documentary resources of varying quality. The course will also lead the student to discover advanced solutions such as bootstrap, jQuery and jQuery UI. - the ability to define and negotiate objectives (3.3). o Indeed, during the mini-project the students will have to define their objectives by prioritizing them. - the ability to develop working methods, to organise (3.5). o Indeed, incremental development approaches will be proposed (agile development methodology, division of development into User Stories and discovery of a JIRA-type agile development support tool). - the ability to integrate quality / safety / environmental rules and standards (3.9) o Students will be made aware of code quality standards, test-driven development and continuous integration solutions through testimonials from practicing professionals.

Sustainable development goals

Knowledge control procedures

Continuous Assessment
Comments:

Online resources

There is a multitude of media of varying quality on the languages of the Web. The course will identify the most relevant and up-to-date materials for each layer involved. At the time of writing, these are : ? The continuation of the thematic courses of the W3Schools site, equipped with a very practical "TryIt Yourself" online development solution: <http://www.w3schools.com/> ? Blogs <http://www.alsacreations.com/> and <http://alistapart.com/> dedicated to Frontend technologies and best practices ? The php language manual in French : <http://php.net/manual/fr> Course materials have also been developed over the years for the ig2i, Centrale's Web elective and the EBM option, which contain a wide variety of complementary teaching resources (topics and answer keys for exercises, CTP and DS): ? Web1: <http://moodle.ec-lille.fr/course/view.php?id=6> ? Web2: <http://moodle.ec-lille.fr/course/view.php?id=231> ? Frontend & Backend courses in EBM: <http://moodle.ec-lille.fr/course/view.php?id=425> http://moodle.ec-lille.fr/course/view.php?id=3 Electif Web Technologies: <?>

Pedagogy

The elective is organized in 3 modules: FrontEnd, Backend and Single Page Apps. Each module is developed in the form of a course introducing concepts and technologies, followed by practical school-sized case studies based on "Live Code": after letting the students search a little, corrections are systematically made by the teacher to insist on the good practices to be implemented. It is completed by a mini-project starting at the beginning of the elective that leads the students to build a Web application following an incremental methodology, allowing them to develop their analysis and autonomy capacities.

Sequencing / learning methods

Number of hours - Lectures : 0
Number of hours - Tutorial : 0
Number of hours - Practical work : 0
Number of hours - Seminar : 42
Number of hours - Half-group seminar : 0
Number of student hours in TEA (Autonomous learning) : 24
Number of student hours in TNE (Non-supervised activities) : 0
Number of hours in CB (Fixed exams) : 0
Number of student hours in PER (Personal work) : 0
Number of hours - Projects : 0

Prerequisites

Basic knowledge of algorithms (which can be acquired in the preparatory class and in the AAP core course). Additional knowledge of databases (SQL) will be appreciated (elective Information Systems in S6a), but is not essential.

Maximum number of registrants

64

Remarks