---
title: Syllabus Sorbonne CFA des sciences Julien Noyer
tags: syllabus, td, sorbonne
robots: noindex, nofollow
author: Julien Noyer
---
# Principes et techniques de production de projets numériques
*Syllabus Sorbonne CFA des sciences – 2023*

> © [Julien Noyer](https://www.linkedin.com/in/julien-n-21219b28/) - All rights reserved for educational purposes only
---
## Avant-propos
Depuis les années 1990 et l'avènement des Internets, **un grand nombres de stratégies** de développements ont été mis en place qui correspondent à la fois aux possibilités offertes par les différents **langages de programmation et à l'évolution des pratiques l'informatiques** d'une population qui se connecte toujours plus.
Les dix dernières années ont permis de voir qu'**un langage de programmation se dégage** dans la mise en place d'outils disponibles sur les Internets, sans pour autant avoir pour objectif de remplacer les autres langages, le Javascript à démontrer sa valeur aussi bien pour développer des applications dites « **FrontEnd** » que des applications dites « **BackEnd** ».
Au delà des notions strictement techniques, les Internet et plus précisément le Web ont permis à toutes les personnes qui les utilisent d’**augmenter leur connaissances sur le monde qui les entour et sur les outils qu'elles manipulent**. Si en 1990 la notion d'intelligence artificielle était réservé à la science fiction, elle se retrouve aujourd'hui au cœur des discussions, en politique comme dans nos relations de tous les jours.
Dans le cadre de la production de projets numériques, **quasiment plus aucune ligne de code n'est écrite sans l'aide d'une ou plusieurs IA**, et l'évolution du matériel que nous utilisons nous permet de tirer avantage de certains algorithmes qui sont devenus accessibles selon différents protocoles. Les **enjeux** de production deviennent alors **multiples**, et ne peuvent plus uniquement être vues à travers le prisme **technique**, car les aspects **philosophiques** et **sociaulogiques** prédominent.
<br>
## Présentation du cursus
Nos **trois sessions de cours** sont organisées autour de la création d'un projet qui permet de mettre en avant les principales réflexions à avoir pour **produire un projet a destination du grand publique**. Les cours prendrons la forme d'un travail dirigé à faire par groupe de 3 ou 4 dont chaque membre devra rédiger un compte rendu du travail qu'il ou elle aura réalisé. L'objectif du cursus n'est pas de finir le projet à 100% mais de **présenter une réflexion générale suffisamment aboutie et argumenter** pour valider la faisabilité et la pertinence du projet présenter.
Pour organiser au mieux votre travail durant nos 3 sessions de cours, chaque journée sera organisées de la façon suivante :
* **début de matinée** : recherches, Q&R
* **milieu de matinée** : définition de la problématique principale (JN)
* **fin de matinée** : proposition de solution(s) technique(s)
* **début d'après-midi** : définition des étapes de productions
* **fin d'après-midi** : travail de groupe, fourniture de code de départ (JN)
> *Cette organisation peut-être amenée à évoluer selon l'avènement des équipes*
<br>
---
<br><br>
# Présentation du projet de groupe
*Chatons, c'est mignon un chaton*

## Définition
Vous avez à développer un projet d'apparence simple, très largement utilisé par les internautes et qui représente un des socles principaux des Internets : un **système de messagerie instantanée**. La définition de ce projet est volontairement simple pour vous laisser l'opportunité de **réfléchir aux problématiques relatives** à la mise en place d'un tel système, l'enjeu étant de vous permettre de définir des stratégies et de les confirmer.
<br>
## Enjeux pédagogiques
Ce travail de groupe nous permettra de **mettre en avant les notions théoriques** de la mise en **production de projets numériques**, c'est pourquoi nous vous amènerons à réfléchir sur les 3 axes principaux suivant :
* définir une structure **serveur**
* définir un **système d'informations**
* **structurer** un projet (BackEnd / FronEnd)
**Pour vous aider** à répondre à ces enjeux il vous sera apporté durant les sessions de recherches et de questions/réponses à la fois des **supports de cours** et des **retours d’expériences** qui vous seront présenté par Julien Noyer.
<br>
## Cas utilisateur
Vous avez, sans aucun doute, déjà utilisé un système de messagerie instantanée, ce qui vous permet d'avoir une **idée globale de ce à quoi un internaute peut s'attendre** lors de l'utilisation d'un tel système. Nous allons néanmoins définir quelques **cas utilisateur** pour vous aider à initier votre réflexion :
1. **aucune inscription** nécessaire
1. chaque **conversation** à une **URL unique**
1. chaque **conversation** à un **mot de passe** défini par son créateur
1. pour créer ou accéder à une **conversation** il faut définir son **pseudo**
1. il est possible de publier des **messages**, des **liens** et des **images**
> *D'autres cas utilisateur peuvent être définis selon les problématiques soulevé lors des sessions.*
<br>
## Enjeux technico-philosophiques
La simplicité des cas utilisateur définies ci-dessus est faite pour vous amener à **une réflexion qui va au-delà de vos compétences techniques** pour vous permettre de définir vos propres **critères de faisabilité** d'un projet. S'il vous avait été demandé de développer une plateforme de « fishing » pour cette exercice, l'auriez-vous fait ? Sans aller jusqu'à vous autoriser à ne pas développer ce système de messagerie instantanée, **il vous est demandé d'exercer un regard critique sur les fonctionnalités** que vous allez définir selon les cas utilisateur.
Vous pouvez considérer par exemple qu'une **inscription est nécessaire** pour accéder à un tel système, vous pouvez dans ce cas changer le principe défini ci-dessous pour y intégrer un tunnel d'inscription. En revanche vous aurez à **préciser les avantages** que vous avez identifier à changer de système **et les problématiques qui sont résolues** grâce à ce changement.
Autre **piste de réflexion** relatif à la réglementation générale pour la protection de données personnelles, comment faire avec un tel système pour assurer la **non-divulgation d'informations sensibles** ainsi que leur **portabilité** malgré l'absence d'inscription préalable ? Enfin, et pour répondre à un problème majeur dans les échanges en ligne, comment éviter **insultes**, **intimidations** et **harcèlements** alors qu'aucune inscription n'est requise ?
<br>
---
<br><br>
# Ressources

La liste ci-dessous contient les liens utiles et des ressources qui pourrons vous permettre de définir les meilleures solutions pour la mise en production d'un projet web :
## Hébergement
- IONOS https://www.ionos.fr
- OVH https://www.ovhcloud.com/fr/
- DigitalOcean https://www.digitalocean.com
- Always Data https://www.alwaysdata.com/fr/
## Nom de domaine
- Gandi https://www.gandi.net/fr
- Let's Encrypt https://letsencrypt.org
- Certbot https://certbot.eff.org
- AFNIC https://www.afnic.fr/noms-de-domaine/tout-savoir/
## Base de données
- MariaDB https://mariadb.org
- PostgreSQL https://www.postgresql.org
- CouchDB https://couchdb.apache.org
- MongoDB https://www.mongodb.com/fr-fr