Articles

Guide sur BOM et DOM en JavaScript

Guide sur BOM et DOM en JavaScript

Le JavaScript est un langage de programmation essentiel pour la création d'applications web interactives. Pour maîtriser l'art de la programmation web, il est crucial de comprendre en profondeur deux concepts fondamentaux : le BOM (Browser Object Model) et le DOM (Document Object Model). Ce cours vous fournira une connaissance approfondie de ces sujets, du niveau débutant au niveau avancé, en utilisant des exemples pratiques pour illustrer chaque concept.

Le BOM (Browser Object Model)

Le BOM est la partie de JavaScript qui permet d'interagir avec le navigateur lui-même. Il offre un ensemble d'objets et de fonctionnalités pour manipuler l'environnement du navigateur. Voici les principaux aspects du BOM :

Le BOM, c'est comme le panneau de contrôle secret de ton navigateur. Il te permet de faire des trucs sympas avec les pages web. Imagine-le comme le tableau de bord de ta voiture, mais pour ton navigateur. Avec le BOM, tu peux ouvrir de nouvelles fenêtres, rediriger vers d'autres sites, et même rafraîchir la page. C'est comme un super-héros pour ton navigateur !

L'Objet window

L'objet window est la fenêtre du navigateur et représente le point d'entrée du BOM. Vous pouvez l'utiliser pour effectuer diverses tâches, telles que :

		
    // Ouvrir une nouvelle fenêtre
    let nouvelleFenetre = window.open('https://www.example.com', 'Nouvelle Fenêtre', 'width=600, height=400');

    // Rediriger vers une nouvelle URL
    window.location.href = 'https://www.example.com';

    // Rafraîchir la page
    window.location.reload();
    
	

La méthode window.setTimeout()

La méthode window.setTimeout() permet de déclencher une fonction après un délai spécifié en millisecondes. Par exemple, pour afficher une alerte après 3 secondes :

		
            setTimeout(function() {
                window.alert("Alerte après 3 secondes !");
            }, 3000);
        
	

La méthode window.setInterval()

La méthode window.setInterval() permet d'exécuter une fonction de manière répétée à intervalles réguliers. Par exemple, pour afficher l'heure toutes les secondes :

Vous allez adorer
		
            setInterval(function() {
                let date = new Date();
                console.log("Heure actuelle : " + date.toLocaleTimeString());
            }, 1000);
        
	

La méthode window.clearTimeout()

La méthode window.clearTimeout() permet d'annuler l'exécution d'une fonction prévue avec window.setTimeout(). Par exemple, pour annuler une alerte après 2 secondes :

		
            let alerteTimeout = setTimeout(function() {
                window.alert("Cette alerte ne s'affichera pas !");
            }, 2000);
            clearTimeout(alerteTimeout);
        
	

La méthode window.clearInterval()

La méthode window.clearInterval() permet d'arrêter l'exécution répétée d'une fonction prévue avec window.setInterval(). Par exemple, pour arrêter l'affichage de l'heure après 5 secondes :

		
            let intervalID = setInterval(function() {
                let date = new Date();
                console.log("Heure actuelle : " + date.toLocaleTimeString());
            }, 1000);
            setTimeout(function() {
                clearInterval(intervalID);
            }, 5000);
        
	

La propriété window.location.hostname

La propriété window.location.hostname permet d'obtenir le nom d'hôte (par exemple, le nom de domaine) de la page actuelle. Par exemple, pour afficher le nom d'hôte de la page :

		
            let nomHote = window.location.hostname;
            console.log("Nom d'hôte : " + nomHote);
        
	

La propriété window.location.protocol

La propriété window.location.protocol permet d'obtenir le protocole (HTTP ou HTTPS) de la page actuelle. Par exemple, pour afficher le protocole de la page :

		
            let protocole = window.location.protocol;
            console.log("Protocole : " + protocole);
        
	

La méthode window.focus()

La méthode window.focus() permet de mettre le focus sur une fenêtre ouverte précédemment avec window.open(). Cela peut être utile pour ramener l'attention de l'utilisateur sur une fenêtre spécifique. Par exemple :

		
            // Ouvrir une nouvelle fenêtre
            let nouvelleFenetre = window.open('https://www.example.com', 'Nouvelle Fenêtre', 'width=600, height=400');
            
            // Mettre le focus sur la nouvelle fenêtre
            nouvelleFenetre.focus();
        
	

