Logique de Compatibilité PC
Explorez le fonctionnement technique du script de sélection et de vérification pour les composants informatiques. Cette interface traduit le rapport technique en une expérience interactive.
1. Structure des Données
Cette section détaille comment le système ingère et transforme les métadonnées brutes des produits. Pour que l'algorithme fonctionne efficacement, chaque composant doit être représenté par une clé unique identifiant son type, et ses caractéristiques techniques doivent être formatées sous forme de tableaux (Arrays). Cela permet la comparaison multiple.
{
"pa_carte-mere": {
"price": 229.99,
"id": 322,
"chipset": ["AM5"],
"size": ["ATX"],
"ram": ["DDR5"]
}
}
pa_carte-mere devient Carte Mere.
["AM5"] pour faciliter la fonction d'intersection .some().
2. L'Algorithme (Sandbox Interactif)
Le cœur du système est la fonction compatibility_products(). Testez l'algorithme ci-dessous. Le script simule un panier contenant déjà une Carte Mère. Choisissez un composant à ajouter pour observer comment le système calcule l'intersection des tableaux de caractéristiques.
Panier Actuel (Fixe)
Nouveau Composant à Tester
Résultat du Test
Logique d'exécution
3. Flux de Travail & Maintenance
Cette section illustre le cycle de vie d'une action utilisateur. De l'instant où un bouton "Ajouter" est cliqué, jusqu'à la mise à jour de l'interface graphique (panier et prix total). Le respect de ces étapes séquentielles garantit que seuls les composants 100% compatibles se retrouvent ensemble.
Action Utilisateur
L'utilisateur clique sur "Ajouter". La fonction selectProduct() est déclenchée.
Conversion en Objet
Le produit brut est converti en "Objet de Compatibilité" (split des chaînes en tableaux de caractéristiques).
Vérification (Boucle Panier)
L'algorithme parcourt les articles du panier actuel. Si une clé commune (ex: `chipset`) est trouvée, il cherche une intersection.
Gestion des Conflits
Si aucun élément ne correspond (ex: `['DDR4']` n'a pas d'intersection avec `['DDR5']`), un message d'erreur bloque le processus.
Validation et UI
Si tout est OK, ajout du produit, remplacement s'il existe déjà un produit du même type, et recalcul via updateSelectedPanel().
Maintenance Automatique
L'ajout de nouveaux critères (ex: max_gpu_length vs case_clearance) ne nécessite aucune modification du code JavaScript. Il suffit de s'assurer que les clés JSON portent le même nom dans les deux composants. L'algorithme d'intersection gère automatiquement les nouvelles clés.
4. Analyse des Blocages de Compatibilité
Ce graphique met en évidence l'importance de la fonction compatibility_products() en illustrant les types d'erreurs matérielles les plus fréquemment évitées par le système d'intersection lors d'une session de configuration type.
Répartition des erreurs évitées par l'algorithme d'intersection d'intervalles (données simulées).