Aller au contenu principal
Pratic-Coop

  • Réalisations
  • Formation
  • Veille
  • Contact

Rechercher
  • Voir les cartes
  • Ajouter une carte
  • Cartes favorites
  • Documentation
  • Se connecter

    Se connecter

    Mot de passe perdu ?

    S'inscrire
  • Aide
  • Gestion du site
  • Tableau de bord
  • Base de données
Pratic-Coop

  • Formulaires
  • Rechercher
  • Saisir
  • Listes
  • Importer
  • Exporter

    @media

    Utilité Affichage responsive
    Infos utiles En css il est possible de définir une variante de style lorsque l'écran est petit ou très large, ...

    Par exemple la barre de menu est masquée et remplacée par un menu "burger" lorsque la taille de l'écran est inférieure à 800px. On appelle cette dimension le point de rupture.

    Voir la documentation css mediaqueries
    Exemple de code Dans cet exemple, on peut définir une largeur de bloc différente en fonction de la taille de l'écran.
    Sur un écran d'une largeur supérieure à 800px, chaque bloc a une largeur de 20% (ce qui permet d'afficher 5 blocs sur une ligne)

    @media only screen and (min-width: 800px) {
    .mon-bloc{width:20%;}
    }
    

    Sur un écran d'une largeur inférieure à 799px, chaque bloc a une largeur de 33% (ce qui permet d'afficher 3 blocs sur une ligne)
    @media only screen and (max-width: 799px) {
    .mon-bloc{width:33%;}
    }
    
    Langage CSS
    PDF Voir la fiche

    Ancre HTML

    Utilité Icone animée pour inciter au scroll
    Infos utiles Voir un exemple sur ce wiki : https://ancredessavoirs.fr/?Accueil

    Lorsque la première section occupe tout l'écran et qu'il y a aussi du contenu plus bas, sous la ligne de flottaison, il peut être utile d'ajouter une icone qui permet de descendre dans la page pour consulter le contenu.
    Exemple de code Le bouton qui renvoie vers une ancre plus bas dans la page :
    {{button class="btn-link btn-icon icon-action" icon="fas fa-angle-double-down" link="#homepage" nobtn="1"  }}
    


    L'ancre se déclare comme ceci avec l'id de votre choix ...
    ""<div id="homepage"></div>""
    


    Et voici le css associé à coller dans PageCss
    /* Animation de l'icone chevron sur home */
    @keyframes scroll {
    
        0% { opacity: 0; }
        30% { transform: translateY(0); opacity: .5; }
        90% { transform: translateY(15px); opacity: 1;}
        100% { transform: translateY(20px); opacity: 0;}
    
    }
    .icon-action {
      font-size: 4em;
      text-align: center;
      margin-right: auto;
      margin-left: auto;
      width: fit-content;
      display: block;
      animation-name: scroll;
      animation-duration: 2.2s;
      animation-timing-function: cubic-bezier(.15,.41,.69,.94);
      animation-iteration-count: infinite;
    }
    
    Langage CSS
    PDF Voir la fiche

    Animation FadeIn

    Utilité Faire apparaitre un élément progressivement
    Infos utiles Après avoir défini votre animation dans @keyframes suivi du nom de votre animation
    L'élément changera progressivement, vous avez la possibilité d'ajouter des étapes intermédiaires (10%, 20%,80% ...) pour varier le rythme
    Vous pouvez l'utiliser sur l'élément de votre choix en indiquant la propriété animation: nom_de_votre_animation ainsi que la durée que vous souhaitez
    Exemple de code
    @keyframes fadeIn {
        0% { opacity: 0; }
        100% { opacity: 1; }
    }
    
    h1 {
        animation: fadeIn 3s;
    }
    
    Langage CSS
    PDF Voir la fiche

    Animation typing

    Utilité Donner un mouvement machine à écrire
    Infos utiles Une animation un peu bling bling qui permet d'afficher un intitulé lettre par lettre avec un curseur qui clignote comme un prompteur

    Rappel : Les animations doivent être utilisées avec parcimomie, car elles rendent la lecture plus difficile. Elles réduisent donc l'accessibilité de vos pages.
    Exemple de code
    h1 {
        overflow: hidden; /* Ensures the content is not revealed until the animation */
        border-right: .15em solid transparent; /* The typwriter cursor */
        white-space: nowrap; /* Keeps the content on a single line */
        margin: 0 auto; /* Gives that scrolling effect as the typing happens */
        animation:
            typing 3.5s steps(26, end),
            blink-caret .75s step-end ;
    }
    
    /* The typing effect */
    @keyframes typing {
        from { width: 0 }
        to { width: 100% }
    
    }
    
    /* The typewriter cursor effect */
    @keyframes blink-caret {
        from, to { border-color: transparent ;}
        50% { border-color: var(--secondary-color-1); }
        100% { border-color: transparent; }
    
    }
    
    Langage CSS
    PDF Voir la fiche

    Date

    Utilité Date format
    Exemple de code Affiche la date au format 12 JAN 24
    {{ fiche.bf_date_debut_evenement|date("j M y","Europe/Paris") }}
    


    Affiche la date au format par defaut 10.01.2025 - 12:00
    {{ html.bf_date_debut_evenement }}
    


    Si vous avez besoin de comparer une date à la date du jour
    {% if date(fiche.bf_date_limite) > date() %}
    <p> Les inscriptions sont fermées </p>
    {%endif %}
    
    Langage TWIG
    PDF Voir la fiche

    Divider

    Utilité Ajouter un séparateur entre 2 sections
    Infos utiles Les divider sont des formes géométriques : une vague, une ligne oblique, un triangle que l'on voit parfois pour habiller une section de couleur.
    Ce sont des formes en svg qui ont la capacité à s'adapter à la taille de l'écran et qui sont plus légère qu'une image.

    Pour préparer le séparateur à votre guise (forme, couleur, ...) : https://shapedividers.com/

    exemple ici https://csc.yeswiki.pro/?PagePrincipale , la forme utilisée est un triangle asymétrique qui est repris en haut de page et dans le footer
    Capture_d039cran_20250123_094418.png
    Langage CSS
    PDF Voir la fiche

    Flexbox

    Utilité Gérer l'alignement des objets dans une boite
    Infos utiles Lorsqu'une une boite contient plusieurs objets, par exemple une colonne avec :
    - un titre
    - un texte
    - un bouton

    On peut définir des propriétés d'alignement qui s'appliqueront à tous les éléments enfants (ceux qui sont à l'intérieur de la boite)


    Un guide avec toutes les possibilités d'alignement - explication de chacun des paramètres:
    https://css-tricks.com/snippets/css/a-guide-to-flexbox/

    Une interface pour simuler les réglages possibles d'une flexbox puis générer le css : https://loading.io/flexbox/
    Langage CSS
    PDF Voir la fiche

    Font size

    Utilité Taille de la police, quelle unité choisir
    Infos utiles La taille de la police peut être définie en px, em, rem ou vw
    Taille en px permet de contrôler la taille du texte, l'utilisateur ne peut modifier qu'en zoomant sur la page

    Taille en rem 1rem c'est la taille de référence de votre texte (dans le thème margot on peut choisir la taille du texte dans la configuration graphique) - en appliquant des multiples de cette taille de référence aux différents niveaux de titres, on peut définir une hiérarchie. L'utilisateur aura la possibilité de modifier la taille du texte dans son navigateur et les proportions seront préservées.

    Taille en em 1em est un multiple de la taille de la police de l'élement à style
    Si on a un bloc pour lequel font-size=20px et qu'on applique padding:1.5em, la marge intérieure sera de 1.5*20px = 30px
    L'élément avec une taille en em hérite de la taille de son parent

    En résumé, il est plus pertinent de définir les tailles des textes en rem, ainsi on conserve une hiérarchie basée sur la taille de la police par défaut. En revanche, la marge autour d'un bloc peut être définie en em ainsi elle sera influencée par la taille du texte dans le bloc parent.
    Exemple de code
    body{font-size:17px;}
    h1{font-size:3.2rem;}
    


    Taille du titre = 3.2 * 17 = 54.4px
    Langage CSS
    PDF Voir la fiche

    format

    Utilité Utiliser une syntaxe Yeswiki dans le template twig
    Exemple de code
    {{ format('{{include page="' ~ fiche.id_fiche ~ '"}}') }}
    
    Langage TWIG
    PDF Voir la fiche

    hasAcl

    Utilité Afficher pour les admins seulement
    Infos utiles Cette fonction hasAcl permet de limiter l'affichage d'une partie du template aux utilisateurs autorisés.
    Exemple de code
    # --- Start reserved admins info --- #}
    {% if hasAcl("@admins",fiche.id_fiche) %}
    
      <div class="panel panel-warning">
        <div class="panel-heading  center">
          <h4><i class="far fa-hand-point-right"></i> Administration</h4>
        </div>
        <div class="panel-body">
          Projets : {{html.listeListeProjects }}
        </div>
      </div>
    
    {% endif %}
    
    Langage TWIG
    PDF Voir la fiche

    Hover

    Utilité Afficher du texte au survol
    Infos utiles voir des exemples sur https://imagehover.io/
    Exemple de code
    /* section effet texte au survol */
    .text-hidden {
    
        background-color:transparent;
        webkit-transition: all ease-out 0.3s;
        -moz-transition: all .3s ease-in-out;
        transition: background-image 2s ease;
            border: 1em solid var(--secondary-color-1);
            box-shadow: inset 0 0 0 0 var(--secondary-color-1)!important;
            }
    
    .text-hidden:hover{
    
        background-image: unset !important;
        background-color:var(--secondary-color-1);
        box-shadow: inset 0 0 0 100px var(--secondary-color-1)!important;}
    
    .text-hidden .container {
    
        display:flex;
        flex-direction:column;
        justify-content:center;
        min-height:630px;
        transition: all .7s ease;
        }
    
    
    .text-hidden .text-hover{opacity:0;height:0;}
    .text-hidden:hover .text-hover{opacity:1;height:100%;transition: all .7s ease;}
    
    Langage CSS
    PDF Voir la fiche

    htaccess

    Utilité Redirection vers un autre domaine
    Infos utiles Utile après migration d'un site
    Créer un fichier .htaccess et le placer à la racine de l'ancienne url
    Exemple de code RewriteEngine On
    RewriteCond %{HTTP_HOST} ^(www\.)?pratique\.wiki$ [NC]
    RewriteRule ^(.*)$ https://chreode.org/$1 [R=301,L]
    PDF Voir la fiche

    htacess

    Utilité reecriture sans les ? (pour OVH)
    Infos utiles config OVH pour arreter le firewall qui cause des erreurs lors des upload de fichier
    Exemple de code RewriteEngine On

    Redirection HTTP vers HTTPS (règle OVH existante)

    RewriteCond %{ENV:HTTPS} !on RewriteRule (.) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] Options +FollowSymlinks # Réécriture des URLs YesWiki (sans ?) RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.)$ index.php?wiki=$1 [QSA,L]
    PDF Voir la fiche

    Map

    Utilité Affiche la carte geolocaliser
    Infos utiles nécessite d'activer l'option "Afficher la carte dans la fiche lors de sa visualisation" dans les paramètres avancés du champ map dans le formulaire
    Exemple de code
    {{html.geolocation|raw}}
    
    Langage TWIG
    PDF Voir la fiche

    Slice

    Utilité Tronquer un texte long
    Infos utiles Permet d'afficher les n premiers caractères d'un texte long
    Voir documentation twig slice
    Exemple de code
    {{fiche.bf_description1[:250]}}
    
    Langage TWIG
    PDF Voir la fiche

    split

    Utilité Formater un champ checkbox ou un champ tag
    Infos utiles Les champs checkbox et tag peuvent contenir plusieurs valeurs, elles sont enregistrées sous forme de liste séparés par des virgules, pour les formater, il faut donc traiter la chaine de caractères en isolant chacune des valeurs de la liste pour pouvoir gérer la mise en forme de chaque élément.
    la fonction split dans twig permet de découper une chaine selon le caractère spécifié (ici ',')
    Exemple de code exemple avec tag
    {% for tag in fiche.bf_tags|split(',') %}
    <div class="trombi-content"> {{tag}} </div>
    {% endfor %}
    


    exemple avec checkbox

    Pour formater de manière personnalisée les valeurs des checkbox, comme dans l'exemple ci-dessous dans des étiquettes
    {% set fieldOptions = (form.prepared|filter(f => f.propertyname == 'checkboxListeViolence')|first).options %}
    	{% for element in fiche.checkboxListeViolence|split(',')|filter(o => o is not empty) %}
          <span class=" label label-primary">  {{fieldOptions[element]|raw}}  </span>
    	{% endfor %}
    
    Langage TWIG
    PDF Voir la fiche

    urlImage

    Utilité Redimensionner une image avant de l'afficher
    Infos utiles La fonction urlImage a été définie pour permettre le redimensionnement des images.

    2 options possibles :
    • fit : permet de conserver le ratio de l'image - la largeur ou la hauteur sera respectée est l'autre dimension sera attribuée en conservant le même ratio que l'image d'origine
    • crop : l'image sera tronqué selon les dimensions largeur et hauteur indiquées
    Exemple de code
    {% if fiche.imagebf_image is not empty %}
          {# you can choose width, height (in px)  and mode "fit" or "crop" #}
          {% set imageFileAddr = urlImage({fileName:"files/#{fiche.imagebf_image}",width:200,height:200,mode:"crop"}) %}
          {% if not(imageFileAddr is same as(false) or imageFileAddr matches '/^\\d+$/') %}
            {# imageFileAddr is not false or not integer otherwise error #}
            <img
              class="center custom-entry"
              alt="{{ fiche.bf_titre|e('html_attr') }}"
              src="{{ imageFileAddr }}"
            />
          {% endif %}
     {% endif %}
    
    Langage TWIG
    PDF Voir la fiche

    {{fiche.identifiant}}

    Utilité Afficher la valeur brute d'un champ
    Infos utiles {{fiche.identifiant}}retourne la valeur du champ "identifiant"

    Pour le mettre en forme vous pouvez y ajouter les balises html de votre choix :
    Exemple de code exemple pour un titre
    <h1 class="BAZ_fiche_titre">{{fiche.bf_titre}}</h1>
    

    Pour info pour le titre de votre fiche veillez à conserver la classe "BAZ_fiche_titre" - il est notamment utile dans l'affichage accordéon (évite d'avoir un doublon)
    Langage TWIG
    PDF Voir la fiche

    {{ format('{{bazarliste id="5" }}')|raw }}

    Utilité Afficher une sélection de fiches liées
    Exemple de code {{ format('{{bazarliste id="5" template="blog-custom" champ="bf_date" nb="10" ordre="desc" query="listefiche8=' ~ fiche.id_fiche ~ '"}}')|raw }}

    Un exemple plus complet qui permet de vérifier la présence de fiches avant d'afficher le bloc (évite d'afficher "aucun résultat" le cas échéant ...)

    {% set renderedEntriesFor7 = format('{{bazarliste id="7" dynamic="false" nb="1" query="bf_statut_ressources=vitrine|bf_lien_ricochet=' ~ fiche.id_fiche ~ '"}}') %}
      {% set emptytab_ressources = 1 %}
      {% set emptytab_ressources = (renderedEntriesFor7 matches '/0 fiche/'  ) %}
    
    	{% if  not emptytab_ressources %}
        <h2>Ressources liées</h2>
        
        {{ format('{{bazarliste id="7" template="card-reactions" champ="date_creation_fiche" displayfields="title=bf_titre,subtitle=bf_description,visual=imagebf_image" dynamic="true" entrydisplay="direct" extrafields="true" filterposition="left"  nbcol="4" nblines="2" ordre="desc" query="bf_statut_ressources=vitrine|bf_lien_ricochet=' ~ fiche.id_fiche ~ '" search="false"  }}')|raw }}
    {% endif %}
    
    Langage TWIG
    PDF Voir la fiche

    {{html.identifiant}}

    Utilité Afficher le champ pré-formaté
    Infos utiles Pour afficher vos données avec la mise en forme prévue dans yeswiki utilisez la syntaxe suivante :
    {{html.identifiant}}

    Cette syntaxe est utile pour les champs de type date, mail, liste, fichier, etc...
    Exemple de code
    <p><span> Du </span> {{ html.bf_date_debut_evenement }} <span> au </span> {{ html.bf_date_fin_evenement }}</p>
    
    Langage TWIG
    PDF Voir la fiche
      CSV JSON

      image PRATICCOOPLOGO150.png (8.1kB)

      Mélanie Michel


      Toulon (Var)

      06.22.53.75.58.
      Licence Creative Commons
      Les contenus de ce site sont mis à disposition selon les termes de la Licence Creative Commons Attribution - Partage dans les Mêmes Conditions 4.0 International.
      Mentions légales
      (>^_^)> Galope sous YesWiki <(^_^<)