Etiquettes bootstrap obsolètes... comment intégrer des icônes Font Awesome ?

Etiquettes bootstrap obsolètes... comment intégrer des icônes Font Awesome ?

par Daniel Méthot,
Nombre de réponses : 15
Avatar Moodleurs particulièrement utiles

Bonjour,

Tout est dans le titre...

Ne pouvant plus utiliser mes chères étiquettes Bootstrap qui ne sont plus adaptées aux nouvelles versions de Moodle, j'aimerais les remplacer par des ressources comportant une icône dans le titre ou dans le contenu.
Par exemple fa-film ou encore fa-info ou bien fa-question-circle ........

A priori j'utilise la ressource "page" en remplacement. Dommage que ne ne puisse la faire apparaître comme une fenêtre surgissante comme dans l'étiquette bootstrap qui me semblait claire, pratique, aérée... On pouvait aussi y placer une vidéo en plein écran dans la fenêtre.

_____________________________

Pour info: Voici ce qui se passe avec les étiquettes Bootstrap sur Moodle 3.9.

Exemple d'un bouton permettant de faire surgir ces étiquettes. C'était bien non ?

bouton étiquette bootstrap

Avec l'affichage suivant de la fenêtre surgissante... et sa petite flèche pour sortir... (Merci Christian)

vue bootstrap en action

Daniel

Nota: Je vois et je programme des étiquettes bootstrap en mode enseignant ou administrateur. Mais les étudiants ne voient plus le bouton mais un texte en grisé, donc inaccessible. Seule la formule "se connecter sous ce nom" permet de se rendre compte du défaut d'affichage. Même le mode "changer de rôle" ne montre pas ce défaut.

Moyenne des évaluations  -
En réponse à Daniel Méthot

Re: Etiquettes bootstrap obsolètes... comment intégrer des icônes Font Awesome ?

par Éric Bugnet,
Avatar Développeurs de plugins Avatar Documentation writers Avatar Traducteurs
Salut,
Pas sûre de comprendre ton soucis en fait...
C'est quoi que tu appelles étiquettes bootstrap.
C'est une étiquette (au sens moodle) dans lequel tu place un bouton bootstrap qui affiche une fenêtre modale ?

Parce que je suis sur une 3.9 et pas de soucis de mon coté.
Je suis sur Fordson et je crois que toi aussi...
Je crée des boutons avec icones ou sans, et des fenêtre modales qui s'affichent correctement pour les enseignants comme pour les étudiants.

Éric
En réponse à Éric Bugnet

Re: Etiquettes bootstrap obsolètes... comment intégrer des icônes Font Awesome ?

par Daniel Méthot,
Avatar Moodleurs particulièrement utiles
Bonjour Eric
En fait il s'agit du plugin Bootstrap Element qui est une forme d'étiquette, (généralement présentée sous forme de fenêtre surgissante) que l'on fait surgir par clic sur un bouton contenant un texte et une icône.
Ce plugin permet d'alléger les textes inclus dans le cours dans des étiquettes traditionnelles en les plaçant dans des fenêtres. On peut y mettre des vidéos également.
Mais ce plugin n'est plus suivi depuis février 2019 et Moodle 3.6.
C'est très dommage à mon avis...
Daniel
En réponse à Daniel Méthot

Re: Etiquettes bootstrap obsolètes... comment intégrer des icônes Font Awesome ?

par Éric Bugnet,
Avatar Développeurs de plugins Avatar Documentation writers Avatar Traducteurs

Re.

Si tu n'as pas peur de passer en affichage HTML, voici un exemple qui fonctionne chez moi.

<!-- Button to Open the Modal -->
<button type="button" class="btn btn-primary" data-toggle="modal" data-target="#myModal">
  <i class="fa fa-address-book" aria-hidden="true"></i>&nbsp;Ouvrir la fenêtre modale
</button>

<!-- The Modal -->
<div class="modal" id="myModal">
    <div class="modal-dialog">
        <div class="modal-content">
            <!-- Modal Header -->
            <div class="modal-header">
                <h4 class="modal-title">Titre de la fenêtre</h4>
                <button type="button" class="close" data-dismiss="modal">×</button>
            </div>
            <!-- Modal body -->
            <div class="modal-body">
                Contenu de la fenêtre modale...
            </div>

            <!-- Modal footer -->
            <div class="modal-footer">
                <button type="button" class="btn btn-danger" data-dismiss="modal">Fermer</button>
            </div>
        </div>
    </div>
</div>

Sinon, en utilisant Generico il doit surement avoir le moyen de se simplifier légèrement la vie... (pas testé).

Éric

Moyenne des évaluations Utile (1)
En réponse à Daniel Méthot

Re: Etiquettes bootstrap obsolètes... comment intégrer des icônes Font Awesome ?

par François MOTTARD,

Bonjour Daniel

Genialy te permet de faire des images interactives. Cela devrait pouvoir t'aider non ?


En réponse à François MOTTARD

Re: Etiquettes bootstrap obsolètes... comment intégrer des icônes Font Awesome ?

