BetterPronote++

Ultimate customizable theme and enhancement suite for Pronote

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

You will need to install an extension such as Tampermonkey to install this script.

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

作者
Camille Daguin
今日安裝
0
安裝總數
0
評價
0 0 0
版本
8.2.0
建立日期
2025-12-18
更新日期
2025-12-19
尺寸
68.3 KB
授權條款
Personal Use Only - No modifications or redistribution
腳本執行於

BetterPronote++

Ultimate Customizable Theme and Enhancement Suite for Pronote

Version License

Created by Camille Daguin

BetterPronote++ is a powerful Tampermonkey userscript that completely transforms the Pronote student interface with extensive customization options, productivity enhancements, and modern UI improvements.

✨ Features

🎨 Advanced Theming System

  • Predefined Themes: Rose, Blue, Green, Purple, Orange - instant beautiful themes
  • Custom Colors: Full control over primary, light, and background colors
  • Dark Mode: Manual dark mode or automatic based on time (6 PM - 6 AM)
  • Adaptive Themes: Colors change automatically based on the current page
  • Border Radius Control: Customize corner rounding from 0-30px

🚀 Productivity Enhancements

  • Automatic Grade Coloring: Smart color coding based on performance (green for excellent, blue for good, orange for average, red for poor)
  • Quick Copy: One-click copying of grades and homework information
  • Homework Export: Export homework to text files or calendar (Google Calendar, Outlook)
  • Urgency Indicators: Visual badges on homework showing due date status
  • Visual Grade Editing: Click any grade to modify it visually (local storage only)

🎛️ UI Customization

  • Element Visibility Control: Hide/show profile picture, username, footer, menus
  • Custom Titles: Add personal messages or motivational text
  • School Name Override: Customize displayed school name
  • Compact Mode: Reduce spacing for more content visibility
  • Responsive Design: Optimized for all screen sizes
  • Mobile Optimization: Touch-friendly interface with large targets
  • Accessibility Features: High contrast, reduced motion, screen reader support

💾 Data Management

  • Persistent Settings: All preferences saved across sessions
  • Grade Modification Tracking: Reset visual grade changes anytime
  • Export/Import Ready: Foundation for future settings backup/sharing

📁 Project Structure

This project uses a modular ES6 architecture compiled into a single userscript:

src/
├── index.js              # Main entry point and initialization
├── defaultSettings.js    # Default settings and configuration
├── settings.js           # Settings management and persistence
├── themes.js             # Predefined themes
├── utils.js              # Utility functions
├── styles.js             # Dynamic CSS generation
├── theme.js              # Theme application logic
├── features/
│   ├── exportHomework.js # Homework export functionality
│   ├── gradeColoring.js  # Automatic grade coloring
│   ├── noteEditing.js    # Grade editing functionality
│   └── quickCopy.js      # Quick copy features
├── styles/
│   ├── index.js          # Styles entry point
│   ├── colors.js         # Color management
│   ├── layout.js         # Layout styles
│   ├── responsive.js     # Responsive design
│   └── accessibility.js  # Accessibility features
├── ui/
│   ├── modal.js          # Modal interface
│   └── modalUI.js        # Modal UI components
dist/
└── userscript.js         # Compiled production userscript

build.js                  # ES6 module bundler and userscript header injection
package.json              # Project metadata and build scripts

🛠️ Development

Prerequisites

  • Node.js (v14+ recommended)
  • Tampermonkey browser extension

Quick Start

# Clone the repository
git clone https://github.com/camilledaguin/PinkPronote.git
cd PinkPronote

# Install dependencies
npm install

# Build the userscript
npm run build

# Development mode with auto-rebuild
npm run dev

Build Output

The compiled userscript is generated at dist/userscript.js and is ready for Tampermonkey installation.

📦 Installation

  1. Install Tampermonkey for your browser:
  1. Create New Userscript:
  • Open Tampermonkey dashboard
  • Click "Add a new script"
  • Delete the default code
  1. Install BetterPronote++:
  • Copy the entire content of dist/userscript.js
  • Paste it into the userscript editor
  • Save (Ctrl+S)
  1. Enable and Configure:
    • The script will automatically activate on Pronote pages
    • Access settings through Tampermonkey menu: "⚙️ BetterPronote++ Settings"

🎮 Usage Guide

Basic Usage

Once installed, BetterPronote++ automatically applies to all Pronote pages. The default theme provides a clean, modern look with subtle enhancements.

Accessing Settings

  • Click the Tampermonkey icon in your browser toolbar
  • Select "BetterPronote++ Settings" from the menu
  • Or use the keyboard shortcut (configurable in future versions)

Feature Overview

Theme Selection

Choose from predefined themes or create custom color schemes:

  • Rose: Classic pink theme (default)
  • Blue: Professional blue interface
  • Green: Nature-inspired green theme
  • Purple: Elegant purple design
  • Orange: Warm, energetic orange theme
  • Custom: Full color customization