La méthode window.blur()

La méthode window.blur() permet de retirer le focus d'une fenêtre actuellement active. Cela peut être utilisé pour minimiser une fenêtre. Par exemple :

		
            // Retirer le focus de la fenêtre actuelle
            window.blur();
        
	

La méthode window.open() avec target="_self"

La méthode window.open() permet également d'ouvrir une nouvelle URL dans la fenêtre actuelle en utilisant target="_self". Par exemple :

		
            // Ouvrir une nouvelle URL dans la fenêtre actuelle
            window.open('https://www.example.com', '_self');
        
	

La propriété window.innerWidth et window.innerHeight

Les propriétés window.innerWidth et window.innerHeight permettent d'obtenir la largeur et la hauteur de la zone d'affichage du navigateur. Par exemple :

		
            let largeurFenetre = window.innerWidth;
            let hauteurFenetre = window.innerHeight;
            console.log("Largeur de la fenêtre : " + largeurFenetre);
            console.log("Hauteur de la fenêtre : " + hauteurFenetre);
        
	

La propriété window.location.pathname

La propriété window.location.pathname permet d'obtenir le chemin d'accès de la page actuelle. Par exemple, pour afficher le chemin d'accès de la page :

		
            let cheminAcces = window.location.pathname;
            console.log("Chemin d'accès de la page : " + cheminAcces);
        
	

La propriété window.location.search

La propriété window.location.search permet d'obtenir la partie de la chaîne de requête de l'URL de la page. Par exemple, pour afficher la chaîne de requête :

		
            let chaineRequete = window.location.search;
            console.log("Chaîne de requête de l'URL : " + chaineRequete);
        
	

La méthode window.location.assign() avec une URL relative

La méthode window.location.assign() peut également être utilisée avec une URL relative pour rediriger vers une page à l'intérieur du même site. Par exemple :

		
            // Rediriger vers une page interne
            window.location.assign('/nouvelle-page.html');
        
	

Annonces (Sponsorisée)

Le DOM (Document Object Model)

Le DOM est une représentation hiérarchique des éléments d'une page web. Chaque élément HTML est représenté par un objet du DOM, créant une structure arborescente. Voici une exploration complète du DOM :

Le DOM, c'est comme la carte au trésor secrète de la page web. Il décompose la page en une structure d'objets et d'éléments. Imagine que tu as une carte qui te montre où se trouvent tous les trésors de la page web, comme les images, les boutons, et les textes. Avec le DOM, tu peux chercher ces trésors, les modifier, et même en créer de nouveaux. C'est un peu comme être l'Indiana Jones du monde numérique, sauf que tu ne risques pas de rencontrer de momies !

Sélection d'Éléments

La première étape pour travailler avec le DOM est de sélectionner des éléments. Vous pouvez le faire de plusieurs manières :

		
    // Sélection par ID
    let monElement = document.getElementById('monId');

    // Sélection par classe
    let elements = document.getElementsByClassName('maClasse');

    // Sélection par balise
    let paragraphes = document.getElementsByTagName('p');

    // Sélection par sélecteur CSS
    let element = document.querySelector('.maClasse');
    
	

Manipulation d'Éléments

Une fois que vous avez sélectionné des éléments, vous pouvez les lire et les modifier :

		
    // Lire le contenu d'un élément
    let texte = monElement.textContent;

    // Modifier le contenu d'un élément
    monElement.textContent = 'Nouveau contenu';
    
	

Création et Modification d'Éléments

Vous pouvez créer de nouveaux éléments, les modifier et les ajouter à la page :

		
    // Création d'un nouvel élément
    let nouvelElement = document.createElement('div');
    nouvelElement.textContent = 'Nouvel élément';

    // Ajout à la page
    document.body.appendChild(nouvelElement);
    
	

Événements

Les événements sont essentiels pour interagir avec les utilisateurs. Vous pouvez les attacher aux éléments pour déclencher des actions en réponse aux interactions de l'utilisateur :

		
    // Ajouter un gestionnaire d'événements
    monElement.addEventListener('click', function() {
        alert('L\'élément a été cliqué !');
    });
    
	

Manipulation Avancée

