victoirefinal7vi commited on
Commit
6468adb
·
verified ·
1 Parent(s): f30870e

Create templates/index.html

Browse files
Files changed (1) hide show
  1. templates/index.html +122 -0
templates/index.html ADDED
@@ -0,0 +1,122 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!-- templates/index.html -->
2
+ <!DOCTYPE html>
3
+ <html lang="fr">
4
+ <head>
5
+ <meta charset="UTF-8">
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
7
+ <title>Générateur de Comptes</title>
8
+ <script src="https://cdnjs.cloudflare.com/ajax/libs/axios/1.6.2/axios.min.js"></script>
9
+ <style>
10
+ body {
11
+ font-family: Arial, sans-serif;
12
+ max-width: 800px;
13
+ margin: 0 auto;
14
+ padding: 20px;
15
+ }
16
+ .form-group {
17
+ margin-bottom: 15px;
18
+ }
19
+ .btn {
20
+ padding: 10px 20px;
21
+ background-color: #007bff;
22
+ color: white;
23
+ border: none;
24
+ border-radius: 4px;
25
+ cursor: pointer;
26
+ }
27
+ .btn:disabled {
28
+ background-color: #ccc;
29
+ }
30
+ .status {
31
+ margin-top: 20px;
32
+ padding: 10px;
33
+ border-radius: 4px;
34
+ }
35
+ .error {
36
+ background-color: #ffebee;
37
+ color: #c62828;
38
+ }
39
+ .success {
40
+ background-color: #e8f5e9;
41
+ color: #2e7d32;
42
+ }
43
+ .progress {
44
+ margin-top: 10px;
45
+ padding: 10px;
46
+ background-color: #f5f5f5;
47
+ border-radius: 4px;
48
+ display: none;
49
+ }
50
+ </style>
51
+ </head>
52
+ <body>
53
+ <h1>Générateur de Comptes</h1>
54
+
55
+ <div class="form-group">
56
+ <label for="num_accounts">Nombre de comptes à créer:</label>
57
+ <input type="number" id="num_accounts" min="1" value="1" class="form-control">
58
+ </div>
59
+
60
+ <button onclick="createAccounts()" id="submitBtn" class="btn">Générer les comptes</button>
61
+
62
+ <div id="status" class="status" style="display: none;"></div>
63
+ <div id="progress" class="progress">
64
+ <div>Création des comptes en cours...</div>
65
+ <div>Comptes créés: <span id="accountsCreated">0</span></div>
66
+ </div>
67
+
68
+ <script>
69
+ async function createAccounts() {
70
+ const numAccounts = document.getElementById('num_accounts').value;
71
+ const submitBtn = document.getElementById('submitBtn');
72
+ const status = document.getElementById('status');
73
+ const progress = document.getElementById('progress');
74
+
75
+ submitBtn.disabled = true;
76
+ status.style.display = 'none';
77
+ progress.style.display = 'block';
78
+
79
+ try {
80
+ const response = await axios.post('/create_accounts', {
81
+ num_accounts: numAccounts
82
+ }, {
83
+ headers: {
84
+ 'Content-Type': 'application/json'
85
+ }
86
+ });
87
+
88
+ // Commencer à vérifier le statut
89
+ checkStatus();
90
+
91
+ status.textContent = response.data.message;
92
+ status.className = 'status success';
93
+ status.style.display = 'block';
94
+ } catch (error) {
95
+ status.textContent = error.response?.data?.error || 'Une erreur est survenue';
96
+ status.className = 'status error';
97
+ status.style.display = 'block';
98
+ progress.style.display = 'none';
99
+ submitBtn.disabled = false;
100
+ }
101
+ }
102
+
103
+ async function checkStatus() {
104
+ const accountsCreated = document.getElementById('accountsCreated');
105
+
106
+ try {
107
+ const response = await axios.get('/check_status');
108
+ if (response.data.status === 'completed') {
109
+ document.getElementById('progress').style.display = 'none';
110
+ document.getElementById('submitBtn').disabled = false;
111
+ return;
112
+ }
113
+
114
+ accountsCreated.textContent = response.data.accounts_created;
115
+ setTimeout(checkStatus, 2000);
116
+ } catch (error) {
117
+ console.error('Erreur lors de la vérification du statut:', error);
118
+ }
119
+ }
120
+ </script>
121
+ </body>
122
+ </html>