par Daniel Méthot,
Avatar Moodleurs particulièrement utiles
Merci à tous, je vais tester cela.
J'ai aussi un Moodle 3.10 de test disponible.
Ainsi que les autres pistes proposées.
Je ne connais pas genealy. Il faut juste que le composant ainsi créé soit complètement autonome et ne nécessite aucun recours au site lui-même pour fonctionner.
Toujours mon impératif de ... relocalisation maladive !

PS: Je viens de tester le code html. Pas mal... mais j'ai toujours l'impossibilité de faire fonctionner le bouton (qui n'en est plus un d'ailleurs) dès que je passe sous le nom de mon étudiant testeur. J'en conclus pour l'instant qu'il s'agit d'un problème de cette PF qui refuse tout type de fenêtre modale dès que je passe sous rôle étudiant ("connecté sous ce nom").
Une configuration peut-être ?
En attendant, je vais tester sur une 3.10 pour voir si mes étiquettes bootstrap fonctionnent.
 
Daniel
En réponse à Daniel Méthot

Re: Etiquettes bootstrap obsolètes... comment intégrer des icônes Font Awesome ?

par Daniel Méthot,
Avatar Moodleurs particulièrement utiles

Je viens de passer sur un Moodle 3.10 ou le plugin des étiquettes bootstrap_element est installé.

En mode enseignant ou administrateur tout se passe bien et voici la vue de deux boutons.
L'un déclenchant une vidéo dans une fenêtre et l'autre un texte avec une image.

vue 1

Quand je passe en connexion "sous le nom" d'un étudiant, voici la nouvelle vue.

vue2

On voit que les boutons ont disparu et que même le texte qui les remplace n'est plus cliquable.
Donc ce défaut se reproduit aussi sur 3.10. (Je précise que je ne suis pas chez moi mais chez l'un de mes clients).

En réponse à Daniel Méthot

Re: Etiquettes bootstrap obsolètes... comment intégrer des icônes Font Awesome ?

par Christian Bocquet,
Avatar Moodleurs particulièrement utiles

Bonsoir,

Quand on passe en connexion "sous le nom", il s'inscrit cet avertissement :

"Par mesure de sécurité, les scripts générés par les utilisateurs ont été désactivés pour cette session."

et probablement pour cette raison l'étiquette n'est pas cliquable.

Mais quand on se connecte avec un vrai compte utilisateur, qui aura le rôle "Étudiant" dans le cours contenant l'étiquette, tout se passe bien pour lui sur ma plateforme.

Christian


Moyenne des évaluations Utile (1)
En réponse à Christian Bocquet

Re: Etiquettes bootstrap obsolètes... comment intégrer des icônes Font Awesome ?

par Daniel Méthot,
Avatar Moodleurs particulièrement utiles
Ah voilà en effet...
Au lieu de me connecter sous ce nom je me suis logué avec les identifiants de mon étudiant Bidon et cela a fonctionné.
Je vais pouvoir revenir au début et vérifier tout cela.
Encore une fois Christian semble avoir trouvé la raison du dysfonctionnement.
Merci, je respire... J'aime tant ces étiquettes !!!
Daniel
En réponse à Daniel Méthot

Re: Etiquettes bootstrap obsolètes... comment intégrer des icônes Font Awesome ?

par Olivier Valentin,
Avatar Développeurs de plugins Avatar Moodleurs particulièrement utiles
Bonsoir Daniel,

je suis passé sur Moodle 3.9 récemment en passant à Adaptable, car le template Essential a été abandonné. Je suis comme toi tombé sur le problème des étiquettes Bootstrap (les Modal) que nous avons beaucoup utilisé dans des leçons pour se substituer aux notes de bas de page.

Ces éléments partaient dans tous les sens car sous Boostrap 4.0, la programmation a changé, il y a des <div> supplémentaires pour la gestion de la fenêtre pop-up (et donc aussi pour les fermer). Aussi, j'ai étudié le code pour voir ce qu'il y avait en plus ou en moins, et nous avons tout simplement effectuer des requêtes SQL de type REPLACE pour chercher des morceaux de code et les remplacer pour incorporer ces <div> en plus. Globalement, cela a bien fonctionné, même si l'utilisation des fois un peu hasardeuse de cet outil a donné quelques surprises.

1) Ouverture du modal :

Dans l'ancien code, un <div> ouvrait directement le Modal et enchainait avec le header :

<div id="myModal" class="modal hide fade" tabindex="-1"  role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-header">
Dans le nouveau code donné par Eric plus haut, de nouvelles lignes sont apparues :

<div id="exampleModal"  class="modal fade" tabindex="-1" role="dialog" aria-labelledby="exampleModallab" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
Donc on a monté une requête qui permette d'insérer ces deux <div>. Voici l'exemple pour remplacer dans une leçon donnée :

UPDATE prefix_lesson_pages
SET contents = replace (contents,
'<div class="modal-header">',
'<div class="modal-dialog" role="document"><div class="modal-content"><div class="modal-header">')
WHERE lessonid = XXX
A noter que le class a aussi changé. On pourrait alors faire une requête pour faire disparaitre le "hide" en trop. Mais comme cela n'avait pas d'incidence, je n'y ai pas touché.