Dark Mode

  • Manual: Toggle in settings
  • Automatic: Activates between 6 PM and 6 AM
  • Smart color adjustments maintain readability

Automatic Grade Coloring

  • Smart Color System: Grades are automatically colored based on performance
  • Color Scale:
    • 🟢 Green: Excellent (16-20/20)
    • 🔵 Blue: Good (12-15/20)
    • 🟠 Orange: Average (10-11/20)
    • 🔴 Red: Poor (<10/20)
    • Gray: Absent
  • Multi-Scale Support: Works with grades on 10, 20, or any scale
  • French Format: Handles comma decimals (8,50/10 → 17/20)

Quick Copy Feature

  • Grade Copy: Click any grade to copy "Note : [grade] | Matière : [subject]"
  • Homework Copy: Click any homework to copy "Date : [date] | Matière : [subject] | Travail à faire : [description]"
  • Visual Feedback: Shows "✅ Copié !" confirmation
  • Smart Detection: Automatically excludes Ctrl/Cmd+click for normal navigation

Homework Export

  • Dual Export Options:

    • 📄 TXT Export: Clean, readable text format with organized homework by date
    • 📅 ICS Export: Direct import to calendar applications (Google Calendar, Outlook, Apple Calendar)
  • TXT Format Features:

    • Organized by due dates with clear headers
    • Complete homework descriptions
    • Subject and status information
    • Export timestamp for reference
  • ICS Calendar Features:

    • Smart Titles: Uses homework description as event title (more meaningful than just subject)
    • Rich Descriptions: Subject, due date, and detailed instructions with emojis
    • Automatic Reminders: 1-day advance notifications
    • Date Parsing: Handles French date formats intelligently
    • Cross-Platform: Compatible with all major calendar applications
  • Export Process:

    • Click export button on homework page
    • Choose TXT or ICS format
    • File downloads automatically
    • Import ICS file directly into your calendar app

Urgency Indicators

  • Homework Status Badges:
    • 🔴 En retard: Overdue assignments
    • 🔴 Urgent: Due within 3 days
    • 🟠 Bientôt: Due within 7 days
    • 🟢 Normal: Due in more than 7 days
  • Real-time Updates: Automatically updates based on current date
  • French Date Parsing: Handles French date formats (16 décembre 2025)

Grade Editing

  • Click any displayed grade to edit visually
  • Changes persist locally but don't affect real Pronote data
  • Useful for "what-if" scenarios and motivation

🔧 Configuration Options

Colors

  • Primary Color: Main theme color (buttons, accents)
  • Light Color: Secondary elements (widget headers)
  • Background Color: Page background

Appearance

  • Border Radius: Corner rounding (0-30px)
  • Compact Mode: Reduced spacing

Visibility Controls

  • Hide Profile Picture
  • Hide Username
  • Hide Footer
  • Hide Secondary Menus

Personalization

  • Custom Page Title: Display motivational messages
  • Custom School Name: Override displayed institution name

Advanced Features

  • Automatic Grade Coloring: Smart color coding based on performance
  • Quick Copy: One-click copying of grades and homework information
  • Urgency Indicators: Visual badges on homework showing due date status
  • Adaptive Theme: Page-based color changes
  • Grade Editing: Visual grade modification

🏗️ Technical Details

Architecture

  • Modular Design: ES6 modules for maintainability
  • Dynamic CSS: Runtime style generation for performance
  • Persistent Storage: Tampermonkey GM_* APIs for data persistence
  • Event-Driven: Reactive updates without page refresh

Browser Compatibility

  • Chrome: Full support (recommended)
  • Firefox: Full support
  • Safari: Full support with Tampermonkey
  • Edge: Full support

Performance

  • Lightweight: ~50KB compiled userscript
  • Efficient: CSS generation cached and optimized
  • Non-Intrusive: No impact on Pronote functionality

Security

  • Local Storage Only: All modifications stay in browser
  • No Data Transmission: Settings never leave your device
  • Tampermonkey Sandbox: Isolated execution environment

🤝 Contributing

We welcome contributions! Please see our Contributing Guide for details.

Development Setup

npm install
npm run dev  # Auto-rebuild on file changes

Code Style

  • ES6+ JavaScript with modern syntax
  • Modular architecture with clear separation of concerns
  • Comprehensive comments and documentation
  • Consistent formatting (Prettier recommended)

📄 License

Personal Use Only - No modifications or redistribution

This script is provided for personal use only. You may use it privately but are not permitted to modify, distribute, or share copies of this code without explicit permission from the author.

🙏 Acknowledgments

  • Tampermonkey for the excellent userscript platform
  • Pronote for the educational platform (we just make it prettier!)
  • Open Source Community for inspiration and tools

📞 Support


BetterPronote++ - Making Pronote Beautiful, Functional, and Yours! 🌟