πŸ“•

#1 Introduction to the course software engineering for the web

⭐

Cours de Julie Chaumard

Work Methodology & Tools- Project-based work
- Agile/Scrum approach
- Platforms used: developer computer OS, Git, IDE, Internet Browser, Figma, MS Gantt
Architecture of a Web Application- Explanation of the client/server model
- Frontend / Backend / Database
- Concept of HTTP requests, APIs
Technology Families- Frontend: HTML / CSS / JavaScript
- Backend: PHP / Node.js / Python
- Databases: SQL / NoSQL
- Other tools: CMS, frameworks, hosting
Lifecycle of a Web ApplicationStages: Analysis – Design – Development – Testing – Deployment – Maintenance

Working Methodology & Tools

A Web app project in real life

In real-life web development, a project is not just code or a pretty website. It’s a collaborative, iterative, often chaotic process, and it relies heavily on clear goals, communication, and methodological discipline.

Why Do We Need to Constantly Remind the Team of the Project Goals ?

A good project manager (or senior developer) is someone who repeats the business objectives at every stage.

Why Do We Need to Create Diagrams and Algorithms Before Coding ?

Because code is just the translation of logic. If the logic is unclear, the code will be:

Essential diagrams before coding:

Why Do We Need to Validate the Design Before Starting to Code ?

Because:

Checklist before writing any code:

In a real project, coding too early is risky and expensive
Building a web application means translating a complex business need into an efficient technical solution
You must communicate, document, sketch, validate then code and test cleanly

What are some common constraints or challenges that developers face in real-world web projects?

How do client requirements influence design and technology choices?

What roles exist in a professional web dev team, and how do they collaborate?

Typical roles include:

They collaborate using tools like Jira, Trello, Figma, Git, and often have daily stand-up meetings and shared repositories.

Case Study

Have you ever participated in a real-life web or mobile app project? What methodology was used?

Answer:
I worked on a university project with a startup that needed a web app. We used a hybrid Agile approach, with weekly meetings, GitHub for version control, and Google Docs for documentation. We didn’t use a formal Scrum framework, but we tried to work in iterations and deliver usable features each week.

How things are done in real companies compared to academic projects?

Client-server

The web is sometimes referred to as a client-server model of communications. In the client-server model, there are two types of actors: clients and servers. The server is a computer agent that is normally active 24/7, listening for requests from clients. A client is a computer agent that makes requests and receives responses from the server, in the form of response codes

Client

Client machines are the desktops, laptops, smart phones, and tablets you see everywhere in daily life.

Server

The server in this model is the central repository, the command center, and the central hub of the client-server model. It hosts web applications, stores user and program data, and performs security authorization tasks. Since one server may serve many thousands, or millions of client requests, the demands on servers can be high. A site that stores image or video data, for example, will require many terabytes of storage to accommodate the demands of users. A site with many scripts calculating values on the fly, for instance, will require more CPU and RAM to process those requests in a reasonable amount of time.

The essential characteristic of a server is that it is listening for requests, and upon getting one, responds with a message. The exchange of information between the client and server is summarized by the request-response loop.

Frontend / Backend / Database

Web languages Front-End

Web languages Back-End

HTTP

It is the communication protocol used to transfer data on the Web. It defines how a client (such as a web browser) and a web server exchange information.

Web servers. A web server is a computer servicing HTTP requests. This typically refers to a computer running web server software, such as Apache or Microsoft IIS (Internet Information Services).

Common HTTP request methods:

HTTPS

Communication Protocols

API

An API, or Application Programming Interface, is a set of rules and functions that allows different software systems to communicate with each other.

Examples :

Imagine a weather app:

Common uses of APIs:

Types of APIs:

πŸ’š

Agence digitale Parisweb.art
Tout savoir sur Julie, notre directrice de projets digitaux : https://www.linkedin.com/in/juliechaumard/