[Article] Intégration Pronote : cours, devoirs, notes, etc (archive)

Je ne sais pas comment tu définis « proactif », mais de mon côté, j’estimais que corriger pronotepy par moi-même et soumettre une PR, comme je l’ai fait l’an passé, pour que ça fonctionne de nouveau correspondait assez bien à la définition. Mais, c’est sûr, ouvrir un ticket sur github, c’est utile aussi (même si le dev sait déjà parfaitement que ça ne fonctionne pas, ça permettra au moins de rendre le problème plus visible pour les autres).

Les parents doivent obtenir leur compte nominatif, ce compte permet d’accéder à toutes les infos des X enfants

De plus cela permet de communiquer directement avec l’équipe enseignant et de déposer des documents pour la vie scolaire

Ancien responsable informatique de collège :stuck_out_tongue_winking_eye:

Proactif: on peut attendre pour des autres d’ouvrir un ticket ou le faire proactif soit même. Ça ne rest pas facile dé expliquer que la majorité/base de son fonctionalité est dans pronotepy de bain3, les trucs de delphiki et la mienne (pronote2mqtt) sont que des wrappers.

1 « J'aime »

On peut déjà passer par un compte parent pour ajouter plusieurs enfants (c’est ce que je fais).
Et sur la démo il y a aussi un compte parent (mêmes identifiants que le compte enfant)

2 « J'aime »

Bonjour Alpin38, oui je l’ai installé des le début.

Merci bcp bcp, je cherchais justement ça

ca donne ca

type: markdown
content: >-
  {% set months = ["Janvier","Février", "Mars", "Avril", "Mai", "Juin",
  "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"] %}

  {% set days = ["Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi",
  "Dimanche"] %}

  {% set weeknum = now().strftime("%W") %} 
   <table>  {% set items =
   state_attr('sensor.pronote_XXXX_timetable_period','lessons') %}
     <tr>
     <td><h4>Début</h4></td>
     <td><h4>Fin</h4></td>
     <td><h4>Cours</h4></td>
     <td></td>
     <td><h4>Salle</h4></td>
     </tr>
   {% for i in range(0, items | count, 1) %}

   {% if items[i].start_at.strftime("%W") != weeknum %}

   {% continue %}

   {% endif %}


   {% if i == 0 %}

   <tr><td colspan="5" class="table-info"><b>{{ days[items[i].start_at.strftime('%w')| int - 1] }} {{ items[i].start_at.strftime("%d") }}</b></td></tr>

   {% endif %}

   {% if items[i].start_at.strftime("%F") > items[i-1].start_at.strftime("%F")
   %} 

   <tr><td colspan=5><b>{{ days[items[i].start_at.strftime('%w')| int - 1] }} {{ items[i].start_at.strftime("%d") }}</b></td></tr>

   {% endif %}

   <tr>

   {%- if items[i].canceled != True -%}

   <td><mark>{{ items[i].start_time }}</mark></td>

   <td> <mark>{{ items[i].end_time }}</mark></td>
   <td>{{ items[i].lesson }}</td>

   {% else %}

   <td><del>{{ items[i].start_time }}</del></td>

   <td><del>{{ items[i].end_time }}</del></td>
   <td><del>{{ items[i].lesson }}</del></td>

   {%- endif -%} 

   {% if as_timestamp(items[i].start_at) | timestamp_local <= as_timestamp(now()) | timestamp_local and as_timestamp(items[i].end_at) | timestamp_local >= as_timestamp(now()) | timestamp_local %}
   <td>🟢</td>
   {% else %}
   <td>⚪</td>
   {% endif %}
   


   {%- if items[i].canceled == False -%}

   <td>{{ items[i].classroom }}</td>

   {% else %}
   <td><span>{{ items[i].status }}</span></td>

   {% endif %}
  </tr>
   {% endfor %}
  </table>
card_mod:
  style:
    .: |
      ha-card ha-markdown {
        padding:0px
      }
      ha-card ha-markdown.no-header {
        padding:0px
      }
    ha-markdown$: |
      div {
          background-color:rgb(100, 100, 100);
          padding: 12px 12px;
          color:white;
          font-weight:normal;
          font-size:1.2em;
          border-top-left-radius: 5px; 
          border-top-right-radius: 5px; 
      }
      table{
        border-collapse: collapse;
        font-size: 0.9em;
        font-family: Roboto;
        width: 100%;
        outline: 0px solid #393c3d;
        margin-top:5px;
      } caption {
          text-align: center;
          font-weight: bold;
          font-size: 1.2em;
      } td {
          padding: 5px 10px 5px 10px;
          text-align: left;
          border-bottom: 0px solid #1c2020;
      }
      tr {
          border-bottom: 0px solid #1c2020;
      }

      tr:nth-of-type(even) {
          background-color: rgb(54, 54, 54, 0.3);
      }
      tr:last-of-type {
          border-bottom: transparent;          }*
      mark {
          background: #009767;
          color: #222627;
          border-radius: 5px;
          padding: 5px;
      }
      span {
          background: #EC4B34;
          color: #222627;
          border-radius: 5px;
          padding: 5px;
      }
      span {
          padding: 5px;
      }
      tr:nth-child(n+2) > td:nth-child(2) {
        text-align: left;
      }type: ''

