Import Ruty

This commit is contained in:
2024-03-11 00:54:14 +01:00
parent a943b3bbd7
commit 2c0c53a22b
7 changed files with 360 additions and 0 deletions
+2
View File
@@ -0,0 +1,2 @@
Ruty.code-workspace
.DS_Store
+81
View File
@@ -0,0 +1,81 @@
# Ruty
**Un outil personnel pour s'organiser**
# Cahier des charges
❌|ToDo list :
- Créer/Modifier/Supprimer Tâches ❌
- Créer/Modifier/Supprimer Catégories ❌
- Date de rappel ❌
- Date d'écheance ❌
❌|Agenda :
- Importer/exporter .ical ❌
- Créer/Modifier/Supprimer Evenements ❌
- Créer/Modifier/Supprimer Catégories
⚙️|Bloc-Note :
- Améliorer les clics ✅
- Afficher le dossier actif ✅
- Afficher les notes dans les dossiers ⚙️
- Ajouter un bouton pour créer des notes ❌
- Ajouter un bouton pour supprimer des dossiers/notes ❌
- Améliorer la sidebar des notes ❌
- Ajouter la partie traitement de texte ❌
- Choisir la police d'écriture ❌
- Gérer Gras/Italique etc ❌
- Fonctionnalité de post-it rapide (Version App) 🚀
⚙️|Page d'accueil :
- Afficher les tâches du jour ❌
- Afficher la date du jour ✅
- Afficher les évenements du jours ❌
- Afficher les mails prioritaires ❌
- Ajouter l'espace de post-it ❌
⚙️|WhykIA : *(Entièrement délégué à Lazare)*
- Se DOCUMENTER ⚙️
- Créer WhykIA ❌
- Intégrer la chatbox ❌
- Intergrer WhykIA ❌
- Intégrer la barre de recherche WhykIA ❌
❌|Boite Mail : *(A faire en dernier)*
+36
View File
@@ -0,0 +1,36 @@
<html>
<head>
<meta charset="UTF-8">
<title>Ruty - L'outil multifonction</title>
<link rel="stylesheet" href="styles/style1.css">
<link rel="icon" href="img/logo.png">
</head>
<body>
<header id="header">
<img src="img/logo.png" alt="Logo Ruty" id="menu-trigger">
<h1 class="name">Ruty</h1>
</header>
<?php include 'menunav.php'; ?>
<div>
<h2 class="welcome">Bienvenue dans votre espace Noah !</h2>
<div id="current_date">
<p id="p1"></p>
<script>
let date1 = new Date();
let dateLocale = date1.toLocaleString('fr-FR',{
weekday: 'long',
year: 'numeric',
month: 'long',
day: 'numeric'
});
document.getElementById('p1').innerHTML = 'Nous sommes le ' + dateLocale;
</script>
</div>
</div>
<script src="js/script.js" async></script>
</body>
</html>
+18
View File
@@ -0,0 +1,18 @@
<html>
<head>
<title>Ruty - L'outil multifonction</title>
<link rel="stylesheet" href="styles/style.css">
<link rel="icon" href="img/logo.png">
</head>
<body>
<header>
<img src="img/logo.png">
<h1 class="Welcome">Bienvenue sur Ruty [BETA]</h1>
</header>
<div class="login">
<h2 class="type1">Accéder à son compte Ruty</h2>
<a class="login_button" href="home.php" >Se connecter</a>
</div>
</body>
</html>
+31
View File
@@ -0,0 +1,31 @@
<div id="overlay"></div>
<div id="menu" class="hidden">
<nav class="nav">
<li class="nav">
<img src="img/home.png">
<a href="home.php">Home</a>
</li>
<li class="nav">
<img src="img/todo.png">
<a href="todo.php">ToDo List</a>
</li>
<li class="nav">
<img src="img/notepad.png">
<a href="notepad.php">Bloc-Note</a>
</li>
<li class="nav">
<img src="img/agenda.png">
<a>Agenda</a>
</li>
<li class="nav">
<img src="img/mails.png">
<a>Boîte Mail</a>
</li>
</nav>
<nav class="nav2">
<li class="nav2">
<img src="img/logout.png">
<a href="index.php">Se déconnecter</a>
</li>
</nav>
</div>
+174
View File
@@ -0,0 +1,174 @@
<?php
// Établir une connexion à la base de données (à adapter selon vos paramètres)
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "notes_db";
$conn = new mysqli($servername, $username, $password, $dbname);
// Vérifier la connexion
if ($conn->connect_error) {
die("La connexion à la base de données a échoué : " . $conn->connect_error);
}
// Fonction pour afficher la liste des dossiers
function displayFolders() {
global $conn;
$sql = "SELECT DISTINCT folder FROM notes";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while ($row = $result->fetch_assoc()) {
echo '<li class="folder">' . $row["folder"] . '</li>';
}
}
}
// Fonction pour afficher la liste des notes d'un dossier
function displayNotes($folderName) {
global $conn;
$sql = "SELECT id, note FROM notes WHERE folder = '$folderName'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while ($row = $result->fetch_assoc()) {
echo '<li class="note" data-note-id="' . $row["id"] . '">' . $row["note"] . '</li>';
}
}
}
// Gérer l'ajout d'une nouvelle note
if (isset($_POST["addNote"])) {
$folderName = $_POST["folderName"];
$noteContent = $_POST["noteContent"];
// Échapper les données pour éviter les injections SQL
$folderName = $conn->real_escape_string($folderName);
$noteContent = $conn->real_escape_string($noteContent);
$sql = "INSERT INTO notes (folder, note) VALUES ('$folderName', '$noteContent')";
if ($conn->query($sql) === TRUE) {
echo "Nouvelle note ajoutée avec succès.";
} else {
echo "Erreur lors de l'ajout de la note : " . $conn->error;
}
}
// Gérer la mise à jour du contenu d'une note
if (isset($_POST["updateNote"])) {
$noteId = $_POST["noteId"];
$newNoteContent = $_POST["newNoteContent"];
// Échapper les données pour éviter les injections SQL
$noteId = $conn->real_escape_string($noteId);
$newNoteContent = $conn->real_escape_string($newNoteContent);
$sql = "UPDATE notes SET note = '$newNoteContent' WHERE id = $noteId";
if ($conn->query($sql) === TRUE) {
echo "Contenu de la note mis à jour avec succès.";
} else {
echo "Erreur lors de la mise à jour de la note : " . $conn->error;
}
}
// Gérer le chargement du contenu d'une note
if (isset($_POST["loadNote"])) {
$noteId = $_POST["noteId"];
$sql = "SELECT note FROM notes WHERE id = $noteId";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
$row = $result->fetch_assoc();
echo $row["note"];
} else {
echo "Note non trouvée.";
}
}
// Fermer la connexion à la base de données
$conn->close();
?>
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<link rel="icon" href="img/logo.png">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="stylesheet" href="styles/stylenote.css">
<script src="js/node_modules/rtf/lib/rtf.js"></script>
<script src="js/scriptnotepad.js" async></script>
<title>Ruty - Bloc-note</title>
</head>
<body>
<header id="header">
<img src="img/logo.png" alt="Logo Ruty" id="menu-trigger">
<h1 class="welcome">Ruty</h1>
</header>
<!-- Menu de navigation -->
<?php include 'menunav.php'; ?>
<div id="app">
<div id="sidebar">
<div class="folders">
<!-- Dossier actuel -->
<p id="ActiveFolderInfo"></p>
<!-- Bouton "Ajouter un dossier" -->
<button id="add-folder">Ajouter un dossier</button>
<!-- Liste des dossiers -->
<ul id="folder-list">
<!-- Liste des dossiers ici -->
</ul>
</div>
<div class="notes">
<!-- Bouton "Ajouter une note" -->
<button id="add-note">Ajouter une note</button>
<!-- Bouton "Retour" pour quitter un dossier -->
<button id="back-button">Retour</button>
<ul id="note-list">
<!-- Liste des notes ici -->
</ul>
</div>
</div>
<div id="text-editor-container">
<!-- Boutons pour la mise en forme -->
<div id="formatting-buttons">
<button id="bold-button">Gras</button>
<button id="italic-button">Italique</button>
<button id="underline-button">Souligné</button>
</div>
<div id="text-editor" contenteditable="true"></div>
</div>
</div>
<script>
// Fonction pour charger la liste des notes d'un dossier
function loadNotes(folderName) {
fetch(`/api/notes/${folderName}`)
.then((response) => response.json())
.then((notes) => {
// Afficher les notes dans l'interface utilisateur
const noteList = document.getElementById('note-list');
noteList.innerHTML = '';
notes.forEach((note) => {
const noteItem = document.createElement('li');
noteItem.textContent = note.name;
noteItem.classList.add('note');
noteList.appendChild(noteItem);
// Ajoutez un gestionnaire d'événements pour charger le contenu RTF au clic.
noteItem.addEventListener('click', () => {
loadRTFContent(note.rtfFile);
});
});
})
.catch((error) => {
console.error('Erreur lors du chargement des notes : ', error);
});
}
</script>
</body>
</html>
+18
View File
@@ -0,0 +1,18 @@
<html>
<head>
<title>Ruty - ToDo List</title>
<link rel="stylesheet" href="styles/styletodo.css">
<link rel="icon" href="img/logo.png">
</head>
<body>
<header id="header">
<img src="img/logo.png" alt="Logo Ruty" id="menu-trigger">
<h1 class="welcome">Ruty</h1>
</header>
<?php include 'menunav.php'; ?>
<script src="js/scripttodo.js"></script>
</body>
</html>