Gestion des Limites de Charge de Batterie sur macOS
Gérez les limites de charge de batterie sur vos appareils MacFleet pour optimiser la santé de la batterie et implémenter des politiques de gestion d'énergie d'entreprise. Ce tutoriel couvre l'installation d'outils de gestion de batterie, la configuration des limites de charge, les paramètres de persistance et la surveillance complète de la santé de la batterie à l'échelle de la flotte.
Comprendre les Limites de Charge de Batterie
Les limites de charge de batterie aident à préserver la santé de la batterie en empêchant la surcharge, particulièrement bénéfique pour les appareils qui restent branchés en permanence :
Pourquoi Définir des Limites de Charge ?
- Longévité de la Batterie - Évite la dégradation due à une charge constante à 100%
- Réduction de la Chaleur - Les niveaux de charge plus bas génèrent moins de chaleur pendant le fonctionnement
- Économies d'Entreprise - Une durée de vie de batterie prolongée réduit les coûts de remplacement
- Gestion d'Énergie - Charge optimisée pour les postes de travail stationnaires
- Avantages Environnementaux - Une durée de vie de batterie plus longue réduit les déchets électroniques
Outils de Gestion de Batterie
bclm
- Battery Charge Limit Max (outil principal)- SMC - System Management Controller (interface matérielle)
- Homebrew - Gestionnaire de paquets pour les outils macOS
- Gestion d'Énergie - Contrôles d'énergie intégrés de macOS
Prérequis et Installation
Installer le Gestionnaire de Paquets Homebrew
#!/bin/bash
# Installer le gestionnaire de paquets Homebrew
echo "🍺 Installation du gestionnaire de paquets Homebrew..."
# Vérifier si Homebrew est déjà installé
if command -v brew >/dev/null 2>&1; then
echo "ℹ️ Homebrew est déjà installé"
echo "Version Homebrew : $(brew --version | head -1)"
else
echo "Installation de Homebrew..."
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
if [[ $? -eq 0 ]]; then
echo "✅ Homebrew installé avec succès"
else
echo "❌ Échec de l'installation de Homebrew"
exit 1
fi
fi
# Vérifier l'installation et ajouter au PATH si nécessaire
if [[ -f /opt/homebrew/bin/brew ]]; then
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
elif [[ -f /usr/local/bin/brew ]]; then
echo 'eval "$(/usr/local/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/usr/local/bin/brew shellenv)"
fi
echo "Emplacement Homebrew : $(which brew)"
Installer BCLM (Battery Charge Limit Max)
#!/bin/bash
# Installer bclm (Battery Charge Limit Max)
echo "🔋 Installation de bclm (Battery Charge Limit Max)..."
# S'assurer que Homebrew est disponible
if ! command -v brew >/dev/null 2>&1; then
echo "❌ Homebrew non trouvé. Veuillez installer Homebrew d'abord."
exit 1
fi
# Installer bclm
echo "Ajout du tap zackelia/formulae..."
if brew tap zackelia/formulae; then
echo "✅ Tap ajouté avec succès"
else
echo "❌ Échec de l'ajout du tap"
exit 1
fi
echo "Installation de bclm..."
if brew install bclm; then
echo "✅ bclm installé avec succès"
else
echo "❌ Échec de l'installation de bclm"
exit 1
fi
# Vérifier l'installation
if command -v bclm >/dev/null 2>&1; then
echo "Emplacement bclm : $(which bclm)"
echo "Test d'accès à bclm..."
# Tester l'accès en lecture (ne nécessite pas sudo)
if bclm read >/dev/null 2>&1; then
echo "✅ bclm fonctionne correctement"
echo "Limite de charge actuelle : $(bclm read)%"
else
echo "⚠️ bclm installé mais peut nécessiter des permissions supplémentaires"
fi
else
echo "❌ bclm non trouvé dans PATH"
exit 1
fi
Gestion de Base des Limites de Charge
Définir la Limite de Charge
#!/bin/bash
# Définir la limite de charge de batterie
LIMIT="$1"
if [[ -z "$LIMIT" ]]; then
echo "❌ Utilisation : $0 <pourcentage>"
echo "Exemple : $0 80"
echo "Plage valide : 50-100"
exit 1
fi
# Valider la plage de limite
if [[ "$LIMIT" -lt 50 || "$LIMIT" -gt 100 ]]; then
echo "❌ Limite invalide : $LIMIT"
echo "La limite de charge doit être entre 50% et 100%"
exit 1
fi
echo "🔋 Définition de la limite de charge de batterie à $LIMIT%..."
# Obtenir la limite actuelle pour comparaison
CURRENT_LIMIT=$(bclm read 2>/dev/null)
if [[ -n "$CURRENT_LIMIT" ]]; then
echo "Limite actuelle : $CURRENT_LIMIT%"
fi
# Définir la nouvelle limite de charge
if sudo bclm write "$LIMIT"; then
echo "✅ Limite de charge définie à $LIMIT%"
# Vérifier le paramètre
NEW_LIMIT=$(bclm read 2>/dev/null)
if [[ "$NEW_LIMIT" == "$LIMIT" ]]; then
echo "✅ Paramètre vérifié : $NEW_LIMIT%"
else
echo "⚠️ Attention : La vérification montre $NEW_LIMIT% au lieu de $LIMIT%"
fi
else
echo "❌ Échec de définition de la limite de charge"
exit 1
fi
echo "ℹ️ Note : Un redémarrage peut être nécessaire pour que les changements prennent effet"
Lire la Limite de Charge Actuelle
#!/bin/bash
# Lire la limite de charge de batterie actuelle
echo "🔍 Lecture de la limite de charge de batterie actuelle..."
if command -v bclm >/dev/null 2>&1; then
CURRENT_LIMIT=$(bclm read 2>/dev/null)
if [[ -n "$CURRENT_LIMIT" ]]; then
echo "Limite de charge actuelle : $CURRENT_LIMIT%"
# Fournir le contexte sur la limite
if [[ "$CURRENT_LIMIT" -eq 100 ]]; then
echo "ℹ️ La batterie se charge à la capacité maximale (aucune limite définie)"
elif [[ "$CURRENT_LIMIT" -ge 80 ]]; then
echo "ℹ️ Limite de charge conservatrice pour la longévité de la batterie"
elif [[ "$CURRENT_LIMIT" -ge 60 ]]; then
echo "ℹ️ Limite de charge modérée pour une durée de vie de batterie prolongée"
else
echo "ℹ️ Limite de charge agressive pour une préservation maximale de la batterie"
fi
else
echo "❌ Impossible de lire la limite de charge"
echo "Cela peut indiquer que bclm n'est pas correctement installé ou manque de permissions"
exit 1
fi
else
echo "❌ bclm non trouvé. Veuillez installer bclm d'abord."
exit 1
fi
Rendre la Limite de Charge Persistante
#!/bin/bash
# Rendre la limite de charge persistante entre les redémarrages
echo "💾 Rendre la limite de charge persistante..."
if ! command -v bclm >/dev/null 2>&1; then
echo "❌ bclm non trouvé. Veuillez installer bclm d'abord."
exit 1
fi
# Obtenir la limite actuelle
CURRENT_LIMIT=$(bclm read 2>/dev/null)
if [[ -z "$CURRENT_LIMIT" ]]; then
echo "❌ Impossible de lire la limite de charge actuelle"
exit 1
fi
echo "Limite de charge actuelle : $CURRENT_LIMIT%"
# Rendre persistant
if sudo bclm persist; then
echo "✅ La limite de charge ($CURRENT_LIMIT%) est maintenant persistante"
echo "La limite sera maintenue lors des redémarrages du système"
else
echo "❌ Échec de rendre la limite de charge persistante"
exit 1
fi
echo "ℹ️ Pour supprimer la persistance, exécutez : sudo bclm unpersist"
Supprimer la Persistance de la Limite de Charge
#!/bin/bash
# Supprimer la persistance de la limite de charge
echo "🔄 Suppression de la persistance de la limite de charge..."
if ! command -v bclm >/dev/null 2>&1; then
echo "❌ bclm non trouvé. Veuillez installer bclm d'abord."
exit 1
fi
# Obtenir la limite actuelle avant de supprimer la persistance
CURRENT_LIMIT=$(bclm read 2>/dev/null)
if [[ -n "$CURRENT_LIMIT" ]]; then
echo "Limite de charge actuelle : $CURRENT_LIMIT%"
fi
# Supprimer la persistance
if sudo bclm unpersist; then
echo "✅ Persistance de la limite de charge supprimée"
echo "La limite peut se réinitialiser à 100% après le prochain redémarrage"
else
echo "❌ Échec de suppression de la persistance de la limite de charge"
exit 1
fi
echo "ℹ️ Pour restaurer la persistance, exécutez : sudo bclm persist"
Gestion Avancée de Batterie
Vérification de Santé de Batterie d'Entreprise
#!/bin/bash
# Évaluation complète de la santé de la batterie
echo "🔋 Exécution d'une vérification complète de la santé de la batterie..."
# Vérifier si une batterie est présente
if ! system_profiler SPPowerDataType | grep -q "Battery Information"; then
echo "❌ Aucune batterie trouvée sur ce système"
exit 1
fi
echo "=== Évaluation de la Santé de la Batterie ==="
# Obtenir les informations de batterie
BATTERY_INFO=$(system_profiler SPPowerDataType)
# Extraire les métriques clés
CYCLE_COUNT=$(echo "$BATTERY_INFO" | grep "Cycle Count" | awk '{print $3}')
CONDITION=$(echo "$BATTERY_INFO" | grep "Condition" | awk '{print $2}')
MAX_CAPACITY=$(echo "$BATTERY_INFO" | grep "Maximum Capacity" | awk '{print $3}' | sed 's/%//')
echo "État de la Batterie : $CONDITION"
echo "Nombre de Cycles : $CYCLE_COUNT"
echo "Capacité Maximale : $MAX_CAPACITY%"
# Vérifier la limite de charge si bclm est disponible
if command -v bclm >/dev/null 2>&1; then
CHARGING_LIMIT=$(bclm read 2>/dev/null)
if [[ -n "$CHARGING_LIMIT" ]]; then
echo "Limite de Charge : $CHARGING_LIMIT%"
else
echo "Limite de Charge : Non définie (100%)"
fi
fi
# Informations sur l'adaptateur secteur
POWER_ADAPTER=$(echo "$BATTERY_INFO" | grep -A5 "AC Charger Information" | grep "Wattage" | awk '{print $2}')
if [[ -n "$POWER_ADAPTER" ]]; then
echo "Adaptateur Secteur : ${POWER_ADAPTER}W"
fi
# Évaluation de santé
echo -e "\n=== Évaluation de Santé ==="
if [[ "$CONDITION" == "Normal" ]]; then
echo "✅ L'état de la batterie est normal"
elif [[ "$CONDITION" == "Replace Soon" ]]; then
echo "⚠️ La batterie devrait être remplacée bientôt"
elif [[ "$CONDITION" == "Replace Now" ]]; then
echo "❌ La batterie nécessite un remplacement immédiat"
else
echo "ℹ️ État de la batterie : $CONDITION"
fi
if [[ -n "$CYCLE_COUNT" ]]; then
if [[ "$CYCLE_COUNT" -lt 500 ]]; then
echo "✅ Le nombre de cycles est sain ($CYCLE_COUNT cycles)"
elif [[ "$CYCLE_COUNT" -lt 1000 ]]; then
echo "⚠️ Nombre de cycles modéré ($CYCLE_COUNT cycles)"
else
echo "❌ Nombre de cycles élevé ($CYCLE_COUNT cycles)"
fi
fi
if [[ -n "$MAX_CAPACITY" ]]; then
if [[ "$MAX_CAPACITY" -ge 90 ]]; then
echo "✅ La capacité maximale est excellente ($MAX_CAPACITY%)"
elif [[ "$MAX_CAPACITY" -ge 80 ]]; then
echo "✅ La capacité maximale est bonne ($MAX_CAPACITY%)"
elif [[ "$MAX_CAPACITY" -ge 70 ]]; then
echo "⚠️ La capacité maximale décline ($MAX_CAPACITY%)"
else
echo "❌ La capacité maximale est faible ($MAX_CAPACITY%)"
fi
fi
# Recommandations
echo -e "\n=== Recommandations ==="
if [[ -z "$CHARGING_LIMIT" || "$CHARGING_LIMIT" -eq 100 ]]; then
echo "💡 Considérez définir une limite de charge (80-90%) pour une meilleure santé de batterie"
fi
if [[ "$CYCLE_COUNT" -gt 1000 && "$MAX_CAPACITY" -lt 80 ]]; then
echo "💡 Un remplacement de batterie peut être nécessaire bientôt"
fi
Script de Gestion de Batterie d'Entreprise
#!/bin/bash
# Outil de Gestion de Batterie MacFleet
# Gestion complète des limites de charge de batterie pour les environnements d'entreprise
# Configuration
LOG_FILE="/var/log/macfleet_battery.log"
BACKUP_DIR="/var/backups/macfleet/battery"
REPORT_DIR="/var/reports/macfleet/battery"
CONFIG_FILE="/etc/macfleet/battery_policy.conf"
# Paramètres de politique de batterie
DEFAULT_CHARGING_LIMIT=80
MOBILE_DEVICE_LIMIT=90
STATIONARY_DEVICE_LIMIT=75
ENFORCE_BATTERY_POLICY=false
HEALTH_CHECK_ENABLED=true
ALERT_CAPACITY_THRESHOLD=80
ALERT_CYCLE_THRESHOLD=1000
# Fonction de journalisation
log_action() {
echo "$(date '+%Y-%m-%d %H:%M:%S') - $1" | tee -a "$LOG_FILE"
}
# Configurer les répertoires
setup_directories() {
for dir in "$BACKUP_DIR" "$REPORT_DIR" "$(dirname "$CONFIG_FILE")"; do
if [[ ! -d "$dir" ]]; then
sudo mkdir -p "$dir"
log_action "Répertoire créé : $dir"
fi
done
}
# Vérifier si l'appareil a une batterie
check_battery_presence() {
if system_profiler SPPowerDataType | grep -q "Battery Information"; then
return 0
else
echo "❌ Aucune batterie trouvée sur ce système"
log_action "Aucune batterie détectée sur l'appareil"
return 1
fi
}
# Installer les outils de gestion de batterie
install_battery_tools() {
echo "🔧 Installation des outils de gestion de batterie..."
log_action "Installation des outils de batterie démarrée"
# Vérifier et installer Homebrew
if ! command -v brew >/dev/null 2>&1; then
echo "Installation de Homebrew..."
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# Ajouter au PATH
if [[ -f /opt/homebrew/bin/brew ]]; then
eval "$(/opt/homebrew/bin/brew shellenv)"
elif [[ -f /usr/local/bin/brew ]]; then
eval "$(/usr/local/bin/brew shellenv)"
fi
fi
# Installer bclm
if ! command -v bclm >/dev/null 2>&1; then
echo "Installation de bclm..."
brew tap zackelia/formulae && brew install bclm
if command -v bclm >/dev/null 2>&1; then
echo "✅ bclm installé avec succès"
log_action "bclm installé avec succès"
else
echo "❌ Échec de l'installation de bclm"
log_action "Échec de l'installation de bclm"
return 1
fi
else
echo "✅ bclm déjà installé"
fi
return 0
}
# Générer un rapport de batterie complet
generate_battery_report() {
local report_file="$REPORT_DIR/rapport_batterie_$(date +%Y%m%d_%H%M%S).txt"
echo "📊 Génération d'un rapport de batterie complet..."
{
echo "Rapport de Gestion de Batterie MacFleet"
echo "Généré : $(date)"
echo "Appareil : $(hostname)"
echo "================================="
echo ""
# Informations système
echo "=== Informations Système ==="
system_profiler SPHardwareDataType | grep -E "Model Name|Model Identifier|Processor|Memory"
echo ""
# Informations matérielles de batterie
echo "=== Informations Matérielles de Batterie ==="
local battery_info=$(system_profiler SPPowerDataType)
echo "$battery_info" | grep -E "Condition|Cycle Count|Maximum Capacity|Manufacturer|Device Name|Pack Lot Code|PCB Lot Code|Firmware Version|Hardware Revision"
echo ""
# Limite de charge actuelle
echo "=== Configuration de Limite de Charge ==="
if command -v bclm >/dev/null 2>&1; then
local current_limit=$(bclm read 2>/dev/null)
if [[ -n "$current_limit" ]]; then
echo "Limite de charge actuelle : $current_limit%"
# Vérifier si persistant
local smc_value=$(sudo bclm read 2>/dev/null)
if [[ "$smc_value" == "$current_limit" ]]; then
echo "État de persistance : Activé"
else
echo "État de persistance : Désactivé"
fi
else
echo "Limite de charge actuelle : Non définie (100%)"
echo "État de persistance : N/A"
fi
else
echo "État bclm : Non installé"
fi
echo ""
# Analyse d'utilisation d'énergie
echo "=== Analyse d'Utilisation d'Énergie ==="
echo "Adaptateur secteur connecté : $(system_profiler SPPowerDataType | grep -q "AC Charger Information" && echo "Oui" || echo "Non")"
# Obtenir les infos de l'adaptateur si disponible
local adapter_info=$(system_profiler SPPowerDataType | grep -A3 "AC Charger Information" | grep "Wattage")
if [[ -n "$adapter_info" ]]; then
echo "Adaptateur secteur : $(echo "$adapter_info" | awk '{print $2}')W"
fi
# Température et tension de batterie
echo "Température batterie : $(ioreg -l | grep Temperature | awk '{print $3/100}' | head -1)°C"
echo "Tension batterie : $(ioreg -l | grep Voltage | awk '{print $3/1000}' | head -1)V"
echo ""
# Évaluation de santé
echo "=== Évaluation de Santé de Batterie ==="
local condition=$(echo "$battery_info" | grep "Condition" | awk '{print $2}')
local cycle_count=$(echo "$battery_info" | grep "Cycle Count" | awk '{print $3}')
local max_capacity=$(echo "$battery_info" | grep "Maximum Capacity" | awk '{print $3}' | sed 's/%//')
echo "État général : $condition"
echo "Nombre de cycles : $cycle_count"
echo "Capacité maximale : $max_capacity%"
# Score de santé
local health_score=100
if [[ "$condition" != "Normal" ]]; then
health_score=$((health_score - 20))
fi
if [[ -n "$cycle_count" ]]; then
if [[ "$cycle_count" -gt 1000 ]]; then
health_score=$((health_score - 20))
elif [[ "$cycle_count" -gt 500 ]]; then
health_score=$((health_score - 10))
fi
fi
if [[ -n "$max_capacity" ]]; then
if [[ "$max_capacity" -lt 70 ]]; then
health_score=$((health_score - 30))
elif [[ "$max_capacity" -lt 80 ]]; then
health_score=$((health_score - 20))
elif [[ "$max_capacity" -lt 90 ]]; then
health_score=$((health_score - 10))
fi
fi
echo "Score de santé : $health_score/100"
# Recommandations
echo ""
echo "=== Recommandations ==="
if [[ "$health_score" -ge 80 ]]; then
echo "✅ La santé de la batterie est bonne"
echo "💡 Considérez définir une limite de charge à 80% pour une longévité optimale"
elif [[ "$health_score" -ge 60 ]]; then
echo "⚠️ La santé de la batterie décline"
echo "💡 Définissez une limite de charge à 75% et surveillez de près"
else
echo "❌ La santé de la batterie est faible"
echo "💡 Considérez un remplacement de batterie et une limite immédiate à 70%"
fi
} > "$report_file"
echo "📊 Rapport sauvegardé dans : $report_file"
log_action "Rapport de batterie généré : $report_file"
}
# Fonction d'exécution principale
main() {
local action="${1:-aide}"
local target="${2:-}"
log_action "=== Gestion de Batterie MacFleet Démarrée ==="
setup_directories
case "$action" in
"installer"|"configurer")
install_battery_tools
;;
"rapport"|"statut")
generate_battery_report
;;
"definir")
if [[ -n "$target" ]]; then
echo "🔋 Définition de la limite de charge à $target%..."
if sudo bclm write "$target"; then
echo "✅ Limite de charge définie à $target%"
if sudo bclm persist; then
echo "✅ Limite de charge rendue persistante"
fi
else
echo "❌ Échec de définition de la limite de charge"
fi
else
echo "❌ Veuillez spécifier un pourcentage"
echo "Usage: $0 definir <pourcentage>"
fi
;;
"lire"|"actuel")
if command -v bclm >/dev/null 2>&1; then
local current=$(bclm read 2>/dev/null)
if [[ -n "$current" ]]; then
echo "Limite de charge actuelle : $current%"
else
echo "Aucune limite de charge définie (100%)"
fi
else
echo "❌ bclm non installé"
fi
;;
"persistant")
if command -v bclm >/dev/null 2>&1; then
if sudo bclm persist; then
echo "✅ Limite de charge rendue persistante"
else
echo "❌ Échec de rendre la limite de charge persistante"
fi
else
echo "❌ bclm non installé"
fi
;;
"non-persistant")
if command -v bclm >/dev/null 2>&1; then
if sudo bclm unpersist; then
echo "✅ Persistance de limite de charge supprimée"
else
echo "❌ Échec de suppression de la persistance de limite de charge"
fi
else
echo "❌ bclm non installé"
fi
;;
"sante")
if check_battery_presence; then
local battery_info=$(system_profiler SPPowerDataType)
echo "=== Résumé de Santé de Batterie ==="
echo "$battery_info" | grep -E "Condition|Cycle Count|Maximum Capacity"
if command -v bclm >/dev/null 2>&1; then
local limit=$(bclm read 2>/dev/null)
echo "Limite de Charge : ${limit:-100}%"
fi
fi
;;
"aide"|*)
echo "Outil de Gestion de Batterie MacFleet"
echo "Utilisation : $0 [action] [options]"
echo ""
echo "Actions :"
echo " installer - Installer les outils de gestion de batterie (Homebrew, bclm)"
echo " rapport - Générer un rapport de batterie complet"
echo " definir [limite] - Définir la limite de charge optimale (ou spécifier pourcentage)"
echo " lire - Lire la limite de charge actuelle"
echo " persistant - Rendre la limite de charge persistante"
echo " non-persistant - Supprimer la persistance de limite de charge"
echo " sante - Afficher le résumé de santé de batterie"
echo " aide - Afficher ce message d'aide"
echo ""
echo "Exemples :"
echo " $0 installer # Installer les outils requis"
echo " $0 definir 80 # Définir limite de charge à 80%"
echo " $0 rapport # Générer rapport détaillé"
echo ""
echo "Directives de Limite de Charge :"
echo " 50-100% - Plage valide"
echo " 80% - Recommandé pour la plupart des appareils"
echo " 75% - Pour les Macs stationnaires/de bureau"
echo " 90% - Pour les Macs mobiles/portables"
;;
esac
log_action "=== Gestion de Batterie MacFleet Terminée ==="
}
# Exécuter la fonction principale
main "$@"
Surveillance de la Santé de Batterie
Vérifications de Santé Automatisées
# Planifier la surveillance quotidienne de la santé de batterie
create_health_monitoring_schedule() {
local plist_file="$HOME/Library/LaunchAgents/com.macfleet.battery-monitor.plist"
cat > "$plist_file" << EOF
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.macfleet.battery-monitor</string>
<key>ProgramArguments</key>
<array>
<string>/bin/bash</string>
<string>$(realpath "$0")</string>
<string>surveiller</string>
</array>
<key>StartCalendarInterval</key>
<dict>
<key>Hour</key>
<integer>9</integer>
<key>Minute</key>
<integer>0</integer>
</dict>
<key>RunAtLoad</key>
<false/>
</dict>
</plist>
EOF
launchctl load "$plist_file" 2>/dev/null
echo "✅ Surveillance quotidienne de batterie planifiée"
}
Recommandations de Limite de Charge
Type d'Appareil | Limite Recommandée | Raisonnement |
---|---|---|
Macs de Bureau | 75-80% | Toujours branchés, prioriser la longévité |
Macs Portables (Stationnaires) | 80% | Utilisation principalement branchée |
Macs Portables (Mobiles) | 90% | Besoin de capacité plus élevée pour la portabilité |
Batterie Dégradée | 70-75% | Prolonger la durée de vie de batterie restante |
Notes Importantes
- Appareils Supportés - Fonctionne uniquement sur les appareils Mac avec batteries
- Privilèges Administrateur - Nécessite un accès sudo pour les modifications SMC
- Compatibilité Système - Compatible avec les versions macOS modernes
- Exigences de Redémarrage - Certains changements peuvent nécessiter un redémarrage système
- Déploiement de Flotte - Testez sur des appareils individuels avant le déploiement en bloc
- Santé de Batterie - Surveillez régulièrement l'état de la batterie pour des résultats optimaux