Je viens de publier la version 0.7.0, avec un sensor pour afficher les retards (merci @vingerha)

2 « J'aime »

Et ma carte pour les retards

type: markdown
content: >-
  <table> 
    <tr>
    <td><h4>Date</td>
    <td><h4>Min.</td>
    <td><h4>Justification/Reason</td>
    </tr>
  {% set items =
  state_attr('sensor.pronote_xxxxxxx_delays','delays') %}

  {% for i in range(0, items | count, 1) %}

  <tr>

  {%- if items[i].justified == True -%}

  <td> <mark> {{ items[i].date.strftime("%d-%m") }}</mark></td>

  {% else %}

  <td> <span>{{ items[i].date.strftime("%d-%m") }}</span></td> 

  {%- endif -%} 

  <td>{{ items[i].minutes }}</td>

  <td>({{ items[i].justification }}){{ items[i].reasons }} {% endfor %}  
title: Delays
card_mod:
  style:
    .: |
      ha-card ha-markdown {
                padding:0px
                border-top: 1px groove var(--divider-color);
                overflow-y: scroll;
                height: 300px;
              }
      ha-card ha-markdown.no-header {
        padding:0px
      }
    $: |
      h1.card-header {
        background-color:rgb(100, 100, 100);
          padding: 0px 0px 0px 12px !important;
          color: white !important;
          font-weight: normal;
          font-size: 1.5em !important;
          border-top-left-radius: 5px; 
          border-top-right-radius: 5px; 
          height: 100%;
      }        
    ha-markdown $: |
      h1 {
          font-weight: normal;
          font-size: 24px;
      }
      div {
          background-color:rgb(100, 100, 100);
          padding: 12px 12px;
          color:white;
          font-weight:normal;
          font-size:1.2em;
            border-top-left-radius: 5px; 
            border-top-right-radius: 5px; 
      }
      table{
        border-collapse: collapse;
        font-size: 0.9em;
        font-family: Roboto;
        width: 100%;
        outline: 0px solid #393c3d;
        margin-top: 10px;
      } caption {
          text-align: center;
          font-weight: bold;
          font-size: 1.2em;
      } td {
          padding: 5px 5px 5px 5px;
          text-align: left;
          border-bottom: 0px solid #1c2020;
      }
      tr {
          border-bottom: 0px solid #1c2020;
      }
      tr:last-of-type {
          border-bottom: transparent;
      }
      tr:nth-of-type(even) {
          background-color: rgb(54, 54, 54, 0.3);
      }
      mark {
          background: lightgreen;
          border-color: green;
          border-radius: 10px;
          padding: 5px;
      }
      span {
          background: orange;
          color: #222627;
          border-radius: 5px;
          padding: 5px;
      }
      tr:nth-child(n+2) > td:nth-child(2) {
        text-align: left;
      }
4 « J'aime »

Bravo les gars, on avance bien sur cette extension tous ensemble, c’est top !

3 « J'aime »

C’est clair ! vous êtes d’une réactivité qui fait peur ! Je n’ai pas encore fait les derniers updates, mais BRAVO !

2 « J'aime »

domages j’ai pas les retard qui remonte moi dans mon pronote :frowning:

Il faut motiver ton/tes enfant d’'être tard demain :crazy_face:

1 « J'aime »

Bonjour a tous merci pour vos conseils éclairé je débute depuis quelques temps sur HA
et le forum et plein de ressources.
Un grand Merci à delphiki et à vingerha pour cette intégration
Petites devinette j’essaye d’avoir Carte markdown devoirs avec les jours en français comme celle des cours d’aujourd’hui .mais je n’y arrive malheureusement pas
Aurait il possible d’avoir un petit coup de pouce
Cordialement
Chris

1 « J'aime »

Sauf s’il y a déjà d’autres idées…je vais voir une solution par Easy Time Macros for Templates! - Share your Projects! - Home Assistant Community (home-assistant.io)

Peut-être demain je reviens

bonsoir vingerha
Merci beaucoup

parce qu’il n’a pas encore été en retard :innocent:

Tu te créer une macro qui reprend ce code par exemple : Day and month does not follow locale setting - #2 by 123 - Frontend - Home Assistant Community

Ou effectivement utiliser les macro fournies par Easy Time (cf le message de @vingerha)

Je peux confirmer que ça fonctionne, mon fils a déjà réussi à être retard :joy:

Bonjour,
Bravo au developpeur @delphiki et à ses soutiens @vingerha @Sigalou pour la réactivité, les cartes et le « SAV ». C’est un module de HA utile au quotidien des parents.
Tout fonctionne très bien chez moi. Je n’ai plus qu’à trouver le moyen d’avoir les icones en couleurs pour les évaluations sous chrome (ça fonctionne bien sous firefox) et tout sera parfait.

1 « J'aime »