Accueil
Quel est le but de l'attribut "role" en HTML ?
L'attribut "role" en HTML est utilisé pour améliorer l'accessibilité des pages web en fournissant des informations supplémentaires aux technologies d'assistance, comme les lecteurs d'écran. Il permet de spécifier le type de contenu ou la fonction d'un élément HTML, ce qui aide les utilisateurs ayant des besoins spécifiques à mieux comprendre et naviguer sur une page web.
Principales Fonctions de l'Attribut "Role"
-
Définir des Rôles Spécifiques pour les Éléments : L'attribut "role" permet d'attribuer un rôle spécifique à un élément HTML, clarifiant ainsi son but ou son comportement dans l'interface utilisateur. Par exemple,
<div role="button">
indique aux technologies d'assistance que cet élémentdiv
fonctionne comme un bouton, même s'il n'utilise pas l'élément<button>
standard. -
Améliorer l'Accessibilité : En fournissant des informations explicites sur le rôle des éléments, les utilisateurs qui se fient aux technologies d'assistance peuvent mieux comprendre la structure et la fonction de la page. Cela permet une navigation plus intuitive et une interaction plus efficace avec le contenu web.
-
Faciliter la Navigation par Clavier : Certains rôles, comme
button
,link
, oumenu
, aident les utilisateurs qui naviguent au clavier en définissant des comportements interactifs attendus. Cela améliore l'expérience utilisateur pour ceux qui ne peuvent pas utiliser une souris. -
Supporter les Standards d'Accessibilité ARIA : L'attribut "role" est une partie intégrante des spécifications ARIA (Accessible Rich Internet Applications), un ensemble de standards qui visent à rendre les applications web plus accessibles. En utilisant des rôles ARIA, les développeurs peuvent rendre des applications dynamiques et interactives plus compréhensibles pour les technologies d'assistance.
Changer la couleur de l'espace réservé (placeholder)
Pour changer la couleur de l'espace réservé (placeholder) d'un champ de saisie HTML avec CSS, vous pouvez utiliser les pseudo-classes ::placeholder
. Voici comment vous pouvez le faire :
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Changer la couleur du placeholder</title>
<style>
input::placeholder {
color: red; /* Changez cette valeur pour la couleur souhaitée */
opacity: 1; /* Assurez-vous que l'opacité est définie à 1 pour que la couleur soit pleinement visible */
}
</style>
</head>
<body>
<input type="text" placeholder="Entrez votre texte ici">
</body>
</html>
Explications :
input::placeholder
: Cette pseudo-classe cible le texte du placeholder à l'intérieur des élémentsinput
.color: red;
: Cette propriété CSS définit la couleur du texte du placeholder. Vous pouvez remplacer "red" par n'importe quelle couleur désirée (comme#ff0000
pour du rouge ourgb(255,0,0)
).opacity: 1;
: Par défaut, certains navigateurs appliquent une opacité réduite aux placeholders. Cette ligne s'assure que la couleur du placeholder est pleinement visible.
Vous pouvez également appliquer des styles similaires aux placeholders dans les textarea
ou d'autres types de champs en utilisant les mêmes sélecteurs.
Compatibilité des navigateurs
Les navigateurs récents supportent ::placeholder
, mais pour une compatibilité plus large avec les anciennes versions de certains navigateurs, vous pouvez ajouter les préfixes spécifiques :
input::-webkit-input-placeholder { /* WebKit, Blink, Edge */
color: red;
opacity: 1;
}
input:-moz-placeholder { /* Mozilla Firefox 18- */
color: red;
opacity: 1;
}
input::-moz-placeholder { /* Mozilla Firefox 19+ */
color: red;
opacity: 1;
}
input:-ms-input-placeholder { /* Internet Explorer 10-11 */
color: red;
opacity: 1;
}
input::placeholder { /* Standard syntaxe */
color: red;
opacity: 1;
}
Attention à cet email d’arnaque !
Pixai.art, CC0, Source
Dans le vaste univers d'Internet, les opportunités et les dangers coexistent souvent, créant un terrain fertile pour les escrocs et les fraudeurs. Récemment, une nouvelle arnaque en ligne a émergé, mettant en lumière les techniques de chantage numérique.
Pour cette nouvelle arnaque, les escrocs vous font croire qu’ils sont parvenus à pirater votre webcam et qu’ils vous ont filmé en train de vous donner du plaisir. Ils menacent ensuite d’envoyer cette vidéo à l’ensemble de vos proches si vous ne les payez pas sous 48 heures plusieurs centaines de dollars. Voici le genre d’email que vous pourriez ou que vous avez peut-être déjà reçu :
Hi there!
I regret to inform you about some sad news for you. Approximately a month or two ago I have succeeded to gain a total access to all your devices utilized for browsing internet. Moving forward, I have started observing your internet activities on continuous basis. Go ahead and take a look at the sequence of events provided below for your reference: Initially I bought an exclusive access from hackers to a long list of email accounts (in today's world, that is really a common thing, which can arranged via internet). Evidently, it wasn't hard for me to proceed with logging in your email account (amatukami@hotmail.fr). Within the same week, I moved on with installing a Trojan virus in Operating Systems for all devices that you use to login to email. Frankly speaking, it wasn't a challenging task for me at all (since you were kind enough to click some of the links in your inbox emails before). Yeah, geniuses are among us. Because of this Trojan I am able to gain access to entire set of controllers in devices (e.g., your video camera, keyboard, microphone and others). As result, I effortlessly downloaded all data, as well as photos, web browsing history and other types of data to my servers. Moreover, I have access to all social networks accounts that you regularly use, including emails, including chat history, contacts list, messengers, etc. My unique virus is incessantly refreshing its signatures (due to control by a driver) and hence remains undetected by any type of antiviruses. Hence, I guess by now you can already see the reason why I always remained undetected until this very letter... During the process of compilation of all the materials associated with you, I also noticed that you are a huge supporter and regular user of websites hosting nasty adult content. Turns out to be, you really love visiting porn websites, as well as watching exciting videos and enduring unforgettable pleasures. As a matter of fact, I was not able to withstand the temptation, but to record certain nasty solo action with you in main role, and later produced a few videos exposing your masturbation and cumming scenes. If until now you don't believe me, all I need is one-two mouse clicks to make all those videos with everyone you know, including your friends, colleagues, relatives and others. Moreover, I am able to upload all that video content online for everyone to see. I sincerely think, you certainly would not wish such incidents to take place, in view of the lustful things demonstrated in your commonly watched videos (you absolutely know what I mean by that) it will cause a huge adversity for you. There is still a solution to this matter, and here is what you need to do: You make a transaction of $730 to my account (an equivalent in bitcoins, which recorded depending on the exchange rate at the date of funds transfer) hence upon receiving the transfer, I will immediately get rid of all those lustful videos without delay. After that we can make it look like there was nothing happening beforehand. Additionally, I can confirm that all the Trojan software is going to be disabled and erased from all devices that you use. You have nothing to worry about, because I keep my word at all times. That is indeed a beneficial bargain that comes with a relatively reduced price, taking into consideration that your profile and traffic were under close monitoring during a long time frame. If you are still unclear regarding how to buy and perform transactions with bitcoins - everything is available online. Below is my bitcoin wallet for your further reference: bc1qk6zydkvexund2rpzmcugwhtt6slunc5z6g4efq All you have is 48 hours and the countdown begins once this email is opened (in other words 2 days). The following list includes things you should remember and avoid doing: >> There's no point to try replying my email (since this email and return address were created inside your inbox). >> There's no point in calling police or any other types of security services either. >> Furthermore, don't you dare sharing this info with any of your friends. >> If I discover that (taking into consideration my skills, it will be really simple, because I control all your >> systems and continuously monitor them) your nasty clip will be shared with public straight away. >> There's no point in looking for me too - it won't result in any success. >> Transactions with cryptocurrency are completely anonymous and untraceable. >> There's no point in reinstalling your OS on devices or trying to throw them away. That won't solve the issue, >> since all clips with you as main character are already uploaded on remote servers. Things that may be concerning you: >> That funds transfer won't be delivered to me. >> Breathe out, I can track down everything right away, so once funds transfer is finished, >> I will know for sure, since I interminably track down all activities done by you >> (my Trojan virus controls all processes remotely, just as TeamViewer). >> That your videos will be distributed, even though you have completed money transfer to my wallet. >> Trust me, it is worthless for me to still bother you after money transfer is successful. >> Moreover, if that was ever part of my plan, I would do make it happen way earlier! We are going to approach and deal with it in a clear manner. In conclusion, I'd like to recommend one more thing... after this you need to make certain you don't get involved in similar kind of unpleasant events anymore! My recommendation - ensure all your passwords are replaced with new ones on a regular basis.À la lecture de cet email, ne paniquez pas ! Vous pouvez être certain que ce n’est que du bluff et que vous n’avez strictement rien à craindre. Ne payez surtout pas et ignorez ce message.
Lire ...JS - Récupérer le dernier élément d'un tableau
Pour récupérer le dernier élément d'un tableau en JavaScript pur, vous pouvez utiliser la propriété length
du tableau pour obtenir l'index du dernier élément, puis accéder à cet élément en utilisant cet index moins un. Voici un exemple :
// Supposons que vous ayez un tableau appelé "monTableau"
const monTableau = [1, 2, 3, 4, 5];
// Pour récupérer le dernier élément du tableau
const dernierElement = monTableau[monTableau.length - 1];
console.log("Le dernier élément du tableau est :", dernierElement);
Dans cet exemple, monTableau.length - 1
donne l'index du dernier élément du tableau (car les indices de tableau commencent à zéro), puis nous utilisons cet index pour accéder à cet élément spécifique dans le tableau.
JS - Prévisualiser une image avec son upload
Voici un exemple simple de comment prévisualiser une image avant son téléversement en utilisant du JavaScript pur :
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Prévisualisation d'image</title>
<style>
#image-preview {
max-width: 200px;
max-height: 200px;
}
</style>
</head>
<body>
<input type="file" id="image-upload" accept="image/*">
<br>
<img id="image-preview" src="#" alt="Prévisualisation">
<script>
document.getElementById('image-upload').addEventListener('change', function() {
const file = this.files[0];
if (file) {
const reader = new FileReader();
reader.onload = function(e) {
document.getElementById('image-preview').setAttribute('src', e.target.result);
}
reader.readAsDataURL(file);
}
});
</script>
</body>
</html>
Ce fichier HTML fournit un champ d'entrée pour sélectionner un fichier image (<input type="file">
) et une balise <img>
avec l'ID image-preview
où l'image sélectionnée sera affichée.
Le code JavaScript écoute les changements dans le champ d'entrée. Lorsqu'un fichier est sélectionné, il crée un objet FileReader
pour lire le contenu du fichier sélectionné. Une fois que le fichier est lu, l'événement onload
du lecteur est déclenché, et le résultat (e.target.result
) est défini comme la source (src
) de la prévisualisation de l'image.
PHP - Convertir une chaîne de caractères en un booléen
En PHP, vous pouvez convertir une chaîne de caractères en un booléen à l'aide de certaines fonctions intégrées. Voici deux approches courantes :
1. Utilisation de la fonction boolval()
La fonction boolval()
est utilisée pour convertir une valeur en booléen. Elle peut être appliquée à une chaîne de caractères pour obtenir une valeur booléenne.
// Chaîne de caractères à convertir en booléen
$stringValue = "true";
// Conversion en booléen en utilisant boolval()
$booleanValue = boolval($stringValue);
// Affichage du résultat
var_dump($booleanValue);
Dans cet exemple, la chaîne de caractères "true" est convertie en booléen, et var_dump()
est utilisé pour afficher le résultat.
2. Utilisation de la fonction filter_var()
La fonction filter_var()
avec le filtre FILTER_VALIDATE_BOOLEAN
peut également être utilisée pour convertir une chaîne en booléen.
// Chaîne de caractères à convertir en booléen
$stringValue = "false";
// Conversion en booléen en utilisant filter_var()
$booleanValue = filter_var($stringValue, FILTER_VALIDATE_BOOLEAN);
// Affichage du résultat
var_dump($booleanValue);
Cette approche utilise filter_var()
avec le filtre FILTER_VALIDATE_BOOLEAN
pour effectuer la conversion.
Remarque : Lors de la conversion, la chaîne "true" (insensible à la casse) sera évaluée comme true
, et la chaîne "false" (insensible à la casse) sera évaluée comme false
. Toutes les autres valeurs seront converties en true
si elles ne sont pas vides.
Choisissez l'approche qui convient le mieux à votre cas d'utilisation spécifique.
Lire ...PHP : Vérifier si une session a déjà été démarrée
En PHP, vous pouvez vérifier si une session a déjà été démarrée en utilisant la fonction session_status()
. Cette fonction renvoie l'état de la session.
Voici un exemple de code pour vérifier si une session a déjà été démarrée :
// Vérifier l'état de la session
$sessionStatus = session_status();
// Si la session n'a pas encore été démarrée, la démarrer
if ($sessionStatus == PHP_SESSION_NONE) {
session_start();
}
// À ce stade, la session a été démarrée ou était déjà en cours
Dans cet exemple, session_status()
renvoie l'état actuel de la session, qui peut être l'une des constantes suivantes :
PHP_SESSION_DISABLED
: Les sessions sont désactivées.PHP_SESSION_NONE
: Les sessions sont activées, mais aucune session n'a encore été démarrée.PHP_SESSION_ACTIVE
: Les sessions sont activées, et une session est déjà en cours.
En vérifiant si l'état de la session est égal à PHP_SESSION_NONE
, vous pouvez déterminer si la session a déjà été démarrée ou non. Si elle n'a pas été démarrée, vous pouvez utiliser session_start()
pour la démarrer.
Créer un APK ou un AAB en ligne de commandes
Pour générer le fichier APK ou le fichier AAB, il faut d'abord se placer à la racine du projet Android (là où se trouve le fichier "gradlew").
Pour le fichier APK, il faut lancer la commande suivante :
gradlew assembleRelease
Pour le fichier AAB :
gradlew bundleRelease
Pour générer la version "debug" de ces fichiers, il suffit de remplacer "Release" et "Debug".
Lire ...L'opérateur !! en Javascript
L'opérateur !! en JavaScript est souvent appelé "opérateur de double négation" ou "opérateur de non non". Il est principalement utilisé pour convertir une valeur en un booléen. En utilisant cet opérateur, vous pouvez obtenir une valeur booléenne true si la valeur d'origine est "truthy" (évaluée comme vrai dans un contexte booléen) et false si la valeur d'origine est "falsy" (évaluée comme fausse dans un contexte booléen).
Voici un exemple :
let valeur = "Bonjour"; // Une chaîne de caractères non vide (truthy)
let boolResultat = !!valeur; // Utilisation de l'opérateur de double négation
console.log(boolResultat); // Affiche true, car la chaîne de caractères est "truthy"
Dans cet exemple, la variable valeur
contient une chaîne de caractères non vide, ce qui signifie qu'elle est évaluée comme "truthy". En utilisant l'opérateur de double négation, nous avons obtenu la valeur booléenne true dans la variable boolResultat
.
Voici un autre exemple avec une valeur falsy :
let valeur = 0; // Le nombre zéro (falsy)
let boolResultat = !!valeur; // Utilisation de l'opérateur de double négation
console.log(boolResultat); // Affiche false, car le nombre zéro est "falsy"
Dans ce cas, la variable valeur
contient le nombre zéro, qui est évalué comme "falsy". L'opérateur de double négation nous donne donc la valeur booléenne false dans la variable boolResultat
.
Détecter si une chaîne de caractères contient du HTML
Voici comment détecter si une chaîne de caractères contient des balises HTML à l'aide d'expressions régulières :
<?php
$chaineAControler = '<p>Voici un exemple avec des balises <strong>HTML</strong>.</p>';
// Utiliser une expression régulière pour vérifier les balises HTML
$motif = '/<[^>]*>/';
if (preg_match($motif, $chaineAControler)) {
echo "La chaîne contient des balises HTML.";
} else {
echo "La chaîne ne contient pas de balises HTML.";
}
Dans ce code, l'expression régulière /<[^>]*>/
est utilisée pour rechercher toute sous-chaîne qui commence par <
et se termine par >
. Si preg_match
trouve une correspondance, cela indique que des balises HTML sont présentes dans la chaîne.
Veuillez noter que cette expression régulière simple ne valide pas le HTML ; elle vérifie uniquement la présence des balises HTML. Pour une analyse HTML plus complète et une validation, vous pouvez envisager d'utiliser une bibliothèque dédiée à l'analyse HTML comme DOMDocument ou PHP Simple HTML DOM Parser.
Lire ...PHP - Regex pour valider une adresse email
Pour valider une adresse email en utilisant une expression régulière en PHP, vous pouvez utiliser la suivante :
$regex = '/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/';
$email = "exemple@email.com"; // Remplacez par l'adresse email à valider
if (preg_match($regex, $email)) {
echo "Adresse email valide !";
} else {
echo "Adresse email non valide !";
}
Cette expression régulière vérifie que l'adresse email suit les règles de base pour être valide. Voici ce que signifient les différentes parties de la regex :
-
^[a-zA-Z0-9._%+-]+
: Cette partie vérifie que le nom d'utilisateur de l'adresse email est composé de caractères alphanumériques, ainsi que des caractères spéciaux tels que ".", "_", "%", "+", et "-". -
@
: Cette partie vérifie la présence du symbole "@". -
[a-zA-Z0-9.-]+
: Cette partie vérifie que le nom de domaine de l'adresse email est composé de caractères alphanumériques, ".", et "-". -
\.
: Cette partie vérifie la présence du point "." qui sépare le nom de domaine de l'extension. -
[a-zA-Z]{2,}$
: Cette partie vérifie que l'extension de l'adresse email est composée d'au moins deux lettres alphabétiques.
Cette regex offre une validation de base pour les adresses email, mais il est important de noter qu'elle ne garantit pas que l'adresse email est réellement valide ou qu'elle existe dans la réalité. Elle vérifie simplement que l'adresse est formée conformément aux conventions générales pour les adresses email.
Lire ...Rechercher
Tags
Articles récents
- Quel est le but de l'attribut "role" en HTML ?
- Changer la couleur de l'espace réservé (placeholder)
- Attention à cet email d’arnaque !
- Supprimer un fichier d'un référentiel Git sans le supprimer du système de fichiers local
- JS - Récupérer le dernier élément d'un tableau
- JS - Prévisualiser une image avec son upload
- PHP - Convertir une chaîne de caractères en un booléen
- PHP : Vérifier si une session a déjà été démarrée
- Créer un APK ou un AAB en ligne de commandes
- L'opérateur !! en Javascript