admin_firewall
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| admin_firewall [09/08/2017 14:24] – LesahrWeb | admin_firewall [20/06/2021 12:46] (Version actuelle) – modification externe 127.0.0.1 | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| ===== Administration du système : gestion des règles de l' | ===== Administration du système : gestion des règles de l' | ||
| - | Le mode '' | + | Le mode '' |
| Ce mode est exclusivement réservé à l' | Ce mode est exclusivement réservé à l' | ||
| Ligne 10: | Ligne 10: | ||
| ==== Règles de base du Firewall™ ==== | ==== Règles de base du Firewall™ ==== | ||
| - | Il s'agit ici d' | + | Il s'agit ici d' |
| - | < | + | < |
| - | Cette commande générique permet de sélection, et donc de compter, le nombre d' | + | Cette commande générique permet de sélectionner, et donc de compter, le nombre d' |
| + | |||
| + | '' | ||
| Pour exécuter cette commande en tenant compte du contexte dans lequel '' | Pour exécuter cette commande en tenant compte du contexte dans lequel '' | ||
| Ligne 22: | Ligne 24: | ||
| * **$degre** : degré concerné (F1, T3,…) | * **$degre** : degré concerné (F1, T3,…) | ||
| Vous disposez également de tous les comparateurs disponibles dans '' | Vous disposez également de tous les comparateurs disponibles dans '' | ||
| - | < | + | < |
| + | |||
| + | Enfin, '' | ||
| + | |||
| + | | {{:: | ||
| + | |||
| + | __Exemple 1__ : nous allons vérifier que l' | ||
| + | * son matricule : **$matricule** | ||
| + | * son année de naissance : **DN_annee** de la table **eleves** | ||
| + | * l' | ||
| + | pour construire la requête : | ||
| + | <code mysql> | ||
| + | WHERE matricule = ' | ||
| + | AND DN_annee | ||
| + | Si l' | ||
| + | |||
| + | __Exemple 2__ : nous allons vérifier l'âge de l' | ||
| + | <code mysql> | ||
| + | WHERE matricule = ' | ||
| + | AND (DN_annee <= ' | ||
| + | AND DN_annee >= ' | ||
| + | |||
| + | __Exemple 3__ : recherche si l' | ||
| + | <code mysql> | ||
| + | WHERE matricule = ' | ||
| + | AND code_cours = ' | ||
| + | AND annee <= ' | ||
| + | |||
| + | Ce système de règles permet donc de tester des cas simple, mais aussi bien plus complexe comme : | ||
| + | |||
| + | __Exemple 4__ : Test du contenu de la L2 selon [[admin_libelles_officiels|Administration du système : gestion des libellés officiels]] : | ||
| + | <code mysql> | ||
| + | LEFT JOIN cours ON curriculum.code_cours | ||
| + | LEFT JOIN libelles ON cours.libelle_tableau_2 = libelles.code | ||
| + | WHERE curriculum.matricule | ||
| + | AND curriculum.code_cours = ' | ||
| + | AND libelles.libelle | ||
| + | |||
| + | Ces " | ||
| + | |||
| + | __Exemple 5__ : Certains cas nécessitent une comparaison à 2 pour, par exemple, déterminer si un élève a subit ou non un double échec dans le cours concerné : | ||
| + | <code mysql> | ||
| + | LEFT JOIN filieres ON curriculum.degre = filieres.id | ||
| + | WHERE curriculum.matricule = ' | ||
| + | AND (filieres.degre | ||
| + | OR curriculum.degre = ' | ||
| + | AND code_cours = ' | ||
| + | |||
| + | Dans ce cas, si le nombre d' | ||
| + | |||
| + | |||
| + | ==== Actions de Firewall™ ==== | ||
| + | |||
| + | En combinant une ou plusieurs règles ci-dessus, nous allons pouvoir piloter les ** actions de Firewall™**, | ||
| + | Les opérandes classiques sont : | ||
| + | * **+** (plus) : permet de vérifier si au moins une des règles est satisfaisante. Il s'agit du **OU** logique ; | ||
| + | * ***** (fois) : permet de vérifier si toutes les règles sont satisfaisants. Il s'agit du **ET** logique ; | ||
| + | * **!** : permet de prendre la négation d'une règle. Il s'agit du **NON** logique ; | ||
| + | * **(** et **)** : permettent de grouper des règles ensembles. | ||
| + | |||
| + | __Exemple 6__ : Nous allons interdire l' | ||
| + | |||
| + | Tout d' | ||
| + | <code mysql> | ||
| + | WHERE matricule | ||
| + | AND decision_conseil_classe = ' | ||
| + | AND code_cours | ||
| + | Là, tout simplement, nous exploiterons sa valeur directe : | ||
| + | |||
| + | | {{:: | ||
| + | |||
| + | et préciserons le refus d' | ||
| + | |||
| + | Les message en cas de refus est précisé dans l' | ||
| + | |||
| + | __Exemple 7__ : Nous allons vérifier l' | ||
| + | |||
| + | Générons donc la première règle : Danse Classique Q ou T3 et + en cours cette année (**$regle19**) : | ||
| + | <code mysql> | ||
| + | LEFT JOIN filieres ON curriculum.degre = filieres.id | ||
| + | WHERE curriculum.matricule = ' | ||
| + | AND ( | ||
| + | OR curriculum.degre LIKE ' | ||
| + | OR filieres.degre | ||
| + | OR curriculum.degre = ' | ||
| + | OR filieres.degre | ||
| + | OR curriculum.degre = ' | ||
| + | OR filieres.degre | ||
| + | OR curriculum.degre = ' | ||
| + | OR filieres.degre | ||
| + | OR curriculum.degre = ' | ||
| + | AND curriculum.code_cours = ' | ||
| + | AND curriculum.annee | ||
| + | |||
| + | Générons ensuite la seconde règle : danse classique Q7 ou T6 réussi (**$regle20**) | ||
| + | <code mysql> | ||
| + | LEFT JOIN filieres ON curriculum.degre = filieres.id | ||
| + | WHERE curriculum.matricule = ' | ||
| + | AND (filieres.degre = ' | ||
| + | OR filieres.degre = ' | ||
| + | AND code_cours = ' | ||
| + | AND decision_conseil_classe = ' | ||
| + | |||
| + | Nous refuserons donc l' | ||
| + | <code php>! ( $regle19 + $regle20 )</ | ||
| + | | {{:: | ||
| + | Une pléthore de cas est possible, et cette documentation ne saurait tous les égrainer. Nous vous suggérons de bien comprendre ces mécanismes, | ||
| + | Nous restons bien entendu à votre disposition pour réaliser les cas les plus complexes. | ||
admin_firewall.1502281464.txt.gz · Dernière modification : (modification externe)
