Page questions réponses
![acoustic guitar](../images/Header_guitar.png)
Questions
1. Expliquer la différence entre une requête HTTP synchrone et asynchrone.
- Une requête HTTP synchrone bloque le client jusqu'à la fin de l'opération, chaque appel synchrone attends le retour des résultats. La requête synchrone est effectuée en temps réel, elle est utilisée lorsque le client doit attendre une réponse avant que le traitement informatique reprenne, si une erreur de validation arrive, elle est retournée de façon synchrone.
- Une requête asynchrone, ne bloque pas le client durant l'opération, l'utilisateur peut effectuer d'autres opérations en parallèle. Cette méthode est utile pour gérer des requêtes entre un certain nombre d'utilisateurs.
2. Expliquer les différences fondamentales entre 3 navigateurs web et expliquer où on peut trouver leur compatibilité CSS.
- Voici trois navigateurs internet, Google Chrome, Firefox et Safari, leurs différences principales sont ;
- Google Chrome et Safari sont des logiciels avec une licence propriétaire et une partie de leur développement est "Open Source". Google Chrome est basé sur le navigateur "Open Source" Chromium servant de base à d'autres navigateurs. Mozilla Firefox n'est pas un navigateur à licence propriétaire, son développement est géré par la fondation Mozilla de façon "Open Source" avec une licence "MPL 2.0".
- Google Chrome est développé par Google, Mozilla Firefox est développé par la fondation Mozilla et le navigateur Safari est développé par Apple.
- Le navigateur Safari est inclus dans le système d'exploitation "OS X" d'Apple alors que Firefox et Google Chrome peuvent être installés indépendamment sur les systèmes.
- Le navigateur Safari est gratuit mais il est exclusif aux systèmes "OS X" alors que Firefox et Google Chrome sont multiplateformes et gratuits.
- Firefox permet aux développeurs indépendants d'ajouter des extensions au navigateur qui est très personnalisable.
- Il y a de moins en moins de différences entre les navigateurs cités car ils se sont tous inspirés les uns les autres et ajouté les fonctionnalités innovantes des autres, ce qui fait que les utilisateurs retrouvent l'ouverture d'onglets dans tous ces navigateurs, l'ouverture de pages dans un nouvel onglet étant à l'origine apparue sur le navigateur Firefox puis adoptée par les autres.
- Les navigateurs Firefox et Safari permettent une meilleure gestion des données (confidentialité) par rapport à Google Chrome.
- Nous pouvons trouver la compatibilité du CSS pour les principaux navigateurs internet, sur le site "caniuse.com" (lien cité plus bas). Il suffit de taper le nom de la propriété CSS dans la barre de recherche de "caniuse.com" et cela nous indique quels navigateurs sont compatibles avec cette fonctionnalité CSS.
3. Écrire vos recommandations (best practice) pour programmer un site web en HTML / CSS.
- Une bonne pratique est d'utiliser le moins de fichiers de style css possible (un fichier style.css pour toutes les pages du site si possible), cela simplifie la modification du visuel de notre site en répercutant les changements effectués sur toutes les pages de manière globale. Pour des sites internet plus conséquents, nous pouvons ajouter d'autres fichier de style CSS par catégories mais il sera alors plus difficile de se retrouver dans les chemins de fichiers et les liens css.
- Rendre votre site internet "responsive" le plus tôt possible et le tester sur un appareil possédant un petit écran (smartphone). Si l'on construit le site sans avoir sa version mobile en tête dès le début et que l'on doit effectuer des modifications en profondeur à postériori, cela va nous faire perdre un temps précieux et compliquer notre tâche.
- Avoir un bon formatage du code html et css permet de s'y retrouver plus facilement. Ajouter des commentaires aux endroits du code où nous avons eu des difficultés et aux endroits permettant de mettre en évidence des catégories, éléments ou fonctionnalités dans notre code.
- Garder une structure la plus simple possible dans notre code et nos pages html, cela permet de construire notre site sur des bonnes bases et de l'améliorer au fur et à mesure. Utiliser des balises spécifiques pour chaque type de contenu dans le code html et des propriétés CSS adéquates et ordonnées par ordre alphabétique.
- Tester notre site régulièrement sur divers appareils et navigateurs afin de repérer les défauts cachés dans nos pages selon le contexte d'utilisation du site et nous pourrons réparer les problèmes qui sont apparus au long de la construction de notre site. Nous pouvons utiliser l'outil d'inspection sur les navigateurs internet et utiliser le mode d'affichage sur écran mobile pour simuler le comportement de notre site sur un smartphone fictif par exemple, cela nous évite de mettre notre site en production ou en test réseau, chaque fois que nous voulons le tester sur notre smartphone.
- Valider notre code html et css avec des outils en ligne (W3C Validator) afin de respecter les normes internet actuelles et d'éviter d'utiliser des balises ou propriétés obsolètes pouvant causer des problèmes sur notre site.
- Utiliser un environnement de test comme une machine virtuelle pour construire notre site, ne pas le modifier sur le serveur de production définitif, seulement téléverser notre site une fois qu'il a été testé hors production.
- Faire des sauvegardes régulières de notre site, code, images et placer ces sauvegardes en lieu sûr. Utiliser une arborescence de fichiers simple et bien ordonnée afin de trouver les fichiers et les référencer dans le code plus facilement.
4. Décrire les aspects juridiques qui doivent être pris en compte et respectés sur un site web (droits d’auteur, protection de la personnalité).
- Sur un site internet, certains aspects liés à la protection des données et aux droits des utilisateurs sont à indiquer.
- Il est recommandé d'ajouter des rubriques, pages ou liens vers des documents faisant foi en terme légaux afin d'avertir les utilisateurs des droits et des règles à respecter sur le site internet.
- Chaque information publiée publiquement sur un site internet, soit par le responsable ou sous-traitant du site internet ou par un utilisateur, doit respecter les droits en vigueur pour le traitement des données ou la diffusion de contenu sur ou au travers de l'internet.
- Il est nécessaire d'avoir une page ou rubrique avec les mentions légales sur le site internet, qui permet de respecter le droit Suisse en la matière et l'on doit indiquer ; le nom de l’entreprise ou de l’organisation, le prénom et nom de la personne responsable, l'adresse postale complète ainsi que l'adresse email.
- Une page ou rubrique de conditions générales permet d'accepter les règles fixées et expliquées dans les conditions générales pour les utilisateurs et responsable du site. Toutes les autres règles sur la protection des données, droits d'auteur, impressum, déclaration de confidentialité, déclaration de protection des données, mentions légales, politique de confidentialité doivent être mentionnées comme faisant foi dans les conditions générales du site comme cela, tous les documents (règles) mentionnées sont applicables sur le site internet par le biais des conditions générales dont les utilisateurs doivent avoir pris connaissance ou accepté.
- Pour le contenu d'images, musique, texte et autres médias, il est utile de mentionner l'auteur à l'origine du contenu (artiste par ex) et d'ajouter une rubrique sur les droits d'auteur indiquant que le site s'engage à respecter les droits d'auteur pour les contenus ajoutés au site.
- La déclaration de protection des données doit respecter le droit Suisse établi pas la "Loi fédérale de protection des données (LPD)" et si un responsable ou sous-traitant ou délégué européen ou résident de l'union européenne visite le site ou participe au contenu du site ou effectue du traitement de données liées au site, le droit applicable est défini dans le "Règlement général européen de protection des données (RGPD).
- Les règles établies dans les LPD et RGPD permettent le respect des personnes physiques et morales comme, le droit à l'effacement, la portabilité des données, le respect des convictions religieuses, le respect des diverses cultures, la protection contre le profilage à risque des données etc.
5. Quels sont les formats multimédias supportés nativement par HTML 5.
- Le format WebM qui est un format de compression vidéo utilisé avec le HTML5.
- Le format MPEG-4/H.264 qui est un format de compression vidéo utilisé avec le HTML5 et compatible avec la plupart des navigateurs.
- Le format WebP qui est un format d'image supportant la compression avec et sans perte de données et compatible avec le HTML5 sur la plupart des navigateurs.
- Le format d'image Gif permettant d'afficher des animations sur les pages web qui est utilisable avec le HTML5.
- Le format d'image JPG qui est utilisé pour les photos sur internet et permet de compresser les images et il est utilisable avec le HTML5.
- Le format d'image PNG qui est utile dans beaucoup de cas sur le web et utilisable avec le HTML5.
- Le format d'image vectorielle SVG qui est utilisé pour les images qui sont redimensionnables sans perdre de qualité à l'inverse des images matricielles (bitmap). Le format SVG est utilisable avec le HTML5.
- Le format audio MP3 qui est supporté par la plupart des navigateurs avec le HTML5.
- Le format audio OGG qui n'est pas supporté par le navigateur Internet Explorer et rarement par le navigateur Safari mais par la plupart des autres navigateurs internet.
- Le format FLAC qui est un format de codec audio supporté par la plupart des navigateurs internet.
Sources
Sources question 1
1a : requêtes asynchrones et synchrones1b : requêtes asynchrones et synchrones
1c : requêtes asynchrones et synchrones
1d : requêtes asynchrones et synchrones
Sources question 2
Comparaison navigateursAvantages différents navigateurs
2b : contrôle de la compatibilité
Vérifier la compatibilité navigateurs
Sources question 3
W3C validatorOrganiser son code css
Sources question 4
Document de questionnaire du module de Monsieur Favre-Bulle (prof Epsic) sur la protection et la sécurité des données.
Guide de poche RGPD PDFMentions légales
Sources question 5
Web/Media/FormatsCaniuse
dummies_image_formats
Différence vectorielle matricielle
Formats audio html5