Files
aduzuki/readme.md
2026-07-20 16:33:04 +02:00

226 lines
8.2 KiB
Markdown

# NODE.JS
## DÉMARRAGE DU PROJET
cd /Users/juliechaumard/Documents/GitHub/Aduzuki_v2
npm start
# DOCUMENTATION
- Dans ce dossier sous /documentation
- MindMap : GoogleDrive-juliechaumard@gmail.com/Mon Drive/Projets/Suzuki/Adusuki/dev
- Notion
# DOMAIN
inscription.afpedagogiesuzuki.fr
DOMAIN_EXTERNE="https://inscription.afpedagogiesuzuki.fr/"
# SITE DE DEV
## NEW
### URL
aduzuki.darkweb.land
# URLs
## ACCUEIL
https://www.adhesion.afpedagogiesuzuki.fr/inscription/accueil
## FORMULAIRE ADHÉSION
http://localhost:8890/adhesion
https://www.adusuki.juliechaumard.paris/adhesion
https://inscription.afpedagogiesuzuki.fr/adhesion
### GESTION DES ADHÉSION
https://inscription.afpedagogiesuzuki.fr/adhesion/maj_googlesheet
https://www.inscription.afpedagogiesuzuki.fr/adhesion/maj_googlesheet
## ENVOIE CARTE ADHÉRENT ET JUSTIFICATIF DE DON MANUEL
http://localhost:8888/inscription/adhesion/carte_manuelle
https://www.adusuki.juliechaumard.paris/inscription/adhesion/carte_manuelle
https://inscription.afpedagogiesuzuki.fr/adhesion/carte_manuelle
## SYNC PROF ANNUAIRE ADUZUKI <=> STRAPI
http://localhost:8890/adhesion/sync_prof_strapi
https://inscription.afpedagogiesuzuki.fr/adhesion/sync_prof_strapi
## STAGE ANNUEL
http://localhost:8890/stagenational
https://adusuki.juliechaumard.paris/stagenational
https://inscription.afpedagogiesuzuki.fr/stagenational
### GESTION DU STAGE
https://www.inscription.afpedagogiesuzuki.fr/adhesion/admin
## RASSEMBLEMENT IDF
http://localhost:8890/rassemblementidf
https://www.adusuki.juliechaumard.paris/rassemblementidf
https://inscription.afpedagogiesuzuki.fr/rassemblementidf
## RASSEMBLEMENT RA
http://localhost:8890/rassemblementra
https://adusuki.juliechaumard.paris/rassemblementra
https://inscription.afpedagogiesuzuki.fr/rassemblementra
## CONCERT UNESCO
http://localhost:8890/concert
https://www.adusuki.juliechaumard.paris/concert
https://www.inscription.afpedagogiesuzuki.fr/concert
https://inscription.afpedagogiesuzuki.fr/
https://inscription.afpedagogiesuzuki.fr/concert/concert_paiement/annule?id={CHECKOUT_SESSION_ID}
https://inscription.afpedagogiesuzuki.fr/concert/concert_paiement/reussi?id={CHECKOUT_SESSION_ID}
## BOUTIQUE
### VIDÉOS
https://inscription.afpedagogiesuzuki.fr/boutique/videos
# MISE EN PROD
- varirable d'environnement pour stipe dans les controllers l'envoi vers Stripe et celui de retour de Stripe (STRIPE_PRIVATE_KEY, STRIPE_PRIVATE_KEY_TEST)
## DEV
### GNROK
https://bf89-2a01-e0a-5ee-1510-4021-f309-9a2c-823.ngrok-free.app/wh_stripe
https://9243-2a01-e0a-5ee-1510-4c7b-ac31-5c89-f077.ngrok-free.app
## MODULES
npm-node14 install htmltopdf-weasyprint
# ABBRÉVIATIONS
SN ou stn = STAGE NATIONAL
# LOGGING
Exemples de traces
N'importe où
logger.info("NOUS SOMMES DANS LE FICHIER : " + __filename,
{ label: __filename });
Dans une fonction req res :
logger.info('bonjour Julie',
{ numsession: req.session.id });
logger.info('process.env.PORT : ' + process.env.PORT),
{ numsession: req.session.id }, { label: __filename };
logger.info("XXX" + ZZZ, { numsession: req.session.id }, { label: __filename });
# ENV
Si on change une variable d'environnement, il faut redémarrer le projet
# HTACCESS
--ORIGINAL
RewriteEngine On
RewriteCond %{ENV:HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
# PDF
try {
var pdf_html = fs.readFileSync(path.resolve(__dirname,"../pdf/template/carte_adherent.html"), "utf8");
var pdf_buffer = await weasyprint(pdf_html);
fs.writeFileSync("juju.pdf", pdf_buffer);
} catch (error) {
logger.info("Erreur durant la création du PDF : " + error, { numsession: req.session.id });
}
# STRIPE
TEST CARD
ok normal
4242424242424242
4242 4242 4242 4242
ok 3DS
4000000000003063
pb
4000000000000002
RETOUR
https://www.adusuki.afpedagogiesuzuki.fr/inscription/adhesion_paiement/reussi?id=cs_test_b1teU2a5wbTFwdPKGefvrKS1N6deBGPK86xFhdbxqKo9dtmgCzwoYZ8fJ6
Rassemblement Rhône-Alpes
25€ ou 40€
# INSCRIPTION MAJ Google Sheet automatique
CRON
- le cron est lancé par la librairie cron de NodeJS
- fichier modules/adhesion/majgs_webhook.js
- mise en prod
- ne pas oublier de changer l'URL à lancer dans le fichier majgs_webhook.js : commenter l'URL de dev localhost et décommenter l'URL de prod
- pm2 start /var/www/aduzuki/modules/adhesion/majgs_webhook.js --name majgs_webhook
# MAINTENANCE
## ADHESION REQUETE SAISON
> [!NOTE]
> Vérifier que le champ saison soit au bon format
```sql
SELECT *
FROM aduzuki.adherent_professeur
WHERE saison != '2025/2026'
UPDATE aduzuki.adherent_professeur
SET saison = '2025/2026'
WHERE saison != '2025/2026'
# DATABASE
## Stage NATIONAL
CREATE TABLE `stn_participant` (
`ID_participant` int NOT NULL AUTO_INCREMENT,
`identifiant` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`date_maj` datetime DEFAULT NULL,
`stn_part_nom` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`stn_part_prenom` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`prise_charge_famille` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`stn_part_date_naiss` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`stn_part_age` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`stn_part_profilage` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`stn_role` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`stn_profil` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`stn_transport` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`stn_arret` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`instrument` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`instrument_ensemble` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`instrument_collectif` varchar(50) COLLATE utf8mb4_unicode_520_ci DEFAULT NULL,
`cahier` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`piece` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`prof_nom` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`prof_mail` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`concert_solo_piece` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`concert_solo_cahier` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`cours_individuel` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`decouverte_alto` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`option_choral` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`option_rythmique` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`option_eveil` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT NULL,
`option_collectif` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci DEFAULT NULL,
`option_ensemble` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci DEFAULT NULL,
`option_particulier` varchar(40) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci DEFAULT NULL,
`cout_hebergement` int DEFAULT NULL,
`cout_transport` int DEFAULT NULL,
`eveil_cout` int DEFAULT NULL,
`dalcroze_cout` int DEFAULT NULL,
`collectif_cout` int DEFAULT NULL,
`ensemble_cout` int DEFAULT NULL,
`particulier_cout` int DEFAULT NULL,
`observation_cout` int DEFAULT NULL,
`cours_cout` int DEFAULT NULL,
`coursindividuel_cout` int DEFAULT NULL,
`decouvrealto_cout` int DEFAULT NULL,
`chant_cout` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci DEFAULT NULL,
`statut_suppression` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci DEFAULT NULL,
PRIMARY KEY (`ID_participant`)
) ENGINE=InnoDB AUTO_INCREMENT=393 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_520_ci