Table des matières

Arduino et Minitel

le site mémoire du Minitel

Labo Média et Minitel

Conversation_avec_un_minitel

tutoriel-diy-un-q-c-m-sur-minitel

Hardware Minitel <---> arduino

Doc Minitel1B FR

Ré-création de l’Annuaire Électronique sur Minitel FR

Un minitel comme terminal linux USB. Partie 1 : Hardware

Minitel ESP32 dev board EN

Minitel-ESP32 Github EN

3615 SSH GitHUB EN

Musee du Minitel FR

l’annuaire électronique est fonctionnelle et accessible FR

Socketel : Portail vers les webservices minitel écrits en micropython pour le microcontrôleur ESP32.EN

Doc FR Minitel1B Materiel

Minitel page editor EN

Pour la creation de pages format Minitel via un navigateur EN

Video presentation Miedit pour page Minitel Videotext FR

Un minitel comme terminal Linux FRpartie 2 : Software Raspberry Pi

Beaucoup de liens sur le minitel via Github FR

Programmes de Tests

Programmes Arduino Minitel

image pour minitel fablab

https://chanterie37.fr/perso2/ateliersfablab/minitel/minitelfablab12.gif

Presentation du Castel'lab

Materiels

  1. - 1 module de connexion iodeo ( comprenant : 1 ESP32 dev Module, un connecteur DIN mâle , un circuit adapteur USB /Minitel)
  2. - 1 cable usb C ( pour la connection en tre le PC et l'ESP32 )
  3. – 1 logiciel IDE Processing ( pour transformer une page videotex .vdd en mode binaire pour arduino )
  4. - 1 pc avec IDE arduino ( Pour flasher le programme sur l'esp32 )
  5. - 1 logiciel Miedit sur le web ( pour la creation des pages minitel)
  6. - 1 Logiciel sur Web ( Transforme une image .png en mode VideoText )
  7. - 1 doc sur le minitel avec les bibliotheques arduino ( pour la programmation de l'ESP32 )

Programme

presentationfablab29082026.ino
#include <Minitel1B_Hard.h>  // Voir https://github.com/eserandour/Minitel1B_Hard
 
 
#if defined(ESP32) || defined(ARDUINO_ARCH_ESP32)  // Pour ESP32
// Le troisième port série matériel de l'ESP32 (Serial2 / U2RXD U2TXD)
// est utilisé pour la connexion avec le Minitel.
Minitel minitel(Serial2, 16, 17); // Testé avec esp32 d'Espressif Systems (version 3.3.7)
#else  // Pour ATmega 1284P ou ATmega 2560 notamment
// Le deuxième port série matériel de l'ATMega (Serial1 / RXD1 TXD1)
// est utilisé pour la connexion avec le Minitel.
Minitel minitel(Serial1);
#endif
 
// Variables
int attente2= 2000;
int attente5 = 5000;
int attente10 = 10000;
int attente15= 15000;
int attente25 = 25000;
 
 
 
//Page 2
String P002L002= "le Fablab de la MJC";
int LP2L2 = P002L002.length();// on calcul la longueur de la chaine de caracteres 
String P002L003= "de ChateauRenault";
int LP2L3 = P002L003.length();
 
//Page 3
String P003L002= "Nous vous proposons des activités pour";
int LP3L2 = P003L002.length();
String P003L003= "les adultes et  les jeunes";
int LP3L3 = P003L003.length();
 
 
 
//Page 4
String P004L002= "Pour l'année";
int LP4L2 = P004L002.length();
String P004L003= "2026-2027";
int LP4L3 = P004L003.length();
 
//Page 5
String P005L002= "- Pour les jeunes -";
int LP5L2 = P005L002.length();
 
 
 
//Page 6
String P006L002= " - Atelier initiation à partir 10 ans ";
int LP6L2 = P006L002.length();
String P006L003= "1/mois le samedi de 14h à 16h30";
int LP6L3 = P006L003.length();
 
//Page 7
String P007L002= " - Atelier Coupe Robotique minimes     ";
int LP7L2 = P007L002.length();
String P007L003= "  1/mois le samedi de 09h30 à 12h ";
int LP7L3 = P007L003.length();
 
//Page 8
String P008L002= " - Atelier Coupe Robotique  15a à +18a" ;
int LP8L2 = P008L002.length();
String P008L003= " le samedi de 14h à 17h30";
int LP8L3 = P008L003.length();
 
//Page 9
String P009L002= "- Pour les Adultes -";
int LP9L2 = P009L002.length();
 
//Page 10
String P010L002= " Un atelier Adultes le lundi soir";
int LP10L2 = P010L002.length();
String P010L003= "de 20h à 22h";
int LP10L3= P010L003.length();
 
//Page 11
String P011L002= "Des Aprés-midi Castel'Repar pour TOUS";
int LP11L2= P011L002.length();
String P011L003= "1/mois  Le samedi de 14h à 18h";
int LP11L3= P011L003.length();
 
//Page 12
String P012L002= "Fablab37110.ovh ";
int LP12L2= P012L002.length();
String P012L003= "mjcfablab@gmail.com";
int LP12L3= P012L003.length();
String P012L004= "castelrepar.free.fr";
int LP12L4= P012L004.length();
String P012L005= "Tél MJC: 0670119400";
int LP12L5= P012L005.length();
 
//Page 13
 
String P013L001= "Planning du ";
int LP13L1= P013L001.length();
String P013L001a= "Castel'Repar";
int LP13L1a= P013L001a.length();
String P013L001b= "A ChateauRenault";
int LP13L1b= P013L001b.length();
String P013L001c= "A Villedomer";
int LP13L1c= P013L001c.length();
String P013L002= "Le samedi  14h à 18h";
int LP13L2= P013L002.length();
String P013L003= "26 septembre 2026";
int LP13L3= P013L003.length();
String P013L004= "31 octobre 2026  ";
int LP13L4= P013L004.length();
String P013L005= "28 novembre 2026 ";
int LP13L5= P013L005.length();
String P013L006= "30 janvier 2027  ";
int LP13L6= P013L006.length();
String P013L007= "27 février 2027  ";
int LP13L7= P013L007.length();
String P013L008= "27 mars 2027     ";
int LP13L8= P013L008.length();
String P013L009= "24 avril 2027    ";
int LP13L9= P013L009.length();
String P013L010= "29 mai 2027      ";
int LP13L10= P013L010.length();
String P013L011= "26 juin 2027     ";
int LP13L11= P013L011.length();
 
String P013L012 =" Au  Cheval Blanc  ";
int LP13L12= P013L012.length();
String P013L012a ="café associatif" ;
int LP13L12a= P013L012a.length();
String P013L013 ="Le Dimanche de 10h00 à 12h00";
int LP13L13= P013L013.length();
String P013L014 ="29 novembre 2026 ";
int LP13L14= P013L014.length();
String P013L015 ="31 janvier 2027  ";
int LP13L15= P013L015.length();
String P013L016 ="28 mars 2027     ";
int LP13L16= P013L016.length();
String P013L017 ="30 mai 2027      ";
int LP13L17= P013L017.length();
 
String P014L001="ADHESIONS :";
int LP14L1= P014L001.length();
String P014L002="    mjc-chateau-renault.goasso.org";
int LP14L2= P014L002.length();
String P014L003="Jeunes = 30e/an";
int LP14L3= P014L003.length();
String P014L004="Adultes = 50e/an";
int LP14L4= P014L004.length();
 
// entree fablab bienvenue
const int LONGUEUR_TRAME_Q1 = 944;
const prog_uchar IMAGE_Q1[] PROGMEM =
{0x0A,0x0A,0x0A,0x1F,0x43,0x41,0x0E,0x20,0x12,0x4E,0x40,0x58,0x1B,0x57,0x1B,0x40,0x23,0x1B,0x50,0x1B,0x47,0x54,0x30,0x20,0x12,0x4F,0x1F,0x44,0x41,0x0E,0x20,0x12,0x4B,0x1B,0x44,0x40,0x1B,0x47,0x58,0x1B,0x57,0x1B,0x40,0x21,0x20,0x20,0x20,0x20,0x20,0x22,0x1B,0x50,0x1B,0x47,0x54,0x30,0x20,0x12,0x4C,0x1F,0x45,0x41,0x0E,0x20,0x12,0x49,0x50,0x1B,0x57,0x1B,0x40,0x23,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x1B,0x50,0x1B,0x47,0x54,0x1B,0x44,0x30,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x1F,0x46,0x41,0x0E,0x20,0x12,0x46,0x50,0x1B,0x57,0x1B,0x40,0x23,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x23,0x1B,0x50,0x1B,0x47,0x50,0x20,0x12,0x47,0x1F,0x47,0x41,0x0E,0x20,0x12,0x43,0x40,0x58,0x1B,0x57,0x1B,0x46,0x21,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x1B,0x40,0x23,0x1B,0x50,0x1B,0x47,0x30,0x20,0x12,0x44,0x1F,0x48,0x41,0x0E,0x20,0x40,0x58,0x1B,0x57,0x1B,0x40,0x21,0x20,0x20,0x20,0x20,0x50,0x12,0x45,0x1B,0x43,0x30,0x20,0x1B,0x40,0x2C,0x4C,0x54,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x30,0x20,0x20,0x20,0x22,0x1B,0x50,0x1B,0x47,0x54,0x20,0x12,0x42,0x1F,0x49,0x41,0x0E,0x20,0x1B,0x57,0x1B,0x40,0x21,0x20,0x20,0x20,0x40,0x1B,0x50,0x1B,0x47,0x23,0x20,0x20,0x1B,0x57,0x12,0x43,0x1B,0x40,0x4A,0x20,0x30,0x50,0x20,0x4A,0x1B,0x50,0x20,0x20,0x1B,0x47,0x23,0x1B,0x57,0x1B,0x40,0x50,0x20,0x1B,0x44,0x50,0x20,0x20,0x20,0x1B,0x50,0x1B,0x47,0x34,0x1B,0x44,0x23,0x1B,0x57,0x1B,0x40,0x50,0x20,0x20,0x20,0x1B,0x51,0x1B,0x43,0x30,0x1B,0x50,0x20,0x20,0x1F,0x4A,0x41,0x0E,0x2A,0x1B,0x57,0x1B,0x40,0x50,0x50,0x58,0x1B,0x50,0x1B,0x47,0x21,0x20,0x12,0x43,0x1B,0x57,0x12,0x43,0x1B,0x40,0x4A,0x20,0x20,0x1B,0x41,0x23,0x20,0x1B,0x40,0x4A,0x1B,0x50,0x20,0x20,0x20,0x20,0x20,0x1B,0x47,0x23,0x1B,0x54,0x2C,0x1B,0x57,0x1B,0x44,0x2C,0x50,0x1B,0x40,0x22,0x1B,0x50,0x20,0x20,0x20,0x1B,0x47,0x23,0x1B,0x57,0x1B,0x40,0x52,0x4C,0x1B,0x51,0x32,0x1B,0x50,0x20,0x1F,0x4B,0x41,0x0E,0x20,0x12,0x45,0x1B,0x51,0x1B,0x40,0x25,0x1B,0x50,0x20,0x20,0x1B,0x57,0x20,0x20,0x20,0x4A,0x20,0x20,0x20,0x20,0x4A,0x1B,0x50,0x20,0x20,0x1B,0x47,0x34,0x20,0x12,0x43,0x1B,0x44,0x22,0x1B,0x57,0x1B,0x40,0x54,0x1B,0x54,0x31,0x1B,0x50,0x1B,0x44,0x54,0x20,0x20,0x20,0x20,0x20,0x21,0x20,0x1F,0x4C,0x41,0x0E,0x20,0x12,0x43,0x1B,0x43,0x22,0x1B,0x41,0x22,0x1B,0x43,0x23,0x20,0x20,0x1B,0x47,0x23,0x1B,0x57,0x1B,0x40,0x50,0x50,0x1B,0x50,0x1B,0x47,0x25,0x1B,0x57,0x1B,0x43,0x30,0x20,0x20,0x20,0x1B,0x40,0x4A,0x1B,0x50,0x20,0x20,0x1B,0x47,0x25,0x20,0x12,0x44,0x1B,0x43,0x21,0x1B,0x47,0x21,0x1B,0x44,0x21,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x1F,0x4D,0x41,0x0E,0x20,0x12,0x42,0x1B,0x43,0x23,0x1B,0x47,0x12,0x48,0x1B,0x43,0x12,0x43,0x1B,0x41,0x12,0x42,0x21,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x1F,0x4F,0x46,0x0E,0x48,0x2C,0x4C,0x34,0x2A,0x1F,0x50,0x46,0x0E,0x4A,0x50,0x58,0x1B,0x57,0x1B,0x40,0x4A,0x1B,0x50,0x1B,0x47,0x4A,0x09,0x1B,0x57,0x1B,0x40,0x48,0x34,0x09,0x48,0x1B,0x50,0x1B,0x47,0x23,0x1B,0x57,0x1B,0x40,0x4A,0x09,0x4A,0x1B,0x50,0x1B,0x47,0x4A,0x09,0x4A,0x23,0x1B,0x57,0x1B,0x40,0x4A,0x1B,0x50,0x1B,0x47,0x4A,0x23,0x1B,0x57,0x1B,0x40,0x34,0x09,0x1B,0x50,0x1B,0x47,0x4A,0x09,0x1B,0x57,0x1B,0x40,0x4A,0x09,0x48,0x34,0x1F,0x51,0x46,0x0E,0x4A,0x09,0x42,0x1B,0x57,0x1B,0x40,0x4A,0x1B,0x50,0x1B,0x47,0x4A,0x09,0x1B,0x57,0x1B,0x40,0x48,0x1B,0x50,0x1B,0x47,0x23,0x09,0x1B,0x57,0x1B,0x40,0x4A,0x09,0x4A,0x09,0x2A,0x25,0x09,0x1B,0x50,0x1B,0x47,0x4A,0x23,0x21,0x4A,0x09,0x4A,0x09,0x4A,0x09,0x1B,0x57,0x1B,0x40,0x4A,0x09,0x48,0x1B,0x50,0x1B,0x47,0x23,0x1F,0x52,0x46,0x0E,0x22,0x23,0x23,0x21,0x22,0x09,0x23,0x23,0x09,0x21,0x09,0x21,0x09,0x22,0x21,0x09,0x22,0x23,0x21,0x22,0x09,0x22,0x09,0x22,0x23,0x21,0x09,0x23,0x23,0x1F,0x53,0x50,0x0E,0x1B,0x57,0x1B,0x40,0x48,0x34,0x09,0x1B,0x50,0x1B,0x47,0x4A,0x09,0x4A,0x1F,0x54,0x50,0x0E,0x1B,0x57,0x1B,0x40,0x42,0x31,0x09,0x1B,0x50,0x1B,0x47,0x4A,0x09,0x4A,0x1F,0x55,0x50,0x0E,0x25,0x2A,0x09,0x2A,0x2C,0x1B,0x57,0x1B,0x40,0x51,0x1F,0x56,0x48,0x0E,0x40,0x50,0x30,0x09,0x09,0x09,0x09,0x09,0x48,0x09,0x09,0x09,0x09,0x34,0x09,0x48,0x09,0x09,0x09,0x09,0x09,0x34,0x1F,0x57,0x48,0x0E,0x1B,0x57,0x1B,0x40,0x4A,0x09,0x09,0x49,0x1B,0x50,0x1B,0x47,0x34,0x42,0x1B,0x57,0x1B,0x40,0x2C,0x1B,0x50,0x1B,0x47,0x34,0x4A,0x21,0x4A,0x1B,0x57,0x1B,0x40,0x26,0x09,0x4A,0x09,0x1B,0x50,0x1B,0x47,0x4A,0x09,0x09,0x1B,0x57,0x1B,0x40,0x49,0x1B,0x50,0x1B,0x47,0x34,0x09,0x1B,0x57,0x1B,0x40,0x42,0x1B,0x50,0x1B,0x47,0x44,0x1F,0x58,0x48,0x0E,0x45,0x50,0x30,0x1B,0x57,0x1B,0x40,0x48,0x4A,0x1B,0x50,0x1B,0x47,0x2A,0x1B,0x57,0x1B,0x40,0x2C,0x1B,0x50,0x1B,0x47,0x31,0x4A,0x09,0x4A,0x50,0x09,0x1B,0x57,0x1B,0x40,0x2A,0x1B,0x50,0x1B,0x47,0x30,0x4A,0x50,0x09,0x1B,0x57,0x1B,0x40,0x48,0x4A,0x09,0x2A,0x45
};
 
void setup() {  
Serial.begin(9600);
minitel.changeSpeed(minitel.searchSpeed());
minitel.changeSpeed(1200);
minitel.newScreen();
minitel.noCursor();
 
}
 
void newPage() {
  minitel.newScreen();
    //minitel.writeByte(0x07); Bip
    for (int i=1; i<=40; i++) {
    minitel.writeByte(0x7E);// Ecrit ----- sur 40 colonnes
    }
    minitel.moveCursorXY(0,22);// X=0 , Y=22
    for (int i=1; i<=40; i++) {
    minitel.writeByte(0x7E);
  }
  minitel.moveCursorReturn(1); 
}
 
void page0() { 
  minitel.newScreen();
  for (int i = 0; i < LONGUEUR_TRAME_Q1; i++) {
  minitel.writeByte(pgm_read_byte_near(IMAGE_Q1 + i));
  };
  delay(attente10); 
  minitel.clearScreen();
  minitel.moveCursorReturn(1);  
  }
 
void page1() { 
  minitel.moveCursorXY(10,8) ;// X=10 , Y = 8
  minitel.attributs(DOUBLE_GRANDEUR); 
  minitel.println(" BIENVENUE ");
  minitel.println();
  minitel.moveCursorXY(6,13) ;
  minitel.println(" au Castel'lab");
  delay(attente5); 
  minitel.clearScreen();
  minitel.moveCursorReturn(1);  
  }
 
 
 
void page2() {
  int positX1 = (40 - LP2L2)/2;// position de X : LP2L2 = 19 , positX1 = (40 -19)/2 = 10 = X
  int positX2 = (40 - LP2L3)/2;
  minitel.moveCursorXY(positX1-8,8) ;// on est obligé de compenser car la grandeur est double , donc x= 10-8 = 2
  minitel.attributs(DOUBLE_GRANDEUR); 
  minitel.println(P002L002);//le fablab de la MJC 
  minitel.println();
  minitel.moveCursorXY(positX2-7,13) ;
  minitel.println(P002L003);//de ChateauRenault
  delay(attente5);  
  minitel.clearScreen();
  minitel.moveCursorReturn(1); 
}
 
 
void page3() {
int positX1 = (40 - LP3L2)/2;
int positX2 = (40 - LP3L3)/2;
int positX3 = (40 - LP5L2)/2;
int positX4 = (40 - LP6L2)/2;
int positX5 = (40 - LP6L3)/2;
int positX6 = (40 - LP7L2)/2;
int positX7 = (40 - LP7L3)/2;
int positX8 = (40 - LP8L2)/2;
int positX9 = (40 - LP8L3)/2;
  minitel.moveCursorXY(positX1,2) ;
  minitel.attributs(GRANDEUR_NORMALE); 
  minitel.println(P003L002);//Nous vous proposons des activités pour
  minitel.moveCursorXY(positX2,3) ;
  minitel.println(P003L003);//les adultes et  les jeunes
  delay(attente2); 
  minitel.moveCursorXY(positX3,5) ;
  minitel.println(P005L002);//- Pour les jeunes -
  delay(attente2); 
  minitel.moveCursorXY(positX4,8) ;
  minitel.println(P006L002);//- 1 Atelier initiation à partir 10 ans
  minitel.moveCursorXY(positX5,9) ;
  minitel.println(P006L003);//1/mois le samedi de 14h à 16h30
  delay(attente5); 
  minitel.moveCursorXY(positX6,11) ;
  minitel.println(P007L002);//- 1 Atelier Coupe Robotique minimes 
  minitel.moveCursorXY(positX7,12) ;
  minitel.println(P007L003);//1/mois le samedi de 09h30 à 12h
  delay(attente5);
  minitel.moveCursorXY(positX8,15) ;
  minitel.println(P008L002);//- 1 Atelier Coupe Robotique  15 à +18 
  minitel.moveCursorXY(positX9-4,16) ;
  minitel.println(P008L003);//le samedi de 14h à 18h
  delay(attente15); 
  minitel.clearScreen();
  minitel.moveCursorReturn(1); 
 
}
void page4() { 
 minitel.moveCursorXY(10,8) ;
  minitel.attributs(DOUBLE_GRANDEUR); 
  minitel.println(P004L002);// pour l'annnée 
  minitel.println();
  minitel.moveCursorXY(13,11) ;
  minitel.println(P004L003);//2026-2027
  delay(attente5);  
  minitel.clearScreen();
  minitel.moveCursorReturn(1); 
 
}
 
void page5() {
int positX1 = (40 - LP3L2)/2;
int positX2 = (40 - LP3L3)/2;
int positX3 = (40 - LP9L2)/2;
int positX4 = (40 - LP10L2)/2;
int positX5 = (40 - LP10L3)/2;
int positX6 = (40 - LP11L2)/2;
int positX7 = (40 - LP11L3)/2;
int positX8 = (40 - LP12L2)/2;
int positX9 = (40 - LP12L3)/2;
  minitel.moveCursorXY(positX1,2) ;
  minitel.attributs(GRANDEUR_NORMALE); 
  minitel.println(P003L002);//Nous vous proposons des activités pour
  minitel.moveCursorXY(positX2,3) ;
  minitel.println(P003L003);//les adultes et  les jeunes
  delay(attente2); 
  minitel.moveCursorXY(positX3,5) ;
  minitel.println(P009L002);//- Pour les Adultes -
  delay(attente2); 
  minitel.moveCursorXY(positX4,8) ;
  minitel.println(P010L002);//Un atelier Adultes le lundi soir
  minitel.moveCursorXY(positX5,9) ;
  minitel.println(P010L003);//De 20h à 22h
  delay(attente5); 
  minitel.moveCursorXY(positX6,11) ;
  minitel.println(P011L002);//Des Aprés-midi Castel'Repar pour TOUS
  minitel.moveCursorXY(positX7,12) ;
  minitel.println(P011L003);//1/mois  Le samedi de 14h à 18h
  delay(attente15);
  minitel.clearScreen();
  minitel.moveCursorReturn(1); 
 
}
 
 
void page6() {
int positX1 = (40 - LP13L1)/2;
int positX2 = (40 - LP13L1b)/2;
int positX3 = (40 - LP13L1a)/2;
 
  minitel.attributs(DOUBLE_GRANDEUR); 
  minitel.moveCursorXY(positX1-5,5) ;
  minitel.println(P013L001);//Planning du 
  minitel.moveCursorXY(positX3-5,8) ;
  minitel.println(P013L001a);//Castel'Repar
  minitel.moveCursorXY(positX2-7,15) ;
  minitel.println(P013L001b);//A ChateauRenault
  delay(attente5); 
  minitel.clearScreen();
  minitel.moveCursorReturn(1); 
 
}
 
void page7() {
int positX2 = (40 - LP13L2)/2;
int positX3 = (40 - LP13L3)/2;
int positX4 = (40 - LP13L4)/2;
int positX5 = (40 - LP13L5)/2;
int positX6 = (40 - LP13L6)/2;
int positX7 = (40 - LP13L7)/2;
int positX8 = (40 - LP13L8)/2;
int positX9 = (40 - LP13L9)/2;
int positX10 = (40 - LP13L10)/2;
int positX11 = (40 - LP13L11)/2;
  minitel.moveCursorXY(positX2,2) ;
  minitel.attributs(GRANDEUR_NORMALE); 
  minitel.println(P013L002);//Le samedi  14h à 18h
  minitel.println();
  delay(attente5); 
  minitel.moveCursorXY(positX3,4) ;
  minitel.println(P013L003);//26/09/2026
  minitel.moveCursorXY(positX4,6) ;
  minitel.println(P013L004);//31/10/2026
  minitel.moveCursorXY(positX5,8) ;
  minitel.println(P013L005);//28/11/2026
  minitel.moveCursorXY(positX6,10) ;
  minitel.println(P013L006);//30/01/2027
  minitel.moveCursorXY(positX7,12) ;
  minitel.println(P013L007);//"27/02/2027
  minitel.moveCursorXY(positX8,14) ;
  minitel.println(P013L008);//27/03/2027
  minitel.moveCursorXY(positX9,16) ;
  minitel.println(P013L009);//24/04/2027
  minitel.moveCursorXY(positX10,18) ;
  minitel.println(P013L010);//29/05/2027
  minitel.moveCursorXY(positX11,20) ;
  minitel.println(P013L011);//26/06/2027
  delay(attente15);
  minitel.clearScreen();
  minitel.moveCursorReturn(1); 
 
}
 
void page8() {
int positX1 = (40 - LP13L1)/2;
int positX2 = (40 - LP13L1c)/2;
int positX3 = (40 - LP13L1a)/2;
int positX4 = (40 - LP13L12)/2;
int positX5 = (40 - LP13L12a)/2;
 
  minitel.attributs(DOUBLE_GRANDEUR); 
  minitel.moveCursorXY(positX1-5,4) ;
  minitel.println(P013L001);//Planning du 
  minitel.moveCursorXY(positX3-5,7) ;
  minitel.println(P013L001a);//Castel'Repar
  minitel.moveCursorXY(positX2-5,11) ;
  minitel.println(P013L001c);//A Villedomer
  minitel.moveCursorXY(positX4-7,14) ;
  minitel.println(P013L012);//Au  Cheval Blanc
  minitel.moveCursorXY(positX5-6,17) ;
  minitel.println(P013L012a);//café associatif Villedomer
  delay(attente5); 
  minitel.clearScreen();
  minitel.moveCursorReturn(1); 
 
}
 
void page9() {
int positX2 = (40 - LP13L13)/2;
int positX3 = (40 - LP13L14)/2;
int positX4 = (40 - LP13L15)/2;
int positX5 = (40 - LP13L16)/2;
int positX6 = (40 - LP13L17)/2;
  minitel.moveCursorXY(positX2,2) ;
  minitel.attributs(GRANDEUR_NORMALE); 
  minitel.println(P013L013);//Le Dimanches de 10h00 à 12h00
  minitel.println();
  delay(attente5); 
  minitel.moveCursorXY(positX3,8) ;
  minitel.println(P013L014);//29/11/2026
  minitel.moveCursorXY(positX4,10) ;
  minitel.println(P013L015);//31/01/2027
  minitel.moveCursorXY(positX5,12) ;
  minitel.println(P013L016);//28/03/2027
  minitel.moveCursorXY(positX6,14) ;
  minitel.println(P013L017);//30/05/2027
  delay(attente15);
  minitel.clearScreen();
  minitel.moveCursorReturn(1); 
 
}
 
void page10() {
int positX1 = (40 - LP12L2)/2;
int positX2 = (40 - LP12L3)/2;
int positX3 = (40 - LP12L4)/2;
int positX4 = (40 - LP12L5)/2;
  minitel.moveCursorXY(1,2) ;
  minitel.attributs(GRANDEUR_NORMALE); 
  minitel.println( "CONTACTS : ");
  minitel.attributs(DOUBLE_GRANDEUR); 
  minitel.moveCursorXY(positX1-5,6) ;
  minitel.println(P012L002);//Fablab37110.ovh
  delay(attente5);
  minitel.moveCursorXY(positX2-7,10) ;
  minitel.println(P012L003);//mjcfablab@gmail.com
  delay(attente2);
  minitel.moveCursorXY(positX3-7,14) ;
  minitel.println(P012L004);//castelrepar.free.fr
  minitel.moveCursorXY(positX4-7,18) ;
  delay(attente2);
  minitel.println(P012L005);//Tél MJC : 0670119400
  delay(attente15); 
  minitel.clearScreen();
  minitel.moveCursorReturn(1); 
 
}
void page11() {
int positX1 = (40 - LP14L1)/2;
int positX2 = (40 - LP14L2)/2;
int positX3 = (40 - LP14L3)/2;
int positX4 = (40 - LP14L4)/2;
  minitel.moveCursorXY(1,2) ;
  minitel.attributs(GRANDEUR_NORMALE); 
  minitel.println(P014L001);//ADHESION :
  minitel.moveCursorXY(positX2,6) ;
  minitel.println(P014L002);//https://mjc-chateau-renault.goasso.org/
  minitel.attributs(DOUBLE_GRANDEUR); 
  minitel.moveCursorXY(positX3-5,10) ;
  minitel.println(P014L003);//Jeunes = 30€/an
  minitel.moveCursorXY(positX4-5,13) ;
  minitel.println(P014L004);//Adultes = 50€/an
  delay(attente15); 
  minitel.clearScreen();
  minitel.moveCursorReturn(1); 
 
}
 
void loop() {
  page0();// page d'accueil
  //newPage(); page1();// Bienvenue
  newPage(); page2();// Le Fablab de la MJC
  newPage(); page4();// Année 2026-2027
  newPage(); page3();// Activités Jeunes
  newPage(); page5();// Activités Adultes
  newPage(); page6();// Planning Castel'Lab  ChateauRenault
  newPage(); page7();// Dates Castel'Lab ChateauRenault
  newPage(); page8();// Planning Castel'Lab Villedomer
  newPage(); page9();// Dates Castel'Lab Villedomer
  newPage(); page10();// Contacts
  newPage(); page11();// Adhesions
 
  }