base TUTO youtube.com/watch?v=NRxzvpdduvQ&t=58s install express npm install express --save nodemon avec permissions admin npm install --save-dev nodemon redemarage server Vérifiez la politique d'exécution actuelle Get-ExecutionPolicy => Restricted modiier Set-ExecutionPolicy RemoteSigned -dev dependence seulement pour le developpement syntaxe des {} => affectation destructurer MIDDLEWARE => next a ne pas oublier cs endpoint npm install morgan --save-dev favicon npm install serve-favicon --save install MIDDLEWARE body-parser npm install body-parser --save install ORM sequelize npm install sequelize --save npm install -g sequelize-cli API => ORM => BD install driver npm install mariadb --save creation table model + 's' = nom_table module sequelize.js - connection a la BD - exportation des modeles sequelize RUN MIGRATION sequelize db:migrate npm install mysql2 db:migrate annuler la derniere migration sequelize db:migrate:undo sequelize db:migrate:undo --name 20240105051827-view-users.js sequelize db:migrate --name 20240105051827-view-users.js sequelize-cli seed:generate --name demo-user seeder : utilisaton de donnees fictif creation fichier models/seeders/migration sequelize-cli init ABOUT SEQUELIZE MIGRATION https://sequelize.org/docs/v6/other-topics/migrations/ creation model sequelize-cli model:generate --name User --attributes nom:string,prenom:string sequelize-cli model:generate --name Client --attributes nom:string sequelize-cli model:generate --name Pokemon --attributes name:string,hp:integer,cp:integer,picture:string,type:string MODIFICATION model - changer le model email: { type: DataTypes.STRING, // Nouvelle propriété allowNull: false, unique: true, // Exemple d'options supplémentaires }, - creer une migration sequelize migration:create --name add_email_to_utilisateur sequelize migration:create --produit add_email_to_utilisateur - modifier la migration module.exports = { up: (queryInterface, Sequelize) => { return queryInterface.addColumn('Utilisateurs', 'email', { type: Sequelize.STRING, allowNull: false, unique: true, }); }, down: (queryInterface, Sequelize) => { return queryInterface.removeColumn('Utilisateurs', 'email'); }, }; - sequelize db:migrate npm i nodemailer sequelize-cli seed:generate --name role-seeder module.exports = { up: (queryInterface, Sequelize) => { return queryInterface.bulkInsert('Users', [{ firstName: 'John', lastName: 'Doe', email: 'example@example.com', createdAt: new Date(), updatedAt: new Date() }]); }, down: (queryInterface, Sequelize) => { return queryInterface.bulkDelete('Users', null, {}); } }; sequelize-cli db:seed:all sequelize-cli db:seed:undo create admin user http://localhost:3000/api/user/signup { "username": "admin", "adresse": "tana", "email": "admin@admin.com", "password": "admin123", "status": true, "role_id": 1 } const view_name = 'my_view'; const query = ''; module.exports = { up: function (database, Sequelize) { return database.query(`CREATE VIEW ${view_name} AS ${query}`); }, down: function (database, Sequelize) { return database.query(`DROP VIEW ${view_name}`); } } npx sequelize-cli db:migrate --env=production GET req.query let emailtemp = req.query.email req.params :id POST req.body