2) Fermeture du Modal

Même procédure : je recherche la fin du Modal, et je le remplace pour ajouter les deux <div> qui ont été rajoutés.
Le Modal termine par un petit bouton permettant de fermer la fenêtre et se conclue par la fermeture des <div> :

<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
</div>
</div>
J'ai alors effectué une requête en prenant en compte la balise de fermeture du bouton. A nouveau, cet exemple permet de modifier une leçon :

UPDATE mdl_lesson_pages
SET contents = replace (contents,
'</button></div>',
'</button></div></div></div>')
WHERE lessonid = XXX
Si les Modal sont à remplacer dans des pages libres, dans des étiquettes etc., il est alors aisé chercher la table et le champ concerné et de lancer une requête de remplacement.

Comme je le disais par contre : tout dépend si les Modal ont été codés proprement dès le départ. Si le code a été modifié n'importe comment, on ne peut pas s'appuyer sur une chaine de caractères sûre pour effectuer le remplacement. Ce sont les petites surprises dont je parlais. Mais en tout cas, ces deux requêtes nous ont bien aidées !

Olivier
Moyenne des évaluations Utile (3)
En réponse à Olivier Valentin

Re: Etiquettes bootstrap obsolètes... comment intégrer des icônes Font Awesome ?

par Daniel Méthot,
Avatar Moodleurs particulièrement utiles
Bonjour,
De mon côté je retiens de cette aventure que "se connecter sous ce nom" n'est pas la même chose que se connecter vraiment avec les identifiants de l'utilisateur.
Je m'en doutais, vu le message envoyé concernant les scripts désactivés. Mais je pensais que ces scripts concernaient surtout les historiques, la validation de l'achèvement d'activités etc.... afin de ne pas perturber le parcours du vrai étudiant.
Apparemment donc il y a un effet négatif sur les étiquettes Bootstrap_elements.
Mais tant que je pourrais encore les utiliser je le ferai...
Olivier, aurais-tu un zip de ton plugin corrigé pour tests ?
Daniel
En réponse à Daniel Méthot

Re: Etiquettes bootstrap obsolètes... comment intégrer des icônes Font Awesome ?

par Olivier Valentin,
Avatar Développeurs de plugins Avatar Moodleurs particulièrement utiles
Bonjour Daniel,
je n'ai pas de plugins pour Bootstrap : en fait, Bootstrap est directement embarqué dans mon template ! Je ne me rappelle plus si c'est le cas pour Fordson car il me semble que tu l'utilises. Mais pour feu Essential et Adaptable : il suffit que j'utilise le codage Bootstrap et tout apparait normalement, le seul souci étant les évolutions du code.
Olivier
En réponse à Olivier Valentin

Re: Etiquettes bootstrap obsolètes... comment intégrer des icônes Font Awesome ?

par Daniel Méthot,
Avatar Moodleurs particulièrement utiles
Ah je croyais que tu avais reconditionné le plugin étiquette Bootstrap_element ?

A noter qu'avec le thème graphique Rebel et le format de cours Tuiles, tous deux assez récents (Rebel est du même auteur que Fordson mon thème favori), l'affichage d'une ressource "page" produit un effet aussi clair et sympathique que mon étiquette préférée. Ce sera ma solution de contournement...
Voici ce que cela donne dans ce contexte (cours en construction).
page
En réponse à Daniel Méthot

Re: Etiquettes bootstrap obsolètes... comment intégrer des icônes Font Awesome ?

par Jérôme DEMIAUX,
Avatar Traducteurs

Bonjour,

Et je remets en jeu le plugin "generico filter" qui est livré avec une version de fenêtre modale que l'on peut appliquer à n'importe quel bout de texte à partir d'endroit faisant appel à une fenêtre d'éditeur.
Je crois bien que je vais l'essayer avec les données d'Olivier et Eric.

L'avantage, pas limité par le thème, adaptable à toutes les situations (pour le peu qu'on connaisse un brin de html), customisable via css ...
Perso, je ne suis fait une version qui agrandit les vignettes quand on clic dessus, 100% html et css, pas de javascript, mais on peut y glisser n'importe quoi.

Jérôme.

Moyenne des évaluations Utile (3)
En réponse à Daniel Méthot

Re: Etiquettes bootstrap obsolètes... comment intégrer des icônes Font Awesome ?

par Patrick Lemaire,
Avatar Développeurs de plugins Avatar Documentation writers Avatar Moodleurs particulièrement utiles Avatar Testeurs Avatar Traducteurs

Salut Daniel,

En effet des avertissements concernant les limites de la fonctionnalité "Se connecter sous ce nom", tu devrais en trouver plein sur nos forums.

Autant il y a un message d'avertissement directement dans Moodle concernant la fonctionnalité "Prendre le rôle de..." et sa page de documentation associée, mais la page associée à "Se connecter sous ce nom" cherche un créateur ! Est-ce que ça te tente ?

À bientôt,
Patrick