Le DOM offre des fonctionnalités avancées pour la création de pages web dynamiques. Cela inclut la création d'éléments de formulaire, la manipulation du CSS, l'animation, et bien plus encore. Voici quelques exemples :

		
    // Créer un nouvel élément d'entrée de formulaire
    let input = document.createElement('input');
    input.type = 'text';
    input.value = 'Entrez du texte';

    // Modifier le style CSS d'un élément
    monElement.style.backgroundColor = '#f2f2f2';
    monElement.style.fontSize = '16px';

    // Animer un élément
    monElement.style.transition = 'transform 0.5s';
    monElement.addEventListener('mouseover', function() {
        monElement.style.transform = 'scale(1.2)';
    });
    monElement.addEventListener('mouseout', function() {
        monElement.style.transform = 'scale(1)';
    });
    
	

Suppression d'Éléments

Vous pouvez également supprimer des éléments du DOM :

		
    // Supprimer un élément
    let elementASupprimer = document.getElementById('aSupprimer');
    elementASupprimer.parentNode.removeChild(elementASupprimer);
    
	

Modification du contenu HTML

Vous pouvez également manipuler le contenu HTML d'un élément :

		
    // Lire le contenu HTML
    let contenuHTML = monElement.innerHTML;

    // Modifier le contenu HTML
    monElement.innerHTML = '
			

Nouveau contenu HTML

';

Ajout de Classes CSS

Vous pouvez ajouter ou supprimer des classes CSS à un élément :

		
    // Ajouter une classe
    monElement.classList.add('nouvelleClasse');

    // Supprimer une classe
    monElement.classList.remove('ancienneClasse');
    
	

Création de Fragments de Document

Les fragments de document sont utiles pour optimiser la manipulation du DOM en minimisant les opérations de réaffectation. Vous pouvez les utiliser pour créer des éléments en dehors de la structure principale du DOM :

		
    // Créer un fragment de document
    let fragment = document.createDocumentFragment();

    // Créer des éléments et les ajouter au fragment
    for (let i = 0; i < 10; i++) {
        let nouvelElement = document.createElement('div');
        nouvelElement.textContent = 'Élément ' + i;
        fragment.appendChild(nouvelElement);
    }

    // Ajouter le fragment au DOM
    monElement.appendChild(fragment);
    
	

Recherche d'Éléments Parents et Enfants

Vous pouvez accéder aux éléments parents et enfants d'un élément donné :

		
    // Accéder à l'élément parent
    let parent = monElement.parentNode;

    // Accéder aux éléments enfants
    let enfants = monElement.childNodes;
    
	

Cliquez sur ce bouton ci-dessous afin que le bot vous explique une aperçu général de ce post

Le BOM (Browser Object Model), c'est comme l'ensemble des outils du navigateur. Il comprend des trucs comme window, qui est la fenêtre du navigateur elle-même, navigator qui te donne des infos sur le navigateur, et history qui te permet de gérer l'historique de navigation. Avec le BOM, tu peux faire des trucs cool comme ouvrir de nouvelles fenêtres, gérer les cookies, et même afficher des pop-ups ennuyeux. C'est tout ce qui n'a pas grand-chose à voir avec le contenu de la page web elle-même.
Maintenant, le DOM (Document Object Model), c'est un peu comme la structure de la page web. C'est un arbre qui représente chaque élément de ta page, comme les balises HTML. Chaque élément est un "nœud" dans cet arbre. Avec le DOM, tu peux les atteindre et les manipuler avec JavaScript. Tu peux changer le texte, ajouter de nouveaux éléments, déplacer des trucs, ou supprimer des éléments. C'est ce qui te permet de rendre ta page interactive.
Donc, en gros, le BOM, c'est pour jouer avec le navigateur lui-même, et le DOM, c'est pour jouer avec le contenu de la page web. Quand tu combines les deux, tu peux créer des trucs vraiment cool sur ton site web, mec.

Conclusion

Vous avez maintenant acquis une compréhension approfondie du BOM et du DOM en JavaScript, des bases aux concepts avancés. Ces connaissances sont essentielles pour le développement web interactif et la création d'applications modernes.

Continuez à explorer, à expérimenter et à développer vos compétences JavaScript. Le BOM et le DOM sont des outils puissants qui vous permettront de créer des expériences web exceptionnelles.

2 commentaires

  1. Salih
    Des cours en format PDF ou vidéo stp
    1. Coding Team
      Coding Team
      les cours vous pouvez les trouver sur Youtube
N'hésitez pas de mentionner votre nom d'utilisateur Telegram à la fin de votre message pour recevoir des cadeaux de la part des modérateurs. Merci